diff --git a/src/static/assets/AdminView-CBzT_n85.js b/src/static/assets/AdminView-CBzT_n85.js new file mode 100644 index 0000000..4371166 --- /dev/null +++ b/src/static/assets/AdminView-CBzT_n85.js @@ -0,0 +1 @@ +import{d as _,u as y,A as h,c as r,a as t,e as n,k as v,w as d,f as g,s as m,o as s,F as b,r as k,t as a,q as u,h as A}from"./index-BiYpJJoC.js";import{a as w}from"./admin-BG8iXstk.js";import{_ as B,a as S}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as f}from"./Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js";import{_ as V}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{a as $}from"./utils-7WVCegLb.js";const N={class:"p-6 space-y-8"},C={key:0,class:"flex items-center justify-center h-20"},D={class:"w-full"},E={class:"px-4 py-3"},F={class:"text-sm font-medium text-foreground"},R={class:"px-4 py-3 text-sm text-muted-foreground"},U={class:"px-4 py-3"},j={class:"px-4 py-3"},q={class:"px-4 py-3 text-xs text-muted-foreground"},H=_({__name:"AdminView",setup(I){const x=y(),p=g(),i=m([]),l=m(!1);return h(async()=>{if(!x.isAdmin){p.push("/");return}l.value=!0;try{const c=await w.users();i.value=c.data}finally{l.value=!1}}),(c,o)=>(s(),r("div",N,[o[1]||(o[1]=t("h2",{class:"text-lg font-semibold text-foreground"},"Admin — Users",-1)),l.value?(s(),r("div",C,[n(V,{class:"text-primary"})])):(s(),v(B,{key:1},{default:d(()=>[n(S,{class:"p-0"},{default:d(()=>[t("table",D,[o[0]||(o[0]=t("thead",null,[t("tr",{class:"border-b border-border"},[t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"User"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Email"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Role"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Status"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Joined")])],-1)),t("tbody",null,[(s(!0),r(b,null,k(i.value,e=>(s(),r("tr",{key:e.id,class:"border-b border-border last:border-0 hover:bg-muted/30"},[t("td",E,[t("p",F,a(e.username),1)]),t("td",R,a(e.email),1),t("td",U,[n(f,{variant:e.role==="admin"?"default":"secondary",class:"text-xs"},{default:d(()=>[u(a(e.role),1)]),_:2},1032,["variant"])]),t("td",j,[n(f,{variant:e.is_active?"success":"outline",class:"text-xs"},{default:d(()=>[u(a(e.is_active?"Active":"Inactive"),1)]),_:2},1032,["variant"])]),t("td",q,a(A($)(e.created_at)),1)]))),128))])])]),_:1})]),_:1}))]))}});export{H as default}; diff --git a/src/static/assets/AdminView-CRFaWZRG.js b/src/static/assets/AdminView-CRFaWZRG.js deleted file mode 100644 index d8b8980..0000000 --- a/src/static/assets/AdminView-CRFaWZRG.js +++ /dev/null @@ -1 +0,0 @@ -import{d as p,u as y,y as h,c as r,a as t,e as n,k as v,w as d,f as b,s as m,o as s,F as g,r as k,t as a,q as u,h as A}from"./index-DMlmI4VG.js";import{a as w}from"./admin-DvZ7jcBF.js";import{_ as B,a as S}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as f}from"./Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js";import{_ as V}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{a as $}from"./utils-7WVCegLb.js";const N={class:"p-6"},C={key:0,class:"flex items-center justify-center h-20"},D={class:"w-full"},E={class:"px-4 py-3"},F={class:"text-sm font-medium text-foreground"},R={class:"px-4 py-3 text-sm text-muted-foreground"},U={class:"px-4 py-3"},j={class:"px-4 py-3"},q={class:"px-4 py-3 text-xs text-muted-foreground"},H=p({__name:"AdminView",setup(I){const x=y(),_=b(),i=m([]),l=m(!1);return h(async()=>{if(!x.isAdmin){_.push("/");return}l.value=!0;try{const c=await w.users();i.value=c.data}finally{l.value=!1}}),(c,o)=>(s(),r("div",N,[o[1]||(o[1]=t("h2",{class:"text-lg font-semibold text-foreground mb-6"},"Admin — Users",-1)),l.value?(s(),r("div",C,[n(V,{class:"text-primary"})])):(s(),v(B,{key:1},{default:d(()=>[n(S,{class:"p-0"},{default:d(()=>[t("table",D,[o[0]||(o[0]=t("thead",null,[t("tr",{class:"border-b border-border"},[t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"User"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Email"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Role"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Status"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Joined")])],-1)),t("tbody",null,[(s(!0),r(g,null,k(i.value,e=>(s(),r("tr",{key:e.id,class:"border-b border-border last:border-0 hover:bg-muted/30"},[t("td",E,[t("p",F,a(e.username),1)]),t("td",R,a(e.email),1),t("td",U,[n(f,{variant:e.role==="admin"?"default":"secondary",class:"text-xs"},{default:d(()=>[u(a(e.role),1)]),_:2},1032,["variant"])]),t("td",j,[n(f,{variant:e.is_active?"success":"outline",class:"text-xs"},{default:d(()=>[u(a(e.is_active?"Active":"Inactive"),1)]),_:2},1032,["variant"])]),t("td",q,a(A($)(e.created_at)),1)]))),128))])])]),_:1})]),_:1}))]))}});export{H as default}; diff --git a/src/static/assets/AppLayout-B0UoMuf7.js b/src/static/assets/AppLayout-CNLTau4W.js similarity index 99% rename from src/static/assets/AppLayout-B0UoMuf7.js rename to src/static/assets/AppLayout-CNLTau4W.js index d39aa4b..8e1d36c 100644 --- a/src/static/assets/AppLayout-B0UoMuf7.js +++ b/src/static/assets/AppLayout-CNLTau4W.js @@ -1 +1 @@ -import{d as C,u as M,c as n,b as B,a as e,F as V,r as _,t as g,h as p,j as b,o as r,k as $,w as j,i as y,n as d,m as A,l as H,R as D,g as z,p as S,q as T,K as L,f as O,e as m,T as R,s as I,v as N}from"./index-DMlmI4VG.js";const P={class:"flex flex-col h-full bg-white border-r border-slate-200/80"},F={class:"flex-1 px-3 py-4 space-y-0.5 overflow-y-auto"},K={key:0,class:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-6 bg-orange-500 rounded-r-full"},q={class:"text-sm"},E={class:"p-4 border-t border-slate-100 shrink-0"},G={class:"flex items-center gap-3 px-2 py-2 rounded-xl bg-slate-50"},U={class:"h-8 w-8 rounded-full bg-gradient-to-br from-orange-400 to-orange-600 flex items-center justify-center text-[11px] font-bold text-white shrink-0 shadow-sm shadow-orange-200"},W={class:"flex-1 min-w-0"},J={class:"text-xs font-semibold text-slate-700 truncate"},Q=C({__name:"Sidebar",emits:["close"],setup(w,{emit:v}){const a=z(),l=M(),k=v,u=[{name:"Dashboard",path:"/",icon:"grid"},{name:"Calendar",path:"/calendar",icon:"calendar"},{name:"Tasks",path:"/tasks",icon:"check-square"},{name:"OMG",path:"/omg",icon:"omg"},{name:"Projects",path:"/projects",icon:"folder"},{name:"Live Feed",path:"/live",icon:"activity"},{name:"Reports",path:"/reports",icon:"file-text"},{name:"Keys",path:"/keys",icon:"key"},{name:"DevOps",path:"/devops",icon:"devops"},{name:"Settings",path:"/settings",icon:"settings"},{name:"Admin",path:"/admin",icon:"shield",adminOnly:!0}],x=b(()=>u.filter(h=>!h.adminOnly||l.isAdmin));function s(h){return h==="/"?a.path==="/":a.path.startsWith(h)}const i=b(()=>{var t,c;return(((t=l.user)==null?void 0:t.username)??((c=l.user)==null?void 0:c.email)??"?").slice(0,2).toUpperCase()});return(h,t)=>{var c,f;return r(),n("aside",P,[t[13]||(t[13]=B('

CC Dashboard

Oliver Agency

',1)),e("nav",F,[(r(!0),n(V,null,_(x.value,o=>(r(),$(H(o.external?"a":p(D)),A({key:o.path},{ref_for:!0},o.external?{href:o.path,target:"_blank",rel:"noopener"}:{to:o.path},{class:["relative flex items-center gap-3 px-3 h-10 rounded-xl text-sm font-medium transition-all duration-200 group",s(o.path)?"bg-orange-50 text-orange-600":"text-slate-500 hover:bg-slate-50 hover:text-slate-800"],onClick:t[0]||(t[0]=le=>k("close"))}),{default:j(()=>[s(o.path)?(r(),n("span",K)):y("",!0),o.icon==="grid"?(r(),n("svg",{key:1,class:d(["h-4 w-4 shrink-0 transition-colors",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[1]||(t[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"},null,-1)])],2)):o.icon==="calendar"?(r(),n("svg",{key:2,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[2]||(t[2]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])],2)):o.icon==="check-square"?(r(),n("svg",{key:3,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[3]||(t[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},null,-1)])],2)):o.icon==="omg"?(r(),n("svg",{key:4,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])],2)):o.icon==="folder"?(r(),n("svg",{key:5,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[5]||(t[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7a2 2 0 012-2h3.586a1 1 0 01.707.293l1.414 1.414A1 1 0 0011.414 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"},null,-1)])],2)):o.icon==="activity"?(r(),n("svg",{key:6,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[6]||(t[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"},null,-1)])],2)):o.icon==="file-text"?(r(),n("svg",{key:7,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[7]||(t[7]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},null,-1)])],2)):o.icon==="key"?(r(),n("svg",{key:8,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[8]||(t[8]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"},null,-1)])],2)):o.icon==="devops"?(r(),n("svg",{key:9,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"},null,-1)])],2)):o.icon==="settings"?(r(),n("svg",{key:10,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1)])],2)):o.icon==="shield"?(r(),n("svg",{key:11,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[11]||(t[11]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"},null,-1)])],2)):y("",!0),e("span",q,g(o.name),1)]),_:2},1040,["class"]))),128))]),e("div",E,[e("div",G,[e("div",U,g(i.value),1),e("div",W,[e("p",J,g(((c=p(l).user)==null?void 0:c.username)??((f=p(l).user)==null?void 0:f.email)),1),t[12]||(t[12]=e("div",{class:"flex items-center gap-1 mt-0.5"},[e("div",{class:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),e("span",{class:"text-[10px] text-slate-400 font-medium"},"Online")],-1))])])])])}}}),X={class:"h-14 border-b border-slate-200/80 bg-white/80 backdrop-blur-xl flex items-center px-4 gap-3 shrink-0 sticky top-0 z-10 shadow-sm shadow-slate-100/60"},Y={class:"flex-1"},Z={class:"text-sm font-semibold text-foreground"},ee={class:"flex items-center gap-2.5"},te={class:"h-7 w-7 rounded-full bg-gradient-to-br from-orange-400 to-orange-600 flex items-center justify-center text-[10px] font-bold text-white shrink-0 shadow-sm shadow-orange-200"},oe={class:"hidden sm:block text-xs font-medium text-foreground max-w-[120px] truncate"},se=C({__name:"TopBar",props:{title:{},sidebarOpen:{type:Boolean}},emits:["toggleSidebar","toggleDark"],setup(w,{emit:v}){const a=v,l=M(),k=O();async function u(){await l.logout(),L.success("Logged out"),k.push({name:"login"})}function x(){const s=document.documentElement.classList.toggle("dark");localStorage.setItem("theme",s?"dark":"light"),a("toggleDark")}return(s,i)=>{var h,t,c,f;return r(),n("header",X,[e("button",{class:"lg:hidden flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground transition-colors","aria-label":"Toggle sidebar",onClick:i[0]||(i[0]=o=>a("toggleSidebar"))},[...i[1]||(i[1]=[e("svg",{class:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("div",Y,[e("h1",Z,g(w.title??"CC Dashboard"),1)]),S(s.$slots,"actions"),e("button",{class:"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground transition-colors","aria-label":"Toggle dark mode",onClick:x},[...i[2]||(i[2]=[e("svg",{class:"h-4 w-4 hidden dark:block",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})],-1),e("svg",{class:"h-4 w-4 dark:hidden",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})],-1)])]),i[4]||(i[4]=e("div",{class:"h-6 w-px bg-border"},null,-1)),e("div",ee,[e("div",te,g((((h=p(l).user)==null?void 0:h.username)??((t=p(l).user)==null?void 0:t.email)??"?").slice(0,2).toUpperCase()),1),e("span",oe,g(((c=p(l).user)==null?void 0:c.username)??((f=p(l).user)==null?void 0:f.email)),1),e("button",{class:"flex h-7 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",onClick:u},[...i[3]||(i[3]=[e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),T(" Sign out ",-1)])])])])}}}),re={class:"h-screen flex overflow-hidden",style:{background:"linear-gradient(135deg, #f0f4fa 0%, #f8f9fd 50%, #fef9f5 100%)"}},ne={class:"flex-1 flex flex-col overflow-hidden min-w-0"},ae={class:"flex-1 overflow-y-auto"},de=C({__name:"AppLayout",setup(w){const v=z(),a=I(!1),l=b(()=>({dashboard:"Dashboard",calendar:"Calendar",projects:"Projects","project-detail":"Project Details",live:"Live Feed",reports:"AI Reports",keys:"API Keys",tasks:"Tasks",omg:"OMG",devops:"Azure DevOps",settings:"Settings",admin:"Admin"})[v.name]??"CC Dashboard");return(k,u)=>{const x=N("RouterView");return r(),n("div",re,[m(R,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:j(()=>[a.value?(r(),n("div",{key:0,class:"fixed inset-0 z-20 bg-black/60 lg:hidden",onClick:u[0]||(u[0]=s=>a.value=!1)})):y("",!0)]),_:1}),e("div",{class:d(["fixed inset-y-0 left-0 z-30 w-60 transform transition-transform duration-300 lg:relative lg:translate-x-0",a.value?"translate-x-0":"-translate-x-full"])},[m(Q,{onClose:u[1]||(u[1]=s=>a.value=!1)})],2),e("div",ne,[m(se,{title:l.value,"sidebar-open":a.value,onToggleSidebar:u[2]||(u[2]=s=>a.value=!a.value)},null,8,["title","sidebar-open"]),e("main",ae,[m(x)])])])}}});export{de as default}; +import{d as C,u as M,c as n,b as B,a as e,F as V,r as _,t as g,h as p,j as b,o as r,k as $,w as j,i as y,n as d,m as A,l as H,R as D,g as z,p as S,q as T,K as L,f as O,e as m,T as R,s as I,v as N}from"./index-BiYpJJoC.js";const P={class:"flex flex-col h-full bg-white border-r border-slate-200/80"},F={class:"flex-1 px-3 py-4 space-y-0.5 overflow-y-auto"},K={key:0,class:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-6 bg-orange-500 rounded-r-full"},q={class:"text-sm"},E={class:"p-4 border-t border-slate-100 shrink-0"},G={class:"flex items-center gap-3 px-2 py-2 rounded-xl bg-slate-50"},U={class:"h-8 w-8 rounded-full bg-gradient-to-br from-orange-400 to-orange-600 flex items-center justify-center text-[11px] font-bold text-white shrink-0 shadow-sm shadow-orange-200"},W={class:"flex-1 min-w-0"},J={class:"text-xs font-semibold text-slate-700 truncate"},Q=C({__name:"Sidebar",emits:["close"],setup(w,{emit:v}){const a=z(),l=M(),k=v,u=[{name:"Dashboard",path:"/",icon:"grid"},{name:"Calendar",path:"/calendar",icon:"calendar"},{name:"Tasks",path:"/tasks",icon:"check-square"},{name:"OMG",path:"/omg",icon:"omg"},{name:"Projects",path:"/projects",icon:"folder"},{name:"Live Feed",path:"/live",icon:"activity"},{name:"Reports",path:"/reports",icon:"file-text"},{name:"Keys",path:"/keys",icon:"key"},{name:"DevOps",path:"/devops",icon:"devops"},{name:"Settings",path:"/settings",icon:"settings"},{name:"Admin",path:"/admin",icon:"shield",adminOnly:!0}],x=b(()=>u.filter(h=>!h.adminOnly||l.isAdmin));function s(h){return h==="/"?a.path==="/":a.path.startsWith(h)}const i=b(()=>{var t,c;return(((t=l.user)==null?void 0:t.username)??((c=l.user)==null?void 0:c.email)??"?").slice(0,2).toUpperCase()});return(h,t)=>{var c,f;return r(),n("aside",P,[t[13]||(t[13]=B('

CC Dashboard

Oliver Agency

',1)),e("nav",F,[(r(!0),n(V,null,_(x.value,o=>(r(),$(H(o.external?"a":p(D)),A({key:o.path},{ref_for:!0},o.external?{href:o.path,target:"_blank",rel:"noopener"}:{to:o.path},{class:["relative flex items-center gap-3 px-3 h-10 rounded-xl text-sm font-medium transition-all duration-200 group",s(o.path)?"bg-orange-50 text-orange-600":"text-slate-500 hover:bg-slate-50 hover:text-slate-800"],onClick:t[0]||(t[0]=le=>k("close"))}),{default:j(()=>[s(o.path)?(r(),n("span",K)):y("",!0),o.icon==="grid"?(r(),n("svg",{key:1,class:d(["h-4 w-4 shrink-0 transition-colors",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[1]||(t[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"},null,-1)])],2)):o.icon==="calendar"?(r(),n("svg",{key:2,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[2]||(t[2]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])],2)):o.icon==="check-square"?(r(),n("svg",{key:3,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[3]||(t[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},null,-1)])],2)):o.icon==="omg"?(r(),n("svg",{key:4,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])],2)):o.icon==="folder"?(r(),n("svg",{key:5,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[5]||(t[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7a2 2 0 012-2h3.586a1 1 0 01.707.293l1.414 1.414A1 1 0 0011.414 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"},null,-1)])],2)):o.icon==="activity"?(r(),n("svg",{key:6,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[6]||(t[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"},null,-1)])],2)):o.icon==="file-text"?(r(),n("svg",{key:7,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[7]||(t[7]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},null,-1)])],2)):o.icon==="key"?(r(),n("svg",{key:8,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[8]||(t[8]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"},null,-1)])],2)):o.icon==="devops"?(r(),n("svg",{key:9,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"},null,-1)])],2)):o.icon==="settings"?(r(),n("svg",{key:10,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1)])],2)):o.icon==="shield"?(r(),n("svg",{key:11,class:d(["h-4 w-4 shrink-0",s(o.path)?"text-orange-500":"text-slate-400 group-hover:text-slate-600"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[11]||(t[11]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"},null,-1)])],2)):y("",!0),e("span",q,g(o.name),1)]),_:2},1040,["class"]))),128))]),e("div",E,[e("div",G,[e("div",U,g(i.value),1),e("div",W,[e("p",J,g(((c=p(l).user)==null?void 0:c.username)??((f=p(l).user)==null?void 0:f.email)),1),t[12]||(t[12]=e("div",{class:"flex items-center gap-1 mt-0.5"},[e("div",{class:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),e("span",{class:"text-[10px] text-slate-400 font-medium"},"Online")],-1))])])])])}}}),X={class:"h-14 border-b border-slate-200/80 bg-white/80 backdrop-blur-xl flex items-center px-4 gap-3 shrink-0 sticky top-0 z-10 shadow-sm shadow-slate-100/60"},Y={class:"flex-1"},Z={class:"text-sm font-semibold text-foreground"},ee={class:"flex items-center gap-2.5"},te={class:"h-7 w-7 rounded-full bg-gradient-to-br from-orange-400 to-orange-600 flex items-center justify-center text-[10px] font-bold text-white shrink-0 shadow-sm shadow-orange-200"},oe={class:"hidden sm:block text-xs font-medium text-foreground max-w-[120px] truncate"},se=C({__name:"TopBar",props:{title:{},sidebarOpen:{type:Boolean}},emits:["toggleSidebar","toggleDark"],setup(w,{emit:v}){const a=v,l=M(),k=O();async function u(){await l.logout(),L.success("Logged out"),k.push({name:"login"})}function x(){const s=document.documentElement.classList.toggle("dark");localStorage.setItem("theme",s?"dark":"light"),a("toggleDark")}return(s,i)=>{var h,t,c,f;return r(),n("header",X,[e("button",{class:"lg:hidden flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground transition-colors","aria-label":"Toggle sidebar",onClick:i[0]||(i[0]=o=>a("toggleSidebar"))},[...i[1]||(i[1]=[e("svg",{class:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("div",Y,[e("h1",Z,g(w.title??"CC Dashboard"),1)]),S(s.$slots,"actions"),e("button",{class:"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground transition-colors","aria-label":"Toggle dark mode",onClick:x},[...i[2]||(i[2]=[e("svg",{class:"h-4 w-4 hidden dark:block",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})],-1),e("svg",{class:"h-4 w-4 dark:hidden",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})],-1)])]),i[4]||(i[4]=e("div",{class:"h-6 w-px bg-border"},null,-1)),e("div",ee,[e("div",te,g((((h=p(l).user)==null?void 0:h.username)??((t=p(l).user)==null?void 0:t.email)??"?").slice(0,2).toUpperCase()),1),e("span",oe,g(((c=p(l).user)==null?void 0:c.username)??((f=p(l).user)==null?void 0:f.email)),1),e("button",{class:"flex h-7 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",onClick:u},[...i[3]||(i[3]=[e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),T(" Sign out ",-1)])])])])}}}),re={class:"h-screen flex overflow-hidden",style:{background:"linear-gradient(135deg, #f0f4fa 0%, #f8f9fd 50%, #fef9f5 100%)"}},ne={class:"flex-1 flex flex-col overflow-hidden min-w-0"},ae={class:"flex-1 overflow-y-auto"},de=C({__name:"AppLayout",setup(w){const v=z(),a=I(!1),l=b(()=>({dashboard:"Dashboard",calendar:"Calendar",projects:"Projects","project-detail":"Project Details",live:"Live Feed",reports:"AI Reports",keys:"API Keys",tasks:"Tasks",omg:"OMG",devops:"Azure DevOps",settings:"Settings",admin:"Admin"})[v.name]??"CC Dashboard");return(k,u)=>{const x=N("RouterView");return r(),n("div",re,[m(R,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:j(()=>[a.value?(r(),n("div",{key:0,class:"fixed inset-0 z-20 bg-black/60 lg:hidden",onClick:u[0]||(u[0]=s=>a.value=!1)})):y("",!0)]),_:1}),e("div",{class:d(["fixed inset-y-0 left-0 z-30 w-60 transform transition-transform duration-300 lg:relative lg:translate-x-0",a.value?"translate-x-0":"-translate-x-full"])},[m(Q,{onClose:u[1]||(u[1]=s=>a.value=!1)})],2),e("div",ne,[m(se,{title:l.value,"sidebar-open":a.value,onToggleSidebar:u[2]||(u[2]=s=>a.value=!a.value)},null,8,["title","sidebar-open"]),e("main",ae,[m(x)])])])}}});export{de as default}; diff --git a/src/static/assets/Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js b/src/static/assets/Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js similarity index 91% rename from src/static/assets/Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js rename to src/static/assets/Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js index 410555d..e1c2cde 100644 --- a/src/static/assets/Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js +++ b/src/static/assets/Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js @@ -1 +1 @@ -import{c as a}from"./utils-7WVCegLb.js";import{d as n,o,c as s,n as d,h as i,p as c}from"./index-DMlmI4VG.js";const f=n({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(r){const e=r;return(t,l)=>(o(),s("span",{class:d(i(a)("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors",{"bg-primary text-primary-foreground":e.variant==="default","bg-secondary text-secondary-foreground":e.variant==="secondary","bg-destructive text-destructive-foreground":e.variant==="destructive","border border-border text-foreground":e.variant==="outline","bg-emerald-500/20 text-emerald-400":e.variant==="success","bg-amber-500/20 text-amber-400":e.variant==="warning"},e.class))},[c(t.$slots,"default")],2))}});export{f as _}; +import{c as a}from"./utils-7WVCegLb.js";import{d as n,o,c as s,n as d,h as i,p as c}from"./index-BiYpJJoC.js";const f=n({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(r){const e=r;return(t,l)=>(o(),s("span",{class:d(i(a)("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors",{"bg-primary text-primary-foreground":e.variant==="default","bg-secondary text-secondary-foreground":e.variant==="secondary","bg-destructive text-destructive-foreground":e.variant==="destructive","border border-border text-foreground":e.variant==="outline","bg-emerald-500/20 text-emerald-400":e.variant==="success","bg-amber-500/20 text-amber-400":e.variant==="warning"},e.class))},[c(t.$slots,"default")],2))}});export{f as _}; diff --git a/src/static/assets/Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js b/src/static/assets/Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js similarity index 72% rename from src/static/assets/Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js rename to src/static/assets/Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js index e8b44cd..4ce90c8 100644 --- a/src/static/assets/Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js +++ b/src/static/assets/Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js @@ -1 +1 @@ -import{_ as c}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{c as l}from"./utils-7WVCegLb.js";import{d as u,c as f,n as m,k as b,i as v,p as g,j as p,o as n}from"./index-DMlmI4VG.js";const y=["type","disabled"],z=u({__name:"Button",props:{variant:{default:"default"},size:{default:"md"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"button"},class:{}},emits:["click"],setup(t,{emit:s}){const e=t,a=s,r=p(()=>l("inline-flex items-center justify-center rounded-md font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e.variant==="default","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e.variant==="outline","hover:bg-accent hover:text-accent-foreground":e.variant==="ghost","bg-destructive text-destructive-foreground hover:bg-destructive/90":e.variant==="destructive","bg-secondary text-secondary-foreground hover:bg-secondary/80":e.variant==="secondary","underline-offset-4 hover:underline text-primary":e.variant==="link","h-8 px-3 text-xs":e.size==="sm","h-10 px-4 py-2 text-sm":e.size==="md","h-11 px-8 text-base":e.size==="lg","h-9 w-9 p-0":e.size==="icon"},e.class));return(i,o)=>(n(),f("button",{class:m(r.value),type:t.type,disabled:t.disabled||t.loading,onClick:o[0]||(o[0]=d=>a("click",d))},[t.loading?(n(),b(c,{key:0,size:"sm",class:"mr-2"})):v("",!0),g(i.$slots,"default")],10,y))}});export{z as _}; +import{_ as c}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{c as l}from"./utils-7WVCegLb.js";import{d as u,c as f,n as m,k as b,i as v,p as g,j as p,o as n}from"./index-BiYpJJoC.js";const y=["type","disabled"],z=u({__name:"Button",props:{variant:{default:"default"},size:{default:"md"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"button"},class:{}},emits:["click"],setup(t,{emit:s}){const e=t,a=s,r=p(()=>l("inline-flex items-center justify-center rounded-md font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e.variant==="default","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e.variant==="outline","hover:bg-accent hover:text-accent-foreground":e.variant==="ghost","bg-destructive text-destructive-foreground hover:bg-destructive/90":e.variant==="destructive","bg-secondary text-secondary-foreground hover:bg-secondary/80":e.variant==="secondary","underline-offset-4 hover:underline text-primary":e.variant==="link","h-8 px-3 text-xs":e.size==="sm","h-10 px-4 py-2 text-sm":e.size==="md","h-11 px-8 text-base":e.size==="lg","h-10 w-10 p-0":e.size==="icon"},e.class));return(i,o)=>(n(),f("button",{class:m(r.value),type:t.type,disabled:t.disabled||t.loading,onClick:o[0]||(o[0]=d=>a("click",d))},[t.loading?(n(),b(c,{key:0,size:"sm",class:"mr-2"})):v("",!0),g(i.$slots,"default")],10,y))}});export{z as _}; diff --git a/src/static/assets/CalendarView-B0jfXKKY.js b/src/static/assets/CalendarView-B0jfXKKY.js new file mode 100644 index 0000000..5d8fbc4 --- /dev/null +++ b/src/static/assets/CalendarView-B0jfXKKY.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tasks-DwSuZPNM.js","assets/index-BiYpJJoC.js","assets/index-bBdb_PCl.css"])))=>i.map(i=>d[i]); +import{B as be,s as T,j as E,d as A,o as f,c as k,a as l,e as C,w as O,h as p,q as de,t as D,i as M,k as ce,z as j,n as I,C as fe,F as L,r as V,A as ve,g as xe,_ as he,K as R,f as we}from"./index-BiYpJJoC.js";import{d as ye}from"./dashboard-Ca6WcfdV.js";import{i as S,f as W}from"./utils-7WVCegLb.js";import{_ as U}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as le}from"./SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js";import{C as De,a as $e,f as P}from"./format-WqwOLoqz.js";import{u as Z}from"./tasks-DwSuZPNM.js";import{_ as Te}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Se}from"./Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js";import{_ as Ce}from"./TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js";import{_ as Me}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import"./createLucideIcon-D7qP-VdO.js";import"./Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js";import"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import"./Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js";import"./devops-y1AYKG_U.js";const G=40/30;function Be(a){if(a.length===0)return[];const t=[...a].sort((d,w)=>new Date(d.start_at).getTime()-new Date(w.start_at).getTime()),o=[],m=[];for(const d of t){const w=new Date(d.start_at).getTime(),y=new Date(d.end_at).getTime();let i=-1;for(let u=0;u{const y=new Date(d.start_at).getTime(),i=new Date(d.end_at).getTime();let u=w;for(const n of m){const r=new Date(n.block.start_at).getTime(),_=new Date(n.block.end_at).getTime();ry&&n.lane>u&&(u=n.lane)}return{block:d,lane:w,totalLanes:u+1}})}function Ee(a,t=7){return((a.getHours()-t)*60+a.getMinutes())*G}function ze(a,t){const o=(t.getTime()-a.getTime())/6e4;return Math.max(o*G,20)}function ie(a,t=7){const o=a.getDay(),m=new Date(a);return m.setDate(a.getDate()-(o+6)%7),m.setHours(0,0,0,0),Array.from({length:t},(h,d)=>{const w=new Date(m);return w.setDate(m.getDate()+d),w})}function ue(a,t=15){return Math.round(a/t)*t}const N=be("calendar",()=>{const a=T([]),t=T(new Date),o=T("week"),m=T(7),h=T(!1),d=T(null),w=E(()=>ie(t.value,m.value));async function y(e,x,g){h.value=!0,d.value=null;try{const B=await ye.calendar({from:e,to:x,view:g});a.value=B.data}catch(B){const Y=B;d.value=Y.message??"Failed to fetch calendar"}finally{h.value=!1}}function i(e){m.value=e}async function u(){if(o.value==="week"){const e=ie(t.value,m.value),x=S(e[0]),g=S(e[m.value-1]);await y(x,g,"week")}else{const e=S(t.value);await y(e,e,"day")}}function n(){const e=new Date(t.value);o.value==="week"?e.setDate(e.getDate()-7):e.setDate(e.getDate()-1),t.value=e}function r(){const e=new Date(t.value);o.value==="week"?e.setDate(e.getDate()+7):e.setDate(e.getDate()+1),t.value=e}function _(){t.value=new Date}function b(e){o.value=e}function $(e){a.value.push(e)}function v(e){const x=a.value.findIndex(g=>g.id===e.id);x!==-1&&(a.value[x]=e)}function s(e){a.value=a.value.filter(x=>x.id!==e)}function c(e){const x=S(e);return a.value.filter(g=>S(new Date(g.start_at))===x)}return{blocks:a,currentDate:t,view:o,weekLength:m,loading:h,error:d,weekDays:w,fetch:y,fetchCurrentView:u,navigatePrev:n,navigateNext:r,goToToday:_,setView:b,setWeekLength:i,addBlock:$,updateBlock:v,removeBlock:s,getBlocksForDay:c}}),Le={class:"flex items-center gap-2 flex-wrap"},Ve={class:"flex items-center gap-1"},je={class:"text-sm font-medium text-foreground flex-1 min-w-0 truncate"},Pe={key:0,class:"text-xs text-muted-foreground"},Fe=A({__name:"CalendarToolbar",setup(a){const t=N(),o=E(()=>{if(t.view==="week"){const u=t.weekDays;if(!u.length)return"";const n=u[0],r=u[u.length-1];return n.getMonth()===r.getMonth()?`${P(n,"MMM d")} – ${P(r,"d, yyyy")}`:`${P(n,"MMM d")} – ${P(r,"MMM d, yyyy")}`}else return P(t.currentDate,"EEEE, MMMM d, yyyy")}),m=[{value:"day",label:"Day"},{value:"week",label:"Week"}],h=[{value:"5",label:"5d"},{value:"7",label:"7d"}],d=E({get:()=>t.view,set:async u=>{t.setView(u),await t.fetchCurrentView()}}),w=E({get:()=>String(t.weekLength),set:async u=>{t.setWeekLength(Number(u)),await t.fetchCurrentView()}});async function y(u){u==="prev"?t.navigatePrev():t.navigateNext(),await t.fetchCurrentView()}async function i(){t.goToToday(),await t.fetchCurrentView()}return(u,n)=>(f(),k("div",Le,[l("div",Ve,[C(U,{variant:"ghost",size:"icon","aria-label":"Previous",onClick:n[0]||(n[0]=r=>y("prev"))},{default:O(()=>[C(p(De),{class:"h-4 w-4"})]),_:1}),C(U,{variant:"outline",size:"sm",onClick:i},{default:O(()=>[...n[4]||(n[4]=[de("Today",-1)])]),_:1}),C(U,{variant:"ghost",size:"icon","aria-label":"Next",onClick:n[1]||(n[1]=r=>y("next"))},{default:O(()=>[C(p($e),{class:"h-4 w-4"})]),_:1})]),l("span",je,D(o.value),1),p(t).loading?(f(),k("div",Pe,"Loading...")):M("",!0),C(le,{modelValue:d.value,"onUpdate:modelValue":n[2]||(n[2]=r=>d.value=r),options:m,"aria-label":"Calendar view"},null,8,["modelValue"]),p(t).view==="week"?(f(),ce(le,{key:1,modelValue:w.value,"onUpdate:modelValue":n[3]||(n[3]=r=>w.value=r),options:h,"aria-label":"Week length"},null,8,["modelValue"])):M("",!0)]))}}),Re=7;function me(){const a=Z(),t=N(),o=T(null),m=T(null),h=T(null),d=T(null);function w(v,s){var c,e;o.value=v.id,(c=s.dataTransfer)==null||c.setData("task_id",v.id),(e=s.dataTransfer)==null||e.setData("estimate_hours",String(v.estimate_hours??1))}function y(v,s){var e,x,g,B;const c=new Date(v.end_at).getTime()-new Date(v.start_at).getTime();(e=s.dataTransfer)==null||e.setData("block_id",v.id),(x=s.dataTransfer)==null||x.setData("block_duration_ms",String(c)),(g=s.dataTransfer)==null||g.setData("task_id",v.task_id??""),(B=s.dataTransfer)==null||B.setData("estimate_hours",String(c/36e5))}function i(v,s){s.preventDefault(),m.value=S(v)}function u(){m.value=null}async function n(v,s){var ne,ae,oe,se;s.preventDefault(),m.value=null,o.value=null;const c=(ne=s.dataTransfer)==null?void 0:ne.getData("block_id"),e=(ae=s.dataTransfer)==null?void 0:ae.getData("task_id"),x=parseFloat(((oe=s.dataTransfer)==null?void 0:oe.getData("estimate_hours"))??"1")||1,g=parseFloat(((se=s.dataTransfer)==null?void 0:se.getData("block_duration_ms"))??"0"),Y=s.currentTarget.getBoundingClientRect(),q=s.clientY-Y.top,K=ue(q/G,15),ge=Math.max(0,Math.min(K,12*60)),F=new Date(v);F.setHours(Re,0,0,0),F.setMinutes(F.getMinutes()+ge);const X=F.toISOString();if(c&&g>0){const pe=new Date(F.getTime()+g).toISOString();try{await a.updateBlock(c,{start_at:X,end_at:pe}),await t.fetchCurrentView()}catch(_e){console.error("Failed to move block:",_e)}return}if(!e)return;const J=new Date(F);J.setMinutes(J.getMinutes()+Math.round(x*60));const ee=J.toISOString(),te=`temp_${Date.now()}`,ke={kind:"planned",id:te,project_id:null,job_number:"",display_name:"Loading...",start_at:X,end_at:ee,title:"",color_hue:260,tags:[],task_id:e,session_id:null,manual_entry_id:null};t.addBlock(ke);try{await a.createBlock(e,{start_at:X,end_at:ee}),await t.fetchCurrentView()}catch(re){t.removeBlock(te),console.error("Failed to create task block:",re)}}let r=0,_="",b=null;function $(v,s){s.preventDefault(),s.stopPropagation(),h.value=v,b=v,r=s.clientY,_=v.end_at,d.value=v.end_at;const c=x=>{if(!b)return;const g=x.clientY-r,B=ue(g/G,15),q=new Date(_).getTime()+B*6e4,K=new Date(b.start_at).getTime()+15*6e4;d.value=new Date(Math.max(q,K)).toISOString()},e=async()=>{if(document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",e),!b||!d.value){h.value=null;return}const x=b.id,g=d.value;if(g===_){h.value=null,d.value=null;return}try{b.task_id&&await a.updateBlock(x,{start_at:b.start_at,end_at:g}),t.updateBlock({...b,end_at:g})}catch(B){console.error("Failed to resize block:",B),t.updateBlock({...b,end_at:_})}h.value=null,d.value=null,b=null};document.addEventListener("mousemove",c),document.addEventListener("mouseup",e)}return{draggingTaskId:o,dragOverDay:m,resizingBlock:h,resizePreviewEnd:d,onDragStart:w,onBlockDragStart:y,onDragOver:i,onDragLeave:u,onDrop:n,onResizeStart:$}}function He(a){return`hsla(${a}, 65%, 45%, 0.85)`}function Oe(a){return`hsla(${a}, 65%, 55%, 1)`}const Ie=["draggable"],Ae={class:"px-1.5 py-1 h-full flex flex-col text-white overflow-hidden"},Ne={class:"text-xs font-semibold leading-tight truncate"},Ye={key:0,class:"text-xs opacity-75 truncate"},We={key:1,class:"text-xs opacity-75 mt-auto"},Ue=A({__name:"CalendarBlock",props:{block:{},lane:{},totalLanes:{},top:{},height:{},resizeEnd:{}},emits:["resizeStart","click","blockDragStart"],setup(a,{emit:t}){const o=a,m=t,h=E(()=>o.resizeEnd?new Date(o.resizeEnd):new Date(o.block.end_at)),d=E(()=>{if(!o.resizeEnd)return o.height;const n=(h.value.getTime()-new Date(o.block.start_at).getTime())/6e4;return Math.max(n*(40/30),20)}),w=E(()=>{const u=h.value.getTime()-new Date(o.block.start_at).getTime();return W(u/36e5)}),y=E(()=>{const u=`calc(${100/o.totalLanes}% - 2px)`,n=`calc(${o.lane/o.totalLanes*100}% + 1px)`;return{top:`${o.top}px`,height:`${d.value}px`,width:u,left:n,backgroundColor:He(o.block.color_hue),borderColor:Oe(o.block.color_hue)}}),i=E(()=>d.value<40);return(u,n)=>(f(),k("div",{class:I(["absolute rounded overflow-hidden cursor-pointer select-none group",{"border-2":a.block.kind==="session","border-2 border-dashed opacity-80":a.block.kind==="planned","border-2 calendar-block--manual":a.block.kind==="manual"}]),draggable:a.block.kind==="planned"&&!!a.block.task_id,style:j(y.value),onClick:n[1]||(n[1]=r=>m("click",a.block)),onDragstart:n[2]||(n[2]=r=>a.block.kind==="planned"&&a.block.task_id?m("blockDragStart",a.block,r):void 0)},[l("div",Ae,[l("p",Ne,D(a.block.kind==="planned"&&a.block.title?a.block.title:a.block.display_name),1),!i.value&&a.block.job_number?(f(),k("p",Ye,D(a.block.job_number),1)):M("",!0),i.value?M("",!0):(f(),k("p",We,D(w.value),1))]),l("div",{class:"absolute bottom-0 left-0 right-0 h-2 cursor-s-resize opacity-0 group-hover:opacity-100 flex items-center justify-center",onMousedown:n[0]||(n[0]=fe(r=>m("resizeStart",r),["stop"]))},[...n[3]||(n[3]=[l("div",{class:"w-8 h-0.5 bg-white/60 rounded"},null,-1)])],32)],46,Ie))}}),Ge=Te(Ue,[["__scopeId","data-v-7d0575a8"]]),qe={class:"flex overflow-auto h-full"},Ke={class:"flex flex-1 gap-px min-w-0"},Xe=["onDragover","onDrop"],Je={key:1,class:"absolute inset-0 bg-primary/10 pointer-events-none z-0"},z=7,Q=19,H=40,Qe=A({__name:"CalendarGrid",emits:["blockClick"],setup(a,{emit:t}){const o=Array.from({length:Q-z+1},(b,$)=>z+$),m=N(),h=me(),d=t,w=E(()=>m.view==="week"?m.weekDays:[m.currentDate]),y=S(new Date);function i(b){const $=m.getBlocksForDay(b);return Be($)}function u(b){return Ee(new Date(b.start_at),z)}function n(b){return ze(new Date(b.start_at),new Date(b.end_at))}function r(b){var $;return(($=h.resizingBlock.value)==null?void 0:$.id)===b.id}function _(b){return b===12?"12 PM":b>12?`${b-12} PM`:`${b} AM`}return(b,$)=>(f(),k("div",qe,[l("div",{class:"w-12 shrink-0 relative",style:j({height:`${(Q-z+1)*H*2}px`})},[(f(!0),k(L,null,V(p(o),v=>(f(),k("div",{key:v,class:"absolute right-2 text-xs text-muted-foreground",style:j({top:`${(v-z)*H*2-6}px`})},D(_(v)),5))),128))],4),l("div",Ke,[(f(!0),k(L,null,V(w.value,v=>(f(),k("div",{key:p(S)(v),class:I(["flex-1 relative border-l border-border",{"bg-primary/5":p(S)(v)===p(y)}]),style:j({height:`${(Q-z)*H*2}px`}),onDragover:s=>p(h).onDragOver(v,s),onDragleave:$[1]||($[1]=s=>p(h).onDragLeave()),onDrop:s=>p(h).onDrop(v,s)},[p(m).view==="week"?(f(),k("div",{key:0,class:I(["sticky top-0 z-10 text-center py-1 text-xs font-medium border-b border-border bg-background",p(S)(v)===p(y)?"text-primary":"text-muted-foreground"])},[l("div",null,D(p(P)(v,"EEE")),1),l("div",{class:I(["inline-flex h-6 w-6 mx-auto items-center justify-center rounded-full text-sm",p(S)(v)===p(y)?"bg-primary text-primary-foreground":""])},D(p(P)(v,"d")),3)],2)):M("",!0),(f(!0),k(L,null,V(p(o),s=>(f(),k("div",{key:s,class:"absolute left-0 right-0 border-t border-border/40",style:j({top:`${(s-z)*H*2}px`})},null,4))),128)),(f(!0),k(L,null,V(p(o).slice(0,-1),s=>(f(),k("div",{key:`half-${s}`,class:"absolute left-0 right-0 border-t border-border/20",style:j({top:`${(s-z)*H*2+H}px`})},null,4))),128)),p(h).dragOverDay.value===p(S)(v)?(f(),k("div",Je)):M("",!0),(f(!0),k(L,null,V(i(v),({block:s,lane:c,totalLanes:e})=>(f(),ce(Ge,{key:s.id,block:s,lane:c,"total-lanes":e,top:u(s),height:n(s),"resize-end":r(s)?p(h).resizePreviewEnd.value:null,onClick:x=>d("blockClick",s),onResizeStart:x=>p(h).onResizeStart(s,x),onBlockDragStart:$[0]||($[0]=(x,g)=>p(h).onBlockDragStart(x,g))},null,8,["block","lane","total-lanes","top","height","resize-end","onClick","onResizeStart"]))),128))],46,Xe))),128))])]))}}),Ze={class:"flex flex-col h-full bg-card border-l border-border"},et={class:"p-3 border-b border-border flex items-center justify-between shrink-0"},tt={class:"flex-1 overflow-y-auto p-2 space-y-1.5"},nt={key:0,class:"text-xs text-muted-foreground p-2"},at={key:1,class:"text-xs text-muted-foreground p-2 text-center"},ot=["onDragstart"],st={class:"flex items-start gap-2"},rt={class:"flex-1 min-w-0"},lt={class:"text-xs font-medium text-foreground leading-tight truncate"},it={class:"flex items-center gap-1.5 mt-1 flex-wrap"},ut={key:0,class:"text-xs text-muted-foreground"},dt={key:0,class:"p-3 border-t border-border shrink-0"},ct={class:"space-y-1"},ft={class:"text-muted-foreground truncate max-w-[100px]"},vt={class:"text-foreground"},mt=A({__name:"PlannerSidebar",emits:["createTask"],setup(a,{emit:t}){const o=Z(),m=N(),h=me(),d=t,w=E(()=>S(m.currentDate));ve(()=>{o.fetchForDate(w.value)});const y=n=>({todo:"outline",doing:"default",testing:"warning",done:"success",cancelled:"secondary"})[n],i=n=>n>=4?"bg-red-500":n===3?"bg-amber-500":"bg-emerald-500",u=E(()=>{const n={};for(const r of o.tasks){const _=r.project_id??"_none";n[_]||(n[_]={name:r.project_id?_:"No Project",planned:0,actual:0}),n[_].planned+=r.estimate_hours??0,n[_].actual+=r.actual_hours??0}return Object.values(n)});return(n,r)=>(f(),k("div",Ze,[l("div",et,[r[2]||(r[2]=l("h3",{class:"text-sm font-semibold text-foreground"},"Planner",-1)),C(U,{size:"sm",variant:"ghost",onClick:r[0]||(r[0]=_=>d("createTask"))},{default:O(()=>[...r[1]||(r[1]=[l("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])]),_:1})]),l("div",tt,[p(o).loading?(f(),k("div",nt,"Loading...")):p(o).tasks.length===0?(f(),k("div",at," No tasks for today ")):M("",!0),(f(!0),k(L,null,V(p(o).tasks,_=>(f(),k("div",{key:_.id,class:"rounded-md border border-border bg-background p-2 cursor-grab active:cursor-grabbing hover:border-primary/50 transition-colors",draggable:"true",onDragstart:b=>p(h).onDragStart(_,b)},[l("div",st,[l("div",{class:I(["h-2 w-2 rounded-full mt-1.5 shrink-0",i(_.priority)])},null,2),l("div",rt,[l("p",lt,D(_.title),1),l("div",it,[C(Se,{variant:y(_.status),class:"text-xs py-0"},{default:O(()=>[de(D(_.status),1)]),_:2},1032,["variant"]),_.estimate_hours?(f(),k("span",ut,D(p(W)(_.estimate_hours)),1)):M("",!0)])])])],40,ot))),128))]),u.value.length?(f(),k("div",dt,[r[3]||(r[3]=l("p",{class:"text-xs font-medium text-muted-foreground mb-2"},"Plan vs Actual",-1)),l("div",ct,[(f(!0),k(L,null,V(u.value,_=>(f(),k("div",{key:_.name,class:"flex items-center justify-between text-xs"},[l("span",ft,D(_.name),1),l("span",vt,D(p(W)(_.planned))+" / "+D(p(W)(_.actual)),1)]))),128))])])):M("",!0)]))}}),gt={class:"h-full flex flex-col"},kt={class:"p-4 border-b border-border flex items-center gap-3 flex-wrap"},pt={class:"flex items-center gap-2 ml-auto"},_t={class:"flex-1 flex overflow-hidden"},bt={class:"flex-1 overflow-auto"},xt={key:0,class:"w-56 shrink-0 overflow-hidden"},ht={class:"bg-card border border-border rounded-lg shadow-xl p-4 w-72"},wt={class:"flex items-start justify-between gap-2 mb-3"},yt={class:"font-semibold text-sm text-foreground"},Dt={key:0,class:"text-xs text-muted-foreground"},$t={class:"space-y-1 text-xs text-muted-foreground"},Tt={key:0,class:"mt-2 flex flex-wrap gap-1"},St={key:1,class:"mt-3 pt-3 border-t border-border flex items-center gap-2"},Ct=["disabled"],Mt={key:2,class:"mt-3 pt-3 border-t border-border text-xs text-muted-foreground"},Gt=A({__name:"CalendarView",setup(a){const t=N(),o=Z(),m=we(),h=xe(),d=T(!0),w=T(!1),y=T(null),i=T(null),u=T(!1),n=T(!1),r=T(null);ve(async()=>{const c=h.query.date;c&&(t.currentDate=new Date(c+"T12:00:00"),t.setView("day")),await t.fetchCurrentView()});function _(c){if(c.project_id&&c.kind==="session"){const e=c.start_at.substring(0,10);m.push({name:"project-detail",params:{id:c.project_id,date:e}})}else i.value=c}async function b(c){try{y.value?(await o.update(y.value.id,c),R.success("Task updated")):(await o.create(c),R.success("Task created")),w.value=!1,y.value=null,o.fetchForDate(S(t.currentDate))}catch{R.error("Failed to save task")}}async function $(c){if(c.task_id)try{const e=await he(()=>import("./tasks-DwSuZPNM.js").then(x=>x.t),__vite__mapDeps([0,1,2])).then(x=>x.tasksApi.get(c.task_id));y.value=e.data,i.value=null,w.value=!0}catch{R.error("Failed to load task")}}function v(c){r.value=c,n.value=!0}async function s(){const c=r.value;if(c){u.value=!0;try{await o.deleteBlock(c.id),t.removeBlock(c.id),i.value=null,R.success("Block deleted")}catch{R.error("Failed to delete block")}finally{u.value=!1,r.value=null}}}return(c,e)=>{var x;return f(),k("div",gt,[l("div",kt,[C(Fe),l("div",pt,[l("button",{class:"text-xs text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",onClick:e[0]||(e[0]=g=>d.value=!d.value)},D(d.value?"Hide Planner":"Show Planner"),1)])]),l("div",_t,[l("div",bt,[C(Qe,{onBlockClick:_})]),d.value?(f(),k("div",xt,[C(mt,{onCreateTask:e[1]||(e[1]=g=>w.value=!0)})])):M("",!0)]),i.value?(f(),k("div",{key:0,class:"fixed inset-0 z-40 flex items-center justify-center p-4",onClick:e[5]||(e[5]=fe(g=>i.value=null,["self"]))},[l("div",ht,[l("div",wt,[l("div",null,[l("p",yt,D(i.value.display_name),1),i.value.job_number?(f(),k("p",Dt,D(i.value.job_number),1)):M("",!0)]),l("button",{class:"text-muted-foreground hover:text-foreground",onClick:e[2]||(e[2]=g=>i.value=null)},[...e[8]||(e[8]=[l("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),l("div",$t,[l("p",null,"Start: "+D(new Date(i.value.start_at).toLocaleString()),1),l("p",null,"End: "+D(new Date(i.value.end_at).toLocaleString()),1),l("p",null,"Type: "+D(i.value.kind),1)]),i.value.tags.length?(f(),k("div",Tt,[(f(!0),k(L,null,V(i.value.tags,g=>(f(),k("span",{key:g.id,class:"px-1.5 py-0.5 rounded text-xs",style:j({background:`${g.color_hex}22`,color:g.color_hex})},D(g.name),5))),128))])):M("",!0),i.value.kind==="planned"?(f(),k("div",St,[l("button",{class:"flex-1 text-xs px-2 py-1.5 rounded bg-muted hover:bg-muted/80 text-foreground transition-colors",onClick:e[3]||(e[3]=g=>$(i.value))},"Edit task"),l("button",{class:"flex-1 text-xs px-2 py-1.5 rounded bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors",disabled:u.value,onClick:e[4]||(e[4]=g=>v(i.value))},"Delete block",8,Ct)])):(f(),k("p",Mt,D(i.value.kind==="session"?"Session from Claude Code — read-only":"Read-only entry"),1))])])):M("",!0),C(Ce,{open:w.value,task:y.value,"default-date":p(S)(p(t).currentDate),onClose:e[6]||(e[6]=g=>{w.value=!1,y.value=null}),onSave:b},null,8,["open","task","default-date"]),C(Me,{open:n.value,"onUpdate:open":e[7]||(e[7]=g=>n.value=g),title:"Delete block",description:`Delete '${(x=r.value)==null?void 0:x.display_name}'? This action cannot be undone.`,"confirm-label":"Delete",variant:"destructive",onConfirm:s},null,8,["open","description"])])}}});export{Gt as default}; diff --git a/src/static/assets/CalendarView-bLogQo28.css b/src/static/assets/CalendarView-DMz1YKbt.css similarity index 62% rename from src/static/assets/CalendarView-bLogQo28.css rename to src/static/assets/CalendarView-DMz1YKbt.css index fd65692..02da6b8 100644 --- a/src/static/assets/CalendarView-bLogQo28.css +++ b/src/static/assets/CalendarView-DMz1YKbt.css @@ -1 +1 @@ -.calendar-block--manual[data-v-53efb3d3]{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.1) 3px,rgba(255,255,255,.1) 6px)} +.calendar-block--manual[data-v-7d0575a8]{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.1) 3px,rgba(255,255,255,.1) 6px)} diff --git a/src/static/assets/CalendarView-sdfXfQnJ.js b/src/static/assets/CalendarView-sdfXfQnJ.js deleted file mode 100644 index 972fccf..0000000 --- a/src/static/assets/CalendarView-sdfXfQnJ.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tasks-DzAUejbm.js","assets/index-DMlmI4VG.js","assets/index-CukCWBzu.css"])))=>i.map(i=>d[i]); -import{C as Ne,s as T,j as W,d as U,o as k,c as p,a as h,e as E,w as G,q as Te,t as M,h as x,i as O,n as Y,B as H,D as Pe,F as L,r as j,k as He,y as Oe,g as qe,_ as Re,K as V,f as ze}from"./index-DMlmI4VG.js";import{d as Ve}from"./dashboard-BOPmT7C3.js";import{i as P,f as ee}from"./utils-7WVCegLb.js";import{_ as te}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{u as le}from"./tasks-DzAUejbm.js";import{_ as Ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Ie}from"./Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js";import{_ as Qe}from"./TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import"./Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js";import"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import"./Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js";import"./devops-roMxSiNP.js";const ne=40/30;function Xe(e){if(e.length===0)return[];const t=[...e].sort((o,l)=>new Date(o.start_at).getTime()-new Date(l.start_at).getTime()),n=[],r=[];for(const o of t){const l=new Date(o.start_at).getTime(),c=new Date(o.end_at).getTime();let s=-1;for(let f=0;f{const c=new Date(o.start_at).getTime(),s=new Date(o.end_at).getTime();let f=l;for(const m of r){const g=new Date(m.block.start_at).getTime(),w=new Date(m.block.end_at).getTime();gc&&m.lane>f&&(f=m.lane)}return{block:o,lane:l,totalLanes:f+1}})}function Ge(e,t=7){return((e.getHours()-t)*60+e.getMinutes())*ne}function Je(e,t){const n=(t.getTime()-e.getTime())/6e4;return Math.max(n*ne,20)}function be(e,t=7){const n=e.getDay(),r=new Date(e);return r.setDate(e.getDate()-(n+6)%7),r.setHours(0,0,0,0),Array.from({length:t},(a,o)=>{const l=new Date(r);return l.setDate(r.getDate()+o),l})}function ke(e,t=15){return Math.round(e/t)*t}const K=Ne("calendar",()=>{const e=T([]),t=T(new Date),n=T("week"),r=T(7),a=T(!1),o=T(null),l=W(()=>be(t.value,r.value));async function c(u,v,_){a.value=!0,o.value=null;try{const C=await Ve.calendar({from:u,to:v,view:_});e.value=C.data}catch(C){const Z=C;o.value=Z.message??"Failed to fetch calendar"}finally{a.value=!1}}function s(u){r.value=u}async function f(){if(n.value==="week"){const u=be(t.value,r.value),v=P(u[0]),_=P(u[r.value-1]);await c(v,_,"week")}else{const u=P(t.value);await c(u,u,"day")}}function m(){const u=new Date(t.value);n.value==="week"?u.setDate(u.getDate()-7):u.setDate(u.getDate()-1),t.value=u}function g(){const u=new Date(t.value);n.value==="week"?u.setDate(u.getDate()+7):u.setDate(u.getDate()+1),t.value=u}function w(){t.value=new Date}function y(u){n.value=u}function b(u){e.value.push(u)}function d(u){const v=e.value.findIndex(_=>_.id===u.id);v!==-1&&(e.value[v]=u)}function i(u){e.value=e.value.filter(v=>v.id!==u)}function S(u){const v=P(u);return e.value.filter(_=>P(new Date(_.start_at))===v)}return{blocks:e,currentDate:t,view:n,weekLength:r,loading:a,error:o,weekDays:l,fetch:c,fetchCurrentView:f,navigatePrev:m,navigateNext:g,goToToday:w,setView:y,setWeekLength:s,addBlock:b,updateBlock:d,removeBlock:i,getBlocksForDay:S}});function $(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function R(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}const Ce=6048e5,Ue=864e5;let Ke={};function ae(){return Ke}function J(e,t){var c,s,f,m;const n=ae(),r=(t==null?void 0:t.weekStartsOn)??((s=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:s.weekStartsOn)??n.weekStartsOn??((m=(f=n.locale)==null?void 0:f.options)==null?void 0:m.weekStartsOn)??0,a=$(e),o=a.getDay(),l=(o=a.getTime()?n+1:t.getTime()>=l.getTime()?n:n-1}function xe(e){const t=$(e);return t.setHours(0,0,0,0),t}function pe(e){const t=$(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ze(e,t){const n=xe(e),r=xe(t),a=+n-pe(n),o=+r-pe(r);return Math.round((a-o)/Ue)}function et(e){const t=$e(e),n=R(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),re(n)}function tt(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function nt(e){if(!tt(e)&&typeof e!="number")return!1;const t=$(e);return!isNaN(Number(t))}function rt(e){const t=$(e),n=R(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}const at={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ot=(e,t,n)=>{let r;const a=at[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ce(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const st={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},it={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ut={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ct={date:ce({formats:st,defaultWidth:"full"}),time:ce({formats:it,defaultWidth:"full"}),dateTime:ce({formats:ut,defaultWidth:"full"})},dt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},lt=(e,t,n,r)=>dt[e];function Q(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,c=n!=null&&n.width?String(n.width):l;a=e.formattingValues[c]||e.formattingValues[l]}else{const l=e.defaultWidth,c=n!=null&&n.width?String(n.width):e.defaultWidth;a=e.values[c]||e.values[l]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const ft={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},mt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ht={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gt={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},wt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},vt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},yt=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},bt={ordinalNumber:yt,era:Q({values:ft,defaultWidth:"wide"}),quarter:Q({values:mt,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Q({values:ht,defaultWidth:"wide"}),day:Q({values:gt,defaultWidth:"wide"}),dayPeriod:Q({values:wt,defaultWidth:"wide",formattingValues:vt,defaultFormattingWidth:"wide"})};function X(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const l=o[0],c=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],s=Array.isArray(c)?xt(c,g=>g.test(l)):kt(c,g=>g.test(l));let f;f=e.valueCallback?e.valueCallback(s):s,f=n.valueCallback?n.valueCallback(f):f;const m=t.slice(l.length);return{value:f,rest:m}}}function kt(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function xt(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let l=e.valueCallback?e.valueCallback(o[0]):o[0];l=n.valueCallback?n.valueCallback(l):l;const c=t.slice(a.length);return{value:l,rest:c}}}const Dt=/^(\d+)(th|st|nd|rd)?/i,_t=/\d+/i,Mt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},St={any:[/^b/i,/^(a|c)/i]},Tt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Pt={any:[/1/i,/2/i,/3/i,/4/i]},Ot={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ct={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},$t={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Wt={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Et={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Yt={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Bt={ordinalNumber:pt({matchPattern:Dt,parsePattern:_t,valueCallback:e=>parseInt(e,10)}),era:X({matchPatterns:Mt,defaultMatchWidth:"wide",parsePatterns:St,defaultParseWidth:"any"}),quarter:X({matchPatterns:Tt,defaultMatchWidth:"wide",parsePatterns:Pt,defaultParseWidth:"any",valueCallback:e=>e+1}),month:X({matchPatterns:Ot,defaultMatchWidth:"wide",parsePatterns:Ct,defaultParseWidth:"any"}),day:X({matchPatterns:$t,defaultMatchWidth:"wide",parsePatterns:Wt,defaultParseWidth:"any"}),dayPeriod:X({matchPatterns:Et,defaultMatchWidth:"any",parsePatterns:Yt,defaultParseWidth:"any"})},Ft={code:"en-US",formatDistance:ot,formatLong:ct,formatRelative:lt,localize:bt,match:Bt,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Lt(e){const t=$(e);return Ze(t,rt(t))+1}function jt(e){const t=$(e),n=+re(t)-+et(t);return Math.round(n/Ce)+1}function We(e,t){var m,g,w,y;const n=$(e),r=n.getFullYear(),a=ae(),o=(t==null?void 0:t.firstWeekContainsDate)??((g=(m=t==null?void 0:t.locale)==null?void 0:m.options)==null?void 0:g.firstWeekContainsDate)??a.firstWeekContainsDate??((y=(w=a.locale)==null?void 0:w.options)==null?void 0:y.firstWeekContainsDate)??1,l=R(e,0);l.setFullYear(r+1,0,o),l.setHours(0,0,0,0);const c=J(l,t),s=R(e,0);s.setFullYear(r,0,o),s.setHours(0,0,0,0);const f=J(s,t);return n.getTime()>=c.getTime()?r+1:n.getTime()>=f.getTime()?r:r-1}function Nt(e,t){var c,s,f,m;const n=ae(),r=(t==null?void 0:t.firstWeekContainsDate)??((s=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:s.firstWeekContainsDate)??n.firstWeekContainsDate??((m=(f=n.locale)==null?void 0:f.options)==null?void 0:m.firstWeekContainsDate)??1,a=We(e,t),o=R(e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),J(o,t)}function Ht(e,t){const n=$(e),r=+J(n,t)-+Nt(n,t);return Math.round(r/Ce)+1}function D(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const B={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return D(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):D(n+1,2)},d(e,t){return D(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return D(e.getHours()%12||12,t.length)},H(e,t){return D(e.getHours(),t.length)},m(e,t){return D(e.getMinutes(),t.length)},s(e,t){return D(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return D(a,t.length)}},A={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},De={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return B.y(e,t)},Y:function(e,t,n,r){const a=We(e,r),o=a>0?a:1-a;if(t==="YY"){const l=o%100;return D(l,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):D(o,t.length)},R:function(e,t){const n=$e(e);return D(n,t.length)},u:function(e,t){const n=e.getFullYear();return D(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return D(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return D(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return B.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return D(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=Ht(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):D(a,t.length)},I:function(e,t,n){const r=jt(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):D(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):B.d(e,t)},D:function(e,t,n){const r=Lt(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):D(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return D(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return D(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return D(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=A.noon:r===0?a=A.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=A.evening:r>=12?a=A.afternoon:r>=4?a=A.morning:a=A.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return B.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):B.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):D(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):D(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):B.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):B.s(e,t)},S:function(e,t){return B.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return Me(r);case"XXXX":case"XX":return N(r);case"XXXXX":case"XXX":default:return N(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return Me(r);case"xxxx":case"xx":return N(r);case"xxxxx":case"xxx":default:return N(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+_e(r,":");case"OOOO":default:return"GMT"+N(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+_e(r,":");case"zzzz":default:return"GMT"+N(r,":")}},t:function(e,t,n){const r=Math.trunc(e.getTime()/1e3);return D(r,t.length)},T:function(e,t,n){const r=e.getTime();return D(r,t.length)}};function _e(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+D(o,2)}function Me(e,t){return e%60===0?(e>0?"-":"+")+D(Math.abs(e)/60,2):N(e,t)}function N(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=D(Math.trunc(r/60),2),o=D(r%60,2);return n+a+t+o}const Se=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Ee=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},qt=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Se(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Se(r,t)).replace("{{time}}",Ee(a,t))},Rt={p:Ee,P:qt},zt=/^D+$/,Vt=/^Y+$/,At=["D","DD","YY","YYYY"];function It(e){return zt.test(e)}function Qt(e){return Vt.test(e)}function Xt(e,t,n){const r=Gt(e,t,n);if(console.warn(r),At.includes(e))throw new RangeError(r)}function Gt(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Jt=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ut=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Kt=/^'([^]*?)'?$/,Zt=/''/g,en=/[a-zA-Z]/;function q(e,t,n){var m,g,w,y,b,d,i,S;const r=ae(),a=(n==null?void 0:n.locale)??r.locale??Ft,o=(n==null?void 0:n.firstWeekContainsDate)??((g=(m=n==null?void 0:n.locale)==null?void 0:m.options)==null?void 0:g.firstWeekContainsDate)??r.firstWeekContainsDate??((y=(w=r.locale)==null?void 0:w.options)==null?void 0:y.firstWeekContainsDate)??1,l=(n==null?void 0:n.weekStartsOn)??((d=(b=n==null?void 0:n.locale)==null?void 0:b.options)==null?void 0:d.weekStartsOn)??r.weekStartsOn??((S=(i=r.locale)==null?void 0:i.options)==null?void 0:S.weekStartsOn)??0,c=$(e);if(!nt(c))throw new RangeError("Invalid time value");let s=t.match(Ut).map(u=>{const v=u[0];if(v==="p"||v==="P"){const _=Rt[v];return _(u,a.formatLong)}return u}).join("").match(Jt).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const v=u[0];if(v==="'")return{isToken:!1,value:tn(u)};if(De[v])return{isToken:!0,value:u};if(v.match(en))throw new RangeError("Format string contains an unescaped latin alphabet character `"+v+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(s=a.localize.preprocessor(c,s));const f={firstWeekContainsDate:o,weekStartsOn:l,locale:a};return s.map(u=>{if(!u.isToken)return u.value;const v=u.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&Qt(v)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&It(v))&&Xt(v,t,String(e));const _=De[v[0]];return _(c,v,a.localize,f)}).join("")}function tn(e){const t=e.match(Kt);return t?t[1].replace(Zt,"'"):e}const nn={class:"flex items-center gap-2 flex-wrap"},rn={class:"flex items-center gap-1"},an={class:"text-sm font-medium text-foreground flex-1 min-w-0 truncate"},on={key:0,class:"text-xs text-muted-foreground"},sn={class:"flex items-center rounded-md border border-border overflow-hidden"},un={key:1,class:"flex items-center rounded-md border border-border overflow-hidden"},cn=U({__name:"CalendarToolbar",setup(e){const t=K(),n=W(()=>{if(t.view==="week"){const c=t.weekDays;if(!c.length)return"";const s=c[0],f=c[c.length-1];return s.getMonth()===f.getMonth()?`${q(s,"MMM d")} – ${q(f,"d, yyyy")}`:`${q(s,"MMM d")} – ${q(f,"MMM d, yyyy")}`}else return q(t.currentDate,"EEEE, MMMM d, yyyy")});async function r(c){c==="prev"?t.navigatePrev():t.navigateNext(),await t.fetchCurrentView()}async function a(){t.goToToday(),await t.fetchCurrentView()}async function o(c){t.setView(c),await t.fetchCurrentView()}async function l(c){t.setWeekLength(c),await t.fetchCurrentView()}return(c,s)=>(k(),p("div",nn,[h("div",rn,[E(te,{variant:"outline",size:"sm",onClick:s[0]||(s[0]=f=>r("prev"))},{default:G(()=>[...s[6]||(s[6]=[h("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),_:1}),E(te,{variant:"outline",size:"sm",onClick:a},{default:G(()=>[...s[7]||(s[7]=[Te("Today",-1)])]),_:1}),E(te,{variant:"outline",size:"sm",onClick:s[1]||(s[1]=f=>r("next"))},{default:G(()=>[...s[8]||(s[8]=[h("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])]),_:1})]),h("span",an,M(n.value),1),x(t).loading?(k(),p("div",on,"Loading...")):O("",!0),h("div",sn,[h("button",{class:Y(["px-3 py-1.5 text-xs font-medium transition-colors",x(t).view==="day"?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:s[2]||(s[2]=f=>o("day"))}," Day ",2),h("button",{class:Y(["px-3 py-1.5 text-xs font-medium transition-colors",x(t).view==="week"?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:s[3]||(s[3]=f=>o("week"))}," Week ",2)]),x(t).view==="week"?(k(),p("div",un,[h("button",{class:Y(["px-3 py-1.5 text-xs font-medium transition-colors",x(t).weekLength===5?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:s[4]||(s[4]=f=>l(5))}," 5d ",2),h("button",{class:Y(["px-3 py-1.5 text-xs font-medium transition-colors",x(t).weekLength===7?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:s[5]||(s[5]=f=>l(7))}," 7d ",2)])):O("",!0)]))}}),dn=7;function Ye(){const e=le(),t=K(),n=T(null),r=T(null),a=T(null),o=T(null);function l(d,i){var S,u;n.value=d.id,(S=i.dataTransfer)==null||S.setData("task_id",d.id),(u=i.dataTransfer)==null||u.setData("estimate_hours",String(d.estimate_hours??1))}function c(d,i){var u,v,_,C;const S=new Date(d.end_at).getTime()-new Date(d.start_at).getTime();(u=i.dataTransfer)==null||u.setData("block_id",d.id),(v=i.dataTransfer)==null||v.setData("block_duration_ms",String(S)),(_=i.dataTransfer)==null||_.setData("task_id",d.task_id??""),(C=i.dataTransfer)==null||C.setData("estimate_hours",String(S/36e5))}function s(d,i){i.preventDefault(),r.value=P(d)}function f(){r.value=null}async function m(d,i){var he,ge,we,ve;i.preventDefault(),r.value=null,n.value=null;const S=(he=i.dataTransfer)==null?void 0:he.getData("block_id"),u=(ge=i.dataTransfer)==null?void 0:ge.getData("task_id"),v=parseFloat(((we=i.dataTransfer)==null?void 0:we.getData("estimate_hours"))??"1")||1,_=parseFloat(((ve=i.dataTransfer)==null?void 0:ve.getData("block_duration_ms"))??"0"),Z=i.currentTarget.getBoundingClientRect(),oe=i.clientY-Z.top,se=ke(oe/ne,15),Be=Math.max(0,Math.min(se,12*60)),z=new Date(d);z.setHours(dn,0,0,0),z.setMinutes(z.getMinutes()+Be);const ie=z.toISOString();if(S&&_>0){const Le=new Date(z.getTime()+_).toISOString();try{await e.updateBlock(S,{start_at:ie,end_at:Le}),await t.fetchCurrentView()}catch(je){console.error("Failed to move block:",je)}return}if(!u)return;const ue=new Date(z);ue.setMinutes(ue.getMinutes()+Math.round(v*60));const fe=ue.toISOString(),me=`temp_${Date.now()}`,Fe={kind:"planned",id:me,project_id:null,job_number:"",display_name:"Loading...",start_at:ie,end_at:fe,title:"",color_hue:260,tags:[],task_id:u,session_id:null,manual_entry_id:null};t.addBlock(Fe);try{await e.createBlock(u,{start_at:ie,end_at:fe}),await t.fetchCurrentView()}catch(ye){t.removeBlock(me),console.error("Failed to create task block:",ye)}}let g=0,w="",y=null;function b(d,i){i.preventDefault(),i.stopPropagation(),a.value=d,y=d,g=i.clientY,w=d.end_at,o.value=d.end_at;const S=v=>{if(!y)return;const _=v.clientY-g,C=ke(_/ne,15),oe=new Date(w).getTime()+C*6e4,se=new Date(y.start_at).getTime()+15*6e4;o.value=new Date(Math.max(oe,se)).toISOString()},u=async()=>{if(document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",u),!y||!o.value){a.value=null;return}const v=y.id,_=o.value;if(_===w){a.value=null,o.value=null;return}try{y.task_id&&await e.updateBlock(v,{start_at:y.start_at,end_at:_}),t.updateBlock({...y,end_at:_})}catch(C){console.error("Failed to resize block:",C),t.updateBlock({...y,end_at:w})}a.value=null,o.value=null,y=null};document.addEventListener("mousemove",S),document.addEventListener("mouseup",u)}return{draggingTaskId:n,dragOverDay:r,resizingBlock:a,resizePreviewEnd:o,onDragStart:l,onBlockDragStart:c,onDragOver:s,onDragLeave:f,onDrop:m,onResizeStart:b}}function ln(e){return`hsla(${e}, 65%, 45%, 0.85)`}function fn(e){return`hsla(${e}, 65%, 55%, 1)`}const mn=["draggable"],hn={class:"px-1.5 py-1 h-full flex flex-col text-white overflow-hidden"},gn={class:"text-xs font-semibold leading-tight truncate"},wn={key:0,class:"text-xs opacity-75 truncate"},vn={key:1,class:"text-xs opacity-75 mt-auto"},yn=U({__name:"CalendarBlock",props:{block:{},lane:{},totalLanes:{},top:{},height:{},resizeEnd:{}},emits:["resizeStart","click","blockDragStart"],setup(e,{emit:t}){const n=e,r=t,a=W(()=>n.resizeEnd?new Date(n.resizeEnd):new Date(n.block.end_at)),o=W(()=>{if(!n.resizeEnd)return n.height;const m=(a.value.getTime()-new Date(n.block.start_at).getTime())/6e4;return Math.max(m*(40/30),20)}),l=W(()=>{const f=a.value.getTime()-new Date(n.block.start_at).getTime();return ee(f/36e5)}),c=W(()=>{const f=`calc(${100/n.totalLanes}% - 2px)`,m=`calc(${n.lane/n.totalLanes*100}% + 1px)`;return{top:`${n.top}px`,height:`${o.value}px`,width:f,left:m,backgroundColor:ln(n.block.color_hue),borderColor:fn(n.block.color_hue)}}),s=W(()=>o.value<40);return(f,m)=>(k(),p("div",{class:Y(["absolute rounded overflow-hidden cursor-pointer select-none group",{"border-2":e.block.kind==="session","border-2 border-dashed opacity-80":e.block.kind==="planned","border-2 calendar-block--manual":e.block.kind==="manual"}]),draggable:e.block.kind==="planned"&&!!e.block.task_id,style:H(c.value),onClick:m[1]||(m[1]=g=>r("click",e.block)),onDragstart:m[2]||(m[2]=g=>e.block.kind==="planned"&&e.block.task_id?r("blockDragStart",e.block,g):void 0)},[h("div",hn,[h("p",gn,M(e.block.kind==="planned"&&e.block.title?e.block.title:e.block.display_name),1),!s.value&&e.block.job_number?(k(),p("p",wn,M(e.block.job_number),1)):O("",!0),s.value?O("",!0):(k(),p("p",vn,M(l.value),1))]),h("div",{class:"absolute bottom-0 left-0 right-0 h-2 cursor-s-resize opacity-0 group-hover:opacity-100 flex items-center justify-center",onMousedown:m[0]||(m[0]=Pe(g=>r("resizeStart",g),["stop"]))},[...m[3]||(m[3]=[h("div",{class:"w-8 h-0.5 bg-white/60 rounded"},null,-1)])],32)],46,mn))}}),bn=Ae(yn,[["__scopeId","data-v-53efb3d3"]]),kn={class:"flex overflow-auto h-full"},xn={class:"flex flex-1 gap-px min-w-0"},pn=["onDragover","onDrop"],Dn={key:1,class:"absolute inset-0 bg-primary/10 pointer-events-none z-0"},F=7,de=19,I=40,_n=U({__name:"CalendarGrid",emits:["blockClick"],setup(e,{emit:t}){const n=Array.from({length:de-F+1},(y,b)=>F+b),r=K(),a=Ye(),o=t,l=W(()=>r.view==="week"?r.weekDays:[r.currentDate]),c=P(new Date);function s(y){const b=r.getBlocksForDay(y);return Xe(b)}function f(y){return Ge(new Date(y.start_at),F)}function m(y){return Je(new Date(y.start_at),new Date(y.end_at))}function g(y){var b;return((b=a.resizingBlock.value)==null?void 0:b.id)===y.id}function w(y){return y===12?"12 PM":y>12?`${y-12} PM`:`${y} AM`}return(y,b)=>(k(),p("div",kn,[h("div",{class:"w-12 shrink-0 relative",style:H({height:`${(de-F+1)*I*2}px`})},[(k(!0),p(L,null,j(x(n),d=>(k(),p("div",{key:d,class:"absolute right-2 text-xs text-muted-foreground",style:H({top:`${(d-F)*I*2-6}px`})},M(w(d)),5))),128))],4),h("div",xn,[(k(!0),p(L,null,j(l.value,d=>(k(),p("div",{key:x(P)(d),class:Y(["flex-1 relative border-l border-border",{"bg-primary/5":x(P)(d)===x(c)}]),style:H({height:`${(de-F)*I*2}px`}),onDragover:i=>x(a).onDragOver(d,i),onDragleave:b[1]||(b[1]=i=>x(a).onDragLeave()),onDrop:i=>x(a).onDrop(d,i)},[x(r).view==="week"?(k(),p("div",{key:0,class:Y(["sticky top-0 z-10 text-center py-1 text-xs font-medium border-b border-border bg-background",x(P)(d)===x(c)?"text-primary":"text-muted-foreground"])},[h("div",null,M(x(q)(d,"EEE")),1),h("div",{class:Y(["inline-flex h-6 w-6 mx-auto items-center justify-center rounded-full text-sm",x(P)(d)===x(c)?"bg-primary text-primary-foreground":""])},M(x(q)(d,"d")),3)],2)):O("",!0),(k(!0),p(L,null,j(x(n),i=>(k(),p("div",{key:i,class:"absolute left-0 right-0 border-t border-border/40",style:H({top:`${(i-F)*I*2}px`})},null,4))),128)),(k(!0),p(L,null,j(x(n).slice(0,-1),i=>(k(),p("div",{key:`half-${i}`,class:"absolute left-0 right-0 border-t border-border/20",style:H({top:`${(i-F)*I*2+I}px`})},null,4))),128)),x(a).dragOverDay.value===x(P)(d)?(k(),p("div",Dn)):O("",!0),(k(!0),p(L,null,j(s(d),({block:i,lane:S,totalLanes:u})=>(k(),He(bn,{key:i.id,block:i,lane:S,"total-lanes":u,top:f(i),height:m(i),"resize-end":g(i)?x(a).resizePreviewEnd.value:null,onClick:v=>o("blockClick",i),onResizeStart:v=>x(a).onResizeStart(i,v),onBlockDragStart:b[0]||(b[0]=(v,_)=>x(a).onBlockDragStart(v,_))},null,8,["block","lane","total-lanes","top","height","resize-end","onClick","onResizeStart"]))),128))],46,pn))),128))])]))}}),Mn={class:"flex flex-col h-full bg-card border-l border-border"},Sn={class:"p-3 border-b border-border flex items-center justify-between shrink-0"},Tn={class:"flex-1 overflow-y-auto p-2 space-y-1.5"},Pn={key:0,class:"text-xs text-muted-foreground p-2"},On={key:1,class:"text-xs text-muted-foreground p-2 text-center"},Cn=["onDragstart"],$n={class:"flex items-start gap-2"},Wn={class:"flex-1 min-w-0"},En={class:"text-xs font-medium text-foreground leading-tight truncate"},Yn={class:"flex items-center gap-1.5 mt-1 flex-wrap"},Bn={key:0,class:"text-xs text-muted-foreground"},Fn={key:0,class:"p-3 border-t border-border shrink-0"},Ln={class:"space-y-1"},jn={class:"text-muted-foreground truncate max-w-[100px]"},Nn={class:"text-foreground"},Hn=U({__name:"PlannerSidebar",emits:["createTask"],setup(e,{emit:t}){const n=le(),r=K(),a=Ye(),o=t,l=W(()=>P(r.currentDate));Oe(()=>{n.fetchForDate(l.value)});const c=m=>({todo:"outline",doing:"default",testing:"warning",done:"success",cancelled:"secondary"})[m],s=m=>m>=4?"bg-red-500":m===3?"bg-amber-500":"bg-emerald-500",f=W(()=>{const m={};for(const g of n.tasks){const w=g.project_id??"_none";m[w]||(m[w]={name:g.project_id?w:"No Project",planned:0,actual:0}),m[w].planned+=g.estimate_hours??0,m[w].actual+=g.actual_hours??0}return Object.values(m)});return(m,g)=>(k(),p("div",Mn,[h("div",Sn,[g[2]||(g[2]=h("h3",{class:"text-sm font-semibold text-foreground"},"Planner",-1)),E(te,{size:"sm",variant:"ghost",onClick:g[0]||(g[0]=w=>o("createTask"))},{default:G(()=>[...g[1]||(g[1]=[h("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])]),_:1})]),h("div",Tn,[x(n).loading?(k(),p("div",Pn,"Loading...")):x(n).tasks.length===0?(k(),p("div",On," No tasks for today ")):O("",!0),(k(!0),p(L,null,j(x(n).tasks,w=>(k(),p("div",{key:w.id,class:"rounded-md border border-border bg-background p-2 cursor-grab active:cursor-grabbing hover:border-primary/50 transition-colors",draggable:"true",onDragstart:y=>x(a).onDragStart(w,y)},[h("div",$n,[h("div",{class:Y(["h-2 w-2 rounded-full mt-1.5 shrink-0",s(w.priority)])},null,2),h("div",Wn,[h("p",En,M(w.title),1),h("div",Yn,[E(Ie,{variant:c(w.status),class:"text-xs py-0"},{default:G(()=>[Te(M(w.status),1)]),_:2},1032,["variant"]),w.estimate_hours?(k(),p("span",Bn,M(x(ee)(w.estimate_hours)),1)):O("",!0)])])])],40,Cn))),128))]),f.value.length?(k(),p("div",Fn,[g[3]||(g[3]=h("p",{class:"text-xs font-medium text-muted-foreground mb-2"},"Plan vs Actual",-1)),h("div",Ln,[(k(!0),p(L,null,j(f.value,w=>(k(),p("div",{key:w.name,class:"flex items-center justify-between text-xs"},[h("span",jn,M(w.name),1),h("span",Nn,M(x(ee)(w.planned))+" / "+M(x(ee)(w.actual)),1)]))),128))])])):O("",!0)]))}}),qn={class:"h-full flex flex-col"},Rn={class:"p-4 border-b border-border flex items-center gap-3 flex-wrap"},zn={class:"flex items-center gap-2 ml-auto"},Vn={class:"flex-1 flex overflow-hidden"},An={class:"flex-1 overflow-auto"},In={key:0,class:"w-56 shrink-0 overflow-hidden"},Qn={class:"bg-card border border-border rounded-lg shadow-xl p-4 w-72"},Xn={class:"flex items-start justify-between gap-2 mb-3"},Gn={class:"font-semibold text-sm text-foreground"},Jn={key:0,class:"text-xs text-muted-foreground"},Un={class:"space-y-1 text-xs text-muted-foreground"},Kn={key:0,class:"mt-2 flex flex-wrap gap-1"},Zn={key:1,class:"mt-3 pt-3 border-t border-border flex items-center gap-2"},er=["disabled"],tr={key:2,class:"mt-3 pt-3 border-t border-border text-xs text-muted-foreground"},gr=U({__name:"CalendarView",setup(e){const t=K(),n=le(),r=ze(),a=qe(),o=T(!0),l=T(!1),c=T(null),s=T(null),f=T(!1);Oe(async()=>{const b=a.query.date;b&&(t.currentDate=new Date(b+"T12:00:00"),t.setView("day")),await t.fetchCurrentView()});function m(b){if(b.project_id&&b.kind==="session"){const d=b.start_at.substring(0,10);r.push({name:"project-detail",params:{id:b.project_id,date:d}})}else s.value=b}async function g(b){try{c.value?(await n.update(c.value.id,b),V.success("Task updated")):(await n.create(b),V.success("Task created")),l.value=!1,c.value=null,n.fetchForDate(P(t.currentDate))}catch{V.error("Failed to save task")}}async function w(b){if(b.task_id)try{const d=await Re(()=>import("./tasks-DzAUejbm.js").then(i=>i.t),__vite__mapDeps([0,1,2])).then(i=>i.tasksApi.get(b.task_id));c.value=d.data,s.value=null,l.value=!0}catch{V.error("Failed to load task")}}async function y(b){if(confirm(`Delete "${b.display_name}"?`)){f.value=!0;try{await n.deleteBlock(b.id),t.removeBlock(b.id),s.value=null,V.success("Block deleted")}catch{V.error("Failed to delete block")}finally{f.value=!1}}}return(b,d)=>(k(),p("div",qn,[h("div",Rn,[E(cn),h("div",zn,[h("button",{class:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:d[0]||(d[0]=i=>o.value=!o.value)},M(o.value?"Hide Planner":"Show Planner"),1)])]),h("div",Vn,[h("div",An,[E(_n,{onBlockClick:m})]),o.value?(k(),p("div",In,[E(Hn,{onCreateTask:d[1]||(d[1]=i=>l.value=!0)})])):O("",!0)]),s.value?(k(),p("div",{key:0,class:"fixed inset-0 z-40 flex items-center justify-center p-4",onClick:d[5]||(d[5]=Pe(i=>s.value=null,["self"]))},[h("div",Qn,[h("div",Xn,[h("div",null,[h("p",Gn,M(s.value.display_name),1),s.value.job_number?(k(),p("p",Jn,M(s.value.job_number),1)):O("",!0)]),h("button",{class:"text-muted-foreground hover:text-foreground",onClick:d[2]||(d[2]=i=>s.value=null)},[...d[7]||(d[7]=[h("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),h("div",Un,[h("p",null,"Start: "+M(new Date(s.value.start_at).toLocaleString()),1),h("p",null,"End: "+M(new Date(s.value.end_at).toLocaleString()),1),h("p",null,"Type: "+M(s.value.kind),1)]),s.value.tags.length?(k(),p("div",Kn,[(k(!0),p(L,null,j(s.value.tags,i=>(k(),p("span",{key:i.id,class:"px-1.5 py-0.5 rounded text-xs",style:H({background:`${i.color_hex}22`,color:i.color_hex})},M(i.name),5))),128))])):O("",!0),s.value.kind==="planned"?(k(),p("div",Zn,[h("button",{class:"flex-1 text-xs px-2 py-1.5 rounded bg-muted hover:bg-muted/80 text-foreground transition-colors",onClick:d[3]||(d[3]=i=>w(s.value))},"Edit task"),h("button",{class:"flex-1 text-xs px-2 py-1.5 rounded bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors",disabled:f.value,onClick:d[4]||(d[4]=i=>y(s.value))},"Delete block",8,er)])):(k(),p("p",tr,M(s.value.kind==="session"?"Session from Claude Code — read-only":"Read-only entry"),1))])])):O("",!0),E(Qe,{open:l.value,task:c.value,"default-date":x(P)(x(t).currentDate),onClose:d[6]||(d[6]=i=>{l.value=!1,c.value=null}),onSave:g},null,8,["open","task","default-date"])]))}});export{gr as default}; diff --git a/src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js b/src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js similarity index 86% rename from src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js rename to src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js index 946cb0a..19a0fd7 100644 --- a/src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js +++ b/src/static/assets/CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js @@ -1 +1 @@ -import{c as e}from"./utils-7WVCegLb.js";import{d as o,c as n,n as t,h as c,p,o as l}from"./index-DMlmI4VG.js";const _=o({__name:"Card",props:{class:{}},setup(s){const a=s;return(r,d)=>(l(),n("div",{class:t(c(e)("rounded-lg border bg-card text-card-foreground shadow-sm",a.class))},[p(r.$slots,"default")],2))}}),f=o({__name:"CardContent",props:{class:{}},setup(s){const a=s;return(r,d)=>(l(),n("div",{class:t(c(e)("p-6 pt-0",a.class))},[p(r.$slots,"default")],2))}});export{_,f as a}; +import{c as e}from"./utils-7WVCegLb.js";import{d as o,c as n,n as t,h as c,p,o as l}from"./index-BiYpJJoC.js";const _=o({__name:"Card",props:{class:{}},setup(s){const a=s;return(r,d)=>(l(),n("div",{class:t(c(e)("rounded-lg border bg-card text-card-foreground shadow-sm",a.class))},[p(r.$slots,"default")],2))}}),f=o({__name:"CardContent",props:{class:{}},setup(s){const a=s;return(r,d)=>(l(),n("div",{class:t(c(e)("p-6 pt-0",a.class))},[p(r.$slots,"default")],2))}});export{_,f as a}; diff --git a/src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js b/src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js similarity index 87% rename from src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js rename to src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js index e63d6f7..22cb2b9 100644 --- a/src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js +++ b/src/static/assets/CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js @@ -1 +1 @@ -import{c as t}from"./utils-7WVCegLb.js";import{d as n,o,c as r,n as c,h as l,p}from"./index-DMlmI4VG.js";const f=n({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(a,i)=>(o(),r("div",{class:c(l(t)("flex flex-col space-y-1.5 p-6",e.class))},[p(a.$slots,"default")],2))}}),_=n({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(a,i)=>(o(),r("h3",{class:c(l(t)("text-lg font-semibold leading-none tracking-tight",e.class))},[p(a.$slots,"default")],2))}});export{f as _,_ as a}; +import{c as t}from"./utils-7WVCegLb.js";import{d as n,o,c as r,n as c,h as l,p}from"./index-BiYpJJoC.js";const f=n({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(a,i)=>(o(),r("div",{class:c(l(t)("flex flex-col space-y-1.5 p-6",e.class))},[p(a.$slots,"default")],2))}}),_=n({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(a,i)=>(o(),r("h3",{class:c(l(t)("text-lg font-semibold leading-none tracking-tight",e.class))},[p(a.$slots,"default")],2))}});export{f as _,_ as a}; diff --git a/src/static/assets/ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js b/src/static/assets/ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js new file mode 100644 index 0000000..74849bf --- /dev/null +++ b/src/static/assets/ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js @@ -0,0 +1,6 @@ +import{d as b,k,w as a,h as o,P as y,o as u,e as t,Q as g,V as h,a as i,X as C,q as s,t as c,Y as T,c as V,i as w,Z as B,$ as L,a0 as N,s as z}from"./index-BiYpJJoC.js";import{_ as m}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{c as A}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $=A("CircleAlertIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),q={class:"mb-4 flex flex-col items-center gap-3 text-center"},D={class:"flex h-10 w-10 items-center justify-center rounded-full border border-border"},I={key:0,class:"mb-4"},U={class:"mb-1.5 block text-sm text-muted-foreground"},j={class:"font-mono text-foreground"},E={class:"flex gap-2"},S=b({__name:"ConfirmDialog",props:{open:{type:Boolean},title:{},description:{},confirmLabel:{default:"Confirm"},cancelLabel:{default:"Cancel"},variant:{default:"destructive"},confirmText:{}},emits:["update:open","confirm","cancel"],setup(e,{emit:x}){const f=e,d=x,n=z("");function v(){f.confirmText&&n.value!==f.confirmText||(d("confirm"),d("update:open",!1),n.value="")}function p(){d("cancel"),d("update:open",!1),n.value=""}return(F,l)=>(u(),k(o(y),{open:e.open,"onUpdate:open":l[1]||(l[1]=r=>d("update:open",r))},{default:a(()=>[t(o(N),null,{default:a(()=>[t(o(g),{class:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),t(o(h),{class:"fixed left-1/2 top-1/2 z-50 w-full max-w-md -translate-x-1/2 -translate-y-1/2 rounded-2xl border border-border bg-background p-6 shadow-xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"},{default:a(()=>[i("div",q,[i("div",D,[t(o($),{class:"h-5 w-5 text-muted-foreground"})]),t(o(C),{class:"text-lg font-semibold tracking-tight"},{default:a(()=>[s(c(e.title),1)]),_:1}),t(o(T),{class:"text-sm text-muted-foreground"},{default:a(()=>[s(c(e.description),1)]),_:1})]),e.confirmText?(u(),V("div",I,[i("label",U,[l[2]||(l[2]=s(" Type ",-1)),i("span",j,c(e.confirmText),1),l[3]||(l[3]=s(" to confirm ",-1))]),t(_,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=r=>n.value=r),placeholder:e.confirmText,class:"w-full"},null,8,["modelValue","placeholder"])])):w("",!0),i("div",E,[t(o(B),{"as-child":""},{default:a(()=>[t(m,{variant:"outline",class:"flex-1",onClick:p},{default:a(()=>[s(c(e.cancelLabel),1)]),_:1})]),_:1}),t(o(L),{"as-child":""},{default:a(()=>[t(m,{variant:e.variant==="destructive"?"destructive":"default",class:"flex-1",disabled:e.confirmText?n.value!==e.confirmText:!1,onClick:v},{default:a(()=>[s(c(e.confirmLabel),1)]),_:1},8,["variant","disabled"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["open"]))}});export{S as _}; diff --git a/src/static/assets/DashboardView-Bti8TEyl.js b/src/static/assets/DashboardView-Bti8TEyl.js deleted file mode 100644 index 9544c18..0000000 --- a/src/static/assets/DashboardView-Bti8TEyl.js +++ /dev/null @@ -1 +0,0 @@ -import{d as X,k as N,w as a,n as u,l as re,h as m,R as A,o,e as l,a as e,t as c,c as r,i as j,q as p,j as V,x as le,y as ne,F as g,r as x,z as J,A as Q,s as h,B as _,f as ae}from"./index-DMlmI4VG.js";import{d as z}from"./dashboard-BOPmT7C3.js";import{a as k,_ as b}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as M,a as D}from"./CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js";import{_ as de}from"./Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js";import{_ as ie}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{u as ue}from"./tasks-DzAUejbm.js";import{u as ce}from"./devops-roMxSiNP.js";import{i as T,f as H}from"./utils-7WVCegLb.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";const me={class:"flex items-start justify-between gap-2"},fe={class:"flex-1 min-w-0"},ge={class:"mt-2"},xe={key:0,class:"h-7 w-20 bg-muted animate-pulse rounded"},pe={key:0,class:"text-xs text-muted-foreground mt-1.5 truncate"},ve={key:0,class:"mt-3 flex items-center gap-1.5 text-xs"},he={class:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ye={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M5 10l7-7m0 0l7 7m-7-7v18"},ke={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M19 14l-7 7m0 0l-7-7m7 7V3"},be={key:2,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M5 12h14"},B=X({__name:"KpiCard",props:{label:{},value:{},icon:{},trend:{},description:{},loading:{type:Boolean},hero:{type:Boolean},to:{}},setup(n){const W=n,w=V(()=>W.hero?"relative overflow-hidden transition-all duration-200 border-primary/20 bg-primary/5 ring-1 ring-primary/15 panel-glow-hover":"relative overflow-hidden transition-all duration-200 border-border/60 panel-glow-hover");return(C,i)=>(o(),N(re(n.to?m(A):"div"),{to:n.to,class:u(n.to?"block hover:opacity-90 transition-opacity":"")},{default:a(()=>[l(b,{class:u(w.value)},{default:a(()=>[e("span",{class:u(["pointer-events-none absolute -right-4 -top-4 h-14 w-14 rounded-full",n.hero?"bg-primary/10":"bg-primary/5"])},null,2),e("span",{class:u(["pointer-events-none absolute -right-1 -top-1 h-6 w-6 rounded-full",n.hero?"bg-primary/15":"bg-primary/8"])},null,2),l(k,{class:"p-5"},{default:a(()=>[e("div",me,[e("div",fe,[e("p",{class:u(["text-[10px] font-semibold uppercase tracking-[0.1em] truncate",n.hero?"text-primary/80":"text-muted-foreground"])},c(n.label),3),e("div",ge,[n.loading?(o(),r("div",xe)):(o(),r("p",{key:1,class:u(["kpi-value font-bold tracking-tight leading-none",n.hero?"text-3xl text-primary":"text-2xl text-foreground"])},c(n.value),3))]),n.description?(o(),r("p",pe,c(n.description),1)):j("",!0)]),n.icon?(o(),r("div",{key:0,class:u(["rounded-xl flex items-center justify-center shrink-0",[n.hero?"h-11 w-11 bg-primary/15 ring-1 ring-primary/25":"h-9 w-9 bg-muted ring-1 ring-border"]])},[n.icon==="clock"?(o(),r("svg",{key:0,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[0]||(i[0]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])],2)):n.icon==="calendar"?(o(),r("svg",{key:1,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[1]||(i[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])],2)):n.icon==="folder"?(o(),r("svg",{key:2,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[2]||(i[2]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7a2 2 0 012-2h3.586a1 1 0 01.707.293l1.414 1.414A1 1 0 0011.414 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"},null,-1)])],2)):n.icon==="trending-up"?(o(),r("svg",{key:3,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[3]||(i[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"},null,-1)])],2)):n.icon==="git"?(o(),r("svg",{key:4,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[4]||(i[4]=[e("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor","stroke-width":"2"},null,-1),e("path",{"stroke-linecap":"round","stroke-width":"2",d:"M2 12h6M16 12h6"},null,-1)])],2)):(o(),r("svg",{key:5,class:u(["shrink-0",n.hero?"h-5 w-5 text-primary":"h-4 w-4 text-muted-foreground"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[5]||(i[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"},null,-1)])],2))],2)):j("",!0)]),n.trend!==void 0?(o(),r("div",ve,[e("div",{class:u(["flex items-center gap-1 font-semibold tabular-nums",n.trend>0?"text-[hsl(var(--success))]":n.trend<0?"text-destructive":"text-muted-foreground"])},[(o(),r("svg",he,[n.trend>0?(o(),r("path",ye)):n.trend<0?(o(),r("path",ke)):(o(),r("path",be))])),p(" "+c(n.trend>0?"+":"")+c(Math.abs(n.trend))+"% ",1)],2),i[6]||(i[6]=e("span",{class:"text-muted-foreground"},"vs last period",-1))])):j("",!0),e("div",{class:u(["mt-3 h-px rounded-full",n.hero?"w-full bg-primary/20":"w-10 bg-primary/20"])},null,2)]),_:1})]),_:1},8,["class"])]),_:1},8,["to","class"]))}}),we={class:"p-6 space-y-6"},_e={class:"flex flex-wrap items-center gap-3"},je={class:"flex items-center rounded-lg border border-border overflow-hidden bg-muted/30"},Ce=["onClick"],$e={class:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-6 gap-4"},Me={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},De={class:"flex items-center justify-between"},Be={key:0,class:"flex flex-col items-center justify-center py-6 gap-2"},Ve={key:1,class:"space-y-1.5"},ze=["disabled","onClick"],Te={key:0,class:"h-3 w-3 animate-spin text-primary",fill:"none",viewBox:"0 0 24 24"},He={class:"flex-1 text-xs text-foreground truncate"},Ne={key:0,class:"text-[10px] px-1 py-0.5 rounded bg-primary/20 text-primary shrink-0"},Ae={key:1,class:"text-[10px] px-1 py-0.5 rounded bg-destructive/20 text-destructive shrink-0"},Se={class:"flex items-center justify-between"},Fe={key:0,class:"flex flex-col items-center justify-center py-6 gap-2"},Pe={key:1,class:"space-y-2"},Re=["href"],Ie={class:"flex-1 min-w-0"},Oe={class:"text-xs text-foreground truncate group-hover:text-primary transition-colors"},qe={class:"text-[10px] text-muted-foreground truncate"},Ue={class:"text-[10px] px-1.5 py-0.5 rounded border border-border/50 text-muted-foreground shrink-0"},We={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},Le={key:0,class:"h-40 flex items-end gap-px"},Ee={key:1,class:"h-40 flex flex-col items-center justify-center gap-2"},Ke={key:2,class:"h-40 flex items-end gap-px overflow-hidden"},Ge=["title","onClick"],Je={key:0,class:"h-40 flex items-end gap-2"},Qe={key:1,class:"h-40 flex flex-col items-center justify-center gap-2"},Xe={key:2,class:"flex items-end gap-2",style:{height:"160px"}},Ye=["title"],Ze={class:"text-[10px] text-muted-foreground font-medium"},et={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},tt={key:0,class:"space-y-3"},st={key:1,class:"flex flex-col items-center justify-center py-8 gap-2"},ot={key:2,class:"space-y-2.5"},rt={class:"text-xs text-foreground w-24 truncate shrink-0 tabular-nums"},lt={class:"flex-1 h-1.5 bg-muted rounded-full overflow-hidden"},nt={class:"text-xs text-muted-foreground w-9 text-right shrink-0 tabular-nums"},at={key:0,class:"space-y-3"},dt={class:"flex justify-between"},it={key:1,class:"flex flex-col items-center justify-center py-8 gap-2"},ut={key:2,class:"space-y-2.5"},ct={class:"flex items-center justify-between text-xs mb-1"},mt={class:"text-foreground truncate max-w-[160px] font-medium group-hover:text-primary transition-colors"},ft={class:"text-muted-foreground shrink-0 tabular-nums ml-2"},jt=X({__name:"DashboardView",setup(n){const W=ae(),w=ue(),C=ce(),i=h("today"),S=h(""),F=h(""),y=h(null),L=h([]),P=h([]),R=h([]),I=h([]),f=h(!1),$=h(null),Y=V(()=>{const d=new Date,s=T(d);if(i.value==="today")return{from:s,to:s};if(i.value==="7d"){const v=new Date(d);return v.setDate(d.getDate()-7),{from:T(v),to:s}}else if(i.value==="30d"){const v=new Date(d);return v.setDate(d.getDate()-30),{from:T(v),to:s}}else return{from:S.value||s,to:F.value||s}});async function E(){if(!(i.value==="custom"&&(!S.value||!F.value))){f.value=!0;try{const d=Y.value,[s,v,O,q,U]=await Promise.all([z.summary(d),z.projects(d),z.timeline(d),z.dow(d),z.tools(d)]);y.value=s.data,L.value=v.data,P.value=O.data,R.value=q.data,I.value=U.data}catch(d){console.error("Failed to load dashboard data",d)}finally{f.value=!1}}}le(i,()=>{i.value!=="custom"&&E()});async function Z(d){if(!$.value){$.value=d;try{await w.complete(d),await w.fetchForDate(T(new Date))}finally{$.value=null}}}const K=V(()=>C.workItems.filter(d=>!["Closed","Done","Removed"].includes(d.state)).sort((d,s)=>(d.priority??3)-(s.priority??3)).slice(0,5));ne(async()=>{E(),w.fetchForDate(T(new Date));try{await C.fetchIntegration(),C.integration&&C.fetchWorkItems()}catch{}});const ee=V(()=>Math.max(...P.value.map(d=>d.hours),1)),te=V(()=>Math.max(...R.value.map(d=>d.hours),1)),se=V(()=>Math.max(...I.value.map(d=>d.pct),1)),oe=d=>d?d>90?"danger":d>70?"warning":"success":"default";return(d,s)=>{var v,O,q,U;return o(),r("div",we,[e("div",_e,[s[4]||(s[4]=e("h2",{class:"text-base font-semibold text-foreground flex-1 tracking-tight"},"Overview",-1)),e("div",je,[(o(),r(g,null,x(["today","7d","30d","custom"],t=>e("button",{key:t,class:u(["px-3 py-1.5 text-xs font-medium transition-colors",i.value===t?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted/50"]),onClick:G=>i.value=t},c(t==="today"?"Today":t==="7d"?"7 days":t==="30d"?"30 days":"Custom"),11,Ce)),64))]),i.value==="custom"?(o(),r(g,{key:0},[J(e("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>S.value=t),type:"date",class:"h-8 rounded-lg border border-input bg-muted/30 px-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring"},null,512),[[Q,S.value]]),s[3]||(s[3]=e("span",{class:"text-xs text-muted-foreground"},"to",-1)),J(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>F.value=t),type:"date",class:"h-8 rounded-lg border border-input bg-muted/30 px-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring"},null,512),[[Q,F.value]]),l(ie,{size:"sm",loading:f.value,onClick:E},{default:a(()=>[...s[2]||(s[2]=[p("Apply",-1)])]),_:1},8,["loading"])],64)):j("",!0)]),e("div",$e,[l(B,{label:"Total Hours",value:y.value?m(H)(y.value.total_hours):"—",icon:"clock",loading:f.value,hero:!0},null,8,["value","loading"]),l(B,{label:"Working Days",value:((v=y.value)==null?void 0:v.working_days)??"—",icon:"calendar",loading:f.value},null,8,["value","loading"]),l(B,{label:"Projects",value:((O=y.value)==null?void 0:O.total_projects)??"—",icon:"folder",loading:f.value,to:"/projects"},null,8,["value","loading"]),l(B,{label:"Avg / Day",value:y.value?m(H)(y.value.avg_hours_per_day):"—",icon:"trending-up",loading:f.value},null,8,["value","loading"]),l(B,{label:"Top Project",value:((q=y.value)==null?void 0:q.top_project)??"—",icon:"star",loading:f.value,to:"/projects"},null,8,["value","loading"]),l(B,{label:"Commits",value:((U=y.value)==null?void 0:U.total_commits)??"—",icon:"git",loading:f.value},null,8,["value","loading"])]),e("div",Me,[l(b,{class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[e("div",De,[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[5]||(s[5]=[p("Tasks Today",-1)])]),_:1}),l(m(A),{to:"/tasks",class:"text-xs text-primary hover:underline"},{default:a(()=>[...s[6]||(s[6]=[p("View all →",-1)])]),_:1})])]),_:1}),l(k,null,{default:a(()=>[m(w).tasks.filter(t=>t.status!=="done"&&t.status!=="cancelled").length===0?(o(),r("div",Be,[...s[7]||(s[7]=[e("svg",{class:"h-7 w-7 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No pending tasks for today",-1)])])):(o(),r("div",Ve,[(o(!0),r(g,null,x(m(w).tasks.filter(t=>t.status!=="done"&&t.status!=="cancelled").slice(0,6),t=>(o(),r("div",{key:t.id,class:"flex items-center gap-2 group py-1"},[e("button",{class:u(["h-4 w-4 shrink-0 rounded border border-border/70 group-hover:border-primary transition-colors flex items-center justify-center",{"opacity-50":$.value===t.id}]),disabled:!!$.value,onClick:G=>Z(t.id),title:"Mark done"},[$.value===t.id?(o(),r("svg",Te,[...s[8]||(s[8]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):j("",!0)],10,ze),e("span",He,c(t.title),1),t.status==="doing"?(o(),r("span",Ne,"in progress")):t.priority<=2?(o(),r("span",Ae,"urgent")):j("",!0)]))),128))]))]),_:1})]),_:1}),m(C).integration?(o(),N(b,{key:0,class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[e("div",Se,[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[9]||(s[9]=[p("ADO Priority Items",-1)])]),_:1}),l(m(A),{to:"/devops",class:"text-xs text-primary hover:underline"},{default:a(()=>[...s[10]||(s[10]=[p("View all →",-1)])]),_:1})])]),_:1}),l(k,null,{default:a(()=>[K.value.length===0?(o(),r("div",Fe,[...s[11]||(s[11]=[e("p",{class:"text-xs text-muted-foreground"},"No open work items",-1)])])):(o(),r("div",Pe,[(o(!0),r(g,null,x(K.value,t=>(o(),r("a",{key:t.id,href:t.url,target:"_blank",rel:"noopener",class:"flex items-start gap-2 group py-1"},[e("span",{class:u(["mt-0.5 shrink-0 h-4 w-4 rounded text-[10px] font-bold flex items-center justify-center",(t.priority??3)<=2?"bg-destructive/20 text-destructive":"bg-muted text-muted-foreground"])},c(t.priority??3),3),e("div",Ie,[e("p",Oe,c(t.title),1),e("p",qe,c(t.team_project??""),1)]),e("span",Ue,c(t.state),1)],8,Re))),128))]))]),_:1})]),_:1})):(o(),N(b,{key:1,class:"border-border/60 bg-card panel-glow border-dashed"},{default:a(()=>[l(k,{class:"flex flex-col items-center justify-center py-10 gap-2"},{default:a(()=>[s[13]||(s[13]=e("svg",{class:"h-8 w-8 text-muted-foreground/20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})],-1)),s[14]||(s[14]=e("p",{class:"text-xs text-muted-foreground"},"Connect Azure DevOps in",-1)),l(m(A),{to:"/devops",class:"text-xs text-primary hover:underline"},{default:a(()=>[...s[12]||(s[12]=[p("Settings → DevOps",-1)])]),_:1})]),_:1})]),_:1}))]),e("div",We,[l(b,{class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[15]||(s[15]=[p("Hours by Day",-1)])]),_:1})]),_:1}),l(k,null,{default:a(()=>[f.value?(o(),r("div",Le,[(o(),r(g,null,x(30,t=>e("div",{key:t,class:"flex-1 bg-muted animate-pulse rounded-t",style:_({height:`${20+Math.random()*60}%`})},null,4)),64))])):P.value.length===0?(o(),r("div",Ee,[...s[16]||(s[16]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No sessions in this period",-1)])])):(o(),r("div",Ke,[(o(!0),r(g,null,x(P.value,t=>(o(),r("div",{key:t.date,class:"flex-1 bg-primary/70 hover:bg-primary rounded-t transition-colors duration-150 cursor-pointer",style:_({height:`${Math.max(t.hours/ee.value*160,2)}px`}),title:`${t.date}: ${m(H)(t.hours)}`,onClick:G=>m(W).push({path:"/calendar",query:{date:t.date}})},null,12,Ge))),128))]))]),_:1})]),_:1}),l(b,{class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[17]||(s[17]=[p("By Day of Week",-1)])]),_:1})]),_:1}),l(k,null,{default:a(()=>[f.value?(o(),r("div",Je,[(o(),r(g,null,x(7,t=>e("div",{key:t,class:"flex-1 flex flex-col items-center gap-1"},[e("div",{class:"w-full bg-muted animate-pulse rounded-t",style:_({height:`${30+t*8}%`})},null,4),s[18]||(s[18]=e("div",{class:"h-3 w-4 bg-muted animate-pulse rounded"},null,-1))])),64))])):R.value.length===0?(o(),r("div",Qe,[...s[19]||(s[19]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No sessions in this period",-1)])])):(o(),r("div",Xe,[(o(!0),r(g,null,x(R.value,t=>(o(),r("div",{key:t.dow,class:"flex-1 flex flex-col items-center gap-1 cursor-default",style:{height:"160px","justify-content":"flex-end"}},[e("div",{class:"w-full bg-primary/70 hover:bg-primary rounded-t transition-colors duration-150",style:_({height:`${Math.max(t.hours/te.value*128,2)}px`}),title:`${t.label}: ${m(H)(t.hours)}`},null,12,Ye),e("span",Ze,c(t.label.slice(0,2)),1)]))),128))]))]),_:1})]),_:1})]),e("div",et,[l(b,{class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[20]||(s[20]=[p("Tool Usage",-1)])]),_:1})]),_:1}),l(k,null,{default:a(()=>[f.value?(o(),r("div",tt,[(o(),r(g,null,x(5,t=>e("div",{key:t,class:"flex items-center gap-2"},[e("div",{class:"h-3 rounded bg-muted animate-pulse",style:_({width:`${40+t*10}px`})},null,4),s[21]||(s[21]=e("div",{class:"flex-1 h-2 bg-muted animate-pulse rounded-full"},null,-1)),s[22]||(s[22]=e("div",{class:"h-3 w-8 bg-muted animate-pulse rounded"},null,-1))])),64))])):I.value.length===0?(o(),r("div",st,[...s[23]||(s[23]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No tool data yet",-1)])])):(o(),r("div",ot,[(o(!0),r(g,null,x(I.value.slice(0,8),t=>(o(),r("div",{key:t.tool,class:"flex items-center gap-2.5"},[e("span",rt,c(t.tool),1),e("div",lt,[e("div",{class:"h-full bg-primary/70 rounded-full transition-all duration-300",style:_({width:`${t.pct/se.value*100}%`})},null,4)]),e("span",nt,c((t.pct??0).toFixed(0))+"% ",1)]))),128))]))]),_:1})]),_:1}),l(b,{class:"border-border/60 bg-card panel-glow"},{default:a(()=>[l(M,{class:"pb-2"},{default:a(()=>[l(D,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:a(()=>[...s[24]||(s[24]=[p("Projects",-1)])]),_:1})]),_:1}),l(k,null,{default:a(()=>[f.value?(o(),r("div",at,[(o(),r(g,null,x(5,t=>e("div",{key:t,class:"space-y-1.5"},[e("div",dt,[e("div",{class:"h-3 rounded bg-muted animate-pulse",style:_({width:`${80+t*15}px`})},null,4),s[25]||(s[25]=e("div",{class:"h-3 w-12 bg-muted animate-pulse rounded"},null,-1))]),s[26]||(s[26]=e("div",{class:"h-1.5 bg-muted animate-pulse rounded-full"},null,-1))])),64))])):L.value.length===0?(o(),r("div",it,[...s[27]||(s[27]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M3 7a2 2 0 012-2h3.586a1 1 0 01.707.293l1.414 1.414A1 1 0 0011.414 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No project data yet",-1)])])):(o(),r("div",ut,[(o(!0),r(g,null,x(L.value.slice(0,8),t=>(o(),N(m(A),{key:t.project_id,to:`/projects/${t.project_id}`,class:"block group"},{default:a(()=>[e("div",ct,[e("span",mt,c(t.display_name),1),e("span",ft,c(m(H)(t.total_hours)),1)]),t.progress_pct!==null?(o(),N(de,{key:0,value:t.progress_pct,color:oe(t.progress_pct)},null,8,["value","color"])):j("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})]),_:1})])])}}});export{jt as default}; diff --git a/src/static/assets/DashboardView-Cl3r92sM.js b/src/static/assets/DashboardView-Cl3r92sM.js new file mode 100644 index 0000000..b1bd497 --- /dev/null +++ b/src/static/assets/DashboardView-Cl3r92sM.js @@ -0,0 +1,31 @@ +import{d as z,c as a,a as e,F as h,r as w,e as l,w as u,i as F,o,q as k,n as M,t as y,s as b,x as E,y as ee,k as v,h as m,l as K,R as P,j as D,z as T,f as te,A as oe}from"./index-BiYpJJoC.js";import{d as S}from"./dashboard-Ca6WcfdV.js";import{_ as B,a as V}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as A,a as I}from"./CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js";import{_ as se}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{c as q,f as R,i as H}from"./utils-7WVCegLb.js";import{_ as ae}from"./Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js";import{c as U}from"./createLucideIcon-D7qP-VdO.js";import{C as le}from"./calendar-days-DjiBFm4u.js";import{F as re,_ as ne}from"./Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js";import{_ as de}from"./Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js";import{u as ie}from"./tasks-DwSuZPNM.js";import{u as ue}from"./devops-y1AYKG_U.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";const ce={class:"flex flex-wrap items-center gap-3"},me={class:"flex items-center rounded-lg border border-border overflow-hidden bg-muted/30"},ge=["onClick"],fe=["value"],pe=["value"],xe=z({__name:"DateRangeFilter",props:{preset:{},customFrom:{},customTo:{},loading:{type:Boolean}},emits:["update:preset","update:customFrom","update:customTo","apply"],setup(t,{emit:g}){const c=g;return(i,s)=>(o(),a("div",ce,[s[5]||(s[5]=e("h2",{class:"text-base font-semibold text-foreground flex-1 tracking-tight"},"Overview",-1)),e("div",me,[(o(),a(h,null,w(["today","7d","30d","custom"],r=>e("button",{key:r,class:M(["px-3 py-1.5 text-xs font-medium transition-colors",t.preset===r?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted/50"]),onClick:p=>c("update:preset",r)},y(r==="today"?"Today":r==="7d"?"7 days":r==="30d"?"30 days":"Custom"),11,ge)),64))]),t.preset==="custom"?(o(),a(h,{key:0},[e("input",{value:t.customFrom,type:"date",class:"h-8 rounded-lg border border-input bg-muted/30 px-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring",onInput:s[0]||(s[0]=r=>c("update:customFrom",r.target.value))},null,40,fe),s[4]||(s[4]=e("span",{class:"text-xs text-muted-foreground"},"to",-1)),e("input",{value:t.customTo,type:"date",class:"h-8 rounded-lg border border-input bg-muted/30 px-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring",onInput:s[1]||(s[1]=r=>c("update:customTo",r.target.value))},null,40,pe),l(se,{size:"sm",loading:t.loading,onClick:s[2]||(s[2]=r=>c("apply"))},{default:u(()=>[...s[3]||(s[3]=[k("Apply",-1)])]),_:1},8,["loading"])],64)):F("",!0)]))}});/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ye=U("ClockIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ve=U("GitCommitHorizontalIcon",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const he=U("MinusIcon",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const be=U("StarIcon",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ke=U("TrendingDownIcon",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J=U("TrendingUpIcon",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);function we(t,g=800){const c=b(t());let i=0;const s=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;return E(t,(r,p)=>{if(s){c.value=r;return}cancelAnimationFrame(i);const f=performance.now(),j=p??0,$=L=>{const _=Math.min(1,(L-f)/g),C=1-Math.pow(1-_,3);c.value=j+(r-j)*C,_<1&&(i=requestAnimationFrame($))};i=requestAnimationFrame($)},{immediate:!0}),ee(()=>cancelAnimationFrame(i)),c}const $e={class:"relative flex items-start justify-between gap-3"},_e={class:"min-w-0 space-y-1"},De={class:"text-xs font-medium text-muted-foreground"},Ce={key:1},je={key:0,class:"text-xs text-muted-foreground"},Me={class:"flex shrink-0 flex-col items-end gap-1"},Te={key:1,class:"rounded-full bg-white/40 p-1.5 dark:bg-white/10"},N=z({__name:"KpiCard",props:{label:{},value:{},delta:{},trend:{default:"flat"},caption:{},icon:{},tone:{default:"default"},loading:{type:Boolean,default:!1},to:{}},setup(t){const g=t,c={default:{card:"bg-muted/50 ring-1 ring-border",value:"text-foreground",deltaUp:"text-emerald-600 dark:text-emerald-400",deltaDown:"text-rose-600 dark:text-rose-400",bar:"bg-border"},primary:{card:"bg-primary/10 ring-1 ring-primary/20",value:"text-primary",deltaUp:"text-emerald-600 dark:text-emerald-400",deltaDown:"text-rose-600 dark:text-rose-400",bar:"bg-primary"},success:{card:"bg-emerald-500/10 ring-1 ring-emerald-500/20",value:"text-emerald-700 dark:text-emerald-300",deltaUp:"text-emerald-700 dark:text-emerald-300",deltaDown:"text-rose-600 dark:text-rose-400",bar:"bg-emerald-500"},warning:{card:"bg-amber-500/10 ring-1 ring-amber-500/20",value:"text-amber-700 dark:text-amber-300",deltaUp:"text-emerald-600 dark:text-emerald-400",deltaDown:"text-rose-600 dark:text-rose-400",bar:"bg-amber-500"},danger:{card:"bg-rose-500/10 ring-1 ring-rose-500/20",value:"text-rose-700 dark:text-rose-300",deltaUp:"text-emerald-600 dark:text-emerald-400",deltaDown:"text-rose-700 dark:text-rose-300",bar:"bg-rose-500"}},i=D(()=>typeof g.value=="number"?g.value:Number(g.value)),s=D(()=>typeof g.value=="number"||!isNaN(i.value)),r=we(()=>s.value?i.value:0),p=D(()=>s.value?Math.round(r.value).toLocaleString():String(g.value)),f=D(()=>g.delta===void 0?"":`${g.delta>0?"+":""}${g.delta}%`);return(j,$)=>(o(),v(K(t.to?m(P):"div"),{to:t.to,class:M(m(q)("relative overflow-hidden rounded-xl p-5 shadow-sm",c[t.tone].card,t.to?"block hover:opacity-90 transition-opacity cursor-pointer":""))},{default:u(()=>[$[0]||($[0]=e("span",{class:"pointer-events-none absolute -right-6 -top-6 inline-flex h-16 w-16 rounded-full bg-black/5 dark:bg-white/5","aria-hidden":"true"},null,-1)),$[1]||($[1]=e("span",{class:"pointer-events-none absolute -right-2 -top-2 inline-flex h-8 w-8 rounded-full bg-black/5 dark:bg-white/5","aria-hidden":"true"},null,-1)),e("div",$e,[e("div",_e,[e("p",De,y(t.label),1),e("div",{class:M(m(q)("text-2xl font-semibold tracking-tight",c[t.tone].value))},[t.loading?(o(),v(ae,{key:0,class:"h-8 w-24"})):(o(),a("span",Ce,y(p.value),1))],2),t.caption?(o(),a("p",je,y(t.caption),1)):F("",!0)]),e("div",Me,[t.delta!==void 0?(o(),a("div",{key:0,class:M(m(q)("flex items-center gap-1 text-xs font-medium",t.trend==="up"?c[t.tone].deltaUp:t.trend==="down"?c[t.tone].deltaDown:"text-muted-foreground"))},[t.trend==="up"?(o(),v(m(J),{key:0,class:"h-3.5 w-3.5"})):t.trend==="down"?(o(),v(m(ke),{key:1,class:"h-3.5 w-3.5"})):(o(),v(m(he),{key:2,class:"h-3.5 w-3.5"})),k(" "+y(f.value),1)],2)):F("",!0),t.icon?(o(),a("div",Te,[(o(),v(K(t.icon),{class:"h-4 w-4"}))])):F("",!0)])]),e("div",{class:M(m(q)("mt-4 h-0.5 w-16 rounded opacity-60",c[t.tone].bar))},null,2)]),_:1},8,["to","class"]))}}),Fe={class:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-6 gap-4"},Be=z({__name:"KpiRow",props:{summary:{},loading:{type:Boolean}},setup(t){return(g,c)=>{var i,s,r,p;return o(),a("div",Fe,[l(N,{label:"Total Hours",value:t.summary?m(R)(t.summary.total_hours):"—",icon:m(ye),tone:"primary",loading:t.loading},null,8,["value","icon","loading"]),l(N,{label:"Working Days",value:((i=t.summary)==null?void 0:i.working_days)??"—",icon:m(le),loading:t.loading},null,8,["value","icon","loading"]),l(N,{label:"Projects",value:((s=t.summary)==null?void 0:s.total_projects)??"—",icon:m(re),loading:t.loading,to:"/projects"},null,8,["value","icon","loading"]),l(N,{label:"Avg / Day",value:t.summary?m(R)(t.summary.avg_hours_per_day):"—",icon:m(J),loading:t.loading},null,8,["value","icon","loading"]),l(N,{label:"Top Project",value:((r=t.summary)==null?void 0:r.top_project)??"—",icon:m(be),loading:t.loading,to:"/projects"},null,8,["value","icon","loading"]),l(N,{label:"Commits",value:((p=t.summary)==null?void 0:p.total_commits)??"—",icon:m(ve),loading:t.loading},null,8,["value","icon","loading"])])}}}),Ve={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},ze={key:0,class:"h-40 flex items-end gap-px"},Ne={key:1,class:"h-40 flex flex-col items-center justify-center gap-2"},Ae={key:2,class:"h-40 flex items-end gap-px overflow-hidden"},Ie=["title","onClick"],Ue={key:0,class:"h-40 flex items-end gap-2"},Se={key:1,class:"h-40 flex flex-col items-center justify-center gap-2"},He={key:2,class:"flex items-end gap-2",style:{height:"160px"}},Pe=["title"],Re={class:"text-[10px] text-muted-foreground font-medium"},Le=z({__name:"TimelineChart",props:{daily:{},dow:{},loading:{type:Boolean}},setup(t){const g=t,c=te(),i=D(()=>Math.max(...g.daily.map(r=>r.hours),1)),s=D(()=>Math.max(...g.dow.map(r=>r.hours),1));return(r,p)=>(o(),a("div",Ve,[l(B,{class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...p[0]||(p[0]=[k("Hours by Day",-1)])]),_:1})]),_:1}),l(V,null,{default:u(()=>[t.loading?(o(),a("div",ze,[(o(),a(h,null,w(30,f=>e("div",{key:f,class:"flex-1 bg-muted animate-pulse rounded-t",style:T({height:`${20+Math.random()*60}%`})},null,4)),64))])):t.daily.length===0?(o(),a("div",Ne,[...p[1]||(p[1]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No sessions in this period",-1)])])):(o(),a("div",Ae,[(o(!0),a(h,null,w(t.daily,f=>(o(),a("div",{key:f.date,class:"flex-1 bg-primary/70 hover:bg-primary rounded-t transition-colors duration-150 cursor-pointer",style:T({height:`${Math.max(f.hours/i.value*160,2)}px`}),title:`${f.date}: ${m(R)(f.hours)}`,onClick:j=>m(c).push({path:"/calendar",query:{date:f.date}})},null,12,Ie))),128))]))]),_:1})]),_:1}),l(B,{class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...p[2]||(p[2]=[k("By Day of Week",-1)])]),_:1})]),_:1}),l(V,null,{default:u(()=>[t.loading?(o(),a("div",Ue,[(o(),a(h,null,w(7,f=>e("div",{key:f,class:"flex-1 flex flex-col items-center gap-1"},[e("div",{class:"w-full bg-muted animate-pulse rounded-t",style:T({height:`${30+f*8}%`})},null,4),p[3]||(p[3]=e("div",{class:"h-3 w-4 bg-muted animate-pulse rounded"},null,-1))])),64))])):t.dow.length===0?(o(),a("div",Se,[...p[4]||(p[4]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No sessions in this period",-1)])])):(o(),a("div",He,[(o(!0),a(h,null,w(t.dow,f=>(o(),a("div",{key:f.dow,class:"flex-1 flex flex-col items-center gap-1 cursor-default",style:{height:"160px","justify-content":"flex-end"}},[e("div",{class:"w-full bg-primary/70 hover:bg-primary rounded-t transition-colors duration-150",style:T({height:`${Math.max(f.hours/s.value*128,2)}px`}),title:`${f.label}: ${m(R)(f.hours)}`},null,12,Pe),e("span",Re,y(f.label.slice(0,2)),1)]))),128))]))]),_:1})]),_:1})]))}}),qe={key:0,class:"space-y-3"},Oe={key:1,class:"flex flex-col items-center justify-center py-8 gap-2"},We={key:2,class:"space-y-2.5"},Ge={class:"text-xs text-foreground w-24 truncate shrink-0 tabular-nums"},Ke={class:"flex-1 h-1.5 bg-muted rounded-full overflow-hidden"},Ee={class:"text-xs text-muted-foreground w-9 text-right shrink-0 tabular-nums"},Je=z({__name:"ToolUsageList",props:{data:{},loading:{type:Boolean}},setup(t){const g=t,c=D(()=>Math.max(...g.data.map(i=>i.pct),1));return(i,s)=>(o(),v(B,{class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...s[0]||(s[0]=[k("Tool Usage",-1)])]),_:1})]),_:1}),l(V,null,{default:u(()=>[t.loading?(o(),a("div",qe,[(o(),a(h,null,w(5,r=>e("div",{key:r,class:"flex items-center gap-2"},[e("div",{class:"h-3 rounded bg-muted animate-pulse",style:T({width:`${40+r*10}px`})},null,4),s[1]||(s[1]=e("div",{class:"flex-1 h-2 bg-muted animate-pulse rounded-full"},null,-1)),s[2]||(s[2]=e("div",{class:"h-3 w-8 bg-muted animate-pulse rounded"},null,-1))])),64))])):t.data.length===0?(o(),a("div",Oe,[...s[3]||(s[3]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No tool data yet",-1)])])):(o(),a("div",We,[(o(!0),a(h,null,w(t.data.slice(0,8),r=>(o(),a("div",{key:r.tool,class:"flex items-center gap-2.5"},[e("span",Ge,y(r.tool),1),e("div",Ke,[e("div",{class:"h-full bg-primary/70 rounded-full transition-all duration-300",style:T({width:`${r.pct/c.value*100}%`})},null,4)]),e("span",Ee,y((r.pct??0).toFixed(0))+"% ",1)]))),128))]))]),_:1})]),_:1}))}}),Qe={key:0,class:"space-y-3"},Xe={class:"flex justify-between"},Ye={key:1,class:"flex flex-col items-center justify-center py-8 gap-2"},Ze={key:2,class:"space-y-2.5"},et={class:"flex items-center justify-between text-xs mb-1"},tt={class:"text-foreground truncate max-w-[160px] font-medium group-hover:text-primary transition-colors"},ot={class:"text-muted-foreground shrink-0 tabular-nums ml-2"},st=z({__name:"ProjectBreakdown",props:{data:{},loading:{type:Boolean}},setup(t){const g=c=>c?c>90?"danger":c>70?"warning":"success":"default";return(c,i)=>(o(),v(B,{class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...i[0]||(i[0]=[k("Projects",-1)])]),_:1})]),_:1}),l(V,null,{default:u(()=>[t.loading?(o(),a("div",Qe,[(o(),a(h,null,w(5,s=>e("div",{key:s,class:"space-y-1.5"},[e("div",Xe,[e("div",{class:"h-3 rounded bg-muted animate-pulse",style:T({width:`${80+s*15}px`})},null,4),i[1]||(i[1]=e("div",{class:"h-3 w-12 bg-muted animate-pulse rounded"},null,-1))]),i[2]||(i[2]=e("div",{class:"h-1.5 bg-muted animate-pulse rounded-full"},null,-1))])),64))])):t.data.length===0?(o(),a("div",Ye,[...i[3]||(i[3]=[e("svg",{class:"h-8 w-8 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M3 7a2 2 0 012-2h3.586a1 1 0 01.707.293l1.414 1.414A1 1 0 0011.414 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No project data yet",-1)])])):(o(),a("div",Ze,[(o(!0),a(h,null,w(t.data.slice(0,8),s=>(o(),v(m(P),{key:s.project_id,to:`/projects/${s.project_id}`,class:"block group"},{default:u(()=>[e("div",et,[e("span",tt,y(s.display_name),1),e("span",ot,y(m(R)(s.total_hours)),1)]),s.progress_pct!==null?(o(),v(ne,{key:0,value:s.progress_pct,color:g(s.progress_pct)},null,8,["value","color"])):F("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})]),_:1}))}}),at={class:"p-6 space-y-6"},lt={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},rt={class:"flex items-center justify-between"},nt={key:0,class:"flex flex-col items-center justify-center py-6 gap-2"},dt={key:1,class:"space-y-1.5"},it=["disabled","onClick"],ut={key:0,class:"h-3 w-3 animate-spin text-primary",fill:"none",viewBox:"0 0 24 24"},ct={class:"flex-1 text-xs text-foreground truncate"},mt={key:0,class:"text-[10px] px-1 py-0.5 rounded bg-primary/20 text-primary shrink-0"},gt={key:1,class:"text-[10px] px-1 py-0.5 rounded bg-destructive/20 text-destructive shrink-0"},ft={class:"flex items-center justify-between"},pt={key:0,class:"flex flex-col items-center justify-center py-6 gap-2"},xt={key:1,class:"space-y-2"},yt=["href"],vt={class:"flex-1 min-w-0"},ht={class:"text-xs text-foreground truncate group-hover:text-primary transition-colors"},bt={class:"text-[10px] text-muted-foreground truncate"},kt={class:"text-[10px] px-1.5 py-0.5 rounded border border-border/50 text-muted-foreground shrink-0"},wt={class:"grid grid-cols-1 lg:grid-cols-2 gap-4"},Ut=z({__name:"DashboardView",setup(t){const g=ie(),c=ue(),i=b("today"),s=b(""),r=b(""),p=b(null),f=b([]),j=b([]),$=b([]),L=b([]),_=b(!1),C=b(null),Q=D(()=>{const x=new Date,n=H(x);if(i.value==="today")return{from:n,to:n};if(i.value==="7d"){const d=new Date(x);return d.setDate(x.getDate()-7),{from:H(d),to:n}}else if(i.value==="30d"){const d=new Date(x);return d.setDate(x.getDate()-30),{from:H(d),to:n}}else return{from:s.value||n,to:r.value||n}});async function O(){if(!(i.value==="custom"&&(!s.value||!r.value))){_.value=!0;try{const x=Q.value,[n,d,G,Y,Z]=await Promise.all([S.summary(x),S.projects(x),S.timeline(x),S.dow(x),S.tools(x)]);p.value=n.data,f.value=d.data,j.value=G.data,$.value=Y.data,L.value=Z.data}catch(x){console.error("Failed to load dashboard data",x)}finally{_.value=!1}}}E(i,()=>{i.value!=="custom"&&O()});async function X(x){if(!C.value){C.value=x;try{await g.complete(x),await g.fetchForDate(H(new Date))}finally{C.value=null}}}const W=D(()=>c.workItems.filter(x=>!["Closed","Done","Removed"].includes(x.state)).sort((x,n)=>(x.priority??3)-(n.priority??3)).slice(0,5));return oe(async()=>{O(),g.fetchForDate(H(new Date));try{await c.fetchIntegration(),c.integration&&c.fetchWorkItems()}catch{}}),(x,n)=>(o(),a("div",at,[l(xe,{preset:i.value,customFrom:s.value,customTo:r.value,loading:_.value,"onUpdate:preset":n[0]||(n[0]=d=>i.value=d),"onUpdate:customFrom":n[1]||(n[1]=d=>s.value=d),"onUpdate:customTo":n[2]||(n[2]=d=>r.value=d),onApply:O},null,8,["preset","customFrom","customTo","loading"]),l(Be,{summary:p.value,loading:_.value},null,8,["summary","loading"]),e("div",lt,[l(B,{class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[e("div",rt,[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...n[3]||(n[3]=[k("Tasks Today",-1)])]),_:1}),l(m(P),{to:"/tasks",class:"text-xs text-primary hover:underline"},{default:u(()=>[...n[4]||(n[4]=[k("View all →",-1)])]),_:1})])]),_:1}),l(V,null,{default:u(()=>[m(g).tasks.filter(d=>d.status!=="done"&&d.status!=="cancelled").length===0?(o(),a("div",nt,[...n[5]||(n[5]=[e("svg",{class:"h-7 w-7 text-muted-foreground/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"})],-1),e("p",{class:"text-xs text-muted-foreground"},"No pending tasks for today",-1)])])):(o(),a("div",dt,[(o(!0),a(h,null,w(m(g).tasks.filter(d=>d.status!=="done"&&d.status!=="cancelled").slice(0,6),d=>(o(),a("div",{key:d.id,class:"flex items-center gap-2 group py-1"},[l(de,{content:"Mark done"},{default:u(()=>[e("button",{class:M(["h-4 w-4 shrink-0 rounded border border-border/70 group-hover:border-primary transition-colors flex items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{"opacity-50":C.value===d.id}]),disabled:!!C.value,onClick:G=>X(d.id)},[C.value===d.id?(o(),a("svg",ut,[...n[6]||(n[6]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):F("",!0)],10,it)]),_:2},1024),e("span",ct,y(d.title),1),d.status==="doing"?(o(),a("span",mt,"in progress")):d.priority<=2?(o(),a("span",gt,"urgent")):F("",!0)]))),128))]))]),_:1})]),_:1}),m(c).integration?(o(),v(B,{key:0,class:"border-border/60 bg-card panel-glow"},{default:u(()=>[l(A,{class:"pb-2"},{default:u(()=>[e("div",ft,[l(I,{class:"text-xs font-semibold text-muted-foreground uppercase tracking-widest"},{default:u(()=>[...n[7]||(n[7]=[k("ADO Priority Items",-1)])]),_:1}),l(m(P),{to:"/devops",class:"text-xs text-primary hover:underline"},{default:u(()=>[...n[8]||(n[8]=[k("View all →",-1)])]),_:1})])]),_:1}),l(V,null,{default:u(()=>[W.value.length===0?(o(),a("div",pt,[...n[9]||(n[9]=[e("p",{class:"text-xs text-muted-foreground"},"No open work items",-1)])])):(o(),a("div",xt,[(o(!0),a(h,null,w(W.value,d=>(o(),a("a",{key:d.id,href:d.url,target:"_blank",rel:"noopener",class:"flex items-start gap-2 group py-1"},[e("span",{class:M(["mt-0.5 shrink-0 h-4 w-4 rounded text-[10px] font-bold flex items-center justify-center",(d.priority??3)<=2?"bg-destructive/20 text-destructive":"bg-muted text-muted-foreground"])},y(d.priority??3),3),e("div",vt,[e("p",ht,y(d.title),1),e("p",bt,y(d.team_project??""),1)]),e("span",kt,y(d.state),1)],8,yt))),128))]))]),_:1})]),_:1})):(o(),v(B,{key:1,class:"border-border/60 bg-card panel-glow border-dashed"},{default:u(()=>[l(V,{class:"flex flex-col items-center justify-center py-10 gap-2"},{default:u(()=>[n[11]||(n[11]=e("svg",{class:"h-8 w-8 text-muted-foreground/20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})],-1)),n[12]||(n[12]=e("p",{class:"text-xs text-muted-foreground"},"Connect Azure DevOps in",-1)),l(m(P),{to:"/devops",class:"text-xs text-primary hover:underline"},{default:u(()=>[...n[10]||(n[10]=[k("Settings → DevOps",-1)])]),_:1})]),_:1})]),_:1}))]),l(Le,{daily:j.value,dow:$.value,loading:_.value},null,8,["daily","dow","loading"]),e("div",wt,[l(Je,{data:L.value,loading:_.value},null,8,["data","loading"]),l(st,{data:f.value,loading:_.value},null,8,["data","loading"])])]))}});export{Ut as default}; diff --git a/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js b/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js deleted file mode 100644 index 0c2e801..0000000 --- a/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js +++ /dev/null @@ -1 +0,0 @@ -import{u as D}from"./devops-roMxSiNP.js";import{_}from"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import{_ as V}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{d as j,s as c,o as i,c as m,h as a,a as o,q as g,t as d,i as p,e as v,w as k,k as z,K as u}from"./index-DMlmI4VG.js";const B={class:"space-y-4"},I={key:0,class:"text-xs text-muted-foreground space-y-1"},N={class:"text-foreground"},P={class:"text-foreground"},S={key:0},U={key:1,class:"text-red-400"},b={class:"grid grid-cols-2 gap-3"},A={class:"space-y-1.5"},F={class:"space-y-1.5"},O={class:"space-y-1.5"},q={class:"flex items-center gap-2"},G=j({__name:"DevopsConnectForm",setup(E){var y,x;const t=D(),n=c(((y=t.integration)==null?void 0:y.organization)??""),r=c(((x=t.integration)==null?void 0:x.project)??""),s=c(""),f=c(!1);async function w(){if(!n.value||!r.value||!s.value){u.error("All fields are required");return}f.value=!0;try{await t.saveIntegration({organization:n.value,project:r.value,pat:s.value}),s.value="",u.success("Integration saved")}catch{u.error("Failed to save integration")}finally{f.value=!1}}async function C(){if(confirm("Delete ADO integration?"))try{await t.deleteIntegration(),n.value="",r.value="",s.value="",u.success("Integration deleted")}catch{u.error("Failed to delete integration")}}return(K,e)=>(i(),m("div",B,[a(t).integration?(i(),m("div",I,[o("p",null,[e[3]||(e[3]=g(" Connected to ",-1)),o("strong",N,d(a(t).integration.organization),1),e[4]||(e[4]=g(" / ",-1)),o("strong",P,d(a(t).integration.project),1)]),a(t).integration.last_synced_at?(i(),m("p",S," Last synced: "+d(new Date(a(t).integration.last_synced_at).toLocaleString()),1)):p("",!0),a(t).integration.last_sync_error?(i(),m("p",U," Error: "+d(a(t).integration.last_sync_error),1)):p("",!0)])):p("",!0),o("div",b,[o("div",A,[e[5]||(e[5]=o("label",{class:"text-sm font-medium text-foreground"},"Organization",-1)),v(_,{modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=l=>n.value=l),placeholder:"myorg"},null,8,["modelValue"])]),o("div",F,[e[6]||(e[6]=o("label",{class:"text-sm font-medium text-foreground"},"Project",-1)),v(_,{modelValue:r.value,"onUpdate:modelValue":e[1]||(e[1]=l=>r.value=l),placeholder:"myproject"},null,8,["modelValue"])])]),o("div",O,[e[7]||(e[7]=o("label",{class:"text-sm font-medium text-foreground"}," Personal Access Token ",-1)),v(_,{modelValue:s.value,"onUpdate:modelValue":e[2]||(e[2]=l=>s.value=l),type:"password",placeholder:"••••••••",autocomplete:"new-password"},null,8,["modelValue"])]),o("div",q,[v(V,{loading:f.value,onClick:w},{default:k(()=>[g(d(a(t).integration?"Update":"Connect"),1)]),_:1},8,["loading"]),a(t).integration?(i(),z(V,{key:0,variant:"destructive",size:"sm",onClick:C},{default:k(()=>[...e[8]||(e[8]=[g(" Disconnect ",-1)])]),_:1})):p("",!0)])]))}});export{G as _}; diff --git a/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js b/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js new file mode 100644 index 0000000..5c5f025 --- /dev/null +++ b/src/static/assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js @@ -0,0 +1 @@ +import{u as b}from"./devops-y1AYKG_U.js";import{_ as y}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as k}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as j}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";import{d as z,s as i,o as d,c as p,F,a as o,h as n,q as v,t as u,i as g,e as c,w,k as U,K as m}from"./index-BiYpJJoC.js";const A={class:"space-y-4"},B={key:0,class:"text-xs text-muted-foreground space-y-1"},I={class:"text-foreground"},N={class:"text-foreground"},O={key:0},P={key:1,class:"text-red-400"},S={class:"grid grid-cols-2 gap-3"},T={class:"space-y-1.5"},$={class:"space-y-1.5"},q={class:"space-y-1.5"},E={class:"flex items-center gap-2"},Q=z({__name:"DevopsConnectForm",setup(K){var x,V;const t=b(),r=i(((x=t.integration)==null?void 0:x.organization)??""),l=i(((V=t.integration)==null?void 0:V.project)??""),s=i(""),f=i(!1),_=i(!1);async function C(){if(!r.value||!l.value||!s.value){m.error("All fields are required");return}f.value=!0;try{await t.saveIntegration({organization:r.value,project:l.value,pat:s.value}),s.value="",m.success("Integration saved")}catch{m.error("Failed to save integration")}finally{f.value=!1}}async function D(){try{await t.deleteIntegration(),r.value="",l.value="",s.value="",m.success("Integration deleted")}catch{m.error("Failed to delete integration")}}return(L,e)=>(d(),p(F,null,[o("div",A,[n(t).integration?(d(),p("div",B,[o("p",null,[e[5]||(e[5]=v(" Connected to ",-1)),o("strong",I,u(n(t).integration.organization),1),e[6]||(e[6]=v(" / ",-1)),o("strong",N,u(n(t).integration.project),1)]),n(t).integration.last_synced_at?(d(),p("p",O," Last synced: "+u(new Date(n(t).integration.last_synced_at).toLocaleString()),1)):g("",!0),n(t).integration.last_sync_error?(d(),p("p",P," Error: "+u(n(t).integration.last_sync_error),1)):g("",!0)])):g("",!0),o("div",S,[o("div",T,[e[7]||(e[7]=o("label",{class:"text-sm font-medium text-foreground"},"Organization",-1)),c(y,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=a=>r.value=a),placeholder:"myorg"},null,8,["modelValue"])]),o("div",$,[e[8]||(e[8]=o("label",{class:"text-sm font-medium text-foreground"},"Project",-1)),c(y,{modelValue:l.value,"onUpdate:modelValue":e[1]||(e[1]=a=>l.value=a),placeholder:"myproject"},null,8,["modelValue"])])]),o("div",q,[e[9]||(e[9]=o("label",{class:"text-sm font-medium text-foreground"}," Personal Access Token ",-1)),c(y,{modelValue:s.value,"onUpdate:modelValue":e[2]||(e[2]=a=>s.value=a),type:"password",placeholder:"••••••••",autocomplete:"new-password"},null,8,["modelValue"])]),o("div",E,[c(k,{loading:f.value,onClick:C},{default:w(()=>[v(u(n(t).integration?"Update":"Connect"),1)]),_:1},8,["loading"]),n(t).integration?(d(),U(k,{key:0,variant:"destructive",size:"sm",onClick:e[3]||(e[3]=a=>_.value=!0)},{default:w(()=>[...e[10]||(e[10]=[v(" Disconnect ",-1)])]),_:1})):g("",!0)])]),c(j,{open:_.value,"onUpdate:open":e[4]||(e[4]=a=>_.value=a),title:"Disconnect Azure DevOps",description:"This will remove the ADO integration and all synced work items. This action cannot be undone.","confirm-label":"Disconnect","cancel-label":"Cancel",variant:"destructive",onConfirm:D},null,8,["open"])],64))}});export{Q as _}; diff --git a/src/static/assets/DevopsView-CBi4sEOM.js b/src/static/assets/DevopsView-CBi4sEOM.js deleted file mode 100644 index ba29567..0000000 --- a/src/static/assets/DevopsView-CBi4sEOM.js +++ /dev/null @@ -1 +0,0 @@ -import{d as E,c as r,a as e,t as f,n as v,q as M,i as p,F as k,r as j,H as F,s as D,j as B,o,B as X,D as V,z as H,A as R,p as U,y as q,h as m,k as I,w as x,e as $,K as L}from"./index-DMlmI4VG.js";import{u as G,d as J}from"./devops-roMxSiNP.js";import{_ as Q,a as Y}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{a as Z,_ as ee}from"./CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js";import{_ as te}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as T}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{_ as se}from"./DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js";import"./utils-7WVCegLb.js";import"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";const oe={class:"w-full"},re={class:"flex items-center gap-2 mb-2"},ne={class:"text-xs text-muted-foreground"},le={key:0,class:"h-1.5 w-1.5 rounded-full bg-primary"},ie={class:"overflow-x-auto rounded-xl border border-border"},ae={class:"w-full table-fixed border-collapse",style:{"min-width":"600px"}},de={class:"bg-muted/30"},ue=["onClick"],ce={class:"text-xs font-semibold text-muted-foreground tracking-wide uppercase"},me=["d"],fe=["onMousedown"],pe={key:0},xe=["onUpdate:modelValue"],ye=["onClick"],ge={class:"text-sm text-foreground truncate block"},ve={key:0},ke=["colspan"],be=E({__name:"DataTable",props:{columns:{},rows:{},rowKey:{default:"id"}},emits:["rowClick"],setup(y,{emit:i}){const w=y,_=i,b=D(null),C=D("asc"),h=F({}),S=F({}),z=D(!1);w.columns.forEach(l=>{l.width&&(S[l.key]=l.width)});function N(l){const a=S[l.key]??l.width;return a?`${a}px`:"auto"}function d(l){l.sortable&&(b.value===l.key?C.value=C.value==="asc"?"desc":"asc":(b.value=l.key,C.value="asc"))}const t=B(()=>{let l=[...w.rows];for(const[a,s]of Object.entries(h))s&&(l=l.filter(c=>String(c[a]??"").toLowerCase().includes(s.toLowerCase())));return l}),W=B(()=>{if(!b.value)return t.value;const l=b.value;return[...t.value].sort((a,s)=>{const c=a[l],u=s[l];if(c==null)return 1;if(u==null)return-1;const A=String(c)String(u)?1:0;return C.value==="asc"?A:-A})}),n=B(()=>Object.values(h).some(Boolean));let g=null;function O(l,a){if(!l.resizable)return;a.preventDefault(),a.stopPropagation();const s=S[l.key]??l.width??100;g={key:l.key,startX:a.clientX,startW:s};function c(A){if(!g)return;const K=A.clientX-g.startX;S[g.key]=Math.max(l.minWidth??60,g.startW+K)}function u(){g=null,window.removeEventListener("mousemove",c),window.removeEventListener("mouseup",u)}window.addEventListener("mousemove",c),window.addEventListener("mouseup",u)}function P(){for(const l of Object.keys(h))h[l]=""}return(l,a)=>(o(),r("div",oe,[e("div",re,[e("span",ne,f(W.value.length)+" items",1),a[4]||(a[4]=e("div",{class:"flex-1"},null,-1)),y.columns.some(s=>s.filterable)?(o(),r("button",{key:0,class:v(["flex items-center gap-1.5 px-2.5 py-1 rounded-lg text-xs font-medium border transition-colors",z.value||n.value?"bg-primary/10 border-primary/20 text-primary":"border-border text-muted-foreground hover:text-foreground hover:bg-muted/40"]),onClick:a[0]||(a[0]=s=>z.value=!z.value)},[a[2]||(a[2]=e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2a1 1 0 01-.293.707L13 13.414V19a1 1 0 01-.553.894l-4 2A1 1 0 017 21v-7.586L3.293 6.707A1 1 0 013 6V4z"})],-1)),a[3]||(a[3]=M(" Filter ",-1)),n.value?(o(),r("span",le)):p("",!0)],2)):p("",!0),n.value?(o(),r("button",{key:1,class:"text-xs text-muted-foreground hover:text-foreground",onClick:P}," Clear ")):p("",!0)]),e("div",ie,[e("table",ae,[e("colgroup",null,[(o(!0),r(k,null,j(y.columns,s=>(o(),r("col",{key:s.key,style:X({width:N(s)})},null,4))),128))]),e("thead",de,[e("tr",null,[(o(!0),r(k,null,j(y.columns,s=>(o(),r("th",{key:s.key,class:v(["relative px-3 py-2 text-left group select-none",[s.sortable?"cursor-pointer hover:bg-muted/50":""]]),onClick:c=>d(s)},[e("div",{class:v(["flex items-center gap-1",{"justify-center":s.align==="center","justify-end":s.align==="right"}])},[e("span",ce,f(s.title),1),s.sortable?(o(),r("svg",{key:0,class:v(["h-3 w-3 shrink-0 transition-opacity",b.value===s.key?"opacity-100 text-primary":"opacity-0 group-hover:opacity-40"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:b.value===s.key&&C.value==="desc"?"M19 9l-7 7-7-7":"M5 15l7-7 7 7"},null,8,me)],2)):p("",!0)],2),s.resizable?(o(),r("div",{key:0,class:"absolute right-0 top-0 bottom-0 w-1 cursor-col-resize opacity-0 group-hover:opacity-100 hover:opacity-100 hover:bg-primary/30 transition-opacity",onMousedown:V(c=>O(s,c),["stop"])},null,40,fe)):p("",!0)],10,ue))),128))]),z.value?(o(),r("tr",pe,[(o(!0),r(k,null,j(y.columns,s=>(o(),r("th",{key:`filter-${s.key}`,class:"px-2 pb-2 pt-0"},[s.filterable?H((o(),r("input",{key:0,"onUpdate:modelValue":c=>h[s.key]=c,type:"text",class:"w-full px-2 py-1 text-xs rounded-lg border border-border bg-background text-foreground placeholder:text-muted-foreground/60 focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary",placeholder:"Filter…",onClick:a[1]||(a[1]=V(()=>{},["stop"]))},null,8,xe)),[[R,h[s.key]]]):p("",!0)]))),128))])):p("",!0)]),e("tbody",null,[(o(!0),r(k,null,j(W.value,(s,c)=>(o(),r("tr",{key:String(s[y.rowKey]??c),class:"border-t border-border/50 hover:bg-muted/20 transition-colors cursor-pointer",onClick:u=>_("rowClick",s)},[(o(!0),r(k,null,j(y.columns,u=>(o(),r("td",{key:u.key,class:v(["px-3 py-2",[u.className,u.align==="center"?"text-center":u.align==="right"?"text-right":"text-left"]])},[U(l.$slots,`cell-${u.key}`,{row:s,value:s[u.key]},()=>[e("span",ge,f(s[u.key]??"—"),1)])],2))),128))],8,ye))),128)),W.value.length===0?(o(),r("tr",ve,[e("td",{colspan:y.columns.length,class:"text-center py-10 text-sm text-muted-foreground"}," No items found ",8,ke)])):p("",!0)])])])]))}}),he={class:"p-6 space-y-5"},we={class:"flex items-center justify-between gap-4 flex-wrap"},_e={class:"glass-card rounded-xl px-4 py-3 flex items-center gap-3 flex-wrap"},Ce={class:"text-sm text-slate-700"},$e={class:"text-slate-800"},Se={key:0,class:"text-xs text-slate-400 ml-auto"},ze={key:3,class:"w-full text-xs text-destructive"},We={key:1,class:"space-y-3"},je={class:"flex items-center justify-between gap-3 flex-wrap"},De={class:"flex items-center rounded-xl border border-slate-200 overflow-hidden bg-white shadow-sm"},Ae=["onClick"],Le={key:0,class:"flex items-center justify-center py-12"},Me={key:1,class:"bg-white rounded-xl shadow-sm border border-slate-200/80 overflow-hidden"},Be={class:"text-xs font-mono text-slate-400"},Ne={class:"min-w-0"},Ve={class:"text-sm text-slate-800 truncate font-medium"},Fe={class:"text-xs text-slate-400 truncate"},Ie=["title"],Te={class:"text-xs text-slate-400"},Ee={class:"flex items-center gap-1 justify-end"},Oe=["onClick"],Pe={key:0,class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ke={key:1,class:"h-3.5 w-3.5 animate-spin",fill:"none",viewBox:"0 0 24 24"},Xe=["href"],et=E({__name:"DevopsView",setup(y){const i=G(),w=D("All"),_=D(null);q(async()=>{await i.fetchIntegration(),i.integration&&await i.fetchWorkItems()});const b=B(()=>w.value==="All"?i.workItems:i.workItems.filter(t=>t.state===w.value)),C=[{key:"ado_id",title:"#",width:70,minWidth:50,sortable:!0,resizable:!0},{key:"title",title:"Title",minWidth:120,sortable:!0,filterable:!0,resizable:!0},{key:"team_project",title:"Project",width:140,minWidth:80,sortable:!0,filterable:!0,resizable:!0},{key:"priority",title:"P",width:60,minWidth:50,sortable:!0,align:"center",resizable:!0},{key:"created_date",title:"Created",width:110,minWidth:80,sortable:!0,resizable:!0},{key:"state",title:"State",width:110,minWidth:80,sortable:!0,filterable:!0,resizable:!0},{key:"id",title:"Actions",width:90,minWidth:80,align:"right"}];async function h(){try{await i.sync(),L.success("Sync complete"),await i.fetchWorkItems()}catch{L.error(i.error??"Sync failed")}}async function S(d,t){if(t.stopPropagation(),!_.value){_.value=d;try{await J.cloneWorkItem(d),L.success("Cloned to Tasks")}catch{L.error("Failed to clone")}finally{_.value=null}}}function z(d){const t=d??3;return t<=1?"text-red-500 font-bold":t<=2?"text-amber-500 font-semibold":"text-slate-400"}function N(d){return d==="Active"||d==="Doing"||d==="In Progress"?"bg-blue-50 text-blue-600 border border-blue-100":d==="Resolved"||d==="Done"||d==="Closed"?"bg-emerald-50 text-emerald-600 border border-emerald-100":"bg-slate-50 text-slate-500 border border-slate-200"}return(d,t)=>{var W;return o(),r("div",he,[e("div",we,[t[2]||(t[2]=e("h2",{class:"text-lg font-semibold text-foreground"},"Azure DevOps",-1)),m(i).integration?(o(),I(te,{key:0,variant:"outline",size:"sm",loading:m(i).syncing,onClick:h},{default:x(()=>[...t[1]||(t[1]=[M(" Sync Now ",-1)])]),_:1},8,["loading"])):p("",!0)]),e("div",_e,[m(i).loading&&!m(i).integration?(o(),r(k,{key:0},[$(T,{size:"sm"}),t[3]||(t[3]=e("span",{class:"text-sm text-muted-foreground"},"Loading…",-1))],64)):m(i).integration?(o(),r(k,{key:1},[t[7]||(t[7]=e("div",{class:"h-2 w-2 rounded-full bg-emerald-400 shadow-sm shadow-emerald-200"},null,-1)),e("span",Ce,[t[4]||(t[4]=M(" Connected to ",-1)),e("strong",$e,f(m(i).integration.organization),1),t[5]||(t[5]=e("span",{class:"text-slate-400 mx-1"},"·",-1)),t[6]||(t[6]=e("span",{class:"text-slate-500 text-xs"},"all assigned work items",-1))]),m(i).integration.last_synced_at?(o(),r("span",Se," Last synced: "+f(new Date(m(i).integration.last_synced_at).toLocaleString()),1)):p("",!0)],64)):(o(),r(k,{key:2},[t[8]||(t[8]=e("div",{class:"h-2 w-2 rounded-full bg-slate-300"},null,-1)),t[9]||(t[9]=e("span",{class:"text-sm text-muted-foreground"},"Not connected",-1))],64)),(W=m(i).integration)!=null&&W.last_sync_error?(o(),r("p",ze," Error: "+f(m(i).integration.last_sync_error),1)):p("",!0)]),!m(i).integration&&!m(i).loading?(o(),I(Q,{key:0},{default:x(()=>[$(ee,null,{default:x(()=>[$(Z,{class:"text-sm"},{default:x(()=>[...t[10]||(t[10]=[M("Connect Azure DevOps",-1)])]),_:1})]),_:1}),$(Y,null,{default:x(()=>[$(se)]),_:1})]),_:1})):p("",!0),m(i).integration?(o(),r("div",We,[e("div",je,[t[11]||(t[11]=e("h3",{class:"text-sm font-semibold text-slate-700"},"Work Items",-1)),e("div",De,[(o(),r(k,null,j(["All","Active","Resolved","Closed"],n=>e("button",{key:n,class:v(["px-3 py-1.5 text-xs font-medium transition-colors",w.value===n?"bg-orange-500 text-white":"text-slate-500 hover:text-slate-700 hover:bg-slate-50"]),onClick:g=>w.value=n},f(n),11,Ae)),64))])]),m(i).loading?(o(),r("div",Le,[$(T,{size:"md",class:"text-primary"})])):(o(),r("div",Me,[$(be,{columns:C,rows:b.value,"row-key":"id"},{"cell-ado_id":x(({value:n})=>[e("span",Be,"#"+f(n),1)]),"cell-title":x(({row:n})=>[e("div",Ne,[e("p",Ve,f(n.title),1),e("p",Fe,f(n.type),1)])]),"cell-team_project":x(({value:n})=>[e("span",{class:"text-xs text-slate-500 truncate block",title:String(n??"")},f(n||"—"),9,Ie)]),"cell-priority":x(({value:n})=>[e("span",{class:v(["text-xs font-semibold",z(n)])}," P"+f(n??3),3)]),"cell-created_date":x(({value:n})=>[e("span",Te,f(n?new Date(String(n)).toLocaleDateString():"—"),1)]),"cell-state":x(({value:n})=>[e("span",{class:v(["text-xs px-2 py-0.5 rounded-full font-medium",N(String(n??""))])},f(n),3)]),"cell-id":x(({row:n})=>[e("div",Ee,[e("button",{class:v(["p-1.5 rounded-lg text-slate-400 hover:text-orange-500 hover:bg-orange-50 transition-colors",{"opacity-50":_.value===String(n.id)}]),title:"Clone to Tasks",onClick:g=>S(String(n.id),g)},[_.value!==String(n.id)?(o(),r("svg",Pe,[...t[12]||(t[12]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"},null,-1)])])):(o(),r("svg",Ke,[...t[13]||(t[13]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])]))],10,Oe),n.url?(o(),r("a",{key:0,href:String(n.url),target:"_blank",rel:"noopener",class:"p-1.5 rounded-lg text-slate-400 hover:text-blue-500 hover:bg-blue-50 transition-colors",title:"Open in Azure DevOps",onClick:t[0]||(t[0]=V(()=>{},["stop"]))},[...t[14]||(t[14]=[e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)])],8,Xe)):p("",!0)])]),_:1},8,["rows"])]))])):p("",!0)])}}});export{et as default}; diff --git a/src/static/assets/DevopsView-O5QaTl8f.js b/src/static/assets/DevopsView-O5QaTl8f.js new file mode 100644 index 0000000..6170e2a --- /dev/null +++ b/src/static/assets/DevopsView-O5QaTl8f.js @@ -0,0 +1 @@ +import{s as $,x as H,d as R,c as l,a as e,t as v,k as A,w as c,n as h,i as p,F as _,r as N,e as k,G as q,j as T,o as r,q as L,z as G,C as E,p as J,A as Q,h as f,K as V}from"./index-BiYpJJoC.js";import{u as Y,d as Z}from"./devops-y1AYKG_U.js";import{_ as ee,a as te}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{a as se,_ as oe}from"./CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js";import{_ as O}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as P}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{_ as re}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as ne}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{_ as ie}from"./SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js";import{_ as K}from"./Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js";import{_ as le}from"./DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js";import"./utils-7WVCegLb.js";import"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";import"./createLucideIcon-D7qP-VdO.js";function ae(g,a){const y=$(g.value);let x;return H(g,b=>{clearTimeout(x),x=setTimeout(()=>{y.value=b},a)},{deep:!0}),y}const ue={class:"w-full"},de={class:"flex items-center gap-2 mb-2"},ce={class:"text-xs text-muted-foreground"},me={key:0,class:"h-1.5 w-1.5 rounded-full bg-primary"},fe={class:"overflow-x-auto rounded-xl border border-border"},pe={class:"w-full table-fixed border-collapse",style:{"min-width":"600px"}},ve={class:"bg-muted/30"},ge=["onClick"],ye={class:"text-xs font-semibold text-muted-foreground tracking-wide uppercase"},ke=["d"],xe=["onMousedown"],be={key:0},he=["onClick"],_e={class:"text-sm text-foreground truncate block"},we={key:0},Ce=["colspan"],$e=R({__name:"DataTable",props:{columns:{},rows:{},rowKey:{default:"id"}},emits:["rowClick"],setup(g,{emit:a}){const y=g,x=a,b=$(null),w=$("asc"),C=$({}),z=q({}),S=$(!1);y.columns.forEach(o=>{o.width&&(z[o.key]=o.width)});const F=ae(C,250);function B(o){const n=z[o.key]??o.width;return n?`${n}px`:"auto"}function m(o){o.sortable&&(b.value===o.key?w.value=w.value==="asc"?"desc":"asc":(b.value=o.key,w.value="asc"))}function t(o,n,s="auto"){if(o==null&&n==null)return 0;if(o==null)return-1;if(n==null)return 1;if(s==="number")return Number(o)-Number(n);if(s==="date")return new Date(String(o)).getTime()-new Date(String(n)).getTime();if(s==="auto"){const d=Number(o),u=Number(n);if(!isNaN(d)&&!isNaN(u))return d-u}return String(o).localeCompare(String(n))}const j=T(()=>{let o=[...y.rows];for(const[n,s]of Object.entries(F.value))s&&(o=o.filter(d=>String(d[n]??"").toLowerCase().includes(s.toLowerCase())));return o}),i=T(()=>{if(!b.value)return j.value;const o=b.value,n=y.columns.find(s=>s.key===o);return[...j.value].sort((s,d)=>{const u=s[o],I=d[o],M=t(u,I,n==null?void 0:n.type);return w.value==="asc"?M:-M})}),D=T(()=>Object.values(C.value).some(Boolean));let W=null;function U(o,n){if(!o.resizable)return;n.preventDefault(),n.stopPropagation();const s=z[o.key]??o.width??100;W={key:o.key,startX:n.clientX,startW:s};function d(I){if(!W)return;const M=I.clientX-W.startX;z[W.key]=Math.max(o.minWidth??60,W.startW+M)}function u(){W=null,window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",u)}window.addEventListener("mousemove",d),window.addEventListener("mouseup",u)}function X(){C.value={}}return(o,n)=>(r(),l("div",ue,[e("div",de,[e("span",ce,v(i.value.length)+" items",1),n[5]||(n[5]=e("div",{class:"flex-1"},null,-1)),g.columns.some(s=>s.filterable)?(r(),A(O,{key:0,variant:"ghost",size:"sm",class:h(S.value||D.value?"flex items-center gap-1.5 text-primary":"flex items-center gap-1.5"),onClick:n[0]||(n[0]=s=>S.value=!S.value)},{default:c(()=>[n[2]||(n[2]=e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2a1 1 0 01-.293.707L13 13.414V19a1 1 0 01-.553.894l-4 2A1 1 0 017 21v-7.586L3.293 6.707A1 1 0 013 6V4z"})],-1)),n[3]||(n[3]=L(" Filter ",-1)),D.value?(r(),l("span",me)):p("",!0)]),_:1},8,["class"])):p("",!0),D.value?(r(),A(O,{key:1,variant:"ghost",size:"sm",onClick:X},{default:c(()=>[...n[4]||(n[4]=[L(" Clear ",-1)])]),_:1})):p("",!0)]),e("div",fe,[e("table",pe,[e("colgroup",null,[(r(!0),l(_,null,N(g.columns,s=>(r(),l("col",{key:s.key,style:G({width:B(s)})},null,4))),128))]),e("thead",ve,[e("tr",null,[(r(!0),l(_,null,N(g.columns,s=>(r(),l("th",{key:s.key,class:h(["relative px-3 py-2 text-left group select-none",[s.sortable?"cursor-pointer hover:bg-muted/50":""]]),onClick:d=>m(s)},[e("div",{class:h(["flex items-center gap-1",{"justify-center":s.align==="center","justify-end":s.align==="right"}])},[e("span",ye,v(s.title),1),s.sortable?(r(),l("svg",{key:0,class:h(["h-3 w-3 shrink-0 transition-opacity",b.value===s.key?"opacity-100 text-primary":"opacity-0 group-hover:opacity-40"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:b.value===s.key&&w.value==="desc"?"M19 9l-7 7-7-7":"M5 15l7-7 7 7"},null,8,ke)],2)):p("",!0)],2),s.resizable?(r(),l("div",{key:0,class:"absolute right-0 top-0 bottom-0 w-1 cursor-col-resize opacity-0 group-hover:opacity-100 hover:opacity-100 hover:bg-primary/30 transition-opacity",onMousedown:E(d=>U(s,d),["stop"])},null,40,xe)):p("",!0)],10,ge))),128))]),S.value?(r(),l("tr",be,[(r(!0),l(_,null,N(g.columns,s=>(r(),l("th",{key:`filter-${s.key}`,class:"px-2 pb-2 pt-0"},[s.filterable?(r(),A(re,{key:0,"model-value":C.value[s.key]??"",type:"text",class:"h-7 text-xs py-1",placeholder:"Filter…","onUpdate:modelValue":d=>{C.value[s.key]=d},onClick:n[1]||(n[1]=E(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])):p("",!0)]))),128))])):p("",!0)]),e("tbody",null,[(r(!0),l(_,null,N(i.value,(s,d)=>(r(),l("tr",{key:String(s[g.rowKey]??d),class:"border-t border-border/50 hover:bg-muted/20 transition-colors cursor-pointer",onClick:u=>x("rowClick",s)},[(r(!0),l(_,null,N(g.columns,u=>(r(),l("td",{key:u.key,class:h(["px-3 py-2",[u.className,u.align==="center"?"text-center":u.align==="right"?"text-right":"text-left"]])},[J(o.$slots,`cell-${u.key}`,{row:s,value:s[u.key]},()=>[e("span",_e,v(s[u.key]??"—"),1)])],2))),128))],8,he))),128)),i.value.length===0?(r(),l("tr",we,[e("td",{colspan:g.columns.length,class:"py-12"},[k(ne,{title:"No items found",description:"Try adjusting your filter.",size:"sm"})],8,Ce)])):p("",!0)])])])]))}}),ze={class:"p-6 space-y-8"},Se={class:"flex items-center justify-between gap-4 flex-wrap"},We={class:"glass-card rounded-xl px-4 py-3 flex items-center gap-3 flex-wrap"},je={class:"text-sm text-foreground"},De={class:"text-foreground"},Ne={key:0,class:"text-xs text-muted-foreground ml-auto"},Ae={key:3,class:"w-full text-xs text-destructive"},Le={key:1,class:"space-y-4"},Me={class:"flex items-center justify-between gap-3 flex-wrap"},Ve={key:0,class:"flex items-center justify-center py-12"},Te={key:1,class:"bg-background rounded-xl shadow-sm border border-border overflow-hidden"},Fe={class:"text-xs font-mono text-muted-foreground"},Be={class:"min-w-0"},Ie={class:"text-sm text-foreground truncate font-medium"},Ee={class:"text-xs text-muted-foreground truncate"},Oe=["title"],Pe={class:"text-xs text-muted-foreground"},Ke={class:"flex items-center gap-1 justify-end"},Re=["onClick"],Ue={key:0,class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Xe={key:1,class:"h-3.5 w-3.5 animate-spin",fill:"none",viewBox:"0 0 24 24"},He=["href"],at=R({__name:"DevopsView",setup(g){const a=Y(),y=$("All"),x=$(null),b=[{value:"All",label:"All"},{value:"Active",label:"Active"},{value:"Resolved",label:"Resolved"},{value:"Closed",label:"Closed"}];Q(async()=>{await a.fetchIntegration(),a.integration&&await a.fetchWorkItems()});const w=T(()=>y.value==="All"?a.workItems:a.workItems.filter(t=>t.state===y.value)),C=[{key:"ado_id",title:"#",width:70,minWidth:50,sortable:!0,resizable:!0},{key:"title",title:"Title",minWidth:120,sortable:!0,filterable:!0,resizable:!0},{key:"team_project",title:"Project",width:140,minWidth:80,sortable:!0,filterable:!0,resizable:!0},{key:"priority",title:"P",width:60,minWidth:50,sortable:!0,align:"center",resizable:!0},{key:"created_date",title:"Created",width:110,minWidth:80,sortable:!0,resizable:!0},{key:"state",title:"State",width:110,minWidth:80,sortable:!0,filterable:!0,resizable:!0},{key:"id",title:"Actions",width:90,minWidth:80,align:"right"}];async function z(){try{await a.sync(),V.success("Sync complete"),await a.fetchWorkItems()}catch{V.error(a.error??"Sync failed")}}async function S(m,t){if(t.stopPropagation(),!x.value){x.value=m;try{await Z.cloneWorkItem(m),V.success("Cloned to Tasks")}catch{V.error("Failed to clone")}finally{x.value=null}}}function F(m){const t=m??3;return t<=1?"text-red-500 font-bold":t<=2?"text-amber-500 font-semibold":"text-muted-foreground"}function B(m){return m==="Active"||m==="Doing"||m==="In Progress"?"bg-blue-50 text-blue-600 border border-blue-100":m==="Resolved"||m==="Done"||m==="Closed"?"bg-emerald-50 text-emerald-600 border border-emerald-100":"bg-muted text-muted-foreground border border-border"}return(m,t)=>{var j;return r(),l("div",ze,[e("div",Se,[t[3]||(t[3]=e("h2",{class:"text-lg font-semibold text-foreground"},"Azure DevOps",-1)),f(a).integration?(r(),A(O,{key:0,variant:"outline",size:"sm",loading:f(a).syncing,onClick:z},{default:c(()=>[...t[2]||(t[2]=[L(" Sync Now ",-1)])]),_:1},8,["loading"])):p("",!0)]),e("div",We,[f(a).loading&&!f(a).integration?(r(),l(_,{key:0},[k(P,{size:"sm"}),t[4]||(t[4]=e("span",{class:"text-sm text-muted-foreground"},"Loading…",-1))],64)):f(a).integration?(r(),l(_,{key:1},[t[8]||(t[8]=e("div",{class:"h-2 w-2 rounded-full bg-emerald-400 shadow-sm shadow-emerald-200"},null,-1)),e("span",je,[t[5]||(t[5]=L(" Connected to ",-1)),e("strong",De,v(f(a).integration.organization),1),t[6]||(t[6]=e("span",{class:"text-muted-foreground mx-1"},"·",-1)),t[7]||(t[7]=e("span",{class:"text-muted-foreground text-xs"},"all assigned work items",-1))]),f(a).integration.last_synced_at?(r(),l("span",Ne," Last synced: "+v(new Date(f(a).integration.last_synced_at).toLocaleString()),1)):p("",!0)],64)):(r(),l(_,{key:2},[t[9]||(t[9]=e("div",{class:"h-2 w-2 rounded-full bg-muted-foreground/30"},null,-1)),t[10]||(t[10]=e("span",{class:"text-sm text-muted-foreground"},"Not connected",-1))],64)),(j=f(a).integration)!=null&&j.last_sync_error?(r(),l("p",Ae," Error: "+v(f(a).integration.last_sync_error),1)):p("",!0)]),!f(a).integration&&!f(a).loading?(r(),A(ee,{key:0},{default:c(()=>[k(oe,null,{default:c(()=>[k(se,{class:"text-sm"},{default:c(()=>[...t[11]||(t[11]=[L("Connect Azure DevOps",-1)])]),_:1})]),_:1}),k(te,{class:"space-y-4"},{default:c(()=>[k(le)]),_:1})]),_:1})):p("",!0),f(a).integration?(r(),l("div",Le,[e("div",Me,[t[12]||(t[12]=e("h3",{class:"text-sm font-semibold text-foreground"},"Work Items",-1)),k(ie,{modelValue:y.value,"onUpdate:modelValue":t[0]||(t[0]=i=>y.value=i),options:b,"aria-label":"Filter by state"},null,8,["modelValue"])]),f(a).loading?(r(),l("div",Ve,[k(P,{size:"md",class:"text-primary"})])):(r(),l("div",Te,[k($e,{columns:C,rows:w.value,"row-key":"id"},{"cell-ado_id":c(({value:i})=>[e("span",Fe,"#"+v(i),1)]),"cell-title":c(({row:i})=>[e("div",Be,[e("p",Ie,v(i.title),1),e("p",Ee,v(i.type),1)])]),"cell-team_project":c(({value:i})=>[e("span",{class:"text-xs text-muted-foreground truncate block",title:String(i??"")},v(i||"—"),9,Oe)]),"cell-priority":c(({value:i})=>[e("span",{class:h(["text-xs font-semibold",F(i)])}," P"+v(i??3),3)]),"cell-created_date":c(({value:i})=>[e("span",Pe,v(i?new Date(String(i)).toLocaleDateString():"—"),1)]),"cell-state":c(({value:i})=>[e("span",{class:h(["text-xs px-2 py-0.5 rounded-full font-medium",B(String(i??""))])},v(i),3)]),"cell-id":c(({row:i})=>[e("div",Ke,[k(K,{content:"Clone to Tasks"},{default:c(()=>[e("button",{class:h(["p-1.5 rounded-lg text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",{"opacity-50":x.value===String(i.id)}]),onClick:D=>S(String(i.id),D)},[x.value!==String(i.id)?(r(),l("svg",Ue,[...t[13]||(t[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"},null,-1)])])):(r(),l("svg",Xe,[...t[14]||(t[14]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])]))],10,Re)]),_:2},1024),k(K,{content:"Open in Azure DevOps"},{default:c(()=>[i.url?(r(),l("a",{key:0,href:String(i.url),target:"_blank",rel:"noopener",class:"p-1.5 rounded-lg text-muted-foreground hover:text-blue-500 hover:bg-blue-50 transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",onClick:t[1]||(t[1]=E(()=>{},["stop"]))},[...t[15]||(t[15]=[e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)])],8,He)):p("",!0)]),_:2},1024)])]),_:1},8,["rows"])]))])):p("",!0)])}}});export{at as default}; diff --git a/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js b/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js deleted file mode 100644 index 606318d..0000000 --- a/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js +++ /dev/null @@ -1 +0,0 @@ -import{d as y,y as k,I as b,k as h,J as g,e as c,T as x,w as u,o as a,c as n,a as o,p as r,t as m,i,n as w}from"./index-DMlmI4VG.js";import{_ as $}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";const C={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},B=["aria-label"],j={key:0,class:"flex items-center justify-between p-6 pb-4"},z={class:"text-lg font-semibold text-foreground"},E={key:0,class:"text-sm text-muted-foreground mt-1"},L={class:"px-6 pb-4"},M={key:1,class:"flex justify-end gap-2 px-6 pb-6"},V=y({__name:"Dialog",props:{open:{type:Boolean},title:{},description:{},maxWidth:{default:"max-w-lg"}},emits:["close"],setup(e,{emit:f}){const p=e,l=f;function d(t){t.key==="Escape"&&p.open&&l("close")}return k(()=>document.addEventListener("keydown",d)),b(()=>document.removeEventListener("keydown",d)),(t,s)=>(a(),h(g,{to:"body"},[c(x,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:u(()=>[e.open?(a(),n("div",C,[o("div",{class:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:s[0]||(s[0]=v=>l("close"))}),o("div",{class:w(["relative w-full bg-card border border-border rounded-lg shadow-xl z-10",e.maxWidth]),role:"dialog","aria-modal":!0,"aria-label":e.title},[e.title||t.$slots.header?(a(),n("div",j,[o("div",null,[r(t.$slots,"header",{},()=>[o("h2",z,m(e.title),1),e.description?(a(),n("p",E,m(e.description),1)):i("",!0)])]),c($,{variant:"ghost",size:"icon",class:"shrink-0",onClick:s[1]||(s[1]=v=>l("close"))},{default:u(()=>[...s[2]||(s[2]=[o("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])]),_:1})])):i("",!0),o("div",L,[r(t.$slots,"default")]),t.$slots.footer?(a(),n("div",M,[r(t.$slots,"footer")])):i("",!0)],10,B)])):i("",!0)]),_:3})]))}});export{V as _}; diff --git a/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js b/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js new file mode 100644 index 0000000..23b4af4 --- /dev/null +++ b/src/static/assets/Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js @@ -0,0 +1 @@ +import{x as h,y as b,d as w,A as x,k as g,H as E,e as v,T as C,w as p,o as c,c as u,a,p as m,i as f,n as $,s as B,t as y,I as L}from"./index-BiYpJJoC.js";import{_ as T}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";const j=["[autofocus]","button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function D(t,d){let r=null;function i(){return t.value?Array.from(t.value.querySelectorAll(j)):[]}function l(s){if(!d.value||!t.value||s.key!=="Tab")return;const e=i();if(!e.length){s.preventDefault();return}const o=e[0],n=e[e.length-1];s.shiftKey?document.activeElement===o&&(s.preventDefault(),n.focus()):document.activeElement===n&&(s.preventDefault(),o.focus())}h(d,s=>{if(s)r=document.activeElement,document.addEventListener("keydown",l),setTimeout(()=>{const e=i();e.length&&e[0].focus()},50);else{document.removeEventListener("keydown",l);const e=r;setTimeout(()=>{e&&"focus"in e&&e.focus()},150)}}),b(()=>{document.removeEventListener("keydown",l)})}const z={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},A=["aria-label"],F={key:0,class:"flex items-center justify-between p-6 pb-4"},S={class:"text-lg font-semibold text-foreground"},K={key:0,class:"text-sm text-muted-foreground mt-1"},M={class:"px-6 pb-4 max-h-[85vh] overflow-y-auto"},N={key:1,class:"flex justify-end gap-2 px-6 pb-6"},W=w({__name:"Dialog",props:{open:{type:Boolean},title:{},description:{},maxWidth:{default:"max-w-lg"}},emits:["close"],setup(t,{emit:d}){const r=t,i=d,l=B(null),s=L(r,"open");D(l,s);function e(o){o.key==="Escape"&&r.open&&i("close")}return x(()=>document.addEventListener("keydown",e)),b(()=>document.removeEventListener("keydown",e)),(o,n)=>(c(),g(E,{to:"body"},[v(C,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:p(()=>[t.open?(c(),u("div",z,[a("div",{class:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:n[0]||(n[0]=k=>i("close"))}),a("div",{ref_key:"contentRef",ref:l,class:$(["relative w-full bg-card border border-border rounded-lg shadow-xl z-10",t.maxWidth]),role:"dialog","aria-modal":"true","aria-label":t.title},[t.title||o.$slots.header?(c(),u("div",F,[a("div",null,[m(o.$slots,"header",{},()=>[a("h2",S,y(t.title),1),t.description?(c(),u("p",K,y(t.description),1)):f("",!0)])]),v(T,{variant:"ghost",size:"icon",class:"shrink-0",onClick:n[1]||(n[1]=k=>i("close"))},{default:p(()=>[...n[2]||(n[2]=[a("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])]),_:1})])):f("",!0),a("div",M,[m(o.$slots,"default")]),o.$slots.footer?(c(),u("div",N,[m(o.$slots,"footer")])):f("",!0)],10,A)])):f("",!0)]),_:3})]))}});export{W as _}; diff --git a/src/static/assets/EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js b/src/static/assets/EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js new file mode 100644 index 0000000..9f538f4 --- /dev/null +++ b/src/static/assets/EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js @@ -0,0 +1 @@ +import{c as s}from"./utils-7WVCegLb.js";import{_ as k}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{d as w,c as a,n as o,h as r,F as S,r as B,i as n,a as m,t as i,k as l,w as L,o as t,l as f,q as j}from"./index-BiYpJJoC.js";const I=["aria-label"],N={key:0,class:"relative mb-6 flex items-end justify-center gap-2"},V={class:"space-y-2"},$=w({__name:"EmptyState",props:{title:{},description:{},icons:{},actionLabel:{},actionIcon:{},size:{default:"default"}},emits:["action"],setup(e,{emit:x}){const g=x,h={sm:"p-6",default:"p-8",lg:"p-12"},b={sm:"h-9 w-9",default:"h-11 w-11",lg:"h-14 w-14"},v=["z-10 translate-y-1 -rotate-6 group-hover:-translate-x-3 group-hover:-translate-y-1 group-hover:-rotate-12","z-20 group-hover:-translate-y-3","z-10 translate-y-1 rotate-6 group-hover:translate-x-3 group-hover:-translate-y-1 group-hover:rotate-12"],y={sm:"text-sm",default:"text-base",lg:"text-lg"},z={sm:"text-xs",default:"text-sm",lg:"text-base"},C={sm:"h-7 text-xs px-3",default:"",lg:"h-11 text-base px-6"};return(p,c)=>(t(),a("div",{class:o(r(s)("group flex flex-col items-center justify-center text-center","rounded-xl border-2 border-dashed border-border bg-card","transition-all duration-300 hover:border-foreground/30",h[e.size])),role:"status","aria-label":e.title},[e.icons&&e.icons.length?(t(),a("div",N,[(t(!0),a(S,null,B(e.icons.slice(0,3),(d,u)=>(t(),a("div",{key:u,class:o(r(s)("flex items-center justify-center rounded-xl border border-border bg-background shadow-sm","text-muted-foreground transition-all duration-300",b[e.size],v[u]??"z-20"))},[(t(),l(f(d),{class:"h-5 w-5"}))],2))),128))])):n("",!0),m("div",V,[m("h3",{class:o(r(s)("font-semibold text-foreground",y[e.size]))},i(e.title),3),e.description?(t(),a("p",{key:0,class:o(r(s)("text-muted-foreground",z[e.size]))},i(e.description),3)):n("",!0)]),e.actionLabel?(t(),l(k,{key:1,variant:"outline",class:o(r(s)("mt-6",C[e.size])),onClick:c[0]||(c[0]=d=>g("action"))},{default:L(()=>[e.actionIcon?(t(),l(f(e.actionIcon),{key:0,class:"mr-2 h-4 w-4 transition-transform duration-200 group-hover/btn:rotate-90"})):n("",!0),j(" "+i(e.actionLabel),1)]),_:1},8,["class"])):n("",!0)],10,I))}});export{$ as _}; diff --git a/src/static/assets/Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js b/src/static/assets/Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js similarity index 73% rename from src/static/assets/Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js rename to src/static/assets/Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js index b34d242..ec4b673 100644 --- a/src/static/assets/Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js +++ b/src/static/assets/Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js @@ -1 +1 @@ -import{c as i}from"./utils-7WVCegLb.js";import{d,o as s,c as u,n as m,h as r}from"./index-DMlmI4VG.js";const c=["id","name","type","value","placeholder","disabled","autocomplete","min","max","step"],g=d({__name:"Input",props:{modelValue:{},type:{},placeholder:{},disabled:{type:Boolean},class:{},id:{},name:{},autocomplete:{},min:{},max:{},step:{}},emits:["update:modelValue","change","blur","focus"],setup(e,{emit:n}){const a=e,o=n;return(f,t)=>(s(),u("input",{id:e.id,name:e.name,type:e.type??"text",value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,autocomplete:e.autocomplete,min:e.min,max:e.max,step:e.step,class:m(r(i)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",a.class)),onInput:t[0]||(t[0]=l=>o("update:modelValue",l.target.value)),onChange:t[1]||(t[1]=l=>o("change",l.target.value)),onBlur:t[2]||(t[2]=l=>o("blur",l)),onFocus:t[3]||(t[3]=l=>o("focus",l))},null,42,c))}});export{g as _}; +import{c as i}from"./utils-7WVCegLb.js";import{d,c as s,n as u,h as m,o as r}from"./index-BiYpJJoC.js";const c=["id","name","type","value","placeholder","disabled","autocomplete","min","max","step"],g=d({__name:"Input",props:{modelValue:{},type:{},placeholder:{},disabled:{type:Boolean},class:{},id:{},name:{},autocomplete:{},min:{},max:{},step:{}},emits:["update:modelValue","change","blur","focus"],setup(e,{emit:n}){const a=e,o=n;return(f,t)=>(r(),s("input",{id:e.id,name:e.name,type:e.type??"text",value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,autocomplete:e.autocomplete,min:e.min,max:e.max,step:e.step,class:u(m(i)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",a.class)),onInput:t[0]||(t[0]=l=>o("update:modelValue",l.target.value)),onChange:t[1]||(t[1]=l=>o("change",l.target.value)),onBlur:t[2]||(t[2]=l=>o("blur",l)),onFocus:t[3]||(t[3]=l=>o("focus",l))},null,42,c))}});export{g as _}; diff --git a/src/static/assets/KeysView-mYE9ed0x.js b/src/static/assets/KeysView-mYE9ed0x.js deleted file mode 100644 index 314c798..0000000 --- a/src/static/assets/KeysView-mYE9ed0x.js +++ /dev/null @@ -1 +0,0 @@ -import{a as b}from"./admin-DvZ7jcBF.js";import{_ as K,a as $}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as v}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as V}from"./Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js";import{_ as N}from"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import{_ as A}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{d as B,y as L,c as l,a as t,e as r,w as n,s as i,o as a,q as p,F as P,r as F,t as u,h as k,k as I,i as j,K as y}from"./index-DMlmI4VG.js";import{a as h}from"./utils-7WVCegLb.js";const D={class:"p-6"},R={class:"flex items-center justify-between mb-6"},z={key:0,class:"flex items-center justify-center h-20"},M={key:1,class:"text-center text-muted-foreground py-8 text-sm"},T={key:2,class:"w-full"},U={class:"px-4 py-3 text-sm text-foreground"},q={class:"px-4 py-3 text-sm font-mono text-muted-foreground"},E={class:"px-4 py-3 text-xs text-muted-foreground"},H={class:"px-4 py-3 text-xs text-muted-foreground"},S={class:"px-4 py-3 text-right"},G={class:"space-y-4"},J={key:0,class:"rounded-md bg-emerald-500/10 border border-emerald-500/30 p-3"},O={class:"text-xs font-mono text-foreground break-all"},Q={key:1,class:"space-y-1.5"},re=B({__name:"KeysView",setup(W){const f=i([]),_=i(!1),c=i(!1),m=i(""),x=i(!1),d=i(null);L(()=>g());async function g(){_.value=!0;try{const o=await b.keys();f.value=o.data}finally{_.value=!1}}async function w(){if(m.value.trim()){x.value=!0;try{const o=await b.createKey({label:m.value});d.value=o.data.key,y.success("API key created"),await g(),m.value=""}catch{y.error("Failed to create key")}finally{x.value=!1}}}async function C(o){if(confirm(`Revoke key "${o.label}"? This cannot be undone.`))try{await b.revokeKey(o.id),y.success("Key revoked"),f.value=f.value.filter(e=>e.id!==o.id)}catch{y.error("Failed to revoke key")}}return(o,e)=>(a(),l("div",D,[t("div",R,[e[5]||(e[5]=t("h2",{class:"text-lg font-semibold text-foreground"},"API Keys",-1)),r(v,{size:"sm",onClick:e[0]||(e[0]=s=>{c.value=!0,d.value=null})},{default:n(()=>[...e[4]||(e[4]=[t("svg",{class:"h-4 w-4 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),p(" New Key ",-1)])]),_:1})]),r(K,null,{default:n(()=>[r($,{class:"p-0"},{default:n(()=>[_.value?(a(),l("div",z,[r(A,{class:"text-primary"})])):f.value.length===0?(a(),l("div",M," No API keys ")):(a(),l("table",T,[e[7]||(e[7]=t("thead",null,[t("tr",{class:"border-b border-border"},[t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Label"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Prefix"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Created"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Last Used"),t("th",{class:"px-4 py-3"})])],-1)),t("tbody",null,[(a(!0),l(P,null,F(f.value,s=>(a(),l("tr",{key:s.id,class:"border-b border-border last:border-0 hover:bg-muted/30"},[t("td",U,u(s.label),1),t("td",q,u(s.prefix)+"...",1),t("td",E,u(k(h)(s.created_at)),1),t("td",H,u(s.last_used?k(h)(s.last_used):"Never"),1),t("td",S,[r(v,{variant:"ghost",size:"sm",class:"text-destructive",onClick:X=>C(s)},{default:n(()=>[...e[6]||(e[6]=[p(" Revoke ",-1)])]),_:1},8,["onClick"])])]))),128))])]))]),_:1})]),_:1}),r(V,{open:c.value,title:"Create API Key",onClose:e[3]||(e[3]=s=>c.value=!1)},{footer:n(()=>[r(v,{variant:"outline",onClick:e[2]||(e[2]=s=>c.value=!1)},{default:n(()=>[p(u(d.value?"Done":"Cancel"),1)]),_:1}),d.value?j("",!0):(a(),I(v,{key:0,loading:x.value,onClick:w},{default:n(()=>[...e[10]||(e[10]=[p(" Create ",-1)])]),_:1},8,["loading"]))]),default:n(()=>[t("div",G,[d.value?(a(),l("div",J,[e[8]||(e[8]=t("p",{class:"text-xs text-emerald-400 font-medium mb-1"},"Key created — save it now!",-1)),t("p",O,u(d.value),1)])):(a(),l("div",Q,[e[9]||(e[9]=t("label",{class:"text-sm font-medium text-foreground"},"Label",-1)),r(N,{modelValue:m.value,"onUpdate:modelValue":e[1]||(e[1]=s=>m.value=s),placeholder:"e.g. claude-collector",disabled:x.value},null,8,["modelValue","disabled"])]))])]),_:1},8,["open"])]))}});export{re as default}; diff --git a/src/static/assets/KeysView-x4Ow5p_D.js b/src/static/assets/KeysView-x4Ow5p_D.js new file mode 100644 index 0000000..0d0885a --- /dev/null +++ b/src/static/assets/KeysView-x4Ow5p_D.js @@ -0,0 +1,11 @@ +import{a as h}from"./admin-BG8iXstk.js";import{_ as N,a as R}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as y}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as B}from"./Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js";import{_ as j}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as D}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{_ as F}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";import{_ as S}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{d as q,A as z,c as n,a as t,e as o,w as r,s as i,o as l,q as _,h as p,F as M,r as U,t as c,k as T,i as E,K as k}from"./index-BiYpJJoC.js";import{a as V}from"./utils-7WVCegLb.js";import{c as A}from"./createLucideIcon-D7qP-VdO.js";import{P as G}from"./plus-PpKYs9wJ.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const H=A("KeyIcon",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J=A("ShieldIcon",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),O={class:"p-6"},Q={class:"flex items-center justify-between mb-6"},W={key:0,class:"flex items-center justify-center h-20"},X={key:1,class:"p-6"},Y={key:2,class:"w-full"},Z={class:"px-4 py-3 text-sm text-foreground"},ee={class:"px-4 py-3 text-sm font-mono text-muted-foreground"},te={class:"px-4 py-3 text-xs text-muted-foreground"},se={class:"px-4 py-3 text-xs text-muted-foreground"},oe={class:"px-4 py-3 text-right"},ae={class:"space-y-4"},le={key:0,class:"rounded-md bg-emerald-500/10 border border-emerald-500/30 p-3"},ne={class:"text-xs font-mono text-foreground break-all"},re={key:1,class:"space-y-1.5"},he=q({__name:"KeysView",setup(ie){const m=i([]),g=i(!1),v=i(!1),f=i(""),x=i(!1),d=i(null),b=i(!1),u=i(null);z(()=>C());async function C(){g.value=!0;try{const a=await h.keys();m.value=a.data}finally{g.value=!1}}async function I(){if(f.value.trim()){x.value=!0;try{const a=await h.createKey({label:f.value});d.value=a.data.key,k.success("API key created"),await C(),f.value=""}catch{k.error("Failed to create key")}finally{x.value=!1}}}function P(a){u.value=a,b.value=!0}async function L(){if(!u.value)return;const a=u.value;u.value=null;try{await h.revokeKey(a.id),k.success("Key revoked"),m.value=m.value.filter(e=>e.id!==a.id)}catch{k.error("Failed to revoke key")}}function w(){v.value=!0,d.value=null}return(a,e)=>{var K,$;return l(),n("div",O,[t("div",Q,[e[5]||(e[5]=t("h2",{class:"text-lg font-semibold text-foreground"},"API Keys",-1)),o(y,{size:"sm",onClick:w},{default:r(()=>[...e[4]||(e[4]=[t("svg",{class:"h-4 w-4 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),_(" New Key ",-1)])]),_:1})]),o(N,null,{default:r(()=>[o(R,{class:"p-0"},{default:r(()=>[g.value?(l(),n("div",W,[o(D,{class:"text-primary"})])):m.value.length===0?(l(),n("div",X,[o(S,{title:"No API keys yet",description:"Create a key to ingest Claude Code sessions.",icons:[p(H),p(G),p(J)],"action-label":"Generate key",onAction:w},null,8,["icons"])])):(l(),n("table",Y,[e[7]||(e[7]=t("thead",null,[t("tr",{class:"border-b border-border"},[t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Label"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Prefix"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Created"),t("th",{class:"text-left text-xs font-medium text-muted-foreground px-4 py-3"},"Last Used"),t("th",{class:"px-4 py-3"})])],-1)),t("tbody",null,[(l(!0),n(M,null,U(m.value,s=>(l(),n("tr",{key:s.id,class:"border-b border-border last:border-0 hover:bg-muted/30"},[t("td",Z,c(s.label),1),t("td",ee,c(s.prefix)+"...",1),t("td",te,c(p(V)(s.created_at)),1),t("td",se,c(s.last_used?p(V)(s.last_used):"Never"),1),t("td",oe,[o(y,{variant:"ghost",size:"sm",class:"text-destructive focus-visible:ring-destructive",onClick:de=>P(s)},{default:r(()=>[...e[6]||(e[6]=[_(" Revoke ",-1)])]),_:1},8,["onClick"])])]))),128))])]))]),_:1})]),_:1}),o(B,{open:v.value,title:"Create API Key",onClose:e[2]||(e[2]=s=>v.value=!1)},{footer:r(()=>[o(y,{variant:"outline",onClick:e[1]||(e[1]=s=>v.value=!1)},{default:r(()=>[_(c(d.value?"Done":"Cancel"),1)]),_:1}),d.value?E("",!0):(l(),T(y,{key:0,loading:x.value,onClick:I},{default:r(()=>[...e[10]||(e[10]=[_(" Create ",-1)])]),_:1},8,["loading"]))]),default:r(()=>[t("div",ae,[d.value?(l(),n("div",le,[e[8]||(e[8]=t("p",{class:"text-xs text-emerald-400 font-medium mb-1"},"Key created — save it now!",-1)),t("p",ne,c(d.value),1)])):(l(),n("div",re,[e[9]||(e[9]=t("label",{class:"text-sm font-medium text-foreground"},"Label",-1)),o(j,{modelValue:f.value,"onUpdate:modelValue":e[0]||(e[0]=s=>f.value=s),placeholder:"e.g. claude-collector",disabled:x.value},null,8,["modelValue","disabled"])]))])]),_:1},8,["open"]),o(F,{open:b.value,"onUpdate:open":e[3]||(e[3]=s=>b.value=s),title:"Revoke API key",description:`This will permanently revoke '${(K=u.value)==null?void 0:K.label}'. Sessions using this key will stop ingesting.`,"confirm-text":($=u.value)==null?void 0:$.label,onConfirm:L},null,8,["open","description","confirm-text"])])}}});export{he as default}; diff --git a/src/static/assets/LiveView-DV3cgmZQ.js b/src/static/assets/LiveView-DV3cgmZQ.js deleted file mode 100644 index 94d9597..0000000 --- a/src/static/assets/LiveView-DV3cgmZQ.js +++ /dev/null @@ -1 +0,0 @@ -import{I as T,s as g,d as J,u as O,y as V,c as f,a as o,n as b,h as l,t as v,k as $,w as x,i as k,e as C,o as c,q as w,F as B,r as F,j as z}from"./index-DMlmI4VG.js";import{_ as A,a as D}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as N}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import"./utils-7WVCegLb.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";function I(E){const e=g([]),i=g(!1),m=g(null);let s=null,r=null,u=!1;function p(){if(!u)try{s=new EventSource(E),s.onopen=()=>{i.value=!0,m.value=null},s.onmessage=n=>{try{const y=JSON.parse(n.data);e.value.push({type:"message",data:y}),e.value.length>200&&e.value.shift()}catch{e.value.push({type:"message",data:n.data})}},s.addEventListener("session_start",n=>{try{e.value.push({type:"session_start",data:JSON.parse(n.data)})}catch{e.value.push({type:"session_start",data:n.data})}e.value.length>200&&e.value.shift()}),s.addEventListener("session_end",n=>{try{e.value.push({type:"session_end",data:JSON.parse(n.data)})}catch{e.value.push({type:"session_end",data:n.data})}e.value.length>200&&e.value.shift()}),s.addEventListener("activity",n=>{try{e.value.push({type:"activity",data:JSON.parse(n.data)})}catch{e.value.push({type:"activity",data:n.data})}e.value.length>200&&e.value.shift()}),s.onerror=()=>{i.value=!1,m.value="Connection lost, reconnecting...",s==null||s.close(),s=null,u||(r=setTimeout(()=>p(),5e3))}}catch{m.value="Failed to connect to event stream",u||(r=setTimeout(()=>p(),5e3))}}function _(){u=!0,r&&clearTimeout(r),s==null||s.close(),s=null,i.value=!1}function h(){e.value=[]}return T(()=>{_()}),{events:e,connected:i,error:m,connect:p,disconnect:_,clearEvents:h}}const U={class:"p-6 h-full flex flex-col"},R={class:"flex items-center gap-3 mb-4"},q={class:"flex items-center gap-2"},M={class:"text-xs text-muted-foreground"},P={key:0,class:"mb-4 text-xs text-amber-400 bg-amber-500/10 border border-amber-500/30 rounded px-3 py-2"},W={key:0,class:"flex items-center justify-center h-full text-sm text-muted-foreground"},G={key:1,class:"overflow-y-auto h-full font-mono text-xs"},H={class:"flex-1 min-w-0"},K={class:"flex items-center gap-2 flex-wrap"},Q={key:0,class:"text-muted-foreground"},X={class:"text-muted-foreground truncate mt-0.5"},ne=J({__name:"LiveView",setup(E){const e=O(),i=e.getToken(),m=`/cc-dashboard/api/events${i?`?token=${encodeURIComponent(i)}`:""}`,{events:s,connected:r,error:u,connect:p,clearEvents:_}=I(m);V(()=>{e.isAuthenticated&&i&&p()});const h=z(()=>[...s.value].reverse().slice(0,100));function n(t){return t==="session_start"?"text-emerald-400":t==="session_end"?"text-amber-400":t==="activity"?"text-blue-400":"text-muted-foreground"}function y(t){return t==="session_start"?"▶":t==="session_end"?"■":t==="activity"?"●":"○"}function j(t){if(typeof t=="string")return t;if(t&&typeof t=="object"){const a=t;return a.message||a.summary||JSON.stringify(t)}return String(t)}function S(t){if(t&&typeof t=="object"){const a=t;return a.display_name||a.project_id||""}return""}return(t,a)=>(c(),f("div",U,[o("div",R,[a[2]||(a[2]=o("h2",{class:"text-lg font-semibold text-foreground flex-1"},"Live Feed",-1)),o("div",q,[o("div",{class:b(["h-2 w-2 rounded-full",l(r)?"bg-emerald-500 animate-pulse":"bg-red-500"])},null,2),o("span",M,v(l(r)?"Connected":"Disconnected"),1)]),l(r)?k("",!0):(c(),$(N,{key:0,variant:"outline",size:"sm",onClick:l(p)},{default:x(()=>[...a[0]||(a[0]=[w(" Reconnect ",-1)])]),_:1},8,["onClick"])),C(N,{variant:"ghost",size:"sm",onClick:l(_)},{default:x(()=>[...a[1]||(a[1]=[w(" Clear ",-1)])]),_:1},8,["onClick"])]),l(u)&&!l(r)?(c(),f("div",P,v(l(u)),1)):k("",!0),C(A,{class:"flex-1 overflow-hidden"},{default:x(()=>[C(D,{class:"p-0 h-full"},{default:x(()=>[h.value.length===0?(c(),f("div",W,[...a[3]||(a[3]=[o("div",{class:"text-center"},[o("div",{class:"text-2xl mb-2"},"📡"),o("p",null,"Waiting for events..."),o("p",{class:"text-xs mt-1"},"Activity will appear here in real-time")],-1)])])):(c(),f("div",G,[(c(!0),f(B,null,F(h.value,(d,L)=>(c(),f("div",{key:L,class:"flex items-start gap-2 px-4 py-1.5 hover:bg-muted/50 border-b border-border/30"},[o("span",{class:b([n(d.type),"shrink-0 mt-0.5"])},v(y(d.type)),3),o("div",H,[o("div",K,[o("span",{class:b([n(d.type),"font-medium"])},v(d.type),3),S(d.data)?(c(),f("span",Q,v(S(d.data)),1)):k("",!0)]),o("p",X,v(j(d.data)),1)])]))),128))]))]),_:1})]),_:1})]))}});export{ne as default}; diff --git a/src/static/assets/LiveView-Drr7Q-W3.js b/src/static/assets/LiveView-Drr7Q-W3.js new file mode 100644 index 0000000..cb0dac2 --- /dev/null +++ b/src/static/assets/LiveView-Drr7Q-W3.js @@ -0,0 +1,6 @@ +import{y as J,s as b,d as M,u as O,A as V,c as f,a as i,n as k,h as o,t as v,k as N,w as g,i as C,e as _,o as l,q as j,F as B,r as F,j as I}from"./index-BiYpJJoC.js";import{_ as R,a as z}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as L}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as S}from"./Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js";import{_ as A}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{c as D}from"./createLucideIcon-D7qP-VdO.js";import{Z as U}from"./zap-CGuBGf0F.js";import"./utils-7WVCegLb.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z=D("RadioIcon",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);function q(w){const e=b([]),c=b(!1),m=b(null);let s=null,r=null,u=!1;function p(){if(!u)try{s=new EventSource(w),s.onopen=()=>{c.value=!0,m.value=null},s.onmessage=n=>{try{const x=JSON.parse(n.data);e.value.push({type:"message",data:x}),e.value.length>200&&e.value.shift()}catch{e.value.push({type:"message",data:n.data})}},s.addEventListener("session_start",n=>{try{e.value.push({type:"session_start",data:JSON.parse(n.data)})}catch{e.value.push({type:"session_start",data:n.data})}e.value.length>200&&e.value.shift()}),s.addEventListener("session_end",n=>{try{e.value.push({type:"session_end",data:JSON.parse(n.data)})}catch{e.value.push({type:"session_end",data:n.data})}e.value.length>200&&e.value.shift()}),s.addEventListener("activity",n=>{try{e.value.push({type:"activity",data:JSON.parse(n.data)})}catch{e.value.push({type:"activity",data:n.data})}e.value.length>200&&e.value.shift()}),s.onerror=()=>{c.value=!1,m.value="Connection lost, reconnecting...",s==null||s.close(),s=null,u||(r=setTimeout(()=>p(),5e3))}}catch{m.value="Failed to connect to event stream",u||(r=setTimeout(()=>p(),5e3))}}function y(){u=!0,r&&clearTimeout(r),s==null||s.close(),s=null,c.value=!1}function h(){e.value=[]}return J(()=>{y()}),{events:e,connected:c,error:m,connect:p,disconnect:y,clearEvents:h}}const P={class:"p-6 h-full flex flex-col"},G={class:"flex items-center gap-3 mb-4"},H={class:"flex items-center gap-2"},K={class:"text-xs text-muted-foreground"},Q={key:0,class:"mb-4 text-xs text-amber-400 bg-amber-500/10 border border-amber-500/30 rounded px-3 py-2"},W={key:0,class:"p-4 space-y-4"},X={key:2,class:"overflow-y-auto h-full font-mono text-xs space-y-0"},Y={class:"flex-1 min-w-0"},ee={class:"flex items-center gap-2 flex-wrap"},te={key:0,class:"text-muted-foreground"},se={class:"text-muted-foreground truncate mt-0.5"},fe=M({__name:"LiveView",setup(w){const e=O(),c=e.getToken(),m=`/cc-dashboard/api/events${c?`?token=${encodeURIComponent(c)}`:""}`,{events:s,connected:r,error:u,connect:p,clearEvents:y}=q(m);V(()=>{e.isAuthenticated&&c&&p()});const h=I(()=>[...s.value].reverse().slice(0,100));function n(t){return t==="session_start"?"text-emerald-400":t==="session_end"?"text-amber-400":t==="activity"?"text-blue-400":"text-muted-foreground"}function x(t){return t==="session_start"?"▶":t==="session_end"?"■":t==="activity"?"●":"○"}function $(t){if(typeof t=="string")return t;if(t&&typeof t=="object"){const a=t;return a.message||a.summary||JSON.stringify(t)}return String(t)}function E(t){if(t&&typeof t=="object"){const a=t;return a.display_name||a.project_id||""}return""}return(t,a)=>(l(),f("div",P,[i("div",G,[a[2]||(a[2]=i("h2",{class:"text-lg font-semibold text-foreground flex-1"},"Live Feed",-1)),i("div",H,[i("div",{class:k(["h-2 w-2 rounded-full",o(r)?"bg-emerald-500 animate-pulse":"bg-red-500"])},null,2),i("span",K,v(o(r)?"Connected":"Disconnected"),1)]),o(r)?C("",!0):(l(),N(L,{key:0,variant:"outline",size:"sm",onClick:o(p)},{default:g(()=>[...a[0]||(a[0]=[j(" Reconnect ",-1)])]),_:1},8,["onClick"])),_(L,{variant:"ghost",size:"sm",class:"focus-visible:ring-2 focus-visible:ring-ring",onClick:o(y)},{default:g(()=>[...a[1]||(a[1]=[j(" Clear ",-1)])]),_:1},8,["onClick"])]),o(u)&&!o(r)?(l(),f("div",Q,v(o(u)),1)):C("",!0),_(R,{class:"flex-1 overflow-hidden"},{default:g(()=>[_(z,{class:"p-0 h-full"},{default:g(()=>[!o(r)&&h.value.length===0?(l(),f("div",W,[_(S,{class:"h-24 w-full rounded-xl"}),_(S,{class:"h-24 w-full rounded-xl"}),_(S,{class:"h-24 w-full rounded-xl"})])):h.value.length===0?(l(),N(A,{key:1,title:"No live sessions",description:"Start a Claude Code session to see activity here.",icons:[o(Z),o(U)]},null,8,["icons"])):(l(),f("div",X,[(l(!0),f(B,null,F(h.value,(d,T)=>(l(),f("div",{key:T,class:"flex items-start gap-2 px-4 py-2 hover:bg-muted/50 border-b border-border/30"},[i("span",{class:k([n(d.type),"shrink-0 mt-0.5"])},v(x(d.type)),3),i("div",Y,[i("div",ee,[i("span",{class:k([n(d.type),"font-medium"])},v(d.type),3),E(d.data)?(l(),f("span",te,v(E(d.data)),1)):C("",!0)]),i("p",se,v($(d.data)),1)])]))),128))]))]),_:1})]),_:1})]))}});export{fe as default}; diff --git a/src/static/assets/LoginView-C-vqc_8I.js b/src/static/assets/LoginView-C-vqc_8I.js deleted file mode 100644 index 183635c..0000000 --- a/src/static/assets/LoginView-C-vqc_8I.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,u as f,c as o,a as t,b as m,e as a,w as d,o as r,f as g,g as p,h as i,t as x,i as w}from"./index-DMlmI4VG.js";import{_ as y,a as b}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import"./utils-7WVCegLb.js";const v={class:"min-h-screen flex items-center justify-center bg-background p-4"},_={class:"w-full max-w-sm"},k={class:"space-y-4"},C={key:0,class:"rounded-md bg-destructive/10 border border-destructive/30 px-3 py-2 text-sm text-destructive"},B=["disabled"],V={key:0},S={key:1},M=h({__name:"LoginView",setup(F){const c=g(),l=p(),s=f();async function u(){try{await s.loginWithMicrosoft();const n=l.query.redirect;c.push(n??"/")}catch{}}return(n,e)=>(r(),o("div",v,[t("div",_,[e[2]||(e[2]=m('

CC Dashboard

Corporate Planning Hub

',1)),a(y,null,{default:d(()=>[a(b,{class:"pt-6"},{default:d(()=>[t("div",k,[i(s).error?(r(),o("div",C,x(i(s).error),1)):w("",!0),t("button",{type:"button",disabled:i(s).loading,class:"w-full flex items-center justify-center gap-3 rounded-md border border-border bg-white px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",onClick:u},[e[0]||(e[0]=t("svg",{class:"h-5 w-5 shrink-0",viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[t("rect",{x:"1",y:"1",width:"9",height:"9",fill:"#F25022"}),t("rect",{x:"11",y:"1",width:"9",height:"9",fill:"#7FBA00"}),t("rect",{x:"1",y:"11",width:"9",height:"9",fill:"#00A4EF"}),t("rect",{x:"11",y:"11",width:"9",height:"9",fill:"#FFB900"})],-1)),i(s).loading?(r(),o("span",V,"Signing in…")):(r(),o("span",S,"Sign in with Microsoft"))],8,B),e[1]||(e[1]=t("p",{class:"text-center text-xs text-muted-foreground"}," Use your @oliver.agency account ",-1))])]),_:1})]),_:1})])]))}});export{M as default}; diff --git a/src/static/assets/LoginView-DmmhvYTb.js b/src/static/assets/LoginView-DmmhvYTb.js new file mode 100644 index 0000000..a9a459e --- /dev/null +++ b/src/static/assets/LoginView-DmmhvYTb.js @@ -0,0 +1 @@ +import{d as h,u as f,c as o,a as e,b as g,e as a,w as d,o as i,f as m,g as p,h as r,t as x,i as b}from"./index-BiYpJJoC.js";import{_ as v,a as w}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import"./utils-7WVCegLb.js";const y={class:"min-h-screen flex items-center justify-center bg-background p-4"},_={class:"w-full max-w-sm"},k={class:"space-y-4"},C={key:0,class:"rounded-md bg-destructive/10 border border-destructive/30 px-3 py-2 text-sm text-destructive"},B=["disabled"],V={key:0},S={key:1},M=h({__name:"LoginView",setup(F){const l=m(),c=p(),s=f();async function u(){try{await s.loginWithMicrosoft();const n=c.query.redirect;l.push(n??"/")}catch{}}return(n,t)=>(i(),o("div",y,[e("div",_,[t[2]||(t[2]=g('

CC Dashboard

Corporate Planning Hub

',1)),a(v,null,{default:d(()=>[a(w,{class:"pt-6"},{default:d(()=>[e("div",k,[r(s).error?(i(),o("div",C,x(r(s).error),1)):b("",!0),e("button",{type:"button",disabled:r(s).loading,class:"w-full flex items-center justify-center gap-3 rounded-md border border-border bg-white px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",onClick:u},[t[0]||(t[0]=e("svg",{class:"h-5 w-5 shrink-0",viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("rect",{x:"1",y:"1",width:"9",height:"9",fill:"#F25022"}),e("rect",{x:"11",y:"1",width:"9",height:"9",fill:"#7FBA00"}),e("rect",{x:"1",y:"11",width:"9",height:"9",fill:"#00A4EF"}),e("rect",{x:"11",y:"11",width:"9",height:"9",fill:"#FFB900"})],-1)),r(s).loading?(i(),o("span",V,"Signing in…")):(i(),o("span",S,"Sign in with Microsoft"))],8,B),t[1]||(t[1]=e("p",{class:"text-center text-xs text-muted-foreground"}," Use your @oliver.agency account ",-1))])]),_:1})]),_:1})])]))}});export{M as default}; diff --git a/src/static/assets/OmgView-BM5Lo3rq.js b/src/static/assets/OmgView-BM5Lo3rq.js new file mode 100644 index 0000000..f8957ee --- /dev/null +++ b/src/static/assets/OmgView-BM5Lo3rq.js @@ -0,0 +1,11 @@ +import{D as B,d as G,A as Q,K as b,c as w,a as o,e as a,w as d,k as x,h as I,F as R,r as W,s as c,o as u,q as z,E as k,t as K,n as J,C as X}from"./index-BiYpJJoC.js";import{_ as Y}from"./Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js";import{_ as y}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as Z}from"./Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js";import{_ as C}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as ee}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{_ as te}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";import{_ as V}from"./Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js";import{_ as oe}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{F as le}from"./file-text-C0mXX88J.js";import{P as ne}from"./plus-PpKYs9wJ.js";import{c as L}from"./createLucideIcon-D7qP-VdO.js";import"./utils-7WVCegLb.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ae=L("PencilIcon",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const se=L("Trash2Icon",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),$={list:()=>B.get("/api/omg"),create:g=>B.post("/api/omg",g),update:(g,i)=>B.patch(`/api/omg/${g}`,i),remove:g=>B.delete(`/api/omg/${g}`)},ie={class:"p-6"},re={class:"flex items-center gap-3 mb-6"},de={key:0,class:"flex items-center justify-center h-40"},ue={key:2,class:"border border-border rounded-xl overflow-hidden"},ce=["onDblclick"],me=["onDblclick"],ve=["onDblclick"],fe={class:"flex items-center justify-end gap-1"},pe={class:"space-y-1.5"},be={class:"grid grid-cols-2 gap-3"},xe={class:"space-y-1.5"},ge={class:"space-y-1.5"},_e={class:"space-y-1.5"},Ue=G({__name:"OmgView",setup(g){const i=c([]),U=c(!1),j=c(!1),m=c(null),v=c(!1),s=c({name:"",client:"",job_number:"",notes:""}),r=c(null),f=c(""),A=c(!1),D=c(null);Q(O);async function O(){U.value=!0;try{const l=await $.list();i.value=l.data}catch{b.error("Failed to load entries")}finally{U.value=!1}}function P(){m.value=null,s.value={name:"",client:"",job_number:"",notes:""},j.value=!0}function S(l){m.value=l,s.value={name:l.name,client:l.client,job_number:l.job_number,notes:l.notes},j.value=!0}function F(){j.value=!1,m.value=null}async function T(){if(s.value.name.trim()){v.value=!0;try{const l={name:s.value.name.trim(),client:s.value.client.trim(),job_number:s.value.job_number.trim(),notes:s.value.notes.trim()};if(m.value){const e=await $.update(m.value.id,l),t=i.value.findIndex(p=>p.id===m.value.id);t!==-1&&(i.value[t]=e.data),b.success("Entry updated")}else{const e=await $.create(l);i.value.push(e.data),i.value.sort((t,p)=>t.name.localeCompare(p.name)),b.success("Entry created")}F()}catch{b.error("Failed to save entry")}finally{v.value=!1}}}function q(l){D.value=l.id,A.value=!0}async function H(){if(!D.value)return;const l=D.value;D.value=null;try{await $.remove(l),i.value=i.value.filter(e=>e.id!==l),b.success("Entry deleted")}catch{b.error("Failed to delete entry")}}function M(l,e){r.value={id:l.id,field:e},f.value=l[e]}async function _(l){if(!r.value)return;const e=r.value.field,t=f.value.trim();if(t===l[e]){r.value=null;return}try{const p=await $.update(l.id,{[e]:t}),h=i.value.findIndex(E=>E.id===l.id);h!==-1&&(i.value[h]=p.data)}catch{b.error("Failed to update")}r.value=null}function N(){r.value=null}return(l,e)=>(u(),w("div",ie,[o("div",re,[e[9]||(e[9]=o("h2",{class:"text-lg font-semibold text-foreground flex-1"},"OMG",-1)),a(C,{size:"sm",onClick:P},{default:d(()=>[...e[8]||(e[8]=[o("svg",{class:"h-3.5 w-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1),z(" Add entry ",-1)])]),_:1})]),U.value?(u(),w("div",de,[a(ee,{size:"lg",class:"text-primary"})])):i.value.length===0?(u(),x(oe,{key:1,title:"No entries yet",description:'Click "Add entry" to create one.',icons:[I(le),I(ne)],"action-label":"Add entry",onAction:P},null,8,["icons"])):(u(),w("div",ue,[e[10]||(e[10]=o("div",{class:"grid grid-cols-[1fr_1fr_140px_96px] gap-4 px-4 py-2.5 bg-muted/30 border-b border-border text-xs font-semibold text-muted-foreground uppercase tracking-wide"},[o("span",null,"Project name"),o("span",null,"Client"),o("span",null,"Job #"),o("span",{class:"text-right"},"Actions")],-1)),(u(!0),w(R,null,W(i.value,t=>{var p,h,E;return u(),w("div",{key:t.id,class:"grid grid-cols-[1fr_1fr_140px_96px] gap-4 px-4 py-3 border-b border-border last:border-0 items-center hover:bg-muted/10 transition-colors"},[o("div",null,[((p=r.value)==null?void 0:p.id)===t.id&&r.value.field==="name"?(u(),x(y,{key:0,"model-value":f.value,class:"h-7 border-0 border-b border-primary rounded-none bg-transparent px-0 focus-visible:ring-0 text-sm",autofocus:"","onUpdate:modelValue":e[0]||(e[0]=n=>f.value=n),onBlur:n=>_(t),onKeydown:[k(n=>_(t),["enter"]),k(N,["escape"])]},null,8,["model-value","onBlur","onKeydown"])):(u(),x(V,{key:1,content:"Double-click to edit"},{default:d(()=>[o("span",{class:"text-sm font-medium text-foreground cursor-pointer hover:text-primary transition-colors",onDblclick:n=>M(t,"name")},K(t.name),41,ce)]),_:2},1024))]),o("div",null,[((h=r.value)==null?void 0:h.id)===t.id&&r.value.field==="client"?(u(),x(y,{key:0,"model-value":f.value,class:"h-7 border-0 border-b border-primary rounded-none bg-transparent px-0 focus-visible:ring-0 text-sm",autofocus:"","onUpdate:modelValue":e[1]||(e[1]=n=>f.value=n),onBlur:n=>_(t),onKeydown:[k(n=>_(t),["enter"]),k(N,["escape"])]},null,8,["model-value","onBlur","onKeydown"])):(u(),x(V,{key:1,content:"Double-click to edit"},{default:d(()=>[o("span",{class:J(["text-sm text-muted-foreground cursor-pointer hover:text-foreground transition-colors",t.client?"":"italic opacity-40"]),onDblclick:n=>M(t,"client")},K(t.client||"No client"),43,me)]),_:2},1024))]),o("div",null,[((E=r.value)==null?void 0:E.id)===t.id&&r.value.field==="job_number"?(u(),x(y,{key:0,"model-value":f.value,class:"h-7 border-0 border-b border-primary rounded-none bg-transparent px-0 focus-visible:ring-0 text-sm",autofocus:"","onUpdate:modelValue":e[2]||(e[2]=n=>f.value=n),onBlur:n=>_(t),onKeydown:[k(n=>_(t),["enter"]),k(N,["escape"])]},null,8,["model-value","onBlur","onKeydown"])):(u(),x(V,{key:1,content:"Double-click to edit"},{default:d(()=>[o("span",{class:J(["text-sm tabular-nums cursor-pointer hover:text-foreground transition-colors",t.job_number?"text-foreground":"text-muted-foreground/40 italic"]),onDblclick:n=>M(t,"job_number")},K(t.job_number||"—"),43,ve)]),_:2},1024))]),o("div",fe,[a(V,{content:"Edit entry"},{default:d(()=>[a(C,{variant:"ghost",size:"icon",class:"text-muted-foreground hover:text-foreground",onClick:n=>S(t)},{default:d(()=>[a(I(ae),{class:"h-4 w-4"})]),_:1},8,["onClick"])]),_:2},1024),a(V,{content:"Delete entry"},{default:d(()=>[a(C,{variant:"ghost",size:"icon",class:"text-muted-foreground hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-950/30",onClick:n=>q(t)},{default:d(()=>[a(I(se),{class:"h-4 w-4"})]),_:1},8,["onClick"])]),_:2},1024)])])}),128))])),a(Y,{open:j.value,title:m.value?"Edit Entry":"New Entry","max-width":"max-w-md",onClose:F},{footer:d(()=>[a(C,{variant:"outline",disabled:v.value,onClick:F},{default:d(()=>[...e[15]||(e[15]=[z("Cancel",-1)])]),_:1},8,["disabled"]),a(C,{loading:v.value,onClick:T},{default:d(()=>[z(K(m.value?"Update":"Create"),1)]),_:1},8,["loading"])]),default:d(()=>[o("form",{class:"space-y-4",onSubmit:X(T,["prevent"])},[o("div",pe,[e[11]||(e[11]=o("label",{class:"text-sm font-medium text-foreground"},"Project name *",-1)),a(y,{modelValue:s.value.name,"onUpdate:modelValue":e[3]||(e[3]=t=>s.value.name=t),placeholder:"Project name...",disabled:v.value,autofocus:""},null,8,["modelValue","disabled"])]),o("div",be,[o("div",xe,[e[12]||(e[12]=o("label",{class:"text-sm font-medium text-foreground"},"Client",-1)),a(y,{modelValue:s.value.client,"onUpdate:modelValue":e[4]||(e[4]=t=>s.value.client=t),placeholder:"Client...",disabled:v.value},null,8,["modelValue","disabled"])]),o("div",ge,[e[13]||(e[13]=o("label",{class:"text-sm font-medium text-foreground"},"Job #",-1)),a(y,{modelValue:s.value.job_number,"onUpdate:modelValue":e[5]||(e[5]=t=>s.value.job_number=t),placeholder:"J-001",disabled:v.value},null,8,["modelValue","disabled"])])]),o("div",_e,[e[14]||(e[14]=o("label",{class:"text-sm font-medium text-foreground"},"Notes",-1)),a(Z,{modelValue:s.value.notes,"onUpdate:modelValue":e[6]||(e[6]=t=>s.value.notes=t),placeholder:"Additional notes...",disabled:v.value},null,8,["modelValue","disabled"])])],32)]),_:1},8,["open","title"]),a(te,{open:A.value,"onUpdate:open":e[7]||(e[7]=t=>A.value=t),title:"Delete entry",description:"This action cannot be undone.",onConfirm:H},null,8,["open"])]))}});export{Ue as default}; diff --git a/src/static/assets/OmgView-BUhFe1Nr.js b/src/static/assets/OmgView-BUhFe1Nr.js deleted file mode 100644 index 3cf091e..0000000 --- a/src/static/assets/OmgView-BUhFe1Nr.js +++ /dev/null @@ -1 +0,0 @@ -import{E as C,d as J,y as L,K as b,c as r,a as o,e as u,w,F as O,r as P,s as f,o as d,q as K,G as _,t as V,n as A,D as S}from"./index-DMlmI4VG.js";import{_ as G}from"./Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js";import{_ as I}from"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import{_ as q}from"./Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js";import{_ as N}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as T}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import"./utils-7WVCegLb.js";const y={list:()=>C.get("/api/omg"),create:g=>C.post("/api/omg",g),update:(g,s)=>C.patch(`/api/omg/${g}`,s),remove:g=>C.delete(`/api/omg/${g}`)},Q={class:"p-6"},R={class:"flex items-center gap-3 mb-6"},W={key:0,class:"flex items-center justify-center h-40"},X={key:1,class:"text-center text-muted-foreground py-16"},Y={key:2,class:"border border-border rounded-xl overflow-hidden"},Z=["value","onBlur","onKeydown"],ee=["onDblclick"],te=["value","onBlur","onKeydown"],oe=["onDblclick"],le=["value","onBlur","onKeydown"],ne=["onDblclick"],ae={class:"flex items-center justify-end gap-1.5"},se=["onClick"],ie=["onClick"],re={class:"space-y-1.5"},de={class:"grid grid-cols-2 gap-3"},ue={class:"space-y-1.5"},ce={class:"space-y-1.5"},me={class:"space-y-1.5"},ke=J({__name:"OmgView",setup(g){const s=f([]),$=f(!1),h=f(!1),c=f(null),m=f(!1),a=f({name:"",client:"",job_number:"",notes:""}),i=f(null),v=f("");L(F);async function F(){$.value=!0;try{const l=await y.list();s.value=l.data}catch{b.error("Failed to load entries")}finally{$.value=!1}}function U(){c.value=null,a.value={name:"",client:"",job_number:"",notes:""},h.value=!0}function z(l){c.value=l,a.value={name:l.name,client:l.client,job_number:l.job_number,notes:l.notes},h.value=!0}function D(){h.value=!1,c.value=null}async function M(){if(a.value.name.trim()){m.value=!0;try{const l={name:a.value.name.trim(),client:a.value.client.trim(),job_number:a.value.job_number.trim(),notes:a.value.notes.trim()};if(c.value){const e=await y.update(c.value.id,l),t=s.value.findIndex(p=>p.id===c.value.id);t!==-1&&(s.value[t]=e.data),b.success("Entry updated")}else{const e=await y.create(l);s.value.push(e.data),s.value.sort((t,p)=>t.name.localeCompare(p.name)),b.success("Entry created")}D()}catch{b.error("Failed to save entry")}finally{m.value=!1}}}async function H(l){try{await y.remove(l.id),s.value=s.value.filter(e=>e.id!==l.id),b.success("Entry deleted")}catch{b.error("Failed to delete entry")}}function E(l,e){i.value={id:l.id,field:e},v.value=l[e]}async function x(l){if(!i.value)return;const e=i.value.field,t=v.value.trim();if(t===l[e]){i.value=null;return}try{const p=await y.update(l.id,{[e]:t}),k=s.value.findIndex(j=>j.id===l.id);k!==-1&&(s.value[k]=p.data)}catch{b.error("Failed to update")}i.value=null}function B(){i.value=null}return(l,e)=>(d(),r("div",Q,[o("div",R,[e[8]||(e[8]=o("h2",{class:"text-lg font-semibold text-foreground flex-1"},"OMG",-1)),u(N,{size:"sm",onClick:U},{default:w(()=>[...e[7]||(e[7]=[o("svg",{class:"h-3.5 w-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1),K(" Add entry ",-1)])]),_:1})]),$.value?(d(),r("div",W,[u(T,{size:"lg",class:"text-primary"})])):s.value.length===0?(d(),r("div",X,' No entries yet. Click "Add entry" to create one. ')):(d(),r("div",Y,[e[11]||(e[11]=o("div",{class:"grid grid-cols-[1fr_1fr_140px_80px] gap-4 px-4 py-2.5 bg-muted/30 border-b border-border text-xs font-semibold text-muted-foreground uppercase tracking-wide"},[o("span",null,"Project name"),o("span",null,"Client"),o("span",null,"Job #"),o("span",{class:"text-right"},"Actions")],-1)),(d(!0),r(O,null,P(s.value,t=>{var p,k,j;return d(),r("div",{key:t.id,class:"grid grid-cols-[1fr_1fr_140px_80px] gap-4 px-4 py-3 border-b border-border last:border-0 items-center hover:bg-muted/10 transition-colors"},[o("div",null,[((p=i.value)==null?void 0:p.id)===t.id&&i.value.field==="name"?(d(),r("input",{key:0,value:v.value,class:"w-full text-sm bg-transparent border-b border-primary outline-none py-0.5",autofocus:"",onInput:e[0]||(e[0]=n=>v.value=n.target.value),onBlur:n=>x(t),onKeydown:[_(n=>x(t),["enter"]),_(B,["escape"])]},null,40,Z)):(d(),r("span",{key:1,class:"text-sm font-medium text-foreground cursor-pointer hover:text-primary transition-colors",title:"Double-click to edit",onDblclick:n=>E(t,"name")},V(t.name),41,ee))]),o("div",null,[((k=i.value)==null?void 0:k.id)===t.id&&i.value.field==="client"?(d(),r("input",{key:0,value:v.value,class:"w-full text-sm bg-transparent border-b border-primary outline-none py-0.5",autofocus:"",onInput:e[1]||(e[1]=n=>v.value=n.target.value),onBlur:n=>x(t),onKeydown:[_(n=>x(t),["enter"]),_(B,["escape"])]},null,40,te)):(d(),r("span",{key:1,class:A(["text-sm text-muted-foreground cursor-pointer hover:text-foreground transition-colors",t.client?"":"italic opacity-40"]),title:"Double-click to edit",onDblclick:n=>E(t,"client")},V(t.client||"No client"),43,oe))]),o("div",null,[((j=i.value)==null?void 0:j.id)===t.id&&i.value.field==="job_number"?(d(),r("input",{key:0,value:v.value,class:"w-full text-sm bg-transparent border-b border-primary outline-none py-0.5",autofocus:"",onInput:e[2]||(e[2]=n=>v.value=n.target.value),onBlur:n=>x(t),onKeydown:[_(n=>x(t),["enter"]),_(B,["escape"])]},null,40,le)):(d(),r("span",{key:1,class:A(["text-sm tabular-nums cursor-pointer hover:text-foreground transition-colors",t.job_number?"text-foreground":"text-muted-foreground/40 italic"]),title:"Double-click to edit",onDblclick:n=>E(t,"job_number")},V(t.job_number||"—"),43,ne))]),o("div",ae,[o("button",{class:"h-7 w-7 rounded flex items-center justify-center text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",title:"Edit",onClick:n=>z(t)},[...e[9]||(e[9]=[o("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])],8,se),o("button",{class:"h-7 w-7 rounded flex items-center justify-center text-muted-foreground hover:text-red-500 hover:bg-red-50 transition-colors",title:"Delete",onClick:n=>H(t)},[...e[10]||(e[10]=[o("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,ie)])])}),128))])),u(G,{open:h.value,title:c.value?"Edit Entry":"New Entry","max-width":"max-w-md",onClose:D},{footer:w(()=>[u(N,{variant:"outline",disabled:m.value,onClick:D},{default:w(()=>[...e[16]||(e[16]=[K("Cancel",-1)])]),_:1},8,["disabled"]),u(N,{loading:m.value,onClick:M},{default:w(()=>[K(V(c.value?"Update":"Create"),1)]),_:1},8,["loading"])]),default:w(()=>[o("form",{class:"space-y-4",onSubmit:S(M,["prevent"])},[o("div",re,[e[12]||(e[12]=o("label",{class:"text-sm font-medium text-foreground"},"Project name *",-1)),u(I,{modelValue:a.value.name,"onUpdate:modelValue":e[3]||(e[3]=t=>a.value.name=t),placeholder:"Project name...",disabled:m.value,autofocus:""},null,8,["modelValue","disabled"])]),o("div",de,[o("div",ue,[e[13]||(e[13]=o("label",{class:"text-sm font-medium text-foreground"},"Client",-1)),u(I,{modelValue:a.value.client,"onUpdate:modelValue":e[4]||(e[4]=t=>a.value.client=t),placeholder:"Client...",disabled:m.value},null,8,["modelValue","disabled"])]),o("div",ce,[e[14]||(e[14]=o("label",{class:"text-sm font-medium text-foreground"},"Job #",-1)),u(I,{modelValue:a.value.job_number,"onUpdate:modelValue":e[5]||(e[5]=t=>a.value.job_number=t),placeholder:"J-001",disabled:m.value},null,8,["modelValue","disabled"])])]),o("div",me,[e[15]||(e[15]=o("label",{class:"text-sm font-medium text-foreground"},"Notes",-1)),u(q,{modelValue:a.value.notes,"onUpdate:modelValue":e[6]||(e[6]=t=>a.value.notes=t),placeholder:"Additional notes...",disabled:m.value},null,8,["modelValue","disabled"])])],32)]),_:1},8,["open","title"])]))}});export{ke as default}; diff --git a/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js b/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js new file mode 100644 index 0000000..00a59fd --- /dev/null +++ b/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js @@ -0,0 +1,6 @@ +import{c as r}from"./createLucideIcon-D7qP-VdO.js";import{c as s}from"./utils-7WVCegLb.js";import{d as n,o as c,c as t,n as l,h as d,a as u,z as m}from"./index-BiYpJJoC.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const v=r("FolderOpenIcon",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),b=n({__name:"Progress",props:{value:{},max:{default:100},class:{},color:{default:"default"}},setup(a){const e=a,o=()=>Math.min(100,Math.max(0,e.value/e.max*100));return(i,f)=>(c(),t("div",{class:l(d(s)("relative h-2 w-full overflow-hidden rounded-full bg-secondary",e.class))},[u("div",{class:l(["h-full rounded-full transition-all duration-300",{"bg-primary":a.color==="default","bg-emerald-500":a.color==="success","bg-amber-500":a.color==="warning","bg-red-500":a.color==="danger"}]),style:m({width:`${o()}%`})},null,6)],2))}});export{v as F,b as _}; diff --git a/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js b/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js deleted file mode 100644 index afc2dd6..0000000 --- a/src/static/assets/Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js +++ /dev/null @@ -1 +0,0 @@ -import{c as r}from"./utils-7WVCegLb.js";import{d as s,o as n,c as t,n as l,h as c,a as d,B as u}from"./index-DMlmI4VG.js";const h=s({__name:"Progress",props:{value:{},max:{default:100},class:{},color:{default:"default"}},setup(a){const e=a,o=()=>Math.min(100,Math.max(0,e.value/e.max*100));return(i,m)=>(n(),t("div",{class:l(c(r)("relative h-2 w-full overflow-hidden rounded-full bg-secondary",e.class))},[d("div",{class:l(["h-full rounded-full transition-all duration-300",{"bg-primary":a.color==="default","bg-emerald-500":a.color==="success","bg-amber-500":a.color==="warning","bg-red-500":a.color==="danger"}]),style:u({width:`${o()}%`})},null,6)],2))}});export{h as _}; diff --git a/src/static/assets/ProjectDetailView-DmKhTvpx.js b/src/static/assets/ProjectDetailView-DmKhTvpx.js new file mode 100644 index 0000000..579769a --- /dev/null +++ b/src/static/assets/ProjectDetailView-DmKhTvpx.js @@ -0,0 +1,6 @@ +import{d as K,u as W,A as q,c as r,e as a,a as s,F as f,t as d,h as n,i as x,w as i,k as V,g as Q,f as X,s as h,G as Y,o as l,q as _,r as g,z as F,n as T,j as Z,K as E}from"./index-BiYpJJoC.js";import{d as ee}from"./dashboard-Ca6WcfdV.js";import{_ as y,a as b}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as k,a as w}from"./CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js";import{_ as z}from"./Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js";import{_ as S}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as H}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as D}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{_ as I}from"./Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js";import{f as B,b as J}from"./utils-7WVCegLb.js";import{F as te}from"./file-text-C0mXX88J.js";import{c as se}from"./createLucideIcon-D7qP-VdO.js";import{C as oe}from"./calendar-days-DjiBFm4u.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const le=se("WrenchIcon",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]),ae={class:"p-6"},re={key:0,class:"space-y-8"},ie={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},ne={class:"mb-8"},de={class:"flex items-start justify-between gap-4 flex-wrap"},ue={class:"flex-1 min-w-0"},ce={class:"flex items-center gap-3 mb-1 flex-wrap"},me={class:"text-xl font-bold text-foreground"},pe={key:0,class:"text-sm text-primary font-medium"},fe={class:"flex items-center gap-3 mt-1 flex-wrap"},_e={key:0,class:"text-sm text-muted-foreground"},xe={key:1,class:"text-xs bg-primary/8 text-primary border border-primary/20 px-2 py-0.5 rounded-full font-medium"},ve=["href"],he={key:1,class:"space-y-3"},ge={class:"grid grid-cols-2 gap-3"},ye={class:"space-y-2"},be={class:"space-y-2"},ke={class:"space-y-2"},we={class:"space-y-2"},je={class:"flex items-center gap-2"},Ce={class:"text-right shrink-0"},$e={class:"text-2xl font-bold text-foreground"},Ve={class:"h-32 flex items-end gap-px"},ze=["title"],Se={class:"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6"},Be={key:1,class:"space-y-1.5"},Ae=["title"],Fe={class:"text-foreground shrink-0 ml-2"},Te={key:1,class:"space-y-2"},De={class:"text-xs text-foreground w-24 truncate shrink-0"},Le={class:"flex-1 h-2 bg-secondary rounded-full overflow-hidden"},Ne={class:"text-xs text-muted-foreground w-8 text-right shrink-0"},Me={class:"space-y-1"},Pe=["onClick"],Re={class:"text-xs text-muted-foreground w-24 shrink-0"},Ue={class:"flex-1 h-1.5 bg-secondary rounded-full overflow-hidden"},Ee={class:"text-xs text-foreground w-16 text-right shrink-0 tabular-nums"},He={class:"text-xs text-muted-foreground w-12 text-right shrink-0"},Ie={key:1,class:"space-y-2"},Je={class:"flex-1 min-w-0"},Oe={class:"text-xs font-medium text-foreground"},Ge={class:"text-xs text-muted-foreground mt-0.5"},Ke={class:"flex items-start gap-2 shrink-0"},We={class:"text-right"},qe={class:"text-xs font-medium text-foreground"},Qe={class:"text-xs text-muted-foreground"},Xe=["onClick"],Ye={key:0,class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ze={key:1,class:"h-3.5 w-3.5 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},et={key:2,class:"text-center text-muted-foreground py-12"},xt=K({__name:"ProjectDetailView",setup(tt){const L=Q(),N=X(),j=L.params.id,m=L.params.date,M=W(),o=h(null),A=h(!1),v=h(null),C=h(!1),$=h(!1),u=Y({display_name:"",client:"",job_number:"",repo_url:""});function P(){o.value&&(u.display_name=o.value.project.display_name??"",u.client=o.value.project.client??"",u.job_number=o.value.project.job_number??"",u.repo_url=o.value.project.repo_url??"",C.value=!0)}async function O(){$.value=!0;try{const c=await fetch(`/cc-dashboard/api/projects/${j}`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${M.token}`},body:JSON.stringify(u)});if(!c.ok)throw new Error(await c.text());const t=await c.json();o.value&&(o.value.project.display_name=t.display_name,o.value.project.client=t.client,o.value.project.job_number=t.job_number,o.value.project.repo_url=t.repo_url),C.value=!1,E.success("Saved")}catch{E.error("Failed to save")}finally{$.value=!1}}q(async()=>{A.value=!0;try{const c=m?{from:m,to:m}:void 0,t=await ee.project(j,c);o.value=t.data}finally{A.value=!1}});const R=Z(()=>{var c;return Math.max(...((c=o.value)==null?void 0:c.daily.map(t=>t.hours))??[1],1)});async function G(c){if(!v.value){v.value=c;try{const t=await fetch(`/cc-dashboard/api/dashboard/sessions/${c}/summarize`,{method:"POST",headers:{Authorization:`Bearer ${M.token}`}});if(t.ok){const e=await t.json();if(o.value){const p=o.value.sessions.findIndex(U=>U.id===c);p!==-1&&(o.value.sessions[p]={...o.value.sessions[p],ai_title:e.title,ai_result:e.result})}}}catch{}finally{v.value=null}}}return(c,t)=>(l(),r("div",ae,[A.value?(l(),r("div",re,[a(z,{class:"h-16 w-full rounded-xl"}),a(z,{class:"h-64 w-full rounded-xl"}),s("div",ie,[a(z,{class:"h-48 w-full rounded-xl"}),a(z,{class:"h-48 w-full rounded-xl"})])])):o.value?(l(),r(f,{key:1},[s("div",ne,[s("div",de,[s("div",ue,[C.value?(l(),r("div",he,[s("div",ge,[s("div",ye,[t[7]||(t[7]=s("label",{class:"text-xs font-medium text-muted-foreground block"},"Project name",-1)),a(S,{modelValue:u.display_name,"onUpdate:modelValue":t[1]||(t[1]=e=>u.display_name=e),class:"h-8 text-sm"},null,8,["modelValue"])]),s("div",be,[t[8]||(t[8]=s("label",{class:"text-xs font-medium text-muted-foreground block"},"Client",-1)),a(S,{modelValue:u.client,"onUpdate:modelValue":t[2]||(t[2]=e=>u.client=e),class:"h-8 text-sm"},null,8,["modelValue"])]),s("div",ke,[t[9]||(t[9]=s("label",{class:"text-xs font-medium text-muted-foreground block"},"Job number",-1)),a(S,{modelValue:u.job_number,"onUpdate:modelValue":t[3]||(t[3]=e=>u.job_number=e),placeholder:"e.g. JOB-12345",class:"h-8 text-sm"},null,8,["modelValue"])]),s("div",we,[t[10]||(t[10]=s("label",{class:"text-xs font-medium text-muted-foreground block"},"Repo URL",-1)),a(S,{modelValue:u.repo_url,"onUpdate:modelValue":t[4]||(t[4]=e=>u.repo_url=e),placeholder:"https://github.com/...",class:"h-8 text-sm"},null,8,["modelValue"])])]),s("div",je,[a(H,{size:"sm",loading:$.value,onClick:O},{default:i(()=>[_(d($.value?"Saving…":"Save"),1)]),_:1},8,["loading"]),a(H,{variant:"ghost",size:"sm",onClick:t[5]||(t[5]=e=>C.value=!1)},{default:i(()=>[...t[11]||(t[11]=[_(" Cancel ",-1)])]),_:1})])])):(l(),r(f,{key:0},[s("div",ce,[s("h2",me,d(o.value.project.display_name),1),n(m)?(l(),r("span",pe,d(n(m)),1)):x("",!0),n(m)?(l(),r("button",{key:1,class:"text-xs text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",onClick:t[0]||(t[0]=e=>n(N).push({name:"project-detail",params:{id:n(j)}}))}," ← All time ")):x("",!0),a(I,{content:"Edit project"},{default:i(()=>[s("button",{class:"p-1 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted/40 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:P},[...t[6]||(t[6]=[s("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])])]),_:1})]),s("div",fe,[o.value.project.client?(l(),r("span",_e,d(o.value.project.client),1)):x("",!0),o.value.project.job_number?(l(),r("span",xe,d(o.value.project.job_number),1)):(l(),r("span",{key:2,class:"text-xs text-muted-foreground/60 border border-dashed border-muted-foreground/30 px-2 py-0.5 rounded-full cursor-pointer hover:border-primary/40 hover:text-primary/60 transition-colors",onClick:P}," + job number ")),o.value.project.repo_url?(l(),r("a",{key:3,href:o.value.project.repo_url,target:"_blank",class:"text-xs text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded"}," Repository → ",8,ve)):x("",!0)])],64))]),s("div",Ce,[s("p",$e,d(n(B)(o.value.daily.reduce((e,p)=>e+p.hours,0))),1),t[12]||(t[12]=s("p",{class:"text-xs text-muted-foreground"},"total hours",-1))])])]),a(y,{class:"mb-6"},{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...t[13]||(t[13]=[_("Daily Activity",-1)])]),_:1})]),_:1}),a(b,null,{default:i(()=>[s("div",Ve,[(l(!0),r(f,null,g(o.value.daily,e=>(l(),r("div",{key:e.date,class:"flex-1 bg-primary/70 hover:bg-primary rounded-t transition-colors",style:F({height:`${e.hours/R.value*100}%`}),title:`${e.date}: ${n(B)(e.hours)}`},null,12,ze))),128))])]),_:1})]),_:1}),s("div",Se,[a(y,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...t[14]||(t[14]=[_("Top Files",-1)])]),_:1})]),_:1}),a(b,null,{default:i(()=>[o.value.top_files.length?(l(),r("div",Be,[(l(!0),r(f,null,g(o.value.top_files.slice(0,10),e=>(l(),r("div",{key:e.file,class:"flex items-center justify-between text-xs"},[s("span",{class:"text-muted-foreground truncate max-w-[200px]",title:e.file},d(e.file.split("/").pop()),9,Ae),s("span",Fe,d(e.count)+"×",1)]))),128))])):(l(),V(D,{key:0,size:"sm",title:"No file data",description:"File activity will appear after sessions are processed.",icons:[n(te)]},null,8,["icons"]))]),_:1})]),_:1}),a(y,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...t[15]||(t[15]=[_("Tool Usage",-1)])]),_:1})]),_:1}),a(b,null,{default:i(()=>[o.value.top_tools.length?(l(),r("div",Te,[(l(!0),r(f,null,g(o.value.top_tools.slice(0,8),e=>(l(),r("div",{key:e.tool,class:"flex items-center gap-2"},[s("span",De,d(e.tool),1),s("div",Le,[s("div",{class:"h-full bg-primary rounded-full",style:F({width:`${e.pct}%`})},null,4)]),s("span",Ne,d((e.pct??0).toFixed(0))+"% ",1)]))),128))])):(l(),V(D,{key:0,size:"sm",title:"No tool data",description:"Tool usage stats will appear after sessions are processed.",icons:[n(le)]},null,8,["icons"]))]),_:1})]),_:1})]),!n(m)&&o.value.daily.length>0?(l(),V(y,{key:0,class:"mb-6"},{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...t[16]||(t[16]=[_("Daily Breakdown",-1)])]),_:1})]),_:1}),a(b,null,{default:i(()=>[s("div",Me,[(l(!0),r(f,null,g([...o.value.daily].reverse(),e=>(l(),r("div",{key:e.date,class:"flex items-center gap-3 px-2 py-2 rounded-lg hover:bg-muted/30 transition-colors cursor-pointer",onClick:p=>n(N).push({name:"project-detail",params:{id:n(j),date:e.date}})},[s("span",Re,d(e.date),1),s("div",Ue,[s("div",{class:"h-full bg-primary/70 rounded-full",style:F({width:`${e.hours/R.value*100}%`})},null,4)]),s("span",Ee,d(n(B)(e.hours)),1),s("span",He,d(e.sessions)+" sess.",1)],8,Pe))),128))])]),_:1})]),_:1})):x("",!0),a(y,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[_(d(n(m)?`Sessions — ${n(m)}`:"Recent Sessions"),1)]),_:1})]),_:1}),a(b,null,{default:i(()=>[o.value.sessions.length?(l(),r("div",Ie,[(l(!0),r(f,null,g(o.value.sessions,e=>{var p;return l(),r("div",{key:e.id,class:"flex items-start gap-3 py-2 border-b border-border last:border-0"},[s("div",Je,[s("p",Oe,d(e.ai_title||((p=e.work_summary)==null?void 0:p.substring(0,80))||n(J)(e.start_at)),1),s("p",Ge,d(n(J)(e.start_at)),1),e.ai_result?(l(),r("p",{key:0,class:T(["text-xs text-muted-foreground mt-0.5",n(m)?"":"line-clamp-2"])},d(e.ai_result),3)):e.work_summary&&e.ai_title?(l(),r("p",{key:1,class:T(["text-xs text-muted-foreground mt-0.5",n(m)?"":"line-clamp-2"])},d(e.work_summary),3)):x("",!0)]),s("div",Ke,[s("div",We,[s("p",qe,d(n(B)(e.active_hours)),1),s("p",Qe,d(e.commits.length)+" commits",1)]),a(I,{content:"Generate AI summary"},{default:i(()=>[s("button",{class:T(["flex h-8 w-8 items-center justify-center rounded text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{"opacity-50 cursor-not-allowed":v.value===e.id}]),onClick:U=>G(e.id)},[v.value!==e.id?(l(),r("svg",Ye,[...t[17]||(t[17]=[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09z"},null,-1)])])):(l(),r("svg",Ze,[...t[18]||(t[18]=[s("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),s("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])]))],10,Xe)]),_:2},1024)])])}),128))])):(l(),V(D,{key:0,size:"sm",title:"No sessions",description:"Sessions will appear here once Claude Code starts sending data.",icons:[n(oe)]},null,8,["icons"]))]),_:1})]),_:1})],64)):(l(),r("div",et," Project not found "))]))}});export{xt as default}; diff --git a/src/static/assets/ProjectDetailView-Dma43hMY.js b/src/static/assets/ProjectDetailView-Dma43hMY.js deleted file mode 100644 index 0d18130..0000000 --- a/src/static/assets/ProjectDetailView-Dma43hMY.js +++ /dev/null @@ -1 +0,0 @@ -import{d as J,u as O,y as K,c as l,e as a,F as f,a as e,t as n,h as d,i as x,z as S,A as z,w as i,k as q,g as G,f as I,s as v,H as Q,K as R,o as r,q as y,r as g,B as A,n as D,j as W}from"./index-DMlmI4VG.js";import{d as X}from"./dashboard-BOPmT7C3.js";import{_ as b,a as h}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as k,a as w}from"./CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js";import{_ as Y}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{f as B,b as U}from"./utils-7WVCegLb.js";const Z={class:"p-6"},ee={key:0,class:"flex items-center justify-center h-40"},te={class:"mb-6"},se={class:"flex items-start justify-between gap-4 flex-wrap"},oe={class:"flex-1 min-w-0"},re={class:"flex items-center gap-3 mb-1 flex-wrap"},le={class:"text-xl font-bold text-foreground"},ae={key:0,class:"text-sm text-primary font-medium"},ne={class:"flex items-center gap-3 mt-1 flex-wrap"},ie={key:0,class:"text-sm text-muted-foreground"},de={key:1,class:"text-xs bg-primary/8 text-primary border border-primary/20 px-2 py-0.5 rounded-full font-medium"},ue=["href"],ce={key:1,class:"space-y-3"},me={class:"grid grid-cols-2 gap-3"},pe={class:"flex items-center gap-2"},fe=["disabled"],xe={class:"text-right shrink-0"},_e={class:"text-2xl font-bold text-foreground"},ve={class:"h-32 flex items-end gap-px"},ye=["title"],ge={class:"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6"},be={key:0,class:"text-sm text-muted-foreground"},he={key:1,class:"space-y-1.5"},ke=["title"],we={class:"text-foreground shrink-0 ml-2"},je={key:0,class:"text-sm text-muted-foreground"},Ce={key:1,class:"space-y-2"},$e={class:"text-xs text-foreground w-24 truncate shrink-0"},Se={class:"flex-1 h-2 bg-secondary rounded-full overflow-hidden"},ze={class:"text-xs text-muted-foreground w-8 text-right shrink-0"},Be={class:"space-y-1"},Ve=["onClick"],Ae={class:"text-xs text-muted-foreground w-24 shrink-0"},De={class:"flex-1 h-1.5 bg-secondary rounded-full overflow-hidden"},Ne={class:"text-xs text-foreground w-16 text-right shrink-0 tabular-nums"},Te={class:"text-xs text-muted-foreground w-12 text-right shrink-0"},Le={key:0,class:"text-sm text-muted-foreground"},Me={key:1,class:"space-y-2"},Fe={class:"flex-1 min-w-0"},Pe={class:"text-xs font-medium text-foreground"},Re={class:"text-xs text-muted-foreground mt-0.5"},Ue={class:"flex items-start gap-2 shrink-0"},Ee={class:"text-right"},He={class:"text-xs font-medium text-foreground"},Je={class:"text-xs text-muted-foreground"},Oe=["onClick"],Ke={key:0,class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qe={key:1,class:"h-3.5 w-3.5 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},Ge={key:2,class:"text-center text-muted-foreground py-12"},tt=J({__name:"ProjectDetailView",setup(Ie){const N=G(),T=I(),j=N.params.id,m=N.params.date,L=O(),o=v(null),V=v(!1),_=v(null),C=v(!1),$=v(!1),u=Q({display_name:"",client:"",job_number:"",repo_url:""});function M(){o.value&&(u.display_name=o.value.project.display_name??"",u.client=o.value.project.client??"",u.job_number=o.value.project.job_number??"",u.repo_url=o.value.project.repo_url??"",C.value=!0)}async function E(){$.value=!0;try{const c=await fetch(`/cc-dashboard/api/projects/${j}`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${L.token}`},body:JSON.stringify(u)});if(!c.ok)throw new Error(await c.text());const s=await c.json();o.value&&(o.value.project.display_name=s.display_name,o.value.project.client=s.client,o.value.project.job_number=s.job_number,o.value.project.repo_url=s.repo_url),C.value=!1,R.success("Saved")}catch{R.error("Failed to save")}finally{$.value=!1}}K(async()=>{V.value=!0;try{const c=m?{from:m,to:m}:void 0,s=await X.project(j,c);o.value=s.data}finally{V.value=!1}});const F=W(()=>{var c;return Math.max(...((c=o.value)==null?void 0:c.daily.map(s=>s.hours))??[1],1)});async function H(c){if(!_.value){_.value=c;try{const s=await fetch(`/cc-dashboard/api/dashboard/sessions/${c}/summarize`,{method:"POST",headers:{Authorization:`Bearer ${L.token}`}});if(s.ok){const t=await s.json();if(o.value){const p=o.value.sessions.findIndex(P=>P.id===c);p!==-1&&(o.value.sessions[p]={...o.value.sessions[p],ai_title:t.title,ai_result:t.result})}}}catch{}finally{_.value=null}}}return(c,s)=>(r(),l("div",Z,[V.value?(r(),l("div",ee,[a(Y,{size:"lg",class:"text-primary"})])):o.value?(r(),l(f,{key:1},[e("div",te,[e("div",se,[e("div",oe,[C.value?(r(),l("div",ce,[e("div",me,[e("div",null,[s[7]||(s[7]=e("label",{class:"text-xs font-medium text-muted-foreground mb-1 block"},"Project name",-1)),S(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>u.display_name=t),class:"w-full px-3 py-1.5 text-sm rounded-lg border border-border bg-background focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary"},null,512),[[z,u.display_name]])]),e("div",null,[s[8]||(s[8]=e("label",{class:"text-xs font-medium text-muted-foreground mb-1 block"},"Client",-1)),S(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>u.client=t),class:"w-full px-3 py-1.5 text-sm rounded-lg border border-border bg-background focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary"},null,512),[[z,u.client]])]),e("div",null,[s[9]||(s[9]=e("label",{class:"text-xs font-medium text-muted-foreground mb-1 block"},"Job number",-1)),S(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>u.job_number=t),placeholder:"e.g. JOB-12345",class:"w-full px-3 py-1.5 text-sm rounded-lg border border-border bg-background focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary"},null,512),[[z,u.job_number]])]),e("div",null,[s[10]||(s[10]=e("label",{class:"text-xs font-medium text-muted-foreground mb-1 block"},"Repo URL",-1)),S(e("input",{"onUpdate:modelValue":s[4]||(s[4]=t=>u.repo_url=t),placeholder:"https://github.com/...",class:"w-full px-3 py-1.5 text-sm rounded-lg border border-border bg-background focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary"},null,512),[[z,u.repo_url]])])]),e("div",pe,[e("button",{disabled:$.value,class:"px-3 py-1.5 text-xs font-semibold rounded-lg bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors",onClick:E},n($.value?"Saving…":"Save"),9,fe),e("button",{class:"px-3 py-1.5 text-xs font-medium rounded-lg text-muted-foreground hover:bg-muted/40 transition-colors",onClick:s[5]||(s[5]=t=>C.value=!1)}," Cancel ")])])):(r(),l(f,{key:0},[e("div",re,[e("h2",le,n(o.value.project.display_name),1),d(m)?(r(),l("span",ae,n(d(m)),1)):x("",!0),d(m)?(r(),l("button",{key:1,class:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:s[0]||(s[0]=t=>d(T).push({name:"project-detail",params:{id:d(j)}}))}," ← All time ")):x("",!0),e("button",{class:"p-1 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted/40 transition-colors",title:"Edit project",onClick:M},[...s[6]||(s[6]=[e("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])])]),e("div",ne,[o.value.project.client?(r(),l("span",ie,n(o.value.project.client),1)):x("",!0),o.value.project.job_number?(r(),l("span",de,n(o.value.project.job_number),1)):(r(),l("span",{key:2,class:"text-xs text-muted-foreground/60 border border-dashed border-muted-foreground/30 px-2 py-0.5 rounded-full cursor-pointer hover:border-primary/40 hover:text-primary/60 transition-colors",onClick:M}," + job number ")),o.value.project.repo_url?(r(),l("a",{key:3,href:o.value.project.repo_url,target:"_blank",class:"text-xs text-primary hover:underline"}," Repository → ",8,ue)):x("",!0)])],64))]),e("div",xe,[e("p",_e,n(d(B)(o.value.daily.reduce((t,p)=>t+p.hours,0))),1),s[11]||(s[11]=e("p",{class:"text-xs text-muted-foreground"},"total hours",-1))])])]),a(b,{class:"mb-6"},{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...s[12]||(s[12]=[y("Daily Activity",-1)])]),_:1})]),_:1}),a(h,null,{default:i(()=>[e("div",ve,[(r(!0),l(f,null,g(o.value.daily,t=>(r(),l("div",{key:t.date,class:"flex-1 bg-primary/70 hover:bg-primary rounded-t transition-colors",style:A({height:`${t.hours/F.value*100}%`}),title:`${t.date}: ${d(B)(t.hours)}`},null,12,ye))),128))])]),_:1})]),_:1}),e("div",ge,[a(b,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...s[13]||(s[13]=[y("Top Files",-1)])]),_:1})]),_:1}),a(h,null,{default:i(()=>[o.value.top_files.length?(r(),l("div",he,[(r(!0),l(f,null,g(o.value.top_files.slice(0,10),t=>(r(),l("div",{key:t.file,class:"flex items-center justify-between text-xs"},[e("span",{class:"text-muted-foreground truncate max-w-[200px]",title:t.file},n(t.file.split("/").pop()),9,ke),e("span",we,n(t.count)+"×",1)]))),128))])):(r(),l("div",be,"No data"))]),_:1})]),_:1}),a(b,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...s[14]||(s[14]=[y("Tool Usage",-1)])]),_:1})]),_:1}),a(h,null,{default:i(()=>[o.value.top_tools.length?(r(),l("div",Ce,[(r(!0),l(f,null,g(o.value.top_tools.slice(0,8),t=>(r(),l("div",{key:t.tool,class:"flex items-center gap-2"},[e("span",$e,n(t.tool),1),e("div",Se,[e("div",{class:"h-full bg-primary rounded-full",style:A({width:`${t.pct}%`})},null,4)]),e("span",ze,n((t.pct??0).toFixed(0))+"% ",1)]))),128))])):(r(),l("div",je,"No data"))]),_:1})]),_:1})]),!d(m)&&o.value.daily.length>0?(r(),q(b,{key:0,class:"mb-6"},{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[...s[15]||(s[15]=[y("Daily Breakdown",-1)])]),_:1})]),_:1}),a(h,null,{default:i(()=>[e("div",Be,[(r(!0),l(f,null,g([...o.value.daily].reverse(),t=>(r(),l("div",{key:t.date,class:"flex items-center gap-3 px-2 py-2 rounded-lg hover:bg-muted/30 transition-colors cursor-pointer",onClick:p=>d(T).push({name:"project-detail",params:{id:d(j),date:t.date}})},[e("span",Ae,n(t.date),1),e("div",De,[e("div",{class:"h-full bg-primary/70 rounded-full",style:A({width:`${t.hours/F.value*100}%`})},null,4)]),e("span",Ne,n(d(B)(t.hours)),1),e("span",Te,n(t.sessions)+" sess.",1)],8,Ve))),128))])]),_:1})]),_:1})):x("",!0),a(b,null,{default:i(()=>[a(k,{class:"pb-2"},{default:i(()=>[a(w,{class:"text-sm"},{default:i(()=>[y(n(d(m)?`Sessions — ${d(m)}`:"Recent Sessions"),1)]),_:1})]),_:1}),a(h,null,{default:i(()=>[o.value.sessions.length?(r(),l("div",Me,[(r(!0),l(f,null,g(o.value.sessions,t=>{var p;return r(),l("div",{key:t.id,class:"flex items-start gap-3 py-2 border-b border-border last:border-0"},[e("div",Fe,[e("p",Pe,n(t.ai_title||((p=t.work_summary)==null?void 0:p.substring(0,80))||d(U)(t.start_at)),1),e("p",Re,n(d(U)(t.start_at)),1),t.ai_result?(r(),l("p",{key:0,class:D(["text-xs text-muted-foreground mt-0.5",d(m)?"":"line-clamp-2"])},n(t.ai_result),3)):t.work_summary&&t.ai_title?(r(),l("p",{key:1,class:D(["text-xs text-muted-foreground mt-0.5",d(m)?"":"line-clamp-2"])},n(t.work_summary),3)):x("",!0)]),e("div",Ue,[e("div",Ee,[e("p",He,n(d(B)(t.active_hours)),1),e("p",Je,n(t.commits.length)+" commits",1)]),e("button",{class:D(["flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-primary transition-colors",{"opacity-50 cursor-not-allowed":_.value===t.id}]),title:"Generate AI summary",onClick:P=>H(t.id)},[_.value!==t.id?(r(),l("svg",Ke,[...s[16]||(s[16]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09z"},null,-1)])])):(r(),l("svg",qe,[...s[17]||(s[17]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])]))],10,Oe)])])}),128))])):(r(),l("div",Le,"No sessions"))]),_:1})]),_:1})],64)):(r(),l("div",Ge," Project not found "))]))}});export{tt as default}; diff --git a/src/static/assets/ProjectsView-CYG4IJ0Z.js b/src/static/assets/ProjectsView-CYG4IJ0Z.js deleted file mode 100644 index 607db59..0000000 --- a/src/static/assets/ProjectsView-CYG4IJ0Z.js +++ /dev/null @@ -1 +0,0 @@ -import{d as M,y as $,c as r,a as e,n as c,e as m,F as p,r as v,b as V,s as g,o,k as B,w as h,t as n,i as d,h as i,f as z}from"./index-DMlmI4VG.js";import{d as S}from"./dashboard-BOPmT7C3.js";import{a as N,_ as F}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as L}from"./Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js";import{_ as D}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{f as b,a as y}from"./utils-7WVCegLb.js";const H={class:"p-6"},P={class:"flex items-center gap-3 mb-6"},A={class:"flex items-center rounded-lg border border-border overflow-hidden bg-muted/30"},I={key:0,class:"flex items-center justify-center h-40"},E={key:1,class:"text-center text-muted-foreground py-12"},G={key:2,class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4"},R={class:"flex items-start justify-between gap-2 mb-3"},T={class:"min-w-0"},q={class:"font-semibold text-sm text-foreground truncate"},J={key:0,class:"text-xs text-muted-foreground truncate"},K={key:0,class:"text-xs bg-muted text-muted-foreground px-1.5 py-0.5 rounded shrink-0"},O={class:"space-y-1.5"},Q={class:"flex items-center justify-between text-xs"},U={class:"font-medium text-foreground"},W={class:"flex items-center justify-between text-xs"},X={class:"text-foreground"},Y={key:0,class:"flex items-center justify-between text-xs"},Z={class:"text-foreground"},j={key:0,class:"mt-3"},tt={class:"flex items-center justify-between text-xs mb-1"},et={key:3,class:"border border-border rounded-lg overflow-hidden"},st=["onClick"],ot={class:"min-w-0"},rt={class:"text-sm font-medium text-foreground truncate"},nt={key:0,class:"text-xs text-muted-foreground truncate"},at={class:"text-sm text-foreground tabular-nums text-right w-20"},it={class:"text-sm text-muted-foreground tabular-nums text-right w-16"},dt={class:"text-xs text-muted-foreground text-right w-24"},lt={class:"w-20 flex items-center justify-end gap-1.5"},ut={key:1,class:"text-xs text-muted-foreground"},vt=M({__name:"ProjectsView",setup(ct){const x=z(),l=g([]),_=g(!1),w=localStorage.getItem("projects.view"),u=g(w==="list"?"list":"grid");function f(a){u.value=a,localStorage.setItem("projects.view",a)}$(async()=>{_.value=!0;try{const a=await S.projects({});l.value=a.data.sort((s,t)=>t.total_hours-s.total_hours)}finally{_.value=!1}});const k=a=>a?a>90?"danger":a>70?"warning":"success":"default";return(a,s)=>(o(),r("div",H,[e("div",P,[s[4]||(s[4]=e("h2",{class:"text-lg font-semibold text-foreground flex-1"},"Projects",-1)),e("div",A,[e("button",{class:c(["px-2.5 py-1.5 transition-colors",u.value==="grid"?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted/50"]),title:"Grid view",onClick:s[0]||(s[0]=t=>f("grid"))},[...s[2]||(s[2]=[e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"})],-1)])],2),e("button",{class:c(["px-2.5 py-1.5 transition-colors",u.value==="list"?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted/50"]),title:"List view",onClick:s[1]||(s[1]=t=>f("list"))},[...s[3]||(s[3]=[e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 10h16M4 14h16M4 18h16"})],-1)])],2)])]),_.value?(o(),r("div",I,[m(D,{size:"lg",class:"text-primary"})])):l.value.length===0?(o(),r("div",E," No projects found ")):u.value==="grid"?(o(),r("div",G,[(o(!0),r(p,null,v(l.value,t=>(o(),B(F,{key:t.project_id,class:"cursor-pointer hover:border-primary/50 transition-colors",onClick:C=>i(x).push(`/projects/${t.project_id}`)},{default:h(()=>[m(N,{class:"p-4"},{default:h(()=>[e("div",R,[e("div",T,[e("p",q,n(t.display_name),1),t.client?(o(),r("p",J,n(t.client),1)):d("",!0)]),t.job_number?(o(),r("span",K,n(t.job_number),1)):d("",!0)]),e("div",O,[e("div",Q,[s[5]||(s[5]=e("span",{class:"text-muted-foreground"},"Total hours",-1)),e("span",U,n(i(b)(t.total_hours)),1)]),e("div",W,[s[6]||(s[6]=e("span",{class:"text-muted-foreground"},"Sessions",-1)),e("span",X,n(t.session_count),1)]),t.last_active?(o(),r("div",Y,[s[7]||(s[7]=e("span",{class:"text-muted-foreground"},"Last active",-1)),e("span",Z,n(i(y)(t.last_active)),1)])):d("",!0)]),t.progress_pct!==null?(o(),r("div",j,[e("div",tt,[s[8]||(s[8]=e("span",{class:"text-muted-foreground"},"Budget",-1)),e("span",{class:c(t.progress_pct>90?"text-red-400":"text-muted-foreground")},n((t.progress_pct??0).toFixed(0))+"% ",3)]),m(L,{value:t.progress_pct,color:k(t.progress_pct)},null,8,["value","color"])])):d("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128))])):(o(),r("div",et,[s[9]||(s[9]=V('
ProjectHoursSessionsLast ActiveBudget
',1)),(o(!0),r(p,null,v(l.value,t=>(o(),r("div",{key:t.project_id,class:"grid grid-cols-[1fr_auto_auto_auto_auto] gap-4 px-4 py-3 border-b border-border last:border-0 cursor-pointer hover:bg-muted/20 transition-colors items-center",onClick:C=>i(x).push(`/projects/${t.project_id}`)},[e("div",ot,[e("p",rt,n(t.display_name),1),t.client?(o(),r("p",nt,n(t.client),1)):d("",!0)]),e("span",at,n(i(b)(t.total_hours)),1),e("span",it,n(t.session_count),1),e("span",dt,n(t.last_active?i(y)(t.last_active):"—"),1),e("div",lt,[t.progress_pct!==null?(o(),r("span",{key:0,class:c(["text-xs tabular-nums",t.progress_pct>90?"text-red-400":"text-muted-foreground"])},n((t.progress_pct??0).toFixed(0))+"% ",3)):(o(),r("span",ut,"—"))])],8,st))),128))]))]))}});export{vt as default}; diff --git a/src/static/assets/ProjectsView-lK4Qdm9A.js b/src/static/assets/ProjectsView-lK4Qdm9A.js new file mode 100644 index 0000000..24aea1b --- /dev/null +++ b/src/static/assets/ProjectsView-lK4Qdm9A.js @@ -0,0 +1,16 @@ +import{d as $,x as L,A as S,c as r,a as e,e as d,h as n,F as g,r as f,b as B,s as m,o,k as F,w as y,t as a,i as l,n as h,f as I}from"./index-BiYpJJoC.js";import{d as N}from"./dashboard-Ca6WcfdV.js";import{a as z,_ as A}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{F as D,_ as G}from"./Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js";import{_ as P}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{_ as q}from"./SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js";import{_ as M}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{f as v,a as b}from"./utils-7WVCegLb.js";import{c as x}from"./createLucideIcon-D7qP-VdO.js";import{Z as O}from"./zap-CGuBGf0F.js";import"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X=x("CodeXmlIcon",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z=x("LayoutGridIcon",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const E=x("ListIcon",[["line",{x1:"8",x2:"21",y1:"6",y2:"6",key:"7ey8pc"}],["line",{x1:"8",x2:"21",y1:"12",y2:"12",key:"rjfblc"}],["line",{x1:"8",x2:"21",y1:"18",y2:"18",key:"c3b1m8"}],["line",{x1:"3",x2:"3.01",y1:"6",y2:"6",key:"1g7gq3"}],["line",{x1:"3",x2:"3.01",y1:"12",y2:"12",key:"1pjlvk"}],["line",{x1:"3",x2:"3.01",y1:"18",y2:"18",key:"28t2mc"}]]),H={class:"p-6"},R={class:"flex items-center gap-3 mb-6"},T={key:0,class:"flex items-center justify-center h-40"},U={key:1,class:"py-12"},j={key:2,class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4"},J={class:"flex items-start justify-between gap-2 mb-3"},K={class:"min-w-0"},Q={class:"font-semibold text-sm text-foreground truncate"},W={key:0,class:"text-xs text-muted-foreground truncate"},Y={key:0,class:"text-xs bg-muted text-muted-foreground px-1.5 py-0.5 rounded shrink-0"},tt={class:"space-y-1.5"},et={class:"flex items-center justify-between text-xs"},st={class:"font-medium text-foreground"},ot={class:"flex items-center justify-between text-xs"},rt={class:"text-foreground"},at={key:0,class:"flex items-center justify-between text-xs"},nt={class:"text-foreground"},it={key:0,class:"mt-3"},dt={class:"flex items-center justify-between text-xs mb-1"},lt={key:3,class:"border border-border rounded-lg overflow-hidden"},ct=["onClick"],ut={class:"min-w-0"},_t={class:"text-sm font-medium text-foreground truncate"},mt={key:0,class:"text-xs text-muted-foreground truncate"},xt={class:"text-sm text-foreground tabular-nums text-right w-20"},pt={class:"text-sm text-muted-foreground tabular-nums text-right w-16"},gt={class:"text-xs text-muted-foreground text-right w-24"},ft={class:"w-20 flex items-center justify-end gap-1.5"},yt={key:1,class:"text-xs text-muted-foreground"},It=$({__name:"ProjectsView",setup(ht){const p=I(),c=m([]),_=m(!1),k=localStorage.getItem("projects.view"),u=m(k==="list"?"list":"grid");L(u,i=>localStorage.setItem("projects.view",i));const w=[{value:"grid",label:"Grid",icon:Z},{value:"list",label:"List",icon:E}];S(async()=>{_.value=!0;try{const i=await N.projects({});c.value=i.data.sort((s,t)=>t.total_hours-s.total_hours)}finally{_.value=!1}});const C=i=>i?i>90?"danger":i>70?"warning":"success":"default";return(i,s)=>(o(),r("div",H,[e("div",R,[s[1]||(s[1]=e("h2",{class:"text-lg font-semibold text-foreground flex-1"},"Projects",-1)),d(q,{modelValue:u.value,"onUpdate:modelValue":s[0]||(s[0]=t=>u.value=t),options:w,"aria-label":"View mode"},null,8,["modelValue"])]),_.value?(o(),r("div",T,[d(P,{size:"lg",class:"text-primary"})])):c.value.length===0?(o(),r("div",U,[d(M,{title:"No projects yet",description:"Start a Claude Code session to see your projects here.",icons:[n(D),n(X),n(O)]},null,8,["icons"])])):u.value==="grid"?(o(),r("div",j,[(o(!0),r(g,null,f(c.value,t=>(o(),F(A,{key:t.project_id,class:"cursor-pointer hover:border-primary/50 transition-colors",onClick:V=>n(p).push(`/projects/${t.project_id}`)},{default:y(()=>[d(z,{class:"p-4"},{default:y(()=>[e("div",J,[e("div",K,[e("p",Q,a(t.display_name),1),t.client?(o(),r("p",W,a(t.client),1)):l("",!0)]),t.job_number?(o(),r("span",Y,a(t.job_number),1)):l("",!0)]),e("div",tt,[e("div",et,[s[2]||(s[2]=e("span",{class:"text-muted-foreground"},"Total hours",-1)),e("span",st,a(n(v)(t.total_hours)),1)]),e("div",ot,[s[3]||(s[3]=e("span",{class:"text-muted-foreground"},"Sessions",-1)),e("span",rt,a(t.session_count),1)]),t.last_active?(o(),r("div",at,[s[4]||(s[4]=e("span",{class:"text-muted-foreground"},"Last active",-1)),e("span",nt,a(n(b)(t.last_active)),1)])):l("",!0)]),t.progress_pct!==null?(o(),r("div",it,[e("div",dt,[s[5]||(s[5]=e("span",{class:"text-muted-foreground"},"Budget",-1)),e("span",{class:h(t.progress_pct>90?"text-red-400":"text-muted-foreground")},a((t.progress_pct??0).toFixed(0))+"% ",3)]),d(G,{value:t.progress_pct,color:C(t.progress_pct)},null,8,["value","color"])])):l("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128))])):(o(),r("div",lt,[s[6]||(s[6]=B('
ProjectHoursSessionsLast ActiveBudget
',1)),(o(!0),r(g,null,f(c.value,t=>(o(),r("div",{key:t.project_id,class:"grid grid-cols-[1fr_auto_auto_auto_auto] gap-4 px-4 py-3 border-b border-border last:border-0 cursor-pointer hover:bg-muted/20 transition-colors items-center",onClick:V=>n(p).push(`/projects/${t.project_id}`)},[e("div",ut,[e("p",_t,a(t.display_name),1),t.client?(o(),r("p",mt,a(t.client),1)):l("",!0)]),e("span",xt,a(n(v)(t.total_hours)),1),e("span",pt,a(t.session_count),1),e("span",gt,a(t.last_active?n(b)(t.last_active):"—"),1),e("div",ft,[t.progress_pct!==null?(o(),r("span",{key:0,class:h(["text-xs tabular-nums",t.progress_pct>90?"text-red-400":"text-muted-foreground"])},a((t.progress_pct??0).toFixed(0))+"% ",3)):(o(),r("span",yt,"—"))])],8,ct))),128))]))]))}});export{It as default}; diff --git a/src/static/assets/ReportsView-CEPiE5pW.css b/src/static/assets/ReportsView-CEPiE5pW.css new file mode 100644 index 0000000..df88fe5 --- /dev/null +++ b/src/static/assets/ReportsView-CEPiE5pW.css @@ -0,0 +1 @@ +[data-v-9d1b7e2d] .prose{color:hsl(var(--foreground))}[data-v-9d1b7e2d] .prose h1{color:hsl(var(--foreground));font-weight:600;margin-top:1rem;margin-bottom:.5rem}[data-v-9d1b7e2d] .prose p{margin-bottom:.75rem;color:hsl(var(--muted-foreground))}[data-v-9d1b7e2d] .prose ul{margin-left:1.25rem;color:hsl(var(--muted-foreground))}[data-v-9d1b7e2d] .prose li{margin-bottom:.25rem}[data-v-9d1b7e2d] .prose code{background:hsl(var(--muted));padding:.125rem .25rem;border-radius:.25rem;font-size:.85em;word-break:break-word;overflow-wrap:anywhere}[data-v-9d1b7e2d] .prose pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;overflow-x:auto}[data-v-9d1b7e2d] .prose pre code{word-break:break-word;overflow-wrap:anywhere} diff --git a/src/static/assets/ReportsView-CMpy2coK.css b/src/static/assets/ReportsView-CMpy2coK.css deleted file mode 100644 index e4ff101..0000000 --- a/src/static/assets/ReportsView-CMpy2coK.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-beecdbb2] .prose{color:hsl(var(--foreground))}[data-v-beecdbb2] .prose h1{color:hsl(var(--foreground));font-weight:600;margin-top:1rem;margin-bottom:.5rem}[data-v-beecdbb2] .prose p{margin-bottom:.75rem;color:hsl(var(--muted-foreground))}[data-v-beecdbb2] .prose ul{margin-left:1.25rem;color:hsl(var(--muted-foreground))}[data-v-beecdbb2] .prose li{margin-bottom:.25rem}[data-v-beecdbb2] .prose code{background:hsl(var(--muted));padding:.125rem .25rem;border-radius:.25rem;font-size:.85em;word-break:break-word;overflow-wrap:anywhere}[data-v-beecdbb2] .prose pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;overflow-x:auto}[data-v-beecdbb2] .prose pre code{word-break:break-word;overflow-wrap:anywhere} diff --git a/src/static/assets/ReportsView-DoPgiT4O.js b/src/static/assets/ReportsView-DoPgiT4O.js deleted file mode 100644 index 1f65e2a..0000000 --- a/src/static/assets/ReportsView-DoPgiT4O.js +++ /dev/null @@ -1,46 +0,0 @@ -var Ce=Object.defineProperty;var ce=a=>{throw TypeError(a)};var Ee=(a,t,e)=>t in a?Ce(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var x=(a,t,e)=>Ee(a,typeof t!="symbol"?t+"":t,e),Le=(a,t,e)=>t.has(a)||ce("Cannot "+e);var pe=(a,t,e)=>t.has(a)?ce("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(a):t.set(a,e);var P=(a,t,e)=>(Le(a,t,"access private method"),e);import{E as V,d as Be,u as qe,y as Ze,c as R,a as b,n as G,e as M,w as A,F as Pe,r as Me,s as C,o as T,q as W,k as ue,t as X,h as De,i as he,K as D}from"./index-DMlmI4VG.js";import{a as Qe,_ as je}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as fe}from"./Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js";import{_ as Oe}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as Ne}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import{a as He,i as Ue}from"./utils-7WVCegLb.js";import{_ as Fe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={list:()=>V.get("/api/reports"),get:a=>V.get(`/api/reports/${a}`),generate:a=>V.post("/api/reports/generate",a)};function Y(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let I=Y();function we(a){I=a}const ye=/[&<>"']/,Ve=new RegExp(ye.source,"g"),$e=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ge=new RegExp($e.source,"g"),We={"&":"&","<":"<",">":">",'"':""","'":"'"},ge=a=>We[a];function w(a,t){if(t){if(ye.test(a))return a.replace(Ve,ge)}else if($e.test(a))return a.replace(Ge,ge);return a}const Xe=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Ke(a){return a.replace(Xe,(t,e)=>(e=e.toLowerCase(),e==="colon"?":":e.charAt(0)==="#"?e.charAt(1)==="x"?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""))}const Je=/(^|[^\[])\^/g;function g(a,t){let e=typeof a=="string"?a:a.source;t=t||"";const n={replace:(i,r)=>{let s=typeof r=="string"?r:r.source;return s=s.replace(Je,"$1"),e=e.replace(i,s),n},getRegex:()=>new RegExp(e,t)};return n}function ke(a){try{a=encodeURI(a).replace(/%25/g,"%")}catch{return null}return a}const L={exec:()=>null};function xe(a,t){const e=a.replace(/\|/g,(r,s,o)=>{let l=!1,u=s;for(;--u>=0&&o[u]==="\\";)l=!l;return l?"|":" |"}),n=e.split(/ \|/);let i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length{const r=i.match(/^\s+/);if(r===null)return i;const[s]=r;return s.length>=n.length?i.slice(n.length):i}).join(` -`)}class O{constructor(t){x(this,"options");x(this,"rules");x(this,"lexer");this.options=t||I}space(t){const e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){const e=this.rules.block.code.exec(t);if(e){const n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Q(n,` -`)}}}fences(t){const e=this.rules.block.fences.exec(t);if(e){const n=e[0],i=et(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(t){const e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(/#$/.test(n)){const i=Q(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){const e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:e[0]}}blockquote(t){const e=this.rules.block.blockquote.exec(t);if(e){let n=e[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` - $1`);n=Q(n.replace(/^ *>[ \t]?/gm,""),` -`);const i=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(n);return this.lexer.state.top=i,{type:"blockquote",raw:e[0],tokens:r,text:n}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim();const i=n.length>1,r={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");const s=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`);let o="",l="",u=!1;for(;t;){let p=!1;if(!(e=s.exec(t))||this.rules.block.hr.test(t))break;o=e[0],t=t.substring(o.length);let f=e[2].split(` -`,1)[0].replace(/^\t+/,z=>" ".repeat(3*z.length)),c=t.split(` -`,1)[0],h=0;this.options.pedantic?(h=2,l=f.trimStart()):(h=e[2].search(/[^ ]/),h=h>4?1:h,l=f.slice(h),h+=e[1].length);let k=!1;if(!f&&/^ *$/.test(c)&&(o+=c+` -`,t=t.substring(c.length+1),p=!0),!p){const z=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),oe=new RegExp(`^ {0,${Math.min(3,h-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),le=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:\`\`\`|~~~)`),ae=new RegExp(`^ {0,${Math.min(3,h-1)}}#`);for(;t;){const F=t.split(` -`,1)[0];if(c=F,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),le.test(c)||ae.test(c)||z.test(c)||oe.test(t))break;if(c.search(/[^ ]/)>=h||!c.trim())l+=` -`+c.slice(h);else{if(k||f.search(/[^ ]/)>=4||le.test(f)||ae.test(f)||oe.test(f))break;l+=` -`+c}!k&&!c.trim()&&(k=!0),o+=F+` -`,t=t.substring(F.length+1),f=c.slice(h)}}r.loose||(u?r.loose=!0:/\n *\n *$/.test(o)&&(u=!0));let m=null,y;this.options.gfm&&(m=/^\[[ xX]\] /.exec(l),m&&(y=m[0]!=="[ ] ",l=l.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:o,task:!!m,checked:y,loose:!1,text:l,tokens:[]}),r.raw+=o}r.items[r.items.length-1].raw=o.trimEnd(),r.items[r.items.length-1].text=l.trimEnd(),r.raw=r.raw.trimEnd();for(let p=0;ph.type==="space"),c=f.length>0&&f.some(h=>/\n.*\n/.test(h.raw));r.loose=c}if(r.loose)for(let p=0;p$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:i,title:r}}}table(t){const e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;const n=xe(e[1]),i=e[2].replace(/^\||\| *$/g,"").split("|"),r=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split(` -`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===i.length){for(const o of i)/^ *-+: *$/.test(o)?s.align.push("right"):/^ *:-+: *$/.test(o)?s.align.push("center"):/^ *:-+ *$/.test(o)?s.align.push("left"):s.align.push(null);for(const o of n)s.header.push({text:o,tokens:this.lexer.inline(o)});for(const o of r)s.rows.push(xe(o,s.header.length).map(l=>({text:l,tokens:this.lexer.inline(l)})));return s}}lheading(t){const e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){const e=this.rules.block.paragraph.exec(t);if(e){const n=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){const e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){const e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:w(e[1])}}tag(t){const e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){const e=this.rules.inline.link.exec(t);if(e){const n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;const s=Q(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{const s=Ye(e[2],"()");if(s>-1){const l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let i=e[2],r="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);s&&(i=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),me(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){const i=(n[2]||n[1]).replace(/\s+/g," "),r=e[i.toLowerCase()];if(!r){const s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return me(n,r,n[0],this.lexer)}}emStrong(t,e,n=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const s=[...i[0]].length-1;let o,l,u=s,p=0;const f=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,e=e.slice(-1*t.length+s);(i=f.exec(e))!=null;){if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!o)continue;if(l=[...o].length,i[3]||i[4]){u+=l;continue}else if((i[5]||i[6])&&s%3&&!((s+l)%3)){p+=l;continue}if(u-=l,u>0)continue;l=Math.min(l,l+u+p);const c=[...i[0]][0].length,h=t.slice(0,s+i.index+c+l);if(Math.min(s,l)%2){const m=h.slice(1,-1);return{type:"em",raw:h,text:m,tokens:this.lexer.inlineTokens(m)}}const k=h.slice(2,-2);return{type:"strong",raw:h,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(t){const e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(/\n/g," ");const i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=w(n,!0),{type:"codespan",raw:e[0],text:n}}}br(t){const e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){const e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){const e=this.rules.inline.autolink.exec(t);if(e){let n,i;return e[2]==="@"?(n=w(e[1]),i="mailto:"+n):(n=w(e[1]),i=n),{type:"link",raw:e[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(t){var n;let e;if(e=this.rules.inline.url.exec(t)){let i,r;if(e[2]==="@")i=w(e[0]),r="mailto:"+i;else{let s;do s=e[0],e[0]=((n=this.rules.inline._backpedal.exec(e[0]))==null?void 0:n[0])??"";while(s!==e[0]);i=w(e[0]),e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t){const e=this.rules.inline.text.exec(t);if(e){let n;return this.lexer.state.inRawBlock?n=e[0]:n=w(e[0]),{type:"text",raw:e[0],text:n}}}}const tt=/^(?: *(?:\n|$))+/,nt=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,st=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,q=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,it=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,_e=/(?:[*+-]|\d{1,9}[.)])/,Te=g(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,_e).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),ee=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,rt=/^[^\n]+/,te=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ot=g(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",te).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),lt=g(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,_e).getRegex(),U="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ne=/|$))/,at=g("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",ne).replace("tag",U).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ze=g(ee).replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex(),ct=g(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ze).getRegex(),se={blockquote:ct,code:nt,def:ot,fences:st,heading:it,hr:q,html:at,lheading:Te,list:lt,newline:tt,paragraph:ze,table:L,text:rt},be=g("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex(),pt={...se,table:be,paragraph:g(ee).replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",be).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex()},ut={...se,html:g(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ne).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:L,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:g(ee).replace("hr",q).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Te).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Re=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ht=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ve=/^( {2,}|\\)\n(?!\s*$)/,ft=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,kt=g(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Z).getRegex(),xt=g("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Z).getRegex(),mt=g("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Z).getRegex(),bt=g(/\\([punct])/,"gu").replace(/punct/g,Z).getRegex(),wt=g(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),yt=g(ne).replace("(?:-->|$)","-->").getRegex(),$t=g("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",yt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),N=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,_t=g(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",N).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Se=g(/^!?\[(label)\]\[(ref)\]/).replace("label",N).replace("ref",te).getRegex(),Ie=g(/^!?\[(ref)\](?:\[\])?/).replace("ref",te).getRegex(),Tt=g("reflink|nolink(?!\\()","g").replace("reflink",Se).replace("nolink",Ie).getRegex(),ie={_backpedal:L,anyPunctuation:bt,autolink:wt,blockSkip:gt,br:ve,code:ht,del:L,emStrongLDelim:kt,emStrongRDelimAst:xt,emStrongRDelimUnd:mt,escape:Re,link:_t,nolink:Ie,punctuation:dt,reflink:Se,reflinkSearch:Tt,tag:$t,text:ft,url:L},zt={...ie,link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",N).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",N).getRegex()},K={...ie,escape:g(Re).replace("])","~|])").getRegex(),url:g(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\l+" ".repeat(u.length));let n,i,r,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(n=o.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.space(t)){t=t.substring(n.raw.length),n.raw.length===1&&e.length>0?e[e.length-1].raw+=` -`:e.push(n);continue}if(n=this.tokenizer.code(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` -`+n.raw,i.text+=` -`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);continue}if(n=this.tokenizer.fences(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.heading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.hr(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.blockquote(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.list(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.html(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.def(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` -`+n.raw,i.text+=` -`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.lheading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(r=t,this.options.extensions&&this.options.extensions.startBlock){let o=1/0;const l=t.slice(1);let u;this.options.extensions.startBlock.forEach(p=>{u=p.call({lexer:this},l),typeof u=="number"&&u>=0&&(o=Math.min(o,u))}),o<1/0&&o>=0&&(r=t.substring(0,o+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){i=e[e.length-1],s&&i.type==="paragraph"?(i.raw+=` -`+n.raw,i.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n),s=r.length!==t.length,t=t.substring(n.raw.length);continue}if(n=this.tokenizer.text(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&i.type==="text"?(i.raw+=` -`+n.raw,i.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);continue}if(t){const o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n,i,r,s=t,o,l,u;if(this.tokens.links){const p=Object.keys(this.tokens.links);if(p.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)p.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(u=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(p=>(n=p.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.escape(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.tag(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(n=this.tokenizer.link(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length),i=e[e.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(n=this.tokenizer.emStrong(t,s,u)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.codespan(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.br(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.del(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.autolink(t)){t=t.substring(n.raw.length),e.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),e.push(n);continue}if(r=t,this.options.extensions&&this.options.extensions.startInline){let p=1/0;const f=t.slice(1);let c;this.options.extensions.startInline.forEach(h=>{c=h.call({lexer:this},f),typeof c=="number"&&c>=0&&(p=Math.min(p,c))}),p<1/0&&p>=0&&(r=t.substring(0,p+1))}if(n=this.tokenizer.inlineText(r)){t=t.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(u=n.raw.slice(-1)),l=!0,i=e[e.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(t){const p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return e}}class H{constructor(t){x(this,"options");this.options=t||I}code(t,e,n){var r;const i=(r=(e||"").match(/^\S*/))==null?void 0:r[0];return t=t.replace(/\n$/,"")+` -`,i?'
'+(n?t:w(t,!0))+`
-`:"
"+(n?t:w(t,!0))+`
-`}blockquote(t){return`
-${t}
-`}html(t,e){return t}heading(t,e,n){return`${t} -`}hr(){return`
-`}list(t,e,n){const i=e?"ol":"ul",r=e&&n!==1?' start="'+n+'"':"";return"<"+i+r+`> -`+t+" -`}listitem(t,e,n){return`
  • ${t}
  • -`}checkbox(t){return"'}paragraph(t){return`

    ${t}

    -`}table(t,e){return e&&(e=`${e}`),` - -`+t+` -`+e+`
    -`}tablerow(t){return` -${t} -`}tablecell(t,e){const n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` -`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return"
    "}del(t){return`${t}`}link(t,e,n){const i=ke(t);if(i===null)return n;t=i;let r='
    ",r}image(t,e,n){const i=ke(t);if(i===null)return n;t=i;let r=`${n}0&&c.tokens[0].type==="paragraph"?(c.tokens[0].text=y+" "+c.tokens[0].text,c.tokens[0].tokens&&c.tokens[0].tokens.length>0&&c.tokens[0].tokens[0].type==="text"&&(c.tokens[0].tokens[0].text=y+" "+c.tokens[0].tokens[0].text)):c.tokens.unshift({type:"text",text:y+" "}):m+=y+" "}m+=this.parse(c.tokens,u),p+=this.renderer.listitem(m,k,!!h)}n+=this.renderer.list(p,o,l);continue}case"html":{const s=r;n+=this.renderer.html(s.text,s.block);continue}case"paragraph":{const s=r;n+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=r,o=s.tokens?this.parseInline(s.tokens):s.text;for(;i+1{const u=o[l].flat(1/0);n=n.concat(this.walkTokens(u,e))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,e)))}}return n}use(...t){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{const i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){const s=e.renderers[r.name];s?e.renderers[r.name]=function(...o){let l=r.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=e[r.level];s?s.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),i.extensions=e),n.renderer){const r=this.defaults.renderer||new H(this.defaults);for(const s in n.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;const o=s,l=n.renderer[o],u=r[o];r[o]=(...p)=>{let f=l.apply(r,p);return f===!1&&(f=u.apply(r,p)),f||""}}i.renderer=r}if(n.tokenizer){const r=this.defaults.tokenizer||new O(this.defaults);for(const s in n.tokenizer){if(!(s in r))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const o=s,l=n.tokenizer[o],u=r[o];r[o]=(...p)=>{let f=l.apply(r,p);return f===!1&&(f=u.apply(r,p)),f}}i.tokenizer=r}if(n.hooks){const r=this.defaults.hooks||new B;for(const s in n.hooks){if(!(s in r))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;const o=s,l=n.hooks[o],u=r[o];B.passThroughHooks.has(s)?r[o]=p=>{if(this.defaults.async)return Promise.resolve(l.call(r,p)).then(c=>u.call(r,c));const f=l.call(r,p);return u.call(r,f)}:r[o]=(...p)=>{let f=l.apply(r,p);return f===!1&&(f=u.apply(r,p)),f}}i.hooks=r}if(n.walkTokens){const r=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),r&&(l=l.concat(r.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return $.lex(t,e??this.defaults)}parser(t,e){return _.parse(t,e??this.defaults)}}S=new WeakSet,J=function(t,e){return(n,i)=>{const r={...i},s={...this.defaults,...r};this.defaults.async===!0&&r.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const o=P(this,S,Ae).call(this,!!s.silent,!!s.async);if(typeof n>"u"||n===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(l=>t(l,s)).then(l=>s.hooks?s.hooks.processAllTokens(l):l).then(l=>s.walkTokens?Promise.all(this.walkTokens(l,s.walkTokens)).then(()=>l):l).then(l=>e(l,s)).then(l=>s.hooks?s.hooks.postprocess(l):l).catch(o);try{s.hooks&&(n=s.hooks.preprocess(n));let l=t(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let u=e(l,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(l){return o(l)}}},Ae=function(t,e){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,t){const i="

    An error occurred:

    "+w(n.message+"",!0)+"
    ";return e?Promise.resolve(i):i}if(e)return Promise.reject(n);throw n}};const v=new vt;function d(a,t){return v.parse(a,t)}d.options=d.setOptions=function(a){return v.setOptions(a),d.defaults=v.defaults,we(d.defaults),d};d.getDefaults=Y;d.defaults=I;d.use=function(...a){return v.use(...a),d.defaults=v.defaults,we(d.defaults),d};d.walkTokens=function(a,t){return v.walkTokens(a,t)};d.parseInline=v.parseInline;d.Parser=_;d.parser=_.parse;d.Renderer=H;d.TextRenderer=re;d.Lexer=$;d.lexer=$.lex;d.Tokenizer=O;d.Hooks=B;d.parse=d;d.options;d.setOptions;d.use;d.walkTokens;d.parseInline;_.parse;$.lex;const St={class:"p-6"},It={class:"flex items-center gap-3 mb-6 flex-wrap"},At={class:"flex items-center gap-2"},Ct={class:"flex items-center rounded-md border border-border overflow-hidden"},Et={key:0,class:"flex items-center justify-center h-20"},Lt={key:1,class:"text-center text-muted-foreground py-12 text-sm"},Bt={key:2,class:"space-y-3"},qt=["onClick"],Zt={class:"flex items-center gap-2 flex-wrap"},Pt={class:"text-sm font-medium text-foreground"},Mt={class:"flex items-center gap-2 shrink-0"},Dt={class:"text-xs text-muted-foreground"},Qt={key:0,class:"mt-4 pt-4 border-t border-border"},jt={class:"flex gap-2 mb-3"},Ot=["onClick"],Nt=["onClick"],Ht=["innerHTML"],Ut=Be({__name:"ReportsView",setup(a){const t=qe(),e=C([]),n=C(!1),i=C(!1),r=C(null),s=C("daily");Ze(()=>o());async function o(){n.value=!0;try{const c=await de.list();e.value=c.data}finally{n.value=!1}}async function l(){i.value=!0;try{await de.generate({type:s.value,period_date:Ue(new Date)}),D.success("Report generated"),await o()}catch{D.error("Failed to generate report")}finally{i.value=!1}}function u(c){r.value=r.value===c?null:c}function p(c){return d(c)}async function f(c,h){try{const k=await fetch(`/cc-dashboard/api/reports/${c.id}/export?format=${h}`,{headers:{Authorization:`Bearer ${t.token}`}});if(!k.ok){D.error("Export failed");return}const m=await k.blob(),y=URL.createObjectURL(m),z=document.createElement("a");z.href=y,z.download=`report-${c.period_date}-${c.type}.${h}`,z.click(),URL.revokeObjectURL(y)}catch{D.error("Export failed")}}return(c,h)=>(T(),R("div",St,[b("div",It,[h[3]||(h[3]=b("h2",{class:"text-lg font-semibold text-foreground flex-1"},"AI Reports",-1)),b("div",At,[b("div",Ct,[b("button",{class:G(["px-3 py-1.5 text-xs font-medium transition-colors",s.value==="daily"?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-muted"]),onClick:h[0]||(h[0]=k=>s.value="daily")},"Daily",2),b("button",{class:G(["px-3 py-1.5 text-xs font-medium transition-colors",s.value==="weekly"?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-muted"]),onClick:h[1]||(h[1]=k=>s.value="weekly")},"Weekly",2)]),M(Oe,{size:"sm",loading:i.value,onClick:l},{default:A(()=>[...h[2]||(h[2]=[W(" Generate Now ",-1)])]),_:1},8,["loading"])])]),n.value?(T(),R("div",Et,[M(Ne,{class:"text-primary"})])):e.value.length===0?(T(),R("div",Lt," No reports generated yet ")):(T(),R("div",Bt,[(T(!0),R(Pe,null,Me(e.value,k=>(T(),ue(je,{key:k.id},{default:A(()=>[M(Qe,{class:"p-4"},{default:A(()=>[b("div",{class:"flex items-start justify-between gap-3 cursor-pointer",onClick:m=>u(k.id)},[b("div",Zt,[M(fe,{variant:k.type==="daily"?"default":"secondary",class:"text-xs"},{default:A(()=>[W(X(k.type),1)]),_:2},1032,["variant"]),b("span",Pt,X(De(He)(k.period_date)),1),k.email_sent?(T(),ue(fe,{key:0,variant:"success",class:"text-xs"},{default:A(()=>[...h[4]||(h[4]=[W(" Email sent ",-1)])]),_:1})):he("",!0)]),b("div",Mt,[b("span",Dt,X(new Date(k.generated_at).toLocaleString()),1),(T(),R("svg",{class:G(["h-4 w-4 text-muted-foreground transition-transform",r.value===k.id?"rotate-180":""]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...h[5]||(h[5]=[b("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))])],8,qt),r.value===k.id?(T(),R("div",Qt,[b("div",jt,[b("button",{class:"text-xs px-2.5 py-1 rounded-lg border border-border text-muted-foreground hover:text-foreground hover:border-foreground/30 transition-colors",onClick:m=>f(k,"md")},"↓ Markdown",8,Ot),b("button",{class:"text-xs px-2.5 py-1 rounded-lg border border-border text-muted-foreground hover:text-foreground hover:border-foreground/30 transition-colors",onClick:m=>f(k,"html")},"↓ HTML",8,Nt)]),b("div",{class:"prose prose-sm prose-invert max-w-none text-sm text-foreground break-words",innerHTML:p(k.content_markdown)},null,8,Ht)])):he("",!0)]),_:2},1024)]),_:2},1024))),128))]))]))}}),en=Fe(Ut,[["__scopeId","data-v-beecdbb2"]]);export{en as default}; diff --git a/src/static/assets/ReportsView-b-OOza6x.js b/src/static/assets/ReportsView-b-OOza6x.js new file mode 100644 index 0000000..8d299f0 --- /dev/null +++ b/src/static/assets/ReportsView-b-OOza6x.js @@ -0,0 +1,46 @@ +var Ee=Object.defineProperty;var pe=a=>{throw TypeError(a)};var Le=(a,t,e)=>t in a?Ee(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var x=(a,t,e)=>Le(a,typeof t!="symbol"?t+"":t,e),Be=(a,t,e)=>t.has(a)||pe("Cannot "+e);var he=(a,t,e)=>t.has(a)?pe("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(a):t.set(a,e);var D=(a,t,e)=>(Be(a,t,"access private method"),e);import{D as G,d as qe,u as Ze,A as Pe,c as v,a as w,e as z,w as S,h as W,F as Me,r as De,s as E,o as T,q as L,k as ue,t as X,i as fe,n as Qe,K as Q}from"./index-BiYpJJoC.js";import{a as je,_ as Oe}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as de}from"./Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js";import{_ as K}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as Ne}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import{_ as Fe}from"./SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js";import{_ as He}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{a as Ue,i as Ve}from"./utils-7WVCegLb.js";import{F as Ge}from"./file-text-C0mXX88J.js";import{C as We}from"./calendar-C9xlMu6k.js";import{_ as Xe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./createLucideIcon-D7qP-VdO.js";const ge={list:()=>G.get("/api/reports"),get:a=>G.get(`/api/reports/${a}`),generate:a=>G.post("/api/reports/generate",a)};function ee(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let C=ee();function ye(a){C=a}const $e=/[&<>"']/,Ke=new RegExp($e.source,"g"),_e=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Je=new RegExp(_e.source,"g"),Ye={"&":"&","<":"<",">":">",'"':""","'":"'"},ke=a=>Ye[a];function b(a,t){if(t){if($e.test(a))return a.replace(Ke,ke)}else if(_e.test(a))return a.replace(Je,ke);return a}const et=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function tt(a){return a.replace(et,(t,e)=>(e=e.toLowerCase(),e==="colon"?":":e.charAt(0)==="#"?e.charAt(1)==="x"?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""))}const nt=/(^|[^\[])\^/g;function g(a,t){let e=typeof a=="string"?a:a.source;t=t||"";const n={replace:(i,r)=>{let s=typeof r=="string"?r:r.source;return s=s.replace(nt,"$1"),e=e.replace(i,s),n},getRegex:()=>new RegExp(e,t)};return n}function xe(a){try{a=encodeURI(a).replace(/%25/g,"%")}catch{return null}return a}const q={exec:()=>null};function me(a,t){const e=a.replace(/\|/g,(r,s,l)=>{let o=!1,u=s;for(;--u>=0&&l[u]==="\\";)o=!o;return o?"|":" |"}),n=e.split(/ \|/);let i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length{const r=i.match(/^\s+/);if(r===null)return i;const[s]=r;return s.length>=n.length?i.slice(n.length):i}).join(` +`)}class N{constructor(t){x(this,"options");x(this,"rules");x(this,"lexer");this.options=t||C}space(t){const e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){const e=this.rules.block.code.exec(t);if(e){const n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:j(n,` +`)}}}fences(t){const e=this.rules.block.fences.exec(t);if(e){const n=e[0],i=it(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(t){const e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(/#$/.test(n)){const i=j(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){const e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:e[0]}}blockquote(t){const e=this.rules.block.blockquote.exec(t);if(e){let n=e[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`);n=j(n.replace(/^ *>[ \t]?/gm,""),` +`);const i=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(n);return this.lexer.state.top=i,{type:"blockquote",raw:e[0],tokens:r,text:n}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim();const i=n.length>1,r={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");const s=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`);let l="",o="",u=!1;for(;t;){let p=!1;if(!(e=s.exec(t))||this.rules.block.hr.test(t))break;l=e[0],t=t.substring(l.length);let f=e[2].split(` +`,1)[0].replace(/^\t+/,R=>" ".repeat(3*R.length)),c=t.split(` +`,1)[0],h=0;this.options.pedantic?(h=2,o=f.trimStart()):(h=e[2].search(/[^ ]/),h=h>4?1:h,o=f.slice(h),h+=e[1].length);let k=!1;if(!f&&/^ *$/.test(c)&&(l+=c+` +`,t=t.substring(c.length+1),p=!0),!p){const R=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),oe=new RegExp(`^ {0,${Math.min(3,h-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),ae=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:\`\`\`|~~~)`),ce=new RegExp(`^ {0,${Math.min(3,h-1)}}#`);for(;t;){const V=t.split(` +`,1)[0];if(c=V,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),ae.test(c)||ce.test(c)||R.test(c)||oe.test(t))break;if(c.search(/[^ ]/)>=h||!c.trim())o+=` +`+c.slice(h);else{if(k||f.search(/[^ ]/)>=4||ae.test(f)||ce.test(f)||oe.test(f))break;o+=` +`+c}!k&&!c.trim()&&(k=!0),l+=V+` +`,t=t.substring(V.length+1),f=c.slice(h)}}r.loose||(u?r.loose=!0:/\n *\n *$/.test(l)&&(u=!0));let m=null,y;this.options.gfm&&(m=/^\[[ xX]\] /.exec(o),m&&(y=m[0]!=="[ ] ",o=o.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:l,task:!!m,checked:y,loose:!1,text:o,tokens:[]}),r.raw+=l}r.items[r.items.length-1].raw=l.trimEnd(),r.items[r.items.length-1].text=o.trimEnd(),r.raw=r.raw.trimEnd();for(let p=0;ph.type==="space"),c=f.length>0&&f.some(h=>/\n.*\n/.test(h.raw));r.loose=c}if(r.loose)for(let p=0;p$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:i,title:r}}}table(t){const e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;const n=me(e[1]),i=e[2].replace(/^\||\| *$/g,"").split("|"),r=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===i.length){for(const l of i)/^ *-+: *$/.test(l)?s.align.push("right"):/^ *:-+: *$/.test(l)?s.align.push("center"):/^ *:-+ *$/.test(l)?s.align.push("left"):s.align.push(null);for(const l of n)s.header.push({text:l,tokens:this.lexer.inline(l)});for(const l of r)s.rows.push(me(l,s.header.length).map(o=>({text:o,tokens:this.lexer.inline(o)})));return s}}lheading(t){const e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){const e=this.rules.block.paragraph.exec(t);if(e){const n=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){const e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){const e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:b(e[1])}}tag(t){const e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^
    /i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){const e=this.rules.inline.link.exec(t);if(e){const n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;const s=j(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{const s=st(e[2],"()");if(s>-1){const o=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,o).trim(),e[3]=""}}let i=e[2],r="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);s&&(i=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),be(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){const i=(n[2]||n[1]).replace(/\s+/g," "),r=e[i.toLowerCase()];if(!r){const s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return be(n,r,n[0],this.lexer)}}emStrong(t,e,n=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const s=[...i[0]].length-1;let l,o,u=s,p=0;const f=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,e=e.slice(-1*t.length+s);(i=f.exec(e))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(o=[...l].length,i[3]||i[4]){u+=o;continue}else if((i[5]||i[6])&&s%3&&!((s+o)%3)){p+=o;continue}if(u-=o,u>0)continue;o=Math.min(o,o+u+p);const c=[...i[0]][0].length,h=t.slice(0,s+i.index+c+o);if(Math.min(s,o)%2){const m=h.slice(1,-1);return{type:"em",raw:h,text:m,tokens:this.lexer.inlineTokens(m)}}const k=h.slice(2,-2);return{type:"strong",raw:h,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(t){const e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(/\n/g," ");const i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=b(n,!0),{type:"codespan",raw:e[0],text:n}}}br(t){const e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){const e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){const e=this.rules.inline.autolink.exec(t);if(e){let n,i;return e[2]==="@"?(n=b(e[1]),i="mailto:"+n):(n=b(e[1]),i=n),{type:"link",raw:e[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(t){var n;let e;if(e=this.rules.inline.url.exec(t)){let i,r;if(e[2]==="@")i=b(e[0]),r="mailto:"+i;else{let s;do s=e[0],e[0]=((n=this.rules.inline._backpedal.exec(e[0]))==null?void 0:n[0])??"";while(s!==e[0]);i=b(e[0]),e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t){const e=this.rules.inline.text.exec(t);if(e){let n;return this.lexer.state.inRawBlock?n=e[0]:n=b(e[0]),{type:"text",raw:e[0],text:n}}}}const rt=/^(?: *(?:\n|$))+/,lt=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,ot=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,P=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,at=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Te=/(?:[*+-]|\d{1,9}[.)])/,ze=g(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Te).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),te=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ct=/^[^\n]+/,ne=/(?!\s*\])(?:\\.|[^\[\]\\])+/,pt=g(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",ne).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ht=g(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Te).getRegex(),U="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",se=/|$))/,ut=g("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",se).replace("tag",U).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Re=g(te).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex(),ft=g(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Re).getRegex(),ie={blockquote:ft,code:lt,def:pt,fences:ot,heading:at,hr:P,html:ut,lheading:ze,list:ht,newline:rt,paragraph:Re,table:q,text:ct},we=g("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex(),dt={...ie,table:we,paragraph:g(te).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",we).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",U).getRegex()},gt={...ie,html:g(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",se).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:q,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:g(te).replace("hr",P).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",ze).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ve=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,kt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Se=/^( {2,}|\\)\n(?!\s*$)/,xt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wt=g(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,M).getRegex(),yt=g("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,M).getRegex(),$t=g("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,M).getRegex(),_t=g(/\\([punct])/,"gu").replace(/punct/g,M).getRegex(),Tt=g(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),zt=g(se).replace("(?:-->|$)","-->").getRegex(),Rt=g("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",zt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),F=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,vt=g(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",F).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ae=g(/^!?\[(label)\]\[(ref)\]/).replace("label",F).replace("ref",ne).getRegex(),Ie=g(/^!?\[(ref)\](?:\[\])?/).replace("ref",ne).getRegex(),St=g("reflink|nolink(?!\\()","g").replace("reflink",Ae).replace("nolink",Ie).getRegex(),re={_backpedal:q,anyPunctuation:_t,autolink:Tt,blockSkip:bt,br:Se,code:kt,del:q,emStrongLDelim:wt,emStrongRDelimAst:yt,emStrongRDelimUnd:$t,escape:ve,link:vt,nolink:Ie,punctuation:mt,reflink:Ae,reflinkSearch:St,tag:Rt,text:xt,url:q},At={...re,link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",F).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",F).getRegex()},J={...re,escape:g(ve).replace("])","~|])").getRegex(),url:g(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\o+" ".repeat(u.length));let n,i,r,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(n=l.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.space(t)){t=t.substring(n.raw.length),n.raw.length===1&&e.length>0?e[e.length-1].raw+=` +`:e.push(n);continue}if(n=this.tokenizer.code(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` +`+n.raw,i.text+=` +`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);continue}if(n=this.tokenizer.fences(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.heading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.hr(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.blockquote(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.list(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.html(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.def(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` +`+n.raw,i.text+=` +`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.lheading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(r=t,this.options.extensions&&this.options.extensions.startBlock){let l=1/0;const o=t.slice(1);let u;this.options.extensions.startBlock.forEach(p=>{u=p.call({lexer:this},o),typeof u=="number"&&u>=0&&(l=Math.min(l,u))}),l<1/0&&l>=0&&(r=t.substring(0,l+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){i=e[e.length-1],s&&i.type==="paragraph"?(i.raw+=` +`+n.raw,i.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n),s=r.length!==t.length,t=t.substring(n.raw.length);continue}if(n=this.tokenizer.text(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&i.type==="text"?(i.raw+=` +`+n.raw,i.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);continue}if(t){const l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n,i,r,s=t,l,o,u;if(this.tokens.links){const p=Object.keys(this.tokens.links);if(p.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)p.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,l.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(u=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(p=>(n=p.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.escape(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.tag(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(n=this.tokenizer.link(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length),i=e[e.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(n=this.tokenizer.emStrong(t,s,u)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.codespan(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.br(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.del(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.autolink(t)){t=t.substring(n.raw.length),e.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),e.push(n);continue}if(r=t,this.options.extensions&&this.options.extensions.startInline){let p=1/0;const f=t.slice(1);let c;this.options.extensions.startInline.forEach(h=>{c=h.call({lexer:this},f),typeof c=="number"&&c>=0&&(p=Math.min(p,c))}),p<1/0&&p>=0&&(r=t.substring(0,p+1))}if(n=this.tokenizer.inlineText(r)){t=t.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(u=n.raw.slice(-1)),o=!0,i=e[e.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):e.push(n);continue}if(t){const p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return e}}class H{constructor(t){x(this,"options");this.options=t||C}code(t,e,n){var r;const i=(r=(e||"").match(/^\S*/))==null?void 0:r[0];return t=t.replace(/\n$/,"")+` +`,i?'
    '+(n?t:b(t,!0))+`
    +`:"
    "+(n?t:b(t,!0))+`
    +`}blockquote(t){return`
    +${t}
    +`}html(t,e){return t}heading(t,e,n){return`${t} +`}hr(){return`
    +`}list(t,e,n){const i=e?"ol":"ul",r=e&&n!==1?' start="'+n+'"':"";return"<"+i+r+`> +`+t+" +`}listitem(t,e,n){return`
  • ${t}
  • +`}checkbox(t){return"'}paragraph(t){return`

    ${t}

    +`}table(t,e){return e&&(e=`${e}`),` + +`+t+` +`+e+`
    +`}tablerow(t){return` +${t} +`}tablecell(t,e){const n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` +`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return"
    "}del(t){return`${t}`}link(t,e,n){const i=xe(t);if(i===null)return n;t=i;let r='
    ",r}image(t,e,n){const i=xe(t);if(i===null)return n;t=i;let r=`${n}0&&c.tokens[0].type==="paragraph"?(c.tokens[0].text=y+" "+c.tokens[0].text,c.tokens[0].tokens&&c.tokens[0].tokens.length>0&&c.tokens[0].tokens[0].type==="text"&&(c.tokens[0].tokens[0].text=y+" "+c.tokens[0].tokens[0].text)):c.tokens.unshift({type:"text",text:y+" "}):m+=y+" "}m+=this.parse(c.tokens,u),p+=this.renderer.listitem(m,k,!!h)}n+=this.renderer.list(p,l,o);continue}case"html":{const s=r;n+=this.renderer.html(s.text,s.block);continue}case"paragraph":{const s=r;n+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=r,l=s.tokens?this.parseInline(s.tokens):s.text;for(;i+1{const u=l[o].flat(1/0);n=n.concat(this.walkTokens(u,e))}):l.tokens&&(n=n.concat(this.walkTokens(l.tokens,e)))}}return n}use(...t){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{const i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){const s=e.renderers[r.name];s?e.renderers[r.name]=function(...l){let o=r.renderer.apply(this,l);return o===!1&&(o=s.apply(this,l)),o}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=e[r.level];s?s.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),i.extensions=e),n.renderer){const r=this.defaults.renderer||new H(this.defaults);for(const s in n.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;const l=s,o=n.renderer[l],u=r[l];r[l]=(...p)=>{let f=o.apply(r,p);return f===!1&&(f=u.apply(r,p)),f||""}}i.renderer=r}if(n.tokenizer){const r=this.defaults.tokenizer||new N(this.defaults);for(const s in n.tokenizer){if(!(s in r))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const l=s,o=n.tokenizer[l],u=r[l];r[l]=(...p)=>{let f=o.apply(r,p);return f===!1&&(f=u.apply(r,p)),f}}i.tokenizer=r}if(n.hooks){const r=this.defaults.hooks||new Z;for(const s in n.hooks){if(!(s in r))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;const l=s,o=n.hooks[l],u=r[l];Z.passThroughHooks.has(s)?r[l]=p=>{if(this.defaults.async)return Promise.resolve(o.call(r,p)).then(c=>u.call(r,c));const f=o.call(r,p);return u.call(r,f)}:r[l]=(...p)=>{let f=o.apply(r,p);return f===!1&&(f=u.apply(r,p)),f}}i.hooks=r}if(n.walkTokens){const r=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(l){let o=[];return o.push(s.call(this,l)),r&&(o=o.concat(r.call(this,l))),o}}this.defaults={...this.defaults,...i}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return $.lex(t,e??this.defaults)}parser(t,e){return _.parse(t,e??this.defaults)}}I=new WeakSet,Y=function(t,e){return(n,i)=>{const r={...i},s={...this.defaults,...r};this.defaults.async===!0&&r.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const l=D(this,I,Ce).call(this,!!s.silent,!!s.async);if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(o=>t(o,s)).then(o=>s.hooks?s.hooks.processAllTokens(o):o).then(o=>s.walkTokens?Promise.all(this.walkTokens(o,s.walkTokens)).then(()=>o):o).then(o=>e(o,s)).then(o=>s.hooks?s.hooks.postprocess(o):o).catch(l);try{s.hooks&&(n=s.hooks.preprocess(n));let o=t(n,s);s.hooks&&(o=s.hooks.processAllTokens(o)),s.walkTokens&&this.walkTokens(o,s.walkTokens);let u=e(o,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(o){return l(o)}}},Ce=function(t,e){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,t){const i="

    An error occurred:

    "+b(n.message+"",!0)+"
    ";return e?Promise.resolve(i):i}if(e)return Promise.reject(n);throw n}};const A=new Ct;function d(a,t){return A.parse(a,t)}d.options=d.setOptions=function(a){return A.setOptions(a),d.defaults=A.defaults,ye(d.defaults),d};d.getDefaults=ee;d.defaults=C;d.use=function(...a){return A.use(...a),d.defaults=A.defaults,ye(d.defaults),d};d.walkTokens=function(a,t){return A.walkTokens(a,t)};d.parseInline=A.parseInline;d.Parser=_;d.parser=_.parse;d.Renderer=H;d.TextRenderer=le;d.Lexer=$;d.lexer=$.lex;d.Tokenizer=N;d.Hooks=Z;d.parse=d;d.options;d.setOptions;d.use;d.walkTokens;d.parseInline;_.parse;$.lex;const Et={class:"p-6"},Lt={class:"flex items-center gap-3 mb-6 flex-wrap"},Bt={class:"flex items-center gap-2"},qt={key:0,class:"flex items-center justify-center h-20"},Zt={key:1,class:"py-12"},Pt={key:2,class:"space-y-3"},Mt=["onClick"],Dt={class:"flex items-center gap-2 flex-wrap"},Qt={class:"text-sm font-medium text-foreground"},jt={class:"flex items-center gap-2 shrink-0"},Ot={class:"text-xs text-muted-foreground"},Nt={key:0,class:"mt-4 pt-4 border-t border-border"},Ft={class:"flex gap-2 mb-3"},Ht=["innerHTML"],Ut=qe({__name:"ReportsView",setup(a){const t=Ze(),e=E([]),n=E(!1),i=E(!1),r=E(null),s=E("daily");Pe(()=>l());async function l(){n.value=!0;try{const c=await ge.list();e.value=c.data}finally{n.value=!1}}async function o(){i.value=!0;try{await ge.generate({type:s.value,period_date:Ve(new Date)}),Q.success("Report generated"),await l()}catch{Q.error("Failed to generate report")}finally{i.value=!1}}function u(c){r.value=r.value===c?null:c}function p(c){return d(c)}async function f(c,h){try{const k=await fetch(`/cc-dashboard/api/reports/${c.id}/export?format=${h}`,{headers:{Authorization:`Bearer ${t.token}`}});if(!k.ok){Q.error("Export failed");return}const m=await k.blob(),y=URL.createObjectURL(m),R=document.createElement("a");R.href=y,R.download=`report-${c.period_date}-${c.type}.${h}`,R.click(),URL.revokeObjectURL(y)}catch{Q.error("Export failed")}}return(c,h)=>(T(),v("div",Et,[w("div",Lt,[h[2]||(h[2]=w("h2",{class:"text-lg font-semibold text-foreground flex-1"},"AI Reports",-1)),w("div",Bt,[z(Fe,{modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=k=>s.value=k),options:[{value:"daily",label:"Daily"},{value:"weekly",label:"Weekly"}],"aria-label":"Report type"},null,8,["modelValue"]),z(K,{size:"sm",loading:i.value,onClick:o},{default:S(()=>[...h[1]||(h[1]=[L(" Generate Now ",-1)])]),_:1},8,["loading"])])]),n.value?(T(),v("div",qt,[z(Ne,{class:"text-primary"})])):e.value.length===0?(T(),v("div",Zt,[z(He,{title:"No reports yet",description:"Reports are generated automatically after sessions.",icons:[W(Ge),W(We)]},null,8,["icons"])])):(T(),v("div",Pt,[(T(!0),v(Me,null,De(e.value,k=>(T(),ue(Oe,{key:k.id},{default:S(()=>[z(je,{class:"p-4"},{default:S(()=>[w("div",{class:"flex items-start justify-between gap-3 cursor-pointer",onClick:m=>u(k.id)},[w("div",Dt,[z(de,{variant:k.type==="daily"?"default":"secondary",class:"text-xs"},{default:S(()=>[L(X(k.type),1)]),_:2},1032,["variant"]),w("span",Qt,X(W(Ue)(k.period_date)),1),k.email_sent?(T(),ue(de,{key:0,variant:"success",class:"text-xs"},{default:S(()=>[...h[3]||(h[3]=[L(" Email sent ",-1)])]),_:1})):fe("",!0)]),w("div",jt,[w("span",Ot,X(new Date(k.generated_at).toLocaleString()),1),(T(),v("svg",{class:Qe(["h-4 w-4 text-muted-foreground transition-transform",r.value===k.id?"rotate-180":""]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...h[4]||(h[4]=[w("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))])],8,Mt),r.value===k.id?(T(),v("div",Nt,[w("div",Ft,[z(K,{variant:"outline",size:"sm",onClick:m=>f(k,"md")},{default:S(()=>[...h[5]||(h[5]=[L("↓ Markdown",-1)])]),_:1},8,["onClick"]),z(K,{variant:"outline",size:"sm",onClick:m=>f(k,"html")},{default:S(()=>[...h[6]||(h[6]=[L("↓ HTML",-1)])]),_:1},8,["onClick"])]),w("div",{class:"prose prose-sm prose-invert max-w-none text-sm text-foreground break-words",innerHTML:p(k.content_markdown)},null,8,Ht)])):fe("",!0)]),_:2},1024)]),_:2},1024))),128))]))]))}}),on=Xe(Ut,[["__scopeId","data-v-9d1b7e2d"]]);export{on as default}; diff --git a/src/static/assets/SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js b/src/static/assets/SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js new file mode 100644 index 0000000..692f605 --- /dev/null +++ b/src/static/assets/SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js @@ -0,0 +1 @@ +import{c as d}from"./utils-7WVCegLb.js";import{d as c,c as s,F as m,r as f,o as a,n as p,h as g,k as v,l as b,i as x,q as h,t as k}from"./index-BiYpJJoC.js";const y=["aria-label"],V=["aria-pressed","onClick"],A=c({__name:"SegmentedControl",props:{modelValue:{},options:{},ariaLabel:{}},emits:["update:modelValue"],setup(t,{emit:i}){const o=t,l=i;function u(n){const r=o.options.findIndex(e=>e.value===o.modelValue);if(n.key==="ArrowRight"||n.key==="ArrowDown"){n.preventDefault();const e=o.options[(r+1)%o.options.length];l("update:modelValue",e.value)}else if(n.key==="ArrowLeft"||n.key==="ArrowUp"){n.preventDefault();const e=o.options[(r-1+o.options.length)%o.options.length];l("update:modelValue",e.value)}}return(n,r)=>(a(),s("div",{class:"inline-flex items-center rounded-lg border border-border bg-muted/40 p-1",role:"group","aria-label":t.ariaLabel,onKeydown:u},[(a(!0),s(m,null,f(t.options,e=>(a(),s("button",{key:e.value,type:"button","aria-pressed":t.modelValue===e.value,class:p(g(d)("inline-flex items-center gap-1.5 rounded-md px-3 h-8 text-xs font-medium transition-all","focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",t.modelValue===e.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground")),onClick:w=>l("update:modelValue",e.value)},[e.icon?(a(),v(b(e.icon),{key:0,class:"h-3.5 w-3.5"})):x("",!0),h(" "+k(e.label),1)],10,V))),128))],40,y))}});export{A as _}; diff --git a/src/static/assets/SettingsView-BxaKLvvc.js b/src/static/assets/SettingsView-BxaKLvvc.js deleted file mode 100644 index 003b67f..0000000 --- a/src/static/assets/SettingsView-BxaKLvvc.js +++ /dev/null @@ -1 +0,0 @@ -import{d as N,u as E,y as P,c as U,a,e as t,w as s,s as f,o as k,q as u,h as c,k as z,i as B,E as I,K as x}from"./index-DMlmI4VG.js";import{u as F}from"./devops-roMxSiNP.js";import{_ as w,a as V}from"./CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js";import{_ as $,a as S}from"./CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js";import{_ as y}from"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import{_}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as O}from"./DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js";import{i as C}from"./utils-7WVCegLb.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";function T(i,l){const n=`/cc-dashboard/api/export/timesheet.csv?from=${i}&to=${l}`,o=document.createElement("a");o.href=n,o.download=`timesheet-${i}-${l}.csv`,o.click()}function A(i,l){const n=`/cc-dashboard/api/export/timesheet.ics?from=${i}&to=${l}`,o=document.createElement("a");o.href=n,o.download=`timesheet-${i}-${l}.ics`,o.click()}const H={class:"p-6 space-y-6 max-w-2xl"},K={class:"space-y-1.5"},M={class:"space-y-1.5"},j={class:"flex items-center justify-between"},q={class:"flex items-center gap-3 flex-wrap"},h={class:"space-y-1.5"},G={class:"space-y-1.5"},J={class:"flex items-center gap-2"},se=N({__name:"SettingsView",setup(i){const l=E(),n=F(),o=f(""),p=f(0),g=f(!1),d=f(""),m=f("");P(()=>{l.user&&(o.value=l.user.username,p.value=l.user.daily_overhead_hours??0),n.fetchIntegration();const v=new Date;m.value=C(v);const e=new Date(v);e.setDate(v.getDate()-30),d.value=C(e)});async function D(){g.value=!0;try{await I.patch("/api/auth/me",{username:o.value,daily_overhead_hours:p.value}),await l.fetchMe(),x.success("Profile saved")}catch{x.error("Failed to save profile")}finally{g.value=!1}}async function b(){try{await n.sync(),x.success("Sync complete")}catch{x.error(n.error??"Sync failed")}}return(v,e)=>(k(),U("div",H,[e[18]||(e[18]=a("h2",{class:"text-lg font-semibold text-foreground"},"Settings",-1)),t(w,null,{default:s(()=>[t($,null,{default:s(()=>[t(S,{class:"text-sm"},{default:s(()=>[...e[6]||(e[6]=[u("Profile",-1)])]),_:1})]),_:1}),t(V,{class:"space-y-4"},{default:s(()=>[a("div",K,[e[7]||(e[7]=a("label",{class:"text-sm font-medium text-foreground"},"Username",-1)),t(y,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=r=>o.value=r),placeholder:"username"},null,8,["modelValue"])]),a("div",M,[e[8]||(e[8]=a("label",{class:"text-sm font-medium text-foreground"},"Daily Overhead Hours",-1)),t(y,{modelValue:p.value,"onUpdate:modelValue":e[1]||(e[1]=r=>p.value=r),type:"number",min:"0",max:"8",step:"0.25",class:"w-32"},null,8,["modelValue"]),e[9]||(e[9]=a("p",{class:"text-xs text-muted-foreground"}," Hours per day to add for overhead / meetings ",-1))]),t(_,{loading:g.value,onClick:D},{default:s(()=>[...e[10]||(e[10]=[u("Save Profile",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),t(w,null,{default:s(()=>[t($,null,{default:s(()=>[a("div",j,[t(S,{class:"text-sm"},{default:s(()=>[...e[11]||(e[11]=[u("Azure DevOps Integration",-1)])]),_:1}),c(n).integration?(k(),z(_,{key:0,variant:"outline",size:"sm",loading:c(n).syncing,onClick:b},{default:s(()=>[...e[12]||(e[12]=[u(" Sync Now ",-1)])]),_:1},8,["loading"])):B("",!0)])]),_:1}),t(V,null,{default:s(()=>[t(O)]),_:1})]),_:1}),t(w,null,{default:s(()=>[t($,null,{default:s(()=>[t(S,{class:"text-sm"},{default:s(()=>[...e[13]||(e[13]=[u("Export",-1)])]),_:1})]),_:1}),t(V,{class:"space-y-4"},{default:s(()=>[a("div",q,[a("div",h,[e[14]||(e[14]=a("label",{class:"text-xs text-muted-foreground"},"From",-1)),t(y,{modelValue:d.value,"onUpdate:modelValue":e[2]||(e[2]=r=>d.value=r),type:"date",class:"h-8 text-xs"},null,8,["modelValue"])]),a("div",G,[e[15]||(e[15]=a("label",{class:"text-xs text-muted-foreground"},"To",-1)),t(y,{modelValue:m.value,"onUpdate:modelValue":e[3]||(e[3]=r=>m.value=r),type:"date",class:"h-8 text-xs"},null,8,["modelValue"])])]),a("div",J,[t(_,{variant:"outline",size:"sm",onClick:e[4]||(e[4]=r=>c(T)(d.value,m.value))},{default:s(()=>[...e[16]||(e[16]=[u(" Download CSV ",-1)])]),_:1}),t(_,{variant:"outline",size:"sm",onClick:e[5]||(e[5]=r=>c(A)(d.value,m.value))},{default:s(()=>[...e[17]||(e[17]=[u(" Download ICS ",-1)])]),_:1})])]),_:1})]),_:1})]))}});export{se as default}; diff --git a/src/static/assets/SettingsView-Dx5EOob_.js b/src/static/assets/SettingsView-Dx5EOob_.js new file mode 100644 index 0000000..1e2619d --- /dev/null +++ b/src/static/assets/SettingsView-Dx5EOob_.js @@ -0,0 +1 @@ +import{d as G,s as x,o as h,c as _,a as f,e as d,h as v,t as S,F as j,r as L,n as W,j as V,x as re,k as se,w as c,M as ue,N as ie,S as de,i as le,q as w,O as fe,u as ce,A as me,D as ve,K as R}from"./index-BiYpJJoC.js";import{u as pe}from"./devops-y1AYKG_U.js";import{_ as B,a as H}from"./CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js";import{_ as Y,a as K}from"./CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js";import{_ as Q}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as k}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{c as q,i as X}from"./utils-7WVCegLb.js";import{t as b,c as U,s as Z,C as ge,a as be,f as $}from"./format-WqwOLoqz.js";import{C as ye}from"./calendar-C9xlMu6k.js";import{_ as he}from"./DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js";import"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import"./createLucideIcon-D7qP-VdO.js";import"./ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js";function _e(l,s){const o=b(l);return isNaN(s)?U(l,NaN):(s&&o.setDate(o.getDate()+s),o)}function ae(l,s){const o=b(l);if(isNaN(s))return U(l,NaN);if(!s)return o;const r=o.getDate(),u=U(l,o.getTime());u.setMonth(o.getMonth()+s+1,0);const i=u.getDate();return r>=i?u:(o.setFullYear(u.getFullYear(),u.getMonth(),r),o)}function xe(l){return U(l,Date.now())}function I(l,s){const o=Z(l),r=Z(s);return+o==+r}function Me(l){const s=b(l),o=s.getMonth();return s.setFullYear(s.getFullYear(),o+1,0),s.setHours(23,59,59,999),s}function we(l,s){const o=b(l.start),r=b(l.end);let u=+o>+r;const i=u?+o:+r,m=u?r:o;m.setHours(0,0,0,0);let g=1;const M=[];for(;+m<=i;)M.push(b(m)),m.setDate(m.getDate()+g),m.setHours(0,0,0,0);return u?M.reverse():M}function A(l){const s=b(l);return s.setDate(1),s.setHours(0,0,0,0),s}function De(l){return b(l).getDay()}function ee(l,s){const o=b(l),r=b(s);return+o<+r}function Ve(l){return I(l,xe(l))}function te(l,s){const o=+b(l),[r,u]=[+b(s.start),+b(s.end)].sort((i,m)=>i-m);return o>=r&&o<=u}function oe(l,s){return _e(l,-s)}function $e(l,s){return ae(l,-1)}const Ce={class:"p-3 select-none"},ke={class:"mb-3 flex items-center justify-between"},Se={class:"text-sm font-medium"},Ne={class:"mb-1 grid grid-cols-7 gap-1"},Te={class:"grid grid-cols-7 gap-1"},Ee=["onClick","onMouseenter","aria-label","aria-pressed"],ne=G({__name:"Calendar",props:{modelValue:{default:()=>({from:null,to:null})},mode:{default:"range"},initialMonth:{}},emits:["update:modelValue"],setup(l,{emit:s}){const o=l,r=s,u=x(o.initialMonth??new Date),i=x(null),m=["Mo","Tu","We","Th","Fr","Sa","Su"],g=V(()=>$(u.value,"MMMM yyyy")),M=V(()=>{const e=A(u.value),n=Me(u.value);return we({start:e,end:n})}),z=V(()=>{const e=De(A(u.value));return e===0?6:e-1});function D(){u.value=$e(u.value)}function a(){u.value=ae(u.value,1)}function p(e){return e.getMonth()!==u.value.getMonth()}function N(e){return Ve(e)}function C(e){return T(e)||E(e)}function T(e){var n;return(n=o.modelValue)!=null&&n.from?I(e,o.modelValue.from):!1}function E(e){var n;return(n=o.modelValue)!=null&&n.to?I(e,o.modelValue.to):!1}function O(e){const{from:n,to:t}=o.modelValue??{};return!n||!t?!1:te(e,{start:n,end:t})&&!I(e,n)&&!I(e,t)}function P(e){var y,J;const n=(y=o.modelValue)==null?void 0:y.from;if(!n||(J=o.modelValue)!=null&&J.to||!i.value)return!1;const t=i.value;return ee(t,n)?!1:te(e,{start:n,end:t})}function F(e){if(o.mode==="single"){r("update:modelValue",{from:e,to:e});return}const{from:n,to:t}=o.modelValue??{};!n||n&&t?r("update:modelValue",{from:e,to:null}):ee(e,n)?r("update:modelValue",{from:e,to:n}):r("update:modelValue",{from:n,to:e})}return(e,n)=>(h(),_("div",Ce,[f("div",ke,[f("button",{type:"button",class:"flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",onClick:D,"aria-label":"Previous month"},[d(v(ge),{class:"h-4 w-4"})]),f("span",Se,S(g.value),1),f("button",{type:"button",class:"flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",onClick:a,"aria-label":"Next month"},[d(v(be),{class:"h-4 w-4"})])]),f("div",Ne,[(h(),_(j,null,L(m,t=>f("div",{key:t,class:"flex h-8 items-center justify-center text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},S(t),1)),64))]),f("div",Te,[(h(!0),_(j,null,L(z.value,t=>(h(),_("div",{key:"blank-"+t}))),128)),(h(!0),_(j,null,L(M.value,t=>(h(),_("button",{key:t.toISOString(),type:"button",class:W(v(q)("flex h-9 w-9 items-center justify-center rounded-md text-sm transition-colors","focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",p(t)&&"text-muted-foreground/40",N(t)&&!C(t)&&"ring-1 ring-primary",T(t)&&"rounded-l-md bg-primary text-primary-foreground",E(t)&&"rounded-r-md bg-primary text-primary-foreground",O(t)&&!T(t)&&!E(t)&&"bg-primary/15 rounded-none",P(t)&&!O(t)&&!C(t)&&"bg-primary/10",!C(t)&&!O(t)&&!P(t)&&"hover:bg-accent")),onClick:y=>F(t),onMouseenter:y=>i.value=t,onMouseleave:n[0]||(n[0]=y=>i.value=null),"aria-label":v($)(t,"EEEE, MMMM d, yyyy"),"aria-pressed":C(t)},S(v($)(t,"d")),43,Ee))),128))])]))}}),Oe={class:"flex"},Pe={class:"flex w-36 flex-col border-r border-border p-2 gap-1"},Ie=["onClick"],ze={class:"flex flex-col"},Fe={class:"flex"},Re={class:"border-l border-border"},je={key:0,class:"px-4 pb-2 text-xs text-destructive"},Le={class:"flex items-center justify-end gap-2 border-t border-border px-4 py-3"},Ue=G({__name:"DateRangePicker",props:{modelValue:{default:()=>({from:null,to:null})}},emits:["update:modelValue"],setup(l,{emit:s}){var P,F;const o=l,r=s,u=x(!1),i=x({from:((P=o.modelValue)==null?void 0:P.from)??null,to:((F=o.modelValue)==null?void 0:F.to)??null}),m=new Date,g=V(()=>A(i.value.from??m)),M=V(()=>{const e=new Date(g.value);return e.setMonth(e.getMonth()+1),e}),D=[{value:"today",label:"Today"},{value:"last7",label:"Last 7 days"},{value:"last30",label:"Last 30 days"},{value:"thisMonth",label:"This month"},{value:"custom",label:"Custom"}],a=x("custom");function p(e){if(a.value=e,e==="custom")return;const n=new Date;let t,y;if(e==="today")t=n,y=n;else if(e==="last7")t=oe(n,6),y=n;else if(e==="last30")t=oe(n,29),y=n;else if(e==="thisMonth")t=A(n),y=n;else return;i.value={from:t,to:y}}const N=V(()=>i.value.from&&i.value.to&&i.value.from>i.value.to?"End date must be after start date":null),C=V(()=>i.value.from!==null&&i.value.to!==null&&!N.value),T=V(()=>{const{from:e,to:n}=o.modelValue??{};return e?!n||e.getTime()===n.getTime()?$(e,"MMM d, yyyy"):`${$(e,"MMM d")} – ${$(n,"MMM d, yyyy")}`:"Pick a date range"});function E(){C.value&&(r("update:modelValue",{from:i.value.from,to:i.value.to}),u.value=!1)}function O(){var e,n;i.value={from:((e=o.modelValue)==null?void 0:e.from)??null,to:((n=o.modelValue)==null?void 0:n.to)??null},u.value=!1}return re(()=>o.modelValue,e=>{i.value={from:(e==null?void 0:e.from)??null,to:(e==null?void 0:e.to)??null}},{deep:!0}),(e,n)=>(h(),se(v(fe),{open:u.value,"onUpdate:open":n[2]||(n[2]=t=>u.value=t)},{default:c(()=>[d(v(ue),{"as-child":""},{default:c(()=>{var t;return[d(k,{variant:"outline",class:W(v(q)("w-full justify-start gap-2 text-left font-normal",!((t=l.modelValue)!=null&&t.from)&&"text-muted-foreground"))},{default:c(()=>[d(v(ye),{class:"h-4 w-4 shrink-0"}),f("span",null,S(T.value),1)]),_:1},8,["class"])]}),_:1}),d(v(ie),null,{default:c(()=>[d(v(de),{"side-offset":8,class:"z-50 w-auto rounded-xl border border-border bg-popover p-0 shadow-xl animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"},{default:c(()=>[f("div",Oe,[f("div",Pe,[(h(!0),_(j,null,L(v(D),t=>(h(),_("button",{key:t.value,type:"button",class:W(v(q)("rounded-md px-3 py-2 text-left text-sm transition-colors","hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",a.value===t.value&&"bg-primary/10 font-medium text-primary")),onClick:y=>p(t.value)},S(t.label),11,Ie))),128))]),f("div",ze,[f("div",Fe,[d(ne,{modelValue:i.value,"onUpdate:modelValue":n[0]||(n[0]=t=>i.value=t),"initial-month":g.value,mode:"range"},null,8,["modelValue","initial-month"]),f("div",Re,[d(ne,{modelValue:i.value,"onUpdate:modelValue":n[1]||(n[1]=t=>i.value=t),"initial-month":M.value,mode:"range"},null,8,["modelValue","initial-month"])])]),N.value?(h(),_("p",je,S(N.value),1)):le("",!0),f("div",Le,[d(k,{variant:"ghost",size:"sm",onClick:O},{default:c(()=>[...n[3]||(n[3]=[w("Cancel",-1)])]),_:1}),d(k,{size:"sm",disabled:!C.value,onClick:E},{default:c(()=>[...n[4]||(n[4]=[w("Apply",-1)])]),_:1},8,["disabled"])])])])]),_:1})]),_:1})]),_:1},8,["open"]))}});function Ae(l,s){const o=`/cc-dashboard/api/export/timesheet.csv?from=${l}&to=${s}`,r=document.createElement("a");r.href=o,r.download=`timesheet-${l}-${s}.csv`,r.click()}function Be(l,s){const o=`/cc-dashboard/api/export/timesheet.ics?from=${l}&to=${s}`,r=document.createElement("a");r.href=o,r.download=`timesheet-${l}-${s}.ics`,r.click()}const He={class:"p-6 space-y-8 max-w-2xl"},Ye={class:"space-y-2"},Ke={class:"space-y-2"},We={class:"flex items-center justify-between"},qe={class:"space-y-2"},Ge={class:"flex items-center gap-2"},it=G({__name:"SettingsView",setup(l){const s=ce(),o=pe(),r=x(""),u=x(0),i=x(!1),m=x(""),g=x("");me(()=>{s.user&&(r.value=s.user.username,u.value=s.user.daily_overhead_hours??0),o.fetchIntegration();const D=new Date;g.value=X(D);const a=new Date(D);a.setDate(D.getDate()-30),m.value=X(a)});async function M(){i.value=!0;try{await ve.patch("/api/auth/me",{username:r.value,daily_overhead_hours:u.value}),await s.fetchMe(),R.success("Profile saved")}catch{R.error("Failed to save profile")}finally{i.value=!1}}async function z(){try{await o.sync(),R.success("Sync complete")}catch{R.error(o.error??"Sync failed")}}return(D,a)=>(h(),_("div",He,[a[16]||(a[16]=f("h2",{class:"text-lg font-semibold text-foreground"},"Settings",-1)),d(B,null,{default:c(()=>[d(Y,null,{default:c(()=>[d(K,{class:"text-sm"},{default:c(()=>[...a[5]||(a[5]=[w("Profile",-1)])]),_:1})]),_:1}),d(H,{class:"space-y-6"},{default:c(()=>[f("div",Ye,[a[6]||(a[6]=f("label",{class:"text-sm font-medium text-foreground"},"Username",-1)),d(Q,{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=p=>r.value=p),placeholder:"username"},null,8,["modelValue"])]),f("div",Ke,[a[7]||(a[7]=f("label",{class:"text-sm font-medium text-foreground"},"Daily Overhead Hours",-1)),d(Q,{modelValue:u.value,"onUpdate:modelValue":a[1]||(a[1]=p=>u.value=p),type:"number",min:"0",max:"8",step:"0.25",class:"w-32"},null,8,["modelValue"]),a[8]||(a[8]=f("p",{class:"text-xs text-muted-foreground"}," Hours per day to add for overhead / meetings ",-1))]),d(k,{loading:i.value,class:"focus-visible:ring-2 focus-visible:ring-ring",onClick:M},{default:c(()=>[...a[9]||(a[9]=[w("Save Profile",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),d(B,null,{default:c(()=>[d(Y,null,{default:c(()=>[f("div",We,[d(K,{class:"text-sm"},{default:c(()=>[...a[10]||(a[10]=[w("Azure DevOps Integration",-1)])]),_:1}),v(o).integration?(h(),se(k,{key:0,variant:"outline",size:"sm",loading:v(o).syncing,class:"focus-visible:ring-2 focus-visible:ring-ring",onClick:z},{default:c(()=>[...a[11]||(a[11]=[w(" Sync Now ",-1)])]),_:1},8,["loading"])):le("",!0)])]),_:1}),d(H,null,{default:c(()=>[d(he)]),_:1})]),_:1}),d(B,null,{default:c(()=>[d(Y,null,{default:c(()=>[d(K,{class:"text-sm"},{default:c(()=>[...a[12]||(a[12]=[w("Export",-1)])]),_:1})]),_:1}),d(H,{class:"space-y-6"},{default:c(()=>[f("div",qe,[a[13]||(a[13]=f("label",{class:"text-sm font-medium text-foreground"},"Date range",-1)),d(Ue,{"model-value":{from:m.value?new Date(m.value):null,to:g.value?new Date(g.value):null},"onUpdate:modelValue":a[2]||(a[2]=p=>{m.value=p.from?v($)(p.from,"yyyy-MM-dd"):"",g.value=p.to?v($)(p.to,"yyyy-MM-dd"):""})},null,8,["model-value"])]),f("div",Ge,[d(k,{variant:"outline",size:"sm",class:"focus-visible:ring-2 focus-visible:ring-ring",onClick:a[3]||(a[3]=p=>v(Ae)(m.value,g.value))},{default:c(()=>[...a[14]||(a[14]=[w(" Download CSV ",-1)])]),_:1}),d(k,{variant:"outline",size:"sm",class:"focus-visible:ring-2 focus-visible:ring-ring",onClick:a[4]||(a[4]=p=>v(Be)(m.value,g.value))},{default:c(()=>[...a[15]||(a[15]=[w(" Download ICS ",-1)])]),_:1})])]),_:1})]),_:1})]))}});export{it as default}; diff --git a/src/static/assets/Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js b/src/static/assets/Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js new file mode 100644 index 0000000..05894c1 --- /dev/null +++ b/src/static/assets/Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js @@ -0,0 +1 @@ +import{c as s}from"./utils-7WVCegLb.js";import{d as r,o as t,c as n,m as o,h as a}from"./index-BiYpJJoC.js";const i=r({inheritAttrs:!1,__name:"Skeleton",setup(m){return(e,c)=>(t(),n("div",o(e.$attrs,{class:a(s)("skeleton-shimmer rounded-md",e.$attrs.class)}),null,16))}});export{i as _}; diff --git a/src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js b/src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js similarity index 90% rename from src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js rename to src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js index 62a1617..db14e6c 100644 --- a/src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js +++ b/src/static/assets/Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js @@ -1 +1 @@ -import{d as l,o as n,c as o,n as t,a as r}from"./index-DMlmI4VG.js";const i=l({__name:"Spinner",props:{size:{},class:{}},setup(s){return(a,e)=>(n(),o("svg",{class:t(["animate-spin text-current",s.size==="sm"?"h-3 w-3":s.size==="lg"?"h-6 w-6":"h-4 w-4",a.$props.class]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...e[0]||(e[0]=[r("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),r("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])],2))}});export{i as _}; +import{d as l,o as n,c as o,n as t,a as r}from"./index-BiYpJJoC.js";const i=l({__name:"Spinner",props:{size:{},class:{}},setup(s){return(a,e)=>(n(),o("svg",{class:t(["animate-spin text-current",s.size==="sm"?"h-3 w-3":s.size==="lg"?"h-6 w-6":"h-4 w-4",a.$props.class]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...e[0]||(e[0]=[r("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),r("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])],2))}});export{i as _}; diff --git a/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js b/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js deleted file mode 100644 index b6073a8..0000000 --- a/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js +++ /dev/null @@ -1 +0,0 @@ -import{d as C,c as r,n as D,h as b,t as _,i as x,p as U,o as n,E as z,C as T,s as y,y as N,x as I,k as B,w as u,a as l,e as i,q as V,F as j,r as S,D as P}from"./index-DMlmI4VG.js";import{_ as E}from"./Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js";import{_ as c}from"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import{_ as A}from"./Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js";import{c as F}from"./utils-7WVCegLb.js";import{_ as $}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{u as L}from"./devops-roMxSiNP.js";const M=["id","value","disabled"],O=["selected"],k=C({__name:"Select",props:{modelValue:{},disabled:{type:Boolean},class:{},id:{},placeholder:{}},emits:["update:modelValue","change"],setup(o,{emit:m}){const s=o,p=m;return(v,f)=>(n(),r("select",{id:o.id,value:o.modelValue,disabled:o.disabled,class:D(b(F)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",s.class)),onChange:f[0]||(f[0]=t=>p("update:modelValue",t.target.value))},[o.placeholder?(n(),r("option",{key:0,value:"",disabled:"",selected:!o.modelValue},_(o.placeholder),9,O)):x("",!0),U(v.$slots,"default")],42,M))}}),W={list:()=>z.get("/api/projects")},q=T("projects",()=>{const o=y([]),m=y(!1);async function s(){if(!(o.value.length>0)){m.value=!0;try{const p=await W.list();o.value=p.data}catch{o.value=[]}finally{m.value=!1}}}return{projects:o,loading:m,fetchProjects:s}}),H={class:"space-y-1.5"},G={class:"space-y-1.5"},J={class:"grid grid-cols-2 gap-3"},K={class:"space-y-1.5"},Q={class:"space-y-1.5"},R={class:"grid grid-cols-2 gap-3"},X={class:"space-y-1.5"},Y={class:"space-y-1.5"},Z={class:"grid grid-cols-2 gap-3"},h={class:"space-y-1.5"},ee={class:"space-y-1.5"},te={key:0,class:"space-y-1.5"},le=["value"],ae={key:1,class:"space-y-1.5"},oe=["value"],pe=C({__name:"TaskForm",props:{open:{type:Boolean},task:{default:null},defaultDate:{}},emits:["close","save"],setup(o,{emit:m}){const s=o,p=m,v=L(),f=q();N(()=>{f.fetchProjects()});const t=y({title:"",notes:"",planned_date:"",start_time:"",end_time:"",estimate_hours:1,status:"todo",priority:3,project_id:void 0,azure_work_item_id:void 0});I(()=>s.open,g=>{g&&(s.task?t.value={title:s.task.title,notes:s.task.notes??"",planned_date:s.task.planned_date??"",start_time:"",end_time:"",estimate_hours:s.task.estimate_hours??1,status:s.task.status,priority:s.task.priority,project_id:s.task.project_id??void 0,azure_work_item_id:s.task.azure_work_item_id??void 0}:t.value={title:"",notes:"",planned_date:s.defaultDate??"",start_time:"",end_time:"",estimate_hours:1,status:"todo",priority:3,project_id:void 0,azure_work_item_id:void 0},v.integration&&!v.workItems.length&&v.fetchWorkItems("open"))},{immediate:!0});const d=y(!1);async function w(){if(t.value.title.trim()){d.value=!0;try{const g={title:t.value.title,notes:t.value.notes||void 0,planned_date:t.value.planned_date,estimate_hours:t.value.estimate_hours,status:t.value.status,priority:t.value.priority,project_id:t.value.project_id||null,azure_work_item_id:t.value.azure_work_item_id||null};let e;t.value.planned_date&&t.value.start_time&&t.value.end_time&&(e={start_at:new Date(`${t.value.planned_date}T${t.value.start_time}:00`).toISOString(),end_at:new Date(`${t.value.planned_date}T${t.value.end_time}:00`).toISOString()}),p("save",g,e)}finally{d.value=!1}}}return(g,e)=>(n(),B(E,{open:o.open,title:o.task?"Edit Task":"New Task","max-width":"max-w-md",onClose:e[11]||(e[11]=a=>p("close"))},{footer:u(()=>[i($,{variant:"outline",disabled:d.value,onClick:e[10]||(e[10]=a=>p("close"))},{default:u(()=>[...e[25]||(e[25]=[V("Cancel",-1)])]),_:1},8,["disabled"]),i($,{loading:d.value,onClick:w},{default:u(()=>[V(_(o.task?"Update":"Create"),1)]),_:1},8,["loading"])]),default:u(()=>[l("form",{class:"space-y-4",onSubmit:P(w,["prevent"])},[l("div",H,[e[12]||(e[12]=l("label",{class:"text-sm font-medium text-foreground"},"Title *",-1)),i(c,{modelValue:t.value.title,"onUpdate:modelValue":e[0]||(e[0]=a=>t.value.title=a),placeholder:"Task title...",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",G,[e[13]||(e[13]=l("label",{class:"text-sm font-medium text-foreground"},"Notes",-1)),i(A,{modelValue:t.value.notes,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.notes=a),placeholder:"Additional notes...",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",J,[l("div",K,[e[14]||(e[14]=l("label",{class:"text-sm font-medium text-foreground"},"Planned Date",-1)),i(c,{modelValue:t.value.planned_date,"onUpdate:modelValue":e[2]||(e[2]=a=>t.value.planned_date=a),type:"date",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",Q,[e[15]||(e[15]=l("label",{class:"text-sm font-medium text-foreground"},"Estimate (h)",-1)),i(c,{modelValue:t.value.estimate_hours,"onUpdate:modelValue":e[3]||(e[3]=a=>t.value.estimate_hours=a),type:"number",min:"0.25",max:"24",step:"0.25",disabled:d.value},null,8,["modelValue","disabled"])])]),l("div",R,[l("div",X,[e[16]||(e[16]=l("label",{class:"text-sm font-medium text-foreground"},[V("Start time "),l("span",{class:"text-muted-foreground font-normal"},"(optional)")],-1)),i(c,{modelValue:t.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.start_time=a),type:"time",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",Y,[e[17]||(e[17]=l("label",{class:"text-sm font-medium text-foreground"},"End time",-1)),i(c,{modelValue:t.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=a=>t.value.end_time=a),type:"time",disabled:d.value},null,8,["modelValue","disabled"])])]),l("div",Z,[l("div",h,[e[19]||(e[19]=l("label",{class:"text-sm font-medium text-foreground"},"Status",-1)),i(k,{modelValue:t.value.status,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.status=a),disabled:d.value},{default:u(()=>[...e[18]||(e[18]=[l("option",{value:"todo"},"Todo",-1),l("option",{value:"doing"},"Doing",-1),l("option",{value:"testing"},"Testing",-1),l("option",{value:"done"},"Done",-1),l("option",{value:"cancelled"},"Cancelled",-1)])]),_:1},8,["modelValue","disabled"])]),l("div",ee,[e[21]||(e[21]=l("label",{class:"text-sm font-medium text-foreground"},"Priority",-1)),i(k,{modelValue:t.value.priority,"onUpdate:modelValue":e[7]||(e[7]=a=>t.value.priority=a),disabled:d.value},{default:u(()=>[...e[20]||(e[20]=[l("option",{value:"1"},"1 - Low",-1),l("option",{value:"2"},"2 - Normal",-1),l("option",{value:"3"},"3 - Medium",-1),l("option",{value:"4"},"4 - High",-1),l("option",{value:"5"},"5 - Critical",-1)])]),_:1},8,["modelValue","disabled"])])]),b(f).projects.length?(n(),r("div",te,[e[23]||(e[23]=l("label",{class:"text-sm font-medium text-foreground"},"Project",-1)),i(k,{modelValue:t.value.project_id,"onUpdate:modelValue":e[8]||(e[8]=a=>t.value.project_id=a),disabled:d.value,placeholder:"Select project..."},{default:u(()=>[e[22]||(e[22]=l("option",{value:""},"None",-1)),(n(!0),r(j,null,S(b(f).projects,a=>(n(),r("option",{key:a.id,value:a.id},_(a.display_name)+_(a.job_number?` (${a.job_number})`:""),9,le))),128))]),_:1},8,["modelValue","disabled"])])):x("",!0),b(v).workItems.length?(n(),r("div",ae,[e[24]||(e[24]=l("label",{class:"text-sm font-medium text-foreground"},"Azure DevOps Work Item",-1)),i(k,{modelValue:t.value.azure_work_item_id,"onUpdate:modelValue":e[9]||(e[9]=a=>t.value.azure_work_item_id=a),disabled:d.value,placeholder:"Link work item..."},{default:u(()=>[(n(!0),r(j,null,S(b(v).workItems,a=>(n(),r("option",{key:a.id,value:a.id}," #"+_(a.ado_id)+" – "+_(a.title),9,oe))),128))]),_:1},8,["modelValue","disabled"])])):x("",!0)],32)]),_:1},8,["open","title"]))}});export{pe as _,k as a,q as u}; diff --git a/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js b/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js new file mode 100644 index 0000000..0926ac8 --- /dev/null +++ b/src/static/assets/TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js @@ -0,0 +1 @@ +import{d as C,c as r,n as D,h as c,t as _,i as x,p as U,o as n,D as z,B as T,s as y,A as N,x as B,k as I,w as u,a as l,e as i,q as V,F as j,r as S,C as P}from"./index-BiYpJJoC.js";import{_ as A}from"./Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js";import{_ as b}from"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import{_ as E}from"./Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js";import{c as F}from"./utils-7WVCegLb.js";import{_ as $}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{u as L}from"./devops-y1AYKG_U.js";const M=["id","value","disabled"],O=["selected"],k=C({__name:"Select",props:{modelValue:{},disabled:{type:Boolean},class:{},id:{},placeholder:{}},emits:["update:modelValue","change"],setup(o,{emit:m}){const s=o,p=m;return(v,f)=>(n(),r("select",{id:o.id,value:o.modelValue,disabled:o.disabled,class:D(c(F)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",s.class)),onChange:f[0]||(f[0]=t=>p("update:modelValue",t.target.value))},[o.placeholder?(n(),r("option",{key:0,value:"",disabled:"",selected:!o.modelValue},_(o.placeholder),9,O)):x("",!0),U(v.$slots,"default")],42,M))}}),W={list:()=>z.get("/api/projects")},q=T("projects",()=>{const o=y([]),m=y(!1);async function s(){if(!(o.value.length>0)){m.value=!0;try{const p=await W.list();o.value=p.data}catch{o.value=[]}finally{m.value=!1}}}return{projects:o,loading:m,fetchProjects:s}}),H={class:"space-y-1.5"},G={class:"space-y-1.5"},J={class:"grid grid-cols-2 gap-3"},K={class:"space-y-1.5"},Q={class:"space-y-1.5"},R={class:"grid grid-cols-2 gap-3"},X={class:"space-y-1.5"},Y={class:"space-y-1.5"},Z={class:"grid grid-cols-2 gap-3"},h={class:"space-y-1.5"},ee={class:"space-y-1.5"},te={key:0,class:"space-y-1.5"},le=["value"],ae={key:1,class:"space-y-1.5"},oe=["value"],pe=C({__name:"TaskForm",props:{open:{type:Boolean},task:{default:null},defaultDate:{}},emits:["close","save"],setup(o,{emit:m}){const s=o,p=m,v=L(),f=q();N(()=>{f.fetchProjects()});const t=y({title:"",notes:"",planned_date:"",start_time:"",end_time:"",estimate_hours:1,status:"todo",priority:3,project_id:void 0,azure_work_item_id:void 0});B(()=>s.open,g=>{g&&(s.task?t.value={title:s.task.title,notes:s.task.notes??"",planned_date:s.task.planned_date??"",start_time:"",end_time:"",estimate_hours:s.task.estimate_hours??1,status:s.task.status,priority:s.task.priority,project_id:s.task.project_id??void 0,azure_work_item_id:s.task.azure_work_item_id??void 0}:t.value={title:"",notes:"",planned_date:s.defaultDate??"",start_time:"",end_time:"",estimate_hours:1,status:"todo",priority:3,project_id:void 0,azure_work_item_id:void 0},v.integration&&!v.workItems.length&&v.fetchWorkItems("open"))},{immediate:!0});const d=y(!1);async function w(){if(t.value.title.trim()){d.value=!0;try{const g={title:t.value.title,notes:t.value.notes||void 0,planned_date:t.value.planned_date,estimate_hours:t.value.estimate_hours,status:t.value.status,priority:t.value.priority,project_id:t.value.project_id||null,azure_work_item_id:t.value.azure_work_item_id||null};let e;t.value.planned_date&&t.value.start_time&&t.value.end_time&&(e={start_at:new Date(`${t.value.planned_date}T${t.value.start_time}:00`).toISOString(),end_at:new Date(`${t.value.planned_date}T${t.value.end_time}:00`).toISOString()}),p("save",g,e)}finally{d.value=!1}}}return(g,e)=>(n(),I(A,{open:o.open,title:o.task?"Edit Task":"New Task","max-width":"max-w-md",onClose:e[11]||(e[11]=a=>p("close"))},{footer:u(()=>[i($,{variant:"outline",disabled:d.value,onClick:e[10]||(e[10]=a=>p("close"))},{default:u(()=>[...e[25]||(e[25]=[V("Cancel",-1)])]),_:1},8,["disabled"]),i($,{loading:d.value,onClick:w},{default:u(()=>[V(_(o.task?"Update":"Create"),1)]),_:1},8,["loading"])]),default:u(()=>[l("form",{class:"space-y-4",onSubmit:P(w,["prevent"])},[l("div",H,[e[12]||(e[12]=l("label",{class:"text-sm font-medium text-foreground"},"Title *",-1)),i(b,{modelValue:t.value.title,"onUpdate:modelValue":e[0]||(e[0]=a=>t.value.title=a),placeholder:"Task title...",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",G,[e[13]||(e[13]=l("label",{class:"text-sm font-medium text-foreground"},"Notes",-1)),i(E,{modelValue:t.value.notes,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.notes=a),placeholder:"Additional notes...",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",J,[l("div",K,[e[14]||(e[14]=l("label",{class:"text-sm font-medium text-foreground"},"Planned Date",-1)),i(b,{modelValue:t.value.planned_date,"onUpdate:modelValue":e[2]||(e[2]=a=>t.value.planned_date=a),type:"date",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",Q,[e[15]||(e[15]=l("label",{class:"text-sm font-medium text-foreground"},"Estimate (h)",-1)),i(b,{modelValue:t.value.estimate_hours,"onUpdate:modelValue":e[3]||(e[3]=a=>t.value.estimate_hours=a),type:"number",min:"0.25",max:"24",step:"0.25",disabled:d.value},null,8,["modelValue","disabled"])])]),l("div",R,[l("div",X,[e[16]||(e[16]=l("label",{class:"text-sm font-medium text-foreground"},[V("Start time "),l("span",{class:"text-muted-foreground font-normal"},"(optional)")],-1)),i(b,{modelValue:t.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.start_time=a),type:"time",disabled:d.value},null,8,["modelValue","disabled"])]),l("div",Y,[e[17]||(e[17]=l("label",{class:"text-sm font-medium text-foreground"},"End time",-1)),i(b,{modelValue:t.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=a=>t.value.end_time=a),type:"time",disabled:d.value},null,8,["modelValue","disabled"])])]),l("div",Z,[l("div",h,[e[19]||(e[19]=l("label",{class:"text-sm font-medium text-foreground"},"Status",-1)),i(k,{modelValue:t.value.status,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.status=a),disabled:d.value},{default:u(()=>[...e[18]||(e[18]=[l("option",{value:"todo"},"Todo",-1),l("option",{value:"doing"},"Doing",-1),l("option",{value:"testing"},"Testing",-1),l("option",{value:"done"},"Done",-1),l("option",{value:"cancelled"},"Cancelled",-1)])]),_:1},8,["modelValue","disabled"])]),l("div",ee,[e[21]||(e[21]=l("label",{class:"text-sm font-medium text-foreground"},"Priority",-1)),i(k,{modelValue:t.value.priority,"onUpdate:modelValue":e[7]||(e[7]=a=>t.value.priority=a),disabled:d.value},{default:u(()=>[...e[20]||(e[20]=[l("option",{value:"1"},"1 - Low",-1),l("option",{value:"2"},"2 - Normal",-1),l("option",{value:"3"},"3 - Medium",-1),l("option",{value:"4"},"4 - High",-1),l("option",{value:"5"},"5 - Critical",-1)])]),_:1},8,["modelValue","disabled"])])]),c(f).projects.length?(n(),r("div",te,[e[23]||(e[23]=l("label",{class:"text-sm font-medium text-foreground"},"Project",-1)),i(k,{modelValue:t.value.project_id,"onUpdate:modelValue":e[8]||(e[8]=a=>t.value.project_id=a),disabled:d.value,placeholder:"Select project..."},{default:u(()=>[e[22]||(e[22]=l("option",{value:""},"None",-1)),(n(!0),r(j,null,S(c(f).projects,a=>(n(),r("option",{key:a.id,value:a.id},_(a.display_name)+_(a.job_number?` (${a.job_number})`:""),9,le))),128))]),_:1},8,["modelValue","disabled"])])):x("",!0),c(v).workItems.length?(n(),r("div",ae,[e[24]||(e[24]=l("label",{class:"text-sm font-medium text-foreground"},"Azure DevOps Work Item",-1)),i(k,{modelValue:t.value.azure_work_item_id,"onUpdate:modelValue":e[9]||(e[9]=a=>t.value.azure_work_item_id=a),disabled:d.value,placeholder:"Link work item..."},{default:u(()=>[(n(!0),r(j,null,S(c(v).workItems,a=>(n(),r("option",{key:a.id,value:a.id}," #"+_(a.ado_id)+" – "+_(a.title),9,oe))),128))]),_:1},8,["modelValue","disabled"])])):x("",!0)],32)]),_:1},8,["open","title"]))}});export{pe as _,k as a,q as u}; diff --git a/src/static/assets/TasksView-BcEx816y.js b/src/static/assets/TasksView-BcEx816y.js deleted file mode 100644 index c629a80..0000000 --- a/src/static/assets/TasksView-BcEx816y.js +++ /dev/null @@ -1 +0,0 @@ -import{u as B}from"./tasks-DzAUejbm.js";import{u as N,a as A,_ as K}from"./TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js";import{s as p,d as j,o as d,c,n as _,a as n,t as D,i as $,F as S,r as C,k as P,y as I,e as w,w as E,h as f,q as z,K as T,j as F}from"./index-DMlmI4VG.js";import{_ as M}from"./Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js";import{_ as H}from"./Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js";import"./Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js";import"./Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js";import"./utils-7WVCegLb.js";import"./Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js";import"./devops-roMxSiNP.js";function U(){const t=B(),l=p(null),r=p(null);function u(x,g){var k;l.value=x.id,(k=g.dataTransfer)==null||k.setData("task_id",x.id),g.dataTransfer&&(g.dataTransfer.effectAllowed="move")}function v(){l.value=null,r.value=null}function a(x,g){g.preventDefault(),r.value=x,g.dataTransfer&&(g.dataTransfer.dropEffect="move")}function s(){r.value=null}async function m(x,g,k){var h;k.preventDefault(),r.value=null;const b=(h=k.dataTransfer)==null?void 0:h.getData("task_id");b&&(l.value=null,await t.update(b,{status:x,sort_index:g}))}return{draggingId:l,dragOverColumn:r,onDragStart:u,onDragEnd:v,onDragOver:a,onDragLeave:s,onDrop:m}}const q={class:"flex items-start gap-2"},G=["title"],J={class:"flex-1 min-w-0"},Q={class:"text-sm font-medium text-slate-800 leading-snug line-clamp-2"},R={class:"flex flex-wrap items-center gap-1.5 mt-1.5"},W=["title"],X={key:1,class:"text-[10px] px-1.5 py-0.5 rounded-md bg-blue-50 text-blue-500 font-medium shrink-0"},Y={key:2,class:"text-[10px] text-slate-400 shrink-0"},Z=j({__name:"KanbanCard",props:{task:{},dragging:{type:Boolean}},emits:["edit"],setup(t,{emit:l}){const r=l,u={1:"bg-red-500",2:"bg-orange-400",3:"bg-slate-300",4:"bg-slate-300",5:"bg-slate-300"};return(v,a)=>(d(),c("div",{class:_(["group relative bg-white rounded-xl border border-slate-200/80 px-3 py-2.5 cursor-grab active:cursor-grabbing shadow-sm hover:shadow-md hover:border-orange-200 transition-all duration-150 select-none",t.dragging?"opacity-40 scale-95":"opacity-100"]),draggable:"true",onClick:a[0]||(a[0]=s=>r("edit",t.task))},[n("div",q,[n("span",{class:_(["mt-1.5 h-2 w-2 rounded-full shrink-0",u[t.task.priority]??"bg-slate-300"]),title:`Priority ${t.task.priority}`},null,10,G),n("div",J,[n("p",Q,D(t.task.title),1),n("div",R,[t.task.project_name?(d(),c("span",{key:0,class:"text-[10px] px-1.5 py-0.5 rounded-md bg-slate-100 text-slate-500 font-medium truncate max-w-[100px]",title:t.task.project_name},D(t.task.project_name),9,W)):$("",!0),t.task.azure_work_item_id?(d(),c("span",X," ADO ")):$("",!0),t.task.planned_date?(d(),c("span",Y,D(t.task.planned_date),1)):$("",!0)])])])],2))}}),tt={class:"flex flex-col min-h-0 w-full"},et={class:"flex items-center justify-between px-1 mb-2"},at={class:"flex items-center gap-2"},st={class:"text-xs font-semibold uppercase tracking-wider text-slate-500"},nt={class:"text-[10px] font-semibold bg-slate-100 text-slate-400 px-1.5 py-0.5 rounded-full leading-none"},ot={key:0,class:"flex items-center justify-center h-16 text-[11px] text-slate-300 select-none"},rt=j({__name:"KanbanColumn",props:{status:{},title:{},tasks:{},draggingId:{},isDragOver:{type:Boolean}},emits:["dragStart","dragEnd","dragOver","dragLeave","drop","editTask","addTask"],setup(t,{emit:l}){const r=l,u={todo:"border-t-slate-300",doing:"border-t-orange-400",testing:"border-t-blue-400",done:"border-t-emerald-400"};return(v,a)=>(d(),c("div",tt,[n("div",et,[n("div",at,[n("h3",st,D(t.title),1),n("span",nt,D(t.tasks.length),1)]),n("button",{class:"h-5 w-5 rounded flex items-center justify-center text-slate-400 hover:text-orange-500 hover:bg-orange-50 transition-colors",title:"Add task",onClick:a[0]||(a[0]=s=>r("addTask",t.status))},[...a[5]||(a[5]=[n("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1)])])]),n("div",{class:_(["flex-1 rounded-xl border-2 border-dashed transition-all duration-150 p-2 space-y-2 min-h-[120px]",`border-t-4 ${u[t.status]??"border-t-slate-300"}`,t.isDragOver?"border-orange-300 bg-orange-50/60":"border-transparent bg-slate-50/60"]),onDragover:a[2]||(a[2]=s=>r("dragOver",t.status,s)),onDragleave:a[3]||(a[3]=s=>r("dragLeave")),onDrop:a[4]||(a[4]=s=>r("drop",t.status,t.tasks.length,s))},[(d(!0),c(S,null,C(t.tasks,s=>(d(),P(Z,{key:s.id,task:s,dragging:t.draggingId===s.id,onDragstart:m=>r("dragStart",s,m),onDragend:a[1]||(a[1]=m=>r("dragEnd")),onEdit:m=>r("editTask",s)},null,8,["task","dragging","onDragstart","onEdit"]))),128)),t.tasks.length===0&&!t.isDragOver?(d(),c("div",ot," Drop here ")):$("",!0)],34)]))}}),lt={class:"flex flex-col h-full overflow-hidden"},it={class:"flex items-center gap-3 px-6 py-4 border-b border-slate-100 bg-white/60 shrink-0"},dt=["value"],ut={key:0,class:"flex items-center justify-center flex-1"},ct={key:1,class:"flex-1 overflow-x-auto overflow-y-hidden"},gt={class:"grid grid-cols-4 gap-4 p-6 h-full min-w-[700px]"},yt=j({__name:"TasksView",setup(t){const l=B(),r=N(),u=U(),v=p(""),a=p(!1),s=p(null),m=p("todo"),x=[{status:"todo",title:"To Do"},{status:"doing",title:"Doing"},{status:"testing",title:"Testing"},{status:"done",title:"Done"}];I(async()=>{await Promise.all([l.fetchAll(),r.fetchProjects()])});const g=F(()=>{const i=l.tasks.filter(e=>e.status!=="cancelled");return v.value?i.filter(e=>e.project_id===v.value):i});function k(i){let e=g.value.filter(o=>o.status===i);return e=[...e].sort((o,y)=>o.sort_index-y.sort_index||o.created_at.localeCompare(y.created_at)),i==="done"&&(e=e.slice(-30)),e}function b(i){m.value=i,s.value=null,a.value=!0}function h(i){s.value=i,a.value=!0}function O(){a.value=!1,s.value=null}async function L(i,e){try{if(s.value)await l.update(s.value.id,i),e&&await l.createBlock(s.value.id,e),T.success("Task updated");else{const o={...i,status:i.status||m.value},y=await l.create(o);e&&await l.createBlock(y.id,e),T.success("Task created")}}catch{T.error("Failed to save task")}O()}const V=new Date().toISOString().split("T")[0];return(i,e)=>(d(),c("div",lt,[n("div",it,[e[4]||(e[4]=n("h2",{class:"text-sm font-semibold text-slate-800 mr-2"},"Kanban",-1)),w(A,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=o=>v.value=o),class:"w-44 text-xs"},{default:E(()=>[e[2]||(e[2]=n("option",{value:""},"All projects",-1)),(d(!0),c(S,null,C(f(r).projects,o=>(d(),c("option",{key:o.id,value:o.id},D(o.display_name),9,dt))),128))]),_:1},8,["modelValue"]),e[5]||(e[5]=n("div",{class:"flex-1"},null,-1)),w(M,{size:"sm",onClick:e[1]||(e[1]=o=>b("todo"))},{default:E(()=>[...e[3]||(e[3]=[n("svg",{class:"h-3.5 w-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1),z(" New task ",-1)])]),_:1})]),f(l).loading?(d(),c("div",ut,[w(H,{size:"lg",class:"text-primary"})])):(d(),c("div",ct,[n("div",gt,[(d(),c(S,null,C(x,o=>n("div",{key:o.status,class:"flex flex-col min-h-0 overflow-y-auto"},[w(rt,{status:o.status,title:o.title,tasks:k(o.status),"dragging-id":f(u).draggingId.value,"is-drag-over":f(u).dragOverColumn.value===o.status,onDragStart:f(u).onDragStart,onDragEnd:f(u).onDragEnd,onDragOver:f(u).onDragOver,onDragLeave:f(u).onDragLeave,onDrop:f(u).onDrop,onEditTask:h,onAddTask:b},null,8,["status","title","tasks","dragging-id","is-drag-over","onDragStart","onDragEnd","onDragOver","onDragLeave","onDrop"])])),64))])])),w(K,{open:a.value,task:s.value,"default-date":f(V),onClose:O,onSave:L},null,8,["open","task","default-date"])]))}});export{yt as default}; diff --git a/src/static/assets/TasksView-D8TRKoOC.js b/src/static/assets/TasksView-D8TRKoOC.js new file mode 100644 index 0000000..0b788d5 --- /dev/null +++ b/src/static/assets/TasksView-D8TRKoOC.js @@ -0,0 +1 @@ +import{u as L}from"./tasks-DwSuZPNM.js";import{u as A,a as K,_ as P}from"./TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js";import{s as b,d as j,o as d,c,n as T,a as n,e as p,w as S,t as D,i as $,F as C,r as O,k as B,A as z,h as f,q as I,j as F,K as _}from"./index-BiYpJJoC.js";import{_ as M}from"./Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js";import{_ as H}from"./EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js";import{_ as U}from"./Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js";import{_ as q}from"./Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js";import"./Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js";import"./Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js";import"./utils-7WVCegLb.js";import"./Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js";import"./devops-y1AYKG_U.js";function G(){const t=L(),l=b(null),o=b(null);function u(k,g){var x;l.value=k.id,(x=g.dataTransfer)==null||x.setData("task_id",k.id),g.dataTransfer&&(g.dataTransfer.effectAllowed="move")}function m(){l.value=null,o.value=null}function a(k,g){g.preventDefault(),o.value=k,g.dataTransfer&&(g.dataTransfer.dropEffect="move")}function s(){o.value=null}async function v(k,g,x){var h;x.preventDefault(),o.value=null;const w=(h=x.dataTransfer)==null?void 0:h.getData("task_id");w&&(l.value=null,await t.update(w,{status:k,sort_index:g}))}return{draggingId:l,dragOverColumn:o,onDragStart:u,onDragEnd:m,onDragOver:a,onDragLeave:s,onDrop:v}}const J={class:"flex items-start gap-2"},Q={class:"flex-1 min-w-0"},R={class:"text-sm font-medium text-slate-800 leading-snug line-clamp-2"},W={class:"flex flex-wrap items-center gap-1.5 mt-1.5"},X=["title"],Y={key:1,class:"text-[10px] px-1.5 py-0.5 rounded-md bg-blue-50 text-blue-500 font-medium shrink-0"},Z={key:2,class:"text-[10px] text-slate-400 shrink-0"},tt=j({__name:"KanbanCard",props:{task:{},dragging:{type:Boolean}},emits:["edit"],setup(t,{emit:l}){const o=l,u={1:"bg-red-500",2:"bg-orange-400",3:"bg-slate-300",4:"bg-slate-300",5:"bg-slate-300"};return(m,a)=>(d(),c("div",{class:T(["group relative bg-white rounded-xl border border-slate-200/80 px-3 py-2.5 cursor-grab active:cursor-grabbing shadow-sm hover:shadow-md hover:border-orange-200 transition-all duration-150 select-none",t.dragging?"opacity-40 scale-95":"opacity-100"]),draggable:"true",onClick:a[0]||(a[0]=s=>o("edit",t.task))},[n("div",J,[p(M,{content:`Priority ${t.task.priority}`},{default:S(()=>[n("span",{class:T(["mt-1.5 h-2 w-2 rounded-full shrink-0",u[t.task.priority]??"bg-slate-300"])},null,2)]),_:1},8,["content"]),n("div",Q,[n("p",R,D(t.task.title),1),n("div",W,[t.task.project_name?(d(),c("span",{key:0,class:"text-[10px] px-1.5 py-0.5 rounded-md bg-slate-100 text-slate-500 font-medium truncate max-w-[100px]",title:t.task.project_name},D(t.task.project_name),9,X)):$("",!0),t.task.azure_work_item_id?(d(),c("span",Y," ADO ")):$("",!0),t.task.planned_date?(d(),c("span",Z,D(t.task.planned_date),1)):$("",!0)])])])],2))}}),et={class:"flex flex-col min-h-0 w-full"},at={class:"flex items-center justify-between px-1 mb-2"},st={class:"flex items-center gap-2"},nt={class:"text-xs font-semibold uppercase tracking-wider text-slate-500"},rt={class:"text-[10px] font-semibold bg-slate-100 text-slate-400 px-1.5 py-0.5 rounded-full leading-none"},ot=j({__name:"KanbanColumn",props:{status:{},title:{},tasks:{},draggingId:{},isDragOver:{type:Boolean}},emits:["dragStart","dragEnd","dragOver","dragLeave","drop","editTask","addTask"],setup(t,{emit:l}){const o=l,u={todo:"border-t-slate-300",doing:"border-t-orange-400",testing:"border-t-blue-400",done:"border-t-emerald-400"};return(m,a)=>(d(),c("div",et,[n("div",at,[n("div",st,[n("h3",nt,D(t.title),1),n("span",rt,D(t.tasks.length),1)]),n("button",{class:"h-5 w-5 rounded flex items-center justify-center text-slate-400 hover:text-orange-500 hover:bg-orange-50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":"Add task",onClick:a[0]||(a[0]=s=>o("addTask",t.status))},[...a[5]||(a[5]=[n("svg",{class:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1)])])]),n("div",{class:T(["flex-1 rounded-xl border-2 border-dashed transition-all duration-150 p-2 space-y-2 min-h-[120px]",`border-t-4 ${u[t.status]??"border-t-slate-300"}`,t.isDragOver?"border-orange-300 bg-orange-50/60":"border-transparent bg-slate-50/60"]),onDragover:a[2]||(a[2]=s=>o("dragOver",t.status,s)),onDragleave:a[3]||(a[3]=s=>o("dragLeave")),onDrop:a[4]||(a[4]=s=>o("drop",t.status,t.tasks.length,s))},[(d(!0),c(C,null,O(t.tasks,s=>(d(),B(tt,{key:s.id,task:s,dragging:t.draggingId===s.id,onDragstart:v=>o("dragStart",s,v),onDragend:a[1]||(a[1]=v=>o("dragEnd")),onEdit:v=>o("editTask",s)},null,8,["task","dragging","onDragstart","onEdit"]))),128)),t.tasks.length===0&&!t.isDragOver?(d(),B(H,{key:0,size:"sm",title:"No tasks here",description:"Drag a card here or click + to add"})):$("",!0)],34)]))}}),lt={class:"flex flex-col h-full overflow-hidden"},it={class:"flex items-center gap-3 px-6 py-4 border-b border-slate-100 bg-white/60 shrink-0"},dt=["value"],ut={key:0,class:"flex items-center justify-center flex-1"},ct={key:1,class:"flex-1 overflow-x-auto overflow-y-hidden"},gt={class:"grid grid-cols-4 gap-4 p-6 h-full min-w-[700px]"},_t=j({__name:"TasksView",setup(t){const l=L(),o=A(),u=G(),m=b(""),a=b(!1),s=b(null),v=b("todo"),k=[{status:"todo",title:"To Do"},{status:"doing",title:"Doing"},{status:"testing",title:"Testing"},{status:"done",title:"Done"}];z(async()=>{await Promise.all([l.fetchAll(),o.fetchProjects()])});const g=F(()=>{const i=l.tasks.filter(e=>e.status!=="cancelled");return m.value?i.filter(e=>e.project_id===m.value):i});function x(i){let e=g.value.filter(r=>r.status===i);return e=[...e].sort((r,y)=>r.sort_index-y.sort_index||r.created_at.localeCompare(y.created_at)),i==="done"&&(e=e.slice(-30)),e}function w(i){v.value=i,s.value=null,a.value=!0}function h(i){s.value=i,a.value=!0}function E(){a.value=!1,s.value=null}async function N(i,e){try{if(s.value)await l.update(s.value.id,i),e&&await l.createBlock(s.value.id,e),_.success("Task updated");else{const r={...i,status:i.status||v.value},y=await l.create(r);e&&await l.createBlock(y.id,e),_.success("Task created")}}catch{_.error("Failed to save task")}E()}const V=new Date().toISOString().split("T")[0];return(i,e)=>(d(),c("div",lt,[n("div",it,[e[4]||(e[4]=n("h2",{class:"text-sm font-semibold text-slate-800 mr-2"},"Kanban",-1)),p(K,{modelValue:m.value,"onUpdate:modelValue":e[0]||(e[0]=r=>m.value=r),class:"w-44 text-xs"},{default:S(()=>[e[2]||(e[2]=n("option",{value:""},"All projects",-1)),(d(!0),c(C,null,O(f(o).projects,r=>(d(),c("option",{key:r.id,value:r.id},D(r.display_name),9,dt))),128))]),_:1},8,["modelValue"]),e[5]||(e[5]=n("div",{class:"flex-1"},null,-1)),p(U,{size:"sm",onClick:e[1]||(e[1]=r=>w("todo"))},{default:S(()=>[...e[3]||(e[3]=[n("svg",{class:"h-3.5 w-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 4v16m8-8H4"})],-1),I(" New task ",-1)])]),_:1})]),f(l).loading?(d(),c("div",ut,[p(q,{size:"lg",class:"text-primary"})])):(d(),c("div",ct,[n("div",gt,[(d(),c(C,null,O(k,r=>n("div",{key:r.status,class:"flex flex-col min-h-0 overflow-y-auto"},[p(ot,{status:r.status,title:r.title,tasks:x(r.status),"dragging-id":f(u).draggingId.value,"is-drag-over":f(u).dragOverColumn.value===r.status,onDragStart:f(u).onDragStart,onDragEnd:f(u).onDragEnd,onDragOver:f(u).onDragOver,onDragLeave:f(u).onDragLeave,onDrop:f(u).onDrop,onEditTask:h,onAddTask:w},null,8,["status","title","tasks","dragging-id","is-drag-over","onDragStart","onDragEnd","onDragOver","onDragLeave","onDrop"])])),64))])])),p(P,{open:a.value,task:s.value,"default-date":f(V),onClose:E,onSave:N},null,8,["open","task","default-date"])]))}});export{_t as default}; diff --git a/src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js b/src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js similarity index 92% rename from src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js rename to src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js index f52e56d..4d491f3 100644 --- a/src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js +++ b/src/static/assets/Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js @@ -1 +1 @@ -import{c as r}from"./utils-7WVCegLb.js";import{d as t,o as n,c as i,n as u,h as c}from"./index-DMlmI4VG.js";const m=["id","value","placeholder","disabled","rows"],g=t({__name:"Textarea",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},rows:{},class:{},id:{}},emits:["update:modelValue"],setup(e,{emit:l}){const a=e,s=l;return(f,o)=>(n(),i("textarea",{id:e.id,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows??3,class:u(c(r)("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 resize-none",a.class)),onInput:o[0]||(o[0]=d=>s("update:modelValue",d.target.value))},null,42,m))}});export{g as _}; +import{c as r}from"./utils-7WVCegLb.js";import{d as t,o as n,c as i,n as u,h as c}from"./index-BiYpJJoC.js";const m=["id","value","placeholder","disabled","rows"],g=t({__name:"Textarea",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},rows:{},class:{},id:{}},emits:["update:modelValue"],setup(e,{emit:l}){const a=e,s=l;return(f,o)=>(n(),i("textarea",{id:e.id,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows??3,class:u(c(r)("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm","ring-offset-background placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 resize-none",a.class)),onInput:o[0]||(o[0]=d=>s("update:modelValue",d.target.value))},null,42,m))}});export{g as _}; diff --git a/src/static/assets/Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js b/src/static/assets/Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js new file mode 100644 index 0000000..5bd7c95 --- /dev/null +++ b/src/static/assets/Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js @@ -0,0 +1 @@ +import{d,k as i,w as t,h as e,W as r,o as l,e as s,p as n,J as f,U as m,n as c,q as u,t as p,L as g}from"./index-BiYpJJoC.js";import{c as x}from"./utils-7WVCegLb.js";const w=d({__name:"Tooltip",props:{content:{},side:{default:"top"},sideOffset:{default:6}},setup(a){return(o,h)=>(l(),i(e(r),null,{default:t(()=>[s(e(f),{"as-child":""},{default:t(()=>[n(o.$slots,"default")]),_:3}),s(e(g),null,{default:t(()=>[s(e(m),{side:a.side,"side-offset":a.sideOffset,class:c(e(x)("z-50 max-w-[280px] rounded-lg border border-border bg-popover px-3 py-1.5","text-xs text-popover-foreground shadow-md","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"))},{default:t(()=>[u(p(a.content),1)]),_:1},8,["side","side-offset","class"])]),_:1})]),_:3}))}});export{w as _}; diff --git a/src/static/assets/admin-DvZ7jcBF.js b/src/static/assets/admin-BG8iXstk.js similarity index 68% rename from src/static/assets/admin-DvZ7jcBF.js rename to src/static/assets/admin-BG8iXstk.js index 0d5761a..c0d467d 100644 --- a/src/static/assets/admin-DvZ7jcBF.js +++ b/src/static/assets/admin-BG8iXstk.js @@ -1 +1 @@ -import{E as e}from"./index-DMlmI4VG.js";const i={users:()=>e.get("/api/admin/users"),keys:()=>e.get("/api/keys"),createKey:s=>e.post("/api/keys",s),revokeKey:s=>e.delete(`/api/keys/${s}`)};export{i as a}; +import{D as e}from"./index-BiYpJJoC.js";const i={users:()=>e.get("/api/admin/users"),keys:()=>e.get("/api/keys"),createKey:s=>e.post("/api/keys",s),revokeKey:s=>e.delete(`/api/keys/${s}`)};export{i as a}; diff --git a/src/static/assets/calendar-C9xlMu6k.js b/src/static/assets/calendar-C9xlMu6k.js new file mode 100644 index 0000000..69da99f --- /dev/null +++ b/src/static/assets/calendar-C9xlMu6k.js @@ -0,0 +1,6 @@ +import{c as e}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a=e("CalendarIcon",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);export{a as C}; diff --git a/src/static/assets/calendar-days-DjiBFm4u.js b/src/static/assets/calendar-days-DjiBFm4u.js new file mode 100644 index 0000000..ef96367 --- /dev/null +++ b/src/static/assets/calendar-days-DjiBFm4u.js @@ -0,0 +1,6 @@ +import{c as h}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t=h("CalendarDaysIcon",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);export{t as C}; diff --git a/src/static/assets/createLucideIcon-D7qP-VdO.js b/src/static/assets/createLucideIcon-D7qP-VdO.js new file mode 100644 index 0000000..5172b39 --- /dev/null +++ b/src/static/assets/createLucideIcon-D7qP-VdO.js @@ -0,0 +1,21 @@ +import{a1 as a}from"./index-BiYpJJoC.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const d=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const h=({size:e,strokeWidth:t=2,absoluteStrokeWidth:r,color:s,iconNode:n,name:i,class:w,...l},{slots:c})=>a("svg",{...o,width:e||o.width,height:e||o.height,stroke:s||o.stroke,"stroke-width":r?Number(t)*24/Number(e):t,class:["lucide",`lucide-${d(i??"icon")}`],...l},[...n.map(u=>a(...u)),...c.default?[c.default()]:[]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const m=(e,t)=>(r,{slots:s})=>a(h,{...r,iconNode:t,name:e},s);export{m as c}; diff --git a/src/static/assets/dashboard-BOPmT7C3.js b/src/static/assets/dashboard-Ca6WcfdV.js similarity index 88% rename from src/static/assets/dashboard-BOPmT7C3.js rename to src/static/assets/dashboard-Ca6WcfdV.js index 37852d5..234f56f 100644 --- a/src/static/assets/dashboard-BOPmT7C3.js +++ b/src/static/assets/dashboard-Ca6WcfdV.js @@ -1 +1 @@ -import{E as t}from"./index-DMlmI4VG.js";const e={summary:a=>t.get("/api/dashboard/summary",{params:a}),projects:a=>t.get("/api/dashboard/projects",{params:a}),timeline:a=>t.get("/api/dashboard/timeline",{params:a}),monthly:a=>t.get("/api/dashboard/monthly",{params:a}),dow:a=>t.get("/api/dashboard/dow",{params:a}),tools:a=>t.get("/api/dashboard/tools",{params:a}),activity:a=>t.get("/api/dashboard/activity",{params:a}),calendar:a=>t.get("/api/dashboard/calendar",{params:a}),project:(a,o)=>t.get("/api/dashboard/project/"+a,{params:o})};export{e as d}; +import{D as t}from"./index-BiYpJJoC.js";const e={summary:a=>t.get("/api/dashboard/summary",{params:a}),projects:a=>t.get("/api/dashboard/projects",{params:a}),timeline:a=>t.get("/api/dashboard/timeline",{params:a}),monthly:a=>t.get("/api/dashboard/monthly",{params:a}),dow:a=>t.get("/api/dashboard/dow",{params:a}),tools:a=>t.get("/api/dashboard/tools",{params:a}),activity:a=>t.get("/api/dashboard/activity",{params:a}),calendar:a=>t.get("/api/dashboard/calendar",{params:a}),project:(a,o)=>t.get("/api/dashboard/project/"+a,{params:o})};export{e as d}; diff --git a/src/static/assets/devops-roMxSiNP.js b/src/static/assets/devops-y1AYKG_U.js similarity index 94% rename from src/static/assets/devops-roMxSiNP.js rename to src/static/assets/devops-y1AYKG_U.js index dcd8188..a527f4b 100644 --- a/src/static/assets/devops-roMxSiNP.js +++ b/src/static/assets/devops-y1AYKG_U.js @@ -1 +1 @@ -import{E as n,C as I,s as o}from"./index-DMlmI4VG.js";const i={getIntegration:()=>n.get("/api/devops/integration"),saveIntegration:e=>n.put("/api/devops/integration",e),deleteIntegration:()=>n.delete("/api/devops/integration"),sync:()=>n.post("/api/devops/sync"),workItems:e=>n.get("/api/devops/work-items",{params:e?{state:e}:void 0}),cloneWorkItem:e=>n.post(`/api/devops/work-items/${e}/clone`)},m=I("devops",()=>{const e=o(null),l=o([]),r=o(!1),s=o(!1),c=o(null);async function u(){s.value=!0;try{const t=await i.getIntegration();e.value=t.data}catch{e.value=null}finally{s.value=!1}}async function d(t){const a=await i.saveIntegration(t);e.value=a.data}async function g(){await i.deleteIntegration(),e.value=null}async function f(){var t,a;r.value=!0,c.value=null;try{await i.sync(),await u()}catch(v){const p=v;throw c.value=((a=(t=p.response)==null?void 0:t.data)==null?void 0:a.detail)??p.message??"Sync failed",v}finally{r.value=!1}}async function y(t){s.value=!0;try{const a=await i.workItems(t);l.value=a.data}catch{l.value=[]}finally{s.value=!1}}return{integration:e,workItems:l,syncing:r,loading:s,error:c,fetchIntegration:u,saveIntegration:d,deleteIntegration:g,sync:f,fetchWorkItems:y}});export{i as d,m as u}; +import{D as n,B as I,s as o}from"./index-BiYpJJoC.js";const i={getIntegration:()=>n.get("/api/devops/integration"),saveIntegration:e=>n.put("/api/devops/integration",e),deleteIntegration:()=>n.delete("/api/devops/integration"),sync:()=>n.post("/api/devops/sync"),workItems:e=>n.get("/api/devops/work-items",{params:e?{state:e}:void 0}),cloneWorkItem:e=>n.post(`/api/devops/work-items/${e}/clone`)},m=I("devops",()=>{const e=o(null),l=o([]),r=o(!1),s=o(!1),c=o(null);async function u(){s.value=!0;try{const t=await i.getIntegration();e.value=t.data}catch{e.value=null}finally{s.value=!1}}async function d(t){const a=await i.saveIntegration(t);e.value=a.data}async function g(){await i.deleteIntegration(),e.value=null}async function f(){var t,a;r.value=!0,c.value=null;try{await i.sync(),await u()}catch(v){const p=v;throw c.value=((a=(t=p.response)==null?void 0:t.data)==null?void 0:a.detail)??p.message??"Sync failed",v}finally{r.value=!1}}async function y(t){s.value=!0;try{const a=await i.workItems(t);l.value=a.data}catch{l.value=[]}finally{s.value=!1}}return{integration:e,workItems:l,syncing:r,loading:s,error:c,fetchIntegration:u,saveIntegration:d,deleteIntegration:g,sync:f,fetchWorkItems:y}});export{i as d,m as u}; diff --git a/src/static/assets/file-text-C0mXX88J.js b/src/static/assets/file-text-C0mXX88J.js new file mode 100644 index 0000000..7ca4c58 --- /dev/null +++ b/src/static/assets/file-text-C0mXX88J.js @@ -0,0 +1,6 @@ +import{c as e}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t=e("FileTextIcon",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);export{t as F}; diff --git a/src/static/assets/format-WqwOLoqz.js b/src/static/assets/format-WqwOLoqz.js new file mode 100644 index 0000000..ee5afd4 --- /dev/null +++ b/src/static/assets/format-WqwOLoqz.js @@ -0,0 +1,11 @@ +import{c as X}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ut=X("ChevronLeftIcon",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const zt=X("ChevronRightIcon",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);function l(t){const n=Object.prototype.toString.call(t);return t instanceof Date||typeof t=="object"&&n==="[object Date]"?new t.constructor(+t):typeof t=="number"||n==="[object Number]"||typeof t=="string"||n==="[object String]"?new Date(t):new Date(NaN)}function b(t,n){return t instanceof Date?new t.constructor(n):new Date(n)}const j=6048e5,B=864e5;let A={};function D(){return A}function x(t,n){var u,c,d,h;const e=D(),r=(n==null?void 0:n.weekStartsOn)??((c=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:c.weekStartsOn)??e.weekStartsOn??((h=(d=e.locale)==null?void 0:d.options)==null?void 0:h.weekStartsOn)??0,a=l(t),i=a.getDay(),s=(i=a.getTime()?e+1:n.getTime()>=s.getTime()?e:e-1}function p(t){const n=l(t);return n.setHours(0,0,0,0),n}function q(t){const n=l(t),e=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return e.setUTCFullYear(n.getFullYear()),+t-+e}function I(t,n){const e=p(t),r=p(n),a=+e-q(e),i=+r-q(r);return Math.round((a-i)/B)}function V(t){const n=_(t),e=b(t,0);return e.setFullYear(n,0,4),e.setHours(0,0,0,0),W(e)}function J(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function $(t){if(!J(t)&&typeof t!="number")return!1;const n=l(t);return!isNaN(Number(n))}function U(t){const n=l(t),e=b(t,0);return e.setFullYear(n.getFullYear(),0,1),e.setHours(0,0,0,0),e}const z={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},K=(t,n,e)=>{let r;const a=z[t];return typeof a=="string"?r=a:n===1?r=a.one:r=a.other.replace("{{count}}",n.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+r:r+" ago":r};function Y(t){return(n={})=>{const e=n.width?String(n.width):t.defaultWidth;return t.formats[e]||t.formats[t.defaultWidth]}}const Z={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},tt={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},et={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},nt={date:Y({formats:Z,defaultWidth:"full"}),time:Y({formats:tt,defaultWidth:"full"}),dateTime:Y({formats:et,defaultWidth:"full"})},rt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},at=(t,n,e,r)=>rt[t];function k(t){return(n,e)=>{const r=e!=null&&e.context?String(e.context):"standalone";let a;if(r==="formatting"&&t.formattingValues){const s=t.defaultFormattingWidth||t.defaultWidth,u=e!=null&&e.width?String(e.width):s;a=t.formattingValues[u]||t.formattingValues[s]}else{const s=t.defaultWidth,u=e!=null&&e.width?String(e.width):t.defaultWidth;a=t.values[u]||t.values[s]}const i=t.argumentCallback?t.argumentCallback(n):n;return a[i]}}const it={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ot={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},st={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ut={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ct={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},dt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ft=(t,n)=>{const e=Number(t),r=e%100;if(r>20||r<10)switch(r%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},ht={ordinalNumber:ft,era:k({values:it,defaultWidth:"wide"}),quarter:k({values:ot,defaultWidth:"wide",argumentCallback:t=>t-1}),month:k({values:st,defaultWidth:"wide"}),day:k({values:ut,defaultWidth:"wide"}),dayPeriod:k({values:ct,defaultWidth:"wide",formattingValues:dt,defaultFormattingWidth:"wide"})};function v(t){return(n,e={})=>{const r=e.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],i=n.match(a);if(!i)return null;const s=i[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],c=Array.isArray(u)?lt(u,g=>g.test(s)):mt(u,g=>g.test(s));let d;d=t.valueCallback?t.valueCallback(c):c,d=e.valueCallback?e.valueCallback(d):d;const h=n.slice(s.length);return{value:d,rest:h}}}function mt(t,n){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&n(t[e]))return e}function lt(t,n){for(let e=0;e{const r=n.match(t.matchPattern);if(!r)return null;const a=r[0],i=n.match(t.parsePattern);if(!i)return null;let s=t.valueCallback?t.valueCallback(i[0]):i[0];s=e.valueCallback?e.valueCallback(s):s;const u=n.slice(a.length);return{value:s,rest:u}}}const wt=/^(\d+)(th|st|nd|rd)?/i,yt=/\d+/i,bt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Pt={any:[/^b/i,/^(a|c)/i]},Mt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ot={any:[/1/i,/2/i,/3/i,/4/i]},kt={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},vt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},xt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Wt={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Dt={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},St={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Yt={ordinalNumber:gt({matchPattern:wt,parsePattern:yt,valueCallback:t=>parseInt(t,10)}),era:v({matchPatterns:bt,defaultMatchWidth:"wide",parsePatterns:Pt,defaultParseWidth:"any"}),quarter:v({matchPatterns:Mt,defaultMatchWidth:"wide",parsePatterns:Ot,defaultParseWidth:"any",valueCallback:t=>t+1}),month:v({matchPatterns:kt,defaultMatchWidth:"wide",parsePatterns:vt,defaultParseWidth:"any"}),day:v({matchPatterns:xt,defaultMatchWidth:"wide",parsePatterns:Wt,defaultParseWidth:"any"}),dayPeriod:v({matchPatterns:Dt,defaultMatchWidth:"any",parsePatterns:St,defaultParseWidth:"any"})},Tt={code:"en-US",formatDistance:K,formatLong:nt,formatRelative:at,localize:ht,match:Yt,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ct(t){const n=l(t);return I(n,U(n))+1}function Et(t){const n=l(t),e=+W(n)-+V(n);return Math.round(e/j)+1}function R(t,n){var h,g,M,O;const e=l(t),r=e.getFullYear(),a=D(),i=(n==null?void 0:n.firstWeekContainsDate)??((g=(h=n==null?void 0:n.locale)==null?void 0:h.options)==null?void 0:g.firstWeekContainsDate)??a.firstWeekContainsDate??((O=(M=a.locale)==null?void 0:M.options)==null?void 0:O.firstWeekContainsDate)??1,s=b(t,0);s.setFullYear(r+1,0,i),s.setHours(0,0,0,0);const u=x(s,n),c=b(t,0);c.setFullYear(r,0,i),c.setHours(0,0,0,0);const d=x(c,n);return e.getTime()>=u.getTime()?r+1:e.getTime()>=d.getTime()?r:r-1}function Ft(t,n){var u,c,d,h;const e=D(),r=(n==null?void 0:n.firstWeekContainsDate)??((c=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:c.firstWeekContainsDate)??e.firstWeekContainsDate??((h=(d=e.locale)==null?void 0:d.options)==null?void 0:h.firstWeekContainsDate)??1,a=R(t,n),i=b(t,0);return i.setFullYear(a,0,r),i.setHours(0,0,0,0),x(i,n)}function pt(t,n){const e=l(t),r=+x(e,n)-+Ft(e,n);return Math.round(r/j)+1}function o(t,n){const e=t<0?"-":"",r=Math.abs(t).toString().padStart(n,"0");return e+r}const w={y(t,n){const e=t.getFullYear(),r=e>0?e:1-e;return o(n==="yy"?r%100:r,n.length)},M(t,n){const e=t.getMonth();return n==="M"?String(e+1):o(e+1,2)},d(t,n){return o(t.getDate(),n.length)},a(t,n){const e=t.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];case"aaaa":default:return e==="am"?"a.m.":"p.m."}},h(t,n){return o(t.getHours()%12||12,n.length)},H(t,n){return o(t.getHours(),n.length)},m(t,n){return o(t.getMinutes(),n.length)},s(t,n){return o(t.getSeconds(),n.length)},S(t,n){const e=n.length,r=t.getMilliseconds(),a=Math.trunc(r*Math.pow(10,e-3));return o(a,n.length)}},P={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},N={G:function(t,n,e){const r=t.getFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return e.era(r,{width:"abbreviated"});case"GGGGG":return e.era(r,{width:"narrow"});case"GGGG":default:return e.era(r,{width:"wide"})}},y:function(t,n,e){if(n==="yo"){const r=t.getFullYear(),a=r>0?r:1-r;return e.ordinalNumber(a,{unit:"year"})}return w.y(t,n)},Y:function(t,n,e,r){const a=R(t,r),i=a>0?a:1-a;if(n==="YY"){const s=i%100;return o(s,2)}return n==="Yo"?e.ordinalNumber(i,{unit:"year"}):o(i,n.length)},R:function(t,n){const e=_(t);return o(e,n.length)},u:function(t,n){const e=t.getFullYear();return o(e,n.length)},Q:function(t,n,e){const r=Math.ceil((t.getMonth()+1)/3);switch(n){case"Q":return String(r);case"QQ":return o(r,2);case"Qo":return e.ordinalNumber(r,{unit:"quarter"});case"QQQ":return e.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,n,e){const r=Math.ceil((t.getMonth()+1)/3);switch(n){case"q":return String(r);case"qq":return o(r,2);case"qo":return e.ordinalNumber(r,{unit:"quarter"});case"qqq":return e.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,n,e){const r=t.getMonth();switch(n){case"M":case"MM":return w.M(t,n);case"Mo":return e.ordinalNumber(r+1,{unit:"month"});case"MMM":return e.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(r,{width:"wide",context:"formatting"})}},L:function(t,n,e){const r=t.getMonth();switch(n){case"L":return String(r+1);case"LL":return o(r+1,2);case"Lo":return e.ordinalNumber(r+1,{unit:"month"});case"LLL":return e.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(r,{width:"wide",context:"standalone"})}},w:function(t,n,e,r){const a=pt(t,r);return n==="wo"?e.ordinalNumber(a,{unit:"week"}):o(a,n.length)},I:function(t,n,e){const r=Et(t);return n==="Io"?e.ordinalNumber(r,{unit:"week"}):o(r,n.length)},d:function(t,n,e){return n==="do"?e.ordinalNumber(t.getDate(),{unit:"date"}):w.d(t,n)},D:function(t,n,e){const r=Ct(t);return n==="Do"?e.ordinalNumber(r,{unit:"dayOfYear"}):o(r,n.length)},E:function(t,n,e){const r=t.getDay();switch(n){case"E":case"EE":case"EEE":return e.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(r,{width:"short",context:"formatting"});case"EEEE":default:return e.day(r,{width:"wide",context:"formatting"})}},e:function(t,n,e,r){const a=t.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(n){case"e":return String(i);case"ee":return o(i,2);case"eo":return e.ordinalNumber(i,{unit:"day"});case"eee":return e.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(a,{width:"short",context:"formatting"});case"eeee":default:return e.day(a,{width:"wide",context:"formatting"})}},c:function(t,n,e,r){const a=t.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(n){case"c":return String(i);case"cc":return o(i,n.length);case"co":return e.ordinalNumber(i,{unit:"day"});case"ccc":return e.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(a,{width:"narrow",context:"standalone"});case"cccccc":return e.day(a,{width:"short",context:"standalone"});case"cccc":default:return e.day(a,{width:"wide",context:"standalone"})}},i:function(t,n,e){const r=t.getDay(),a=r===0?7:r;switch(n){case"i":return String(a);case"ii":return o(a,n.length);case"io":return e.ordinalNumber(a,{unit:"day"});case"iii":return e.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(r,{width:"short",context:"formatting"});case"iiii":default:return e.day(r,{width:"wide",context:"formatting"})}},a:function(t,n,e){const a=t.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(t,n,e){const r=t.getHours();let a;switch(r===12?a=P.noon:r===0?a=P.midnight:a=r/12>=1?"pm":"am",n){case"b":case"bb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(t,n,e){const r=t.getHours();let a;switch(r>=17?a=P.evening:r>=12?a=P.afternoon:r>=4?a=P.morning:a=P.night,n){case"B":case"BB":case"BBB":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(t,n,e){if(n==="ho"){let r=t.getHours()%12;return r===0&&(r=12),e.ordinalNumber(r,{unit:"hour"})}return w.h(t,n)},H:function(t,n,e){return n==="Ho"?e.ordinalNumber(t.getHours(),{unit:"hour"}):w.H(t,n)},K:function(t,n,e){const r=t.getHours()%12;return n==="Ko"?e.ordinalNumber(r,{unit:"hour"}):o(r,n.length)},k:function(t,n,e){let r=t.getHours();return r===0&&(r=24),n==="ko"?e.ordinalNumber(r,{unit:"hour"}):o(r,n.length)},m:function(t,n,e){return n==="mo"?e.ordinalNumber(t.getMinutes(),{unit:"minute"}):w.m(t,n)},s:function(t,n,e){return n==="so"?e.ordinalNumber(t.getSeconds(),{unit:"second"}):w.s(t,n)},S:function(t,n){return w.S(t,n)},X:function(t,n,e){const r=t.getTimezoneOffset();if(r===0)return"Z";switch(n){case"X":return L(r);case"XXXX":case"XX":return y(r);case"XXXXX":case"XXX":default:return y(r,":")}},x:function(t,n,e){const r=t.getTimezoneOffset();switch(n){case"x":return L(r);case"xxxx":case"xx":return y(r);case"xxxxx":case"xxx":default:return y(r,":")}},O:function(t,n,e){const r=t.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+H(r,":");case"OOOO":default:return"GMT"+y(r,":")}},z:function(t,n,e){const r=t.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+H(r,":");case"zzzz":default:return"GMT"+y(r,":")}},t:function(t,n,e){const r=Math.trunc(t.getTime()/1e3);return o(r,n.length)},T:function(t,n,e){const r=t.getTime();return o(r,n.length)}};function H(t,n=""){const e=t>0?"-":"+",r=Math.abs(t),a=Math.trunc(r/60),i=r%60;return i===0?e+String(a):e+String(a)+n+o(i,2)}function L(t,n){return t%60===0?(t>0?"-":"+")+o(Math.abs(t)/60,2):y(t,n)}function y(t,n=""){const e=t>0?"-":"+",r=Math.abs(t),a=o(Math.trunc(r/60),2),i=o(r%60,2);return e+a+n+i}const Q=(t,n)=>{switch(t){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},G=(t,n)=>{switch(t){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},qt=(t,n)=>{const e=t.match(/(P+)(p+)?/)||[],r=e[1],a=e[2];if(!a)return Q(t,n);let i;switch(r){case"P":i=n.dateTime({width:"short"});break;case"PP":i=n.dateTime({width:"medium"});break;case"PPP":i=n.dateTime({width:"long"});break;case"PPPP":default:i=n.dateTime({width:"full"});break}return i.replace("{{date}}",Q(r,n)).replace("{{time}}",G(a,n))},Nt={p:G,P:qt},Ht=/^D+$/,Lt=/^Y+$/,Qt=["D","DD","YY","YYYY"];function Xt(t){return Ht.test(t)}function jt(t){return Lt.test(t)}function _t(t,n,e){const r=Rt(t,n,e);if(console.warn(r),Qt.includes(t))throw new RangeError(r)}function Rt(t,n,e){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${n}\`) for formatting ${r} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Gt=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Bt=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,At=/^'([^]*?)'?$/,It=/''/g,Vt=/[a-zA-Z]/;function Kt(t,n,e){var h,g,M,O,T,C,E,F;const r=D(),a=(e==null?void 0:e.locale)??r.locale??Tt,i=(e==null?void 0:e.firstWeekContainsDate)??((g=(h=e==null?void 0:e.locale)==null?void 0:h.options)==null?void 0:g.firstWeekContainsDate)??r.firstWeekContainsDate??((O=(M=r.locale)==null?void 0:M.options)==null?void 0:O.firstWeekContainsDate)??1,s=(e==null?void 0:e.weekStartsOn)??((C=(T=e==null?void 0:e.locale)==null?void 0:T.options)==null?void 0:C.weekStartsOn)??r.weekStartsOn??((F=(E=r.locale)==null?void 0:E.options)==null?void 0:F.weekStartsOn)??0,u=l(t);if(!$(u))throw new RangeError("Invalid time value");let c=n.match(Bt).map(m=>{const f=m[0];if(f==="p"||f==="P"){const S=Nt[f];return S(m,a.formatLong)}return m}).join("").match(Gt).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const f=m[0];if(f==="'")return{isToken:!1,value:Jt(m)};if(N[f])return{isToken:!0,value:m};if(f.match(Vt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(c=a.localize.preprocessor(u,c));const d={firstWeekContainsDate:i,weekStartsOn:s,locale:a};return c.map(m=>{if(!m.isToken)return m.value;const f=m.value;(!(e!=null&&e.useAdditionalWeekYearTokens)&&jt(f)||!(e!=null&&e.useAdditionalDayOfYearTokens)&&Xt(f))&&_t(f,n,String(t));const S=N[f[0]];return S(u,f,a.localize,d)}).join("")}function Jt(t){const n=t.match(At);return n?n[1].replace(It,"'"):t}export{Ut as C,zt as a,b as c,Kt as f,p as s,l as t}; diff --git a/src/static/assets/index-BiYpJJoC.js b/src/static/assets/index-BiYpJJoC.js new file mode 100644 index 0000000..cb63b91 --- /dev/null +++ b/src/static/assets/index-BiYpJJoC.js @@ -0,0 +1,46 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-DmmhvYTb.js","assets/CardContent.vue_vue_type_script_setup_true_lang-BwqudhrR.js","assets/utils-7WVCegLb.js","assets/DashboardView-Cl3r92sM.js","assets/dashboard-Ca6WcfdV.js","assets/CardTitle.vue_vue_type_script_setup_true_lang-D80NEgX4.js","assets/Button.vue_vue_type_script_setup_true_lang-XB9h72-Z.js","assets/Spinner.vue_vue_type_script_setup_true_lang-CvE8XLn7.js","assets/Skeleton.vue_vue_type_script_setup_true_lang-DEDpXUzf.js","assets/createLucideIcon-D7qP-VdO.js","assets/calendar-days-DjiBFm4u.js","assets/Progress.vue_vue_type_script_setup_true_lang-CE8EWOvP.js","assets/Tooltip.vue_vue_type_script_setup_true_lang-BRjliJat.js","assets/tasks-DwSuZPNM.js","assets/devops-y1AYKG_U.js","assets/CalendarView-B0jfXKKY.js","assets/SegmentedControl.vue_vue_type_script_setup_true_lang-DN09G_1E.js","assets/format-WqwOLoqz.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Badge.vue_vue_type_script_setup_true_lang-DE_UXwEf.js","assets/TaskForm.vue_vue_type_script_setup_true_lang-BvqRdc1Q.js","assets/Dialog.vue_vue_type_script_setup_true_lang-DB9Ws8sP.js","assets/Input.vue_vue_type_script_setup_true_lang-He-JgvL3.js","assets/Textarea.vue_vue_type_script_setup_true_lang-Caf3IAh-.js","assets/ConfirmDialog.vue_vue_type_script_setup_true_lang-PZ912WSn.js","assets/CalendarView-DMz1YKbt.css","assets/TasksView-D8TRKoOC.js","assets/EmptyState.vue_vue_type_script_setup_true_lang-jNal0qhs.js","assets/OmgView-BM5Lo3rq.js","assets/file-text-C0mXX88J.js","assets/plus-PpKYs9wJ.js","assets/ProjectsView-lK4Qdm9A.js","assets/zap-CGuBGf0F.js","assets/ProjectDetailView-DmKhTvpx.js","assets/LiveView-Drr7Q-W3.js","assets/ReportsView-b-OOza6x.js","assets/calendar-C9xlMu6k.js","assets/ReportsView-CEPiE5pW.css","assets/KeysView-x4Ow5p_D.js","assets/admin-BG8iXstk.js","assets/DevopsView-O5QaTl8f.js","assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-DfDWa0N1.js","assets/SettingsView-Dx5EOob_.js","assets/AdminView-CBzT_n85.js"])))=>i.map(i=>d[i]); +var _d=t=>{throw TypeError(t)};var yc=(t,e,n)=>e.has(t)||_d("Cannot "+n);var x=(t,e,n)=>(yc(t,e,"read from private field"),n?n.call(t):e.get(t)),Se=(t,e,n)=>e.has(t)?_d("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),ve=(t,e,n,r)=>(yc(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),Ct=(t,e,n)=>(yc(t,e,"access private method"),n);var Es=(t,e,n,r)=>({set _(o){ve(t,e,o,n)},get _(){return x(t,e,r)}});(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();/** +* @vue/shared v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Jl(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const je={},$o=[],Bn=()=>{},np=()=>!1,Ta=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Ea=t=>t.startsWith("onUpdate:"),ht=Object.assign,Xl=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},Pv=Object.prototype.hasOwnProperty,Ue=(t,e)=>Pv.call(t,e),pe=Array.isArray,qo=t=>os(t)==="[object Map]",rp=t=>os(t)==="[object Set]",Sd=t=>os(t)==="[object Date]",we=t=>typeof t=="function",Ve=t=>typeof t=="string",tn=t=>typeof t=="symbol",Ne=t=>t!==null&&typeof t=="object",op=t=>(Ne(t)||we(t))&&we(t.then)&&we(t.catch),ip=Object.prototype.toString,os=t=>ip.call(t),Nv=t=>os(t).slice(8,-1),sp=t=>os(t)==="[object Object]",ba=t=>Ve(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ii=Jl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_a=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},xv=/-\w/g,At=_a(t=>t.replace(xv,e=>e.slice(1).toUpperCase())),Mv=/\B([A-Z])/g,qr=_a(t=>t.replace(Mv,"-$1").toLowerCase()),Sa=_a(t=>t.charAt(0).toUpperCase()+t.slice(1)),Ri=_a(t=>t?`on${Sa(t)}`:""),Mn=(t,e)=>!Object.is(t,e),vc=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:r,value:n})},Dv=t=>{const e=parseFloat(t);return isNaN(e)?t:e},Lv=t=>{const e=Ve(t)?Number(t):NaN;return isNaN(e)?t:e};let Id;const Ia=()=>Id||(Id=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fn(t){if(pe(t)){const e={};for(let n=0;n{if(n){const r=n.split(Hv);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function Gt(t){let e="";if(Ve(t))e=t;else if(pe(t))for(let n=0;n!!(t&&t.__v_isRef===!0),Ho=t=>Ve(t)?t:t==null?"":pe(t)||Ne(t)&&(t.toString===ip||!we(t.toString))?lp(t)?Ho(t.value):JSON.stringify(t,up,2):String(t),up=(t,e)=>lp(e)?up(t,e.value):qo(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[r,o],i)=>(n[Cc(r,i)+" =>"]=o,n),{})}:rp(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>Cc(n))}:tn(e)?Cc(e):Ne(e)&&!pe(e)&&!sp(e)?String(e):e,Cc=(t,e="")=>{var n;return tn(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/** +* @vue/reactivity v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let lt;class dp{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&<&&(lt.active?(this.parent=lt,this.index=(lt.scopes||(lt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes)for(e=0,n=this.scopes.length;e0&&--this._on===0){if(lt===this)lt=this.prevScope;else{let e=lt;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(ki){let e=ki;for(ki=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Oi;){let e=Oi;for(Oi=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(r){t||(t=r)}e=n}}if(t)throw t}function gp(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function mp(t){let e,n=t.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),ru(r),jv(r)):e=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}t.deps=e,t.depsTail=n}function Yc(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(yp(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function yp(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Fi)||(t.globalVersion=Fi,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Yc(t))))return;t.flags|=2;const e=t.dep,n=qe,r=fn;qe=t,fn=!0;try{gp(t);const o=t.fn(t._value);(e.version===0||Mn(o,t._value))&&(t.flags|=128,t._value=o,e.version++)}catch(o){throw e.version++,o}finally{qe=n,fn=r,mp(t),t.flags&=-3}}function ru(t,e=!1){const{dep:n,prevSub:r,nextSub:o}=t;if(r&&(r.nextSub=o,t.prevSub=void 0),o&&(o.prevSub=r,t.nextSub=void 0),n.subs===t&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)ru(i,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function jv(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let fn=!0;const vp=[];function lr(){vp.push(fn),fn=!1}function ur(){const t=vp.pop();fn=t===void 0?!0:t}function Rd(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=qe;qe=void 0;try{e()}finally{qe=n}}}let Fi=0;class Vv{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ka{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!qe||!fn||qe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==qe)n=this.activeLink=new Vv(qe,this),qe.deps?(n.prevDep=qe.depsTail,qe.depsTail.nextDep=n,qe.depsTail=n):qe.deps=qe.depsTail=n,Cp(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=qe.depsTail,n.nextDep=void 0,qe.depsTail.nextDep=n,qe.depsTail=n,qe.deps===n&&(qe.deps=r)}return n}trigger(e){this.version++,Fi++,this.notify(e)}notify(e){tu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{nu()}}}function Cp(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let r=e.deps;r;r=r.nextDep)Cp(r)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const Ws=new WeakMap,uo=Symbol(""),Jc=Symbol(""),Ki=Symbol("");function _t(t,e,n){if(fn&&qe){let r=Ws.get(t);r||Ws.set(t,r=new Map);let o=r.get(n);o||(r.set(n,o=new ka),o.map=r,o.key=n),o.track()}}function rr(t,e,n,r,o,i){const s=Ws.get(t);if(!s){Fi++;return}const a=c=>{c&&c.trigger()};if(tu(),e==="clear")s.forEach(a);else{const c=pe(t),l=c&&ba(n);if(c&&n==="length"){const u=Number(r);s.forEach((d,h)=>{(h==="length"||h===Ki||!tn(h)&&h>=u)&&a(d)})}else switch((n!==void 0||s.has(void 0))&&a(s.get(n)),l&&a(s.get(Ki)),e){case"add":c?l&&a(s.get("length")):(a(s.get(uo)),qo(t)&&a(s.get(Jc)));break;case"delete":c||(a(s.get(uo)),qo(t)&&a(s.get(Jc)));break;case"set":qo(t)&&a(s.get(uo));break}}nu()}function Gv(t,e){const n=Ws.get(t);return n&&n.get(e)}function So(t){const e=ke(t);return e===t?e:(_t(e,"iterate",Ki),Xt(t)?e:e.map(mn))}function Pa(t){return _t(t=ke(t),"iterate",Ki),t}function Nn(t,e){return dr(t)?oi(sr(t)?mn(e):e):mn(e)}const zv={__proto__:null,[Symbol.iterator](){return Ac(this,Symbol.iterator,t=>Nn(this,t))},concat(...t){return So(this).concat(...t.map(e=>pe(e)?So(e):e))},entries(){return Ac(this,"entries",t=>(t[1]=Nn(this,t[1]),t))},every(t,e){return Gn(this,"every",t,e,void 0,arguments)},filter(t,e){return Gn(this,"filter",t,e,n=>n.map(r=>Nn(this,r)),arguments)},find(t,e){return Gn(this,"find",t,e,n=>Nn(this,n),arguments)},findIndex(t,e){return Gn(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Gn(this,"findLast",t,e,n=>Nn(this,n),arguments)},findLastIndex(t,e){return Gn(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Gn(this,"forEach",t,e,void 0,arguments)},includes(...t){return Tc(this,"includes",t)},indexOf(...t){return Tc(this,"indexOf",t)},join(t){return So(this).join(t)},lastIndexOf(...t){return Tc(this,"lastIndexOf",t)},map(t,e){return Gn(this,"map",t,e,void 0,arguments)},pop(){return vi(this,"pop")},push(...t){return vi(this,"push",t)},reduce(t,...e){return Od(this,"reduce",t,e)},reduceRight(t,...e){return Od(this,"reduceRight",t,e)},shift(){return vi(this,"shift")},some(t,e){return Gn(this,"some",t,e,void 0,arguments)},splice(...t){return vi(this,"splice",t)},toReversed(){return So(this).toReversed()},toSorted(t){return So(this).toSorted(t)},toSpliced(...t){return So(this).toSpliced(...t)},unshift(...t){return vi(this,"unshift",t)},values(){return Ac(this,"values",t=>Nn(this,t))}};function Ac(t,e,n){const r=Pa(t),o=r[e]();return r!==t&&!Xt(t)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.done||(i.value=n(i.value)),i}),o}const Wv=Array.prototype;function Gn(t,e,n,r,o,i){const s=Pa(t),a=s!==t&&!Xt(t),c=s[e];if(c!==Wv[e]){const d=c.apply(t,i);return a?mn(d):d}let l=n;s!==t&&(a?l=function(d,h){return n.call(this,Nn(t,d),h,t)}:n.length>2&&(l=function(d,h){return n.call(this,d,h,t)}));const u=c.call(s,l,r);return a&&o?o(u):u}function Od(t,e,n,r){const o=Pa(t),i=o!==t&&!Xt(t);let s=n,a=!1;o!==t&&(i?(a=r.length===0,s=function(l,u,d){return a&&(a=!1,l=Nn(t,l)),n.call(this,l,Nn(t,u),d,t)}):n.length>3&&(s=function(l,u,d){return n.call(this,l,u,d,t)}));const c=o[e](s,...r);return a?Nn(t,c):c}function Tc(t,e,n){const r=ke(t);_t(r,"iterate",Ki);const o=r[e](...n);return(o===-1||o===!1)&&Ma(n[0])?(n[0]=ke(n[0]),r[e](...n)):o}function vi(t,e,n=[]){lr(),tu();const r=ke(t)[e].apply(t,n);return nu(),ur(),r}const Qv=Jl("__proto__,__v_isRef,__isVue"),wp=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(tn));function Yv(t){tn(t)||(t=String(t));const e=ke(this);return _t(e,"has",t),e.hasOwnProperty(t)}class Ap{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,r){if(n==="__v_skip")return e.__v_skip;const o=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(o?i?Ip:Sp:i?_p:bp).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const s=pe(e);if(!o){let c;if(s&&(c=zv[n]))return c;if(n==="hasOwnProperty")return Yv}const a=Reflect.get(e,n,Qe(e)?e:r);if((tn(n)?wp.has(n):Qv(n))||(o||_t(e,"get",n),i))return a;if(Qe(a)){const c=s&&ba(n)?a:a.value;return o&&Ne(c)?$i(c):c}return Ne(a)?o?$i(a):To(a):a}}class Tp extends Ap{constructor(e=!1){super(!1,e)}set(e,n,r,o){let i=e[n];const s=pe(e)&&ba(n);if(!this._isShallow){const l=dr(i);if(!Xt(r)&&!dr(r)&&(i=ke(i),r=ke(r)),!s&&Qe(i)&&!Qe(r))return l||(i.value=r),!0}const a=s?Number(n)t,bs=t=>Reflect.getPrototypeOf(t);function tC(t,e,n){return function(...r){const o=this.__v_raw,i=ke(o),s=qo(i),a=t==="entries"||t===Symbol.iterator&&s,c=t==="keys"&&s,l=o[t](...r),u=n?Xc:e?oi:mn;return!e&&_t(i,"iterate",c?Jc:uo),ht(Object.create(l),{next(){const{value:d,done:h}=l.next();return h?{value:d,done:h}:{value:a?[u(d[0]),u(d[1])]:u(d),done:h}}})}}function _s(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function nC(t,e){const n={get(o){const i=this.__v_raw,s=ke(i),a=ke(o);t||(Mn(o,a)&&_t(s,"get",o),_t(s,"get",a));const{has:c}=bs(s),l=e?Xc:t?oi:mn;if(c.call(s,o))return l(i.get(o));if(c.call(s,a))return l(i.get(a));i!==s&&i.get(o)},get size(){const o=this.__v_raw;return!t&&_t(ke(o),"iterate",uo),o.size},has(o){const i=this.__v_raw,s=ke(i),a=ke(o);return t||(Mn(o,a)&&_t(s,"has",o),_t(s,"has",a)),o===a?i.has(o):i.has(o)||i.has(a)},forEach(o,i){const s=this,a=s.__v_raw,c=ke(a),l=e?Xc:t?oi:mn;return!t&&_t(c,"iterate",uo),a.forEach((u,d)=>o.call(i,l(u),l(d),s))}};return ht(n,t?{add:_s("add"),set:_s("set"),delete:_s("delete"),clear:_s("clear")}:{add(o){const i=ke(this),s=bs(i),a=ke(o),c=!e&&!Xt(o)&&!dr(o)?a:o;return s.has.call(i,c)||Mn(o,c)&&s.has.call(i,o)||Mn(a,c)&&s.has.call(i,a)||(i.add(c),rr(i,"add",c,c)),this},set(o,i){!e&&!Xt(i)&&!dr(i)&&(i=ke(i));const s=ke(this),{has:a,get:c}=bs(s);let l=a.call(s,o);l||(o=ke(o),l=a.call(s,o));const u=c.call(s,o);return s.set(o,i),l?Mn(i,u)&&rr(s,"set",o,i):rr(s,"add",o,i),this},delete(o){const i=ke(this),{has:s,get:a}=bs(i);let c=s.call(i,o);c||(o=ke(o),c=s.call(i,o)),a&&a.call(i,o);const l=i.delete(o);return c&&rr(i,"delete",o,void 0),l},clear(){const o=ke(this),i=o.size!==0,s=o.clear();return i&&rr(o,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=tC(o,t,e)}),n}function Na(t,e){const n=nC(t,e);return(r,o,i)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?r:Reflect.get(Ue(n,o)&&o in r?n:r,o,i)}const rC={get:Na(!1,!1)},oC={get:Na(!1,!0)},iC={get:Na(!0,!1)},sC={get:Na(!0,!0)},bp=new WeakMap,_p=new WeakMap,Sp=new WeakMap,Ip=new WeakMap;function aC(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function cC(t){return t.__v_skip||!Object.isExtensible(t)?0:aC(Nv(t))}function To(t){return dr(t)?t:xa(t,!1,Jv,rC,bp)}function Rp(t){return xa(t,!1,Zv,oC,_p)}function $i(t){return xa(t,!0,Xv,iC,Sp)}function Io(t){return xa(t,!0,eC,sC,Ip)}function xa(t,e,n,r,o){if(!Ne(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const i=cC(t);if(i===0)return t;const s=o.get(t);if(s)return s;const a=new Proxy(t,i===2?r:n);return o.set(t,a),a}function sr(t){return dr(t)?sr(t.__v_raw):!!(t&&t.__v_isReactive)}function dr(t){return!!(t&&t.__v_isReadonly)}function Xt(t){return!!(t&&t.__v_isShallow)}function Ma(t){return t?!!t.__v_raw:!1}function ke(t){const e=t&&t.__v_raw;return e?ke(e):t}function ou(t){return!Ue(t,"__v_skip")&&Object.isExtensible(t)&&ap(t,"__v_skip",!0),t}const mn=t=>Ne(t)?To(t):t,oi=t=>Ne(t)?$i(t):t;function Qe(t){return t?t.__v_isRef===!0:!1}function J(t){return Op(t,!1)}function iu(t){return Op(t,!0)}function Op(t,e){return Qe(t)?t:new lC(t,e)}class lC{constructor(e,n){this.dep=new ka,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:ke(e),this._value=n?e:mn(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,r=this.__v_isShallow||Xt(e)||dr(e);e=r?e:ke(e),Mn(e,n)&&(this._rawValue=e,this._value=r?e:mn(e),this.dep.trigger())}}function I(t){return Qe(t)?t.value:t}const uC={get:(t,e,n)=>e==="__v_raw"?t:I(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const o=t[e];return Qe(o)&&!Qe(n)?(o.value=n,!0):Reflect.set(t,e,n,r)}};function kp(t){return sr(t)?t:new Proxy(t,uC)}class dC{constructor(e){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ka,{get:r,set:o}=e(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=o}get value(){return this._value=this._get()}set value(e){this._set(e)}}function hC(t){return new dC(t)}function is(t){const e=pe(t)?new Array(t.length):{};for(const n in t)e[n]=Pp(t,n);return e}class fC{constructor(e,n,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=tn(n)?n:String(n),this._raw=ke(e);let o=!0,i=e;if(!pe(e)||tn(this._key)||!ba(this._key))do o=!Ma(i)||Xt(i);while(o&&(i=i.__v_raw));this._shallow=o}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Qe(this._raw[this._key])){const n=this._object[this._key];if(Qe(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Gv(this._raw,this._key)}}class pC{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function gC(t,e,n){return Qe(t)?t:we(t)?new pC(t):Ne(t)&&arguments.length>1?Pp(t,e,n):J(t)}function Pp(t,e,n){return new fC(t,e,n)}class mC{constructor(e,n,r){this.fn=e,this.setter=n,this._value=void 0,this.dep=new ka(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&qe!==this)return pp(this,!0),!0}get value(){const e=this.dep.track();return yp(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function yC(t,e,n=!1){let r,o;return we(t)?r=t:(r=t.get,o=t.set),new mC(r,o,n)}const Ss={},Qs=new WeakMap;let Jr;function vC(t,e=!1,n=Jr){if(n){let r=Qs.get(n);r||Qs.set(n,r=[]),r.push(t)}}function CC(t,e,n=je){const{immediate:r,deep:o,once:i,scheduler:s,augmentJob:a,call:c}=n,l=w=>o?w:Xt(w)||o===!1||o===0?kr(w,1):kr(w);let u,d,h,f,p=!1,g=!1;if(Qe(t)?(d=()=>t.value,p=Xt(t)):sr(t)?(d=()=>l(t),p=!0):pe(t)?(g=!0,p=t.some(w=>sr(w)||Xt(w)),d=()=>t.map(w=>{if(Qe(w))return w.value;if(sr(w))return l(w);if(we(w))return c?c(w,2):w()})):we(t)?e?d=c?()=>c(t,2):t:d=()=>{if(h){lr();try{h()}finally{ur()}}const w=Jr;Jr=u;try{return c?c(t,3,[f]):t(f)}finally{Jr=w}}:d=Bn,e&&o){const w=d,S=o===!0?1/0:o;d=()=>kr(w(),S)}const m=Oa(),C=()=>{u.stop(),m&&m.active&&Xl(m.effects,u)};if(i&&e){const w=e;e=(...S)=>{w(...S),C()}}let T=g?new Array(t.length).fill(Ss):Ss;const y=w=>{if(!(!(u.flags&1)||!u.dirty&&!w))if(e){const S=u.run();if(o||p||(g?S.some((B,N)=>Mn(B,T[N])):Mn(S,T))){h&&h();const B=Jr;Jr=u;try{const N=[S,T===Ss?void 0:g&&T[0]===Ss?[]:T,f];T=S,c?c(e,3,N):e(...N)}finally{Jr=B}}}else u.run()};return a&&a(y),u=new hp(d),u.scheduler=s?()=>s(y,!1):y,f=w=>vC(w,!1,u),h=u.onStop=()=>{const w=Qs.get(u);if(w){if(c)c(w,4);else for(const S of w)S();Qs.delete(u)}},e?r?y(!0):T=u.run():s?s(y.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function kr(t,e=1/0,n){if(e<=0||!Ne(t)||t.__v_skip||(n=n||new Map,(n.get(t)||0)>=e))return t;if(n.set(t,e),e--,Qe(t))kr(t.value,e,n);else if(pe(t))for(let r=0;r{kr(r,e,n)});else if(sp(t)){for(const r in t)kr(t[r],e,n);for(const r of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,r)&&kr(t[r],e,n)}return t}/** +* @vue/runtime-core v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ss(t,e,n,r){try{return r?t(...r):t()}catch(o){Da(o,e,n)}}function yn(t,e,n,r){if(we(t)){const o=ss(t,e,n,r);return o&&op(o)&&o.catch(i=>{Da(i,e,n)}),o}if(pe(t)){const o=[];for(let i=0;i>>1,o=Mt[r],i=qi(o);i=qi(n)?Mt.push(t):Mt.splice(AC(e),0,t),t.flags|=1,xp()}}function xp(){Ys||(Ys=Np.then(Dp))}function TC(t){pe(t)?jo.push(...t):Rr&&t.id===-1?Rr.splice(No+1,0,t):t.flags&1||(jo.push(t),t.flags|=1),xp()}function kd(t,e,n=In+1){for(;nqi(n)-qi(r));if(jo.length=0,Rr){Rr.push(...e);return}for(Rr=e,No=0;Not.id==null?t.flags&2?-1:1/0:t.id;function Dp(t){try{for(In=0;In{r._d&&ea(-1);const i=Js(e);let s;try{s=t(...o)}finally{Js(i),r._d&&ea(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function Gr(t,e,n,r){const o=t.dirs,i=e&&e.dirs;for(let s=0;s1)return n&&we(e)?e.call(r&&r.proxy):e}}function EC(){return!!(ln()||ho)}const bC=Symbol.for("v-scx"),_C=()=>Zt(bC);function yt(t,e){return La(t,null,e)}function SC(t,e){return La(t,null,{flush:"post"})}function ut(t,e,n){return La(t,e,n)}function La(t,e,n=je){const{immediate:r,deep:o,flush:i,once:s}=n,a=ht({},n),c=e&&r||!e&&i!=="post";let l;if(zi){if(i==="sync"){const f=_C();l=f.__watcherHandles||(f.__watcherHandles=[])}else if(!c){const f=()=>{};return f.stop=Bn,f.resume=Bn,f.pause=Bn,f}}const u=It;a.call=(f,p,g)=>yn(f,u,p,g);let d=!1;i==="post"?a.scheduler=f=>{Pt(f,u&&u.suspense)}:i!=="sync"&&(d=!0,a.scheduler=(f,p)=>{p?f():su(f)}),a.augmentJob=f=>{e&&(f.flags|=4),d&&(f.flags|=2,u&&(f.id=u.uid,f.i=u))};const h=CC(t,e,a);return zi&&(l?l.push(h):c&&h()),h}function IC(t,e,n){const r=this.proxy,o=Ve(t)?t.includes(".")?Up(r,t):()=>r[t]:t.bind(r,r);let i;we(e)?i=e:(i=e.handler,n=e);const s=as(this),a=La(o,i.bind(r),n);return s(),a}function Up(t,e){const n=e.split(".");return()=>{let r=t;for(let o=0;ot.__isTeleport,Xr=t=>t&&(t.disabled||t.disabled===""),RC=t=>t&&(t.defer||t.defer===""),Pd=t=>typeof SVGElement<"u"&&t instanceof SVGElement,Nd=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Zc=(t,e)=>{const n=t&&t.to;return Ve(n)?e?e(n):null:n},OC={name:"Teleport",__isTeleport:!0,process(t,e,n,r,o,i,s,a,c,l){const{mc:u,pc:d,pbc:h,o:{insert:f,querySelector:p,createText:g,createComment:m,parentNode:C}}=l,T=Xr(e.props);let{dynamicChildren:y}=e;const w=(N,L,k)=>{N.shapeFlag&16&&u(N.children,L,k,o,i,s,a,c)},S=(N=e)=>{const L=Xr(N.props),k=N.target=Zc(N.props,p),F=el(k,N,g,f);k&&(s!=="svg"&&Pd(k)?s="svg":s!=="mathml"&&Nd(k)&&(s="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(k),L||(w(N,k,F),Ei(N,!1)))},B=N=>{const L=()=>{if(Er.get(N)===L){if(Er.delete(N),Xr(N.props)){const k=C(N.el)||n;w(N,k,N.anchor),Ei(N,!0)}S(N)}};Er.set(N,L),Pt(L,i)};if(t==null){const N=e.el=g(""),L=e.anchor=g("");if(f(N,n,r),f(L,n,r),RC(e.props)||i&&i.pendingBranch){B(e);return}T&&(w(e,n,L),Ei(e,!0)),S()}else{e.el=t.el;const N=e.anchor=t.anchor,L=Er.get(t);if(L){L.flags|=8,Er.delete(t),B(e);return}e.targetStart=t.targetStart;const k=e.target=t.target,F=e.targetAnchor=t.targetAnchor,ee=Xr(t.props),$=ee?n:k,ie=ee?N:F;if(s==="svg"||Pd(k)?s="svg":(s==="mathml"||Nd(k))&&(s="mathml"),y?(h(t.dynamicChildren,y,$,o,i,s,a),lu(t,e,!0)):c||d(t,e,$,ie,o,i,s,a,!1),T)ee?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Is(e,n,N,l,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const re=e.target=Zc(e.props,p);re&&Is(e,re,null,l,0)}else ee&&Is(e,k,F,l,1);Ei(e,T)}},remove(t,e,n,{um:r,o:{remove:o}},i){const{shapeFlag:s,children:a,anchor:c,targetStart:l,targetAnchor:u,target:d,props:h}=t;let f=i||!Xr(h);const p=Er.get(t);if(p&&(p.flags|=8,Er.delete(t),f=!1),d&&(o(l),o(u)),i&&o(c),s&16)for(let g=0;g{t.isMounted=!0}),Ba(()=>{t.isUnmounting=!0}),t}const nn=[Function,Array],Fp={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:nn,onEnter:nn,onAfterEnter:nn,onEnterCancelled:nn,onBeforeLeave:nn,onLeave:nn,onAfterLeave:nn,onLeaveCancelled:nn,onBeforeAppear:nn,onAppear:nn,onAfterAppear:nn,onAppearCancelled:nn},Kp=t=>{const e=t.subTree;return e.component?Kp(e.component):e},xC={name:"BaseTransition",props:Fp,setup(t,{slots:e}){const n=ln(),r=NC();return()=>{const o=e.default&&jp(e.default(),!0),i=o&&o.length?$p(o):n.subTree?er():void 0;if(!i)return;const s=ke(t),{mode:a}=s;if(r.isLeaving)return Ec(i);const c=xd(i);if(!c)return Ec(i);let l=tl(c,s,r,n,d=>l=d);c.type!==mt&&ji(c,l);let u=n.subTree&&xd(n.subTree);if(u&&u.type!==mt&&!eo(u,c)&&Kp(n).type!==mt){let d=tl(u,s,r,n);if(ji(u,d),a==="out-in"&&c.type!==mt)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},Ec(i);a==="in-out"&&c.type!==mt?d.delayLeave=(h,f,p)=>{const g=qp(r,u);g[String(u.key)]=u,h[Rn]=()=>{f(),h[Rn]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function $p(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==mt){e=n;break}}return e}const MC=xC;function qp(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function tl(t,e,n,r,o){const{appear:i,mode:s,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:f,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:m,onAppear:C,onAfterAppear:T,onAppearCancelled:y}=e,w=String(t.key),S=qp(n,t),B=(k,F)=>{k&&yn(k,r,9,F)},N=(k,F)=>{const ee=F[1];B(k,F),pe(k)?k.every($=>$.length<=1)&&ee():k.length<=1&&ee()},L={mode:s,persisted:a,beforeEnter(k){let F=c;if(!n.isMounted)if(i)F=m||c;else return;k[Rn]&&k[Rn](!0);const ee=S[w];ee&&eo(t,ee)&&ee.el[Rn]&&ee.el[Rn](),B(F,[k])},enter(k){if(S[w]===t)return;let F=l,ee=u,$=d;if(!n.isMounted)if(i)F=C||l,ee=T||u,$=y||d;else return;let ie=!1;k[Ci]=Re=>{ie||(ie=!0,Re?B($,[k]):B(ee,[k]),L.delayedLeave&&L.delayedLeave(),k[Ci]=void 0)};const re=k[Ci].bind(null,!1);F?N(F,[k,re]):re()},leave(k,F){const ee=String(t.key);if(k[Ci]&&k[Ci](!0),n.isUnmounting)return F();B(h,[k]);let $=!1;k[Rn]=re=>{$||($=!0,F(),re?B(g,[k]):B(p,[k]),k[Rn]=void 0,S[ee]===t&&delete S[ee])};const ie=k[Rn].bind(null,!1);S[ee]=t,f?N(f,[k,ie]):ie()},clone(k){const F=tl(k,e,n,r,o);return o&&o(F),F}};return L}function Ec(t){if(Ua(t))return t=hr(t),t.children=null,t}function xd(t){if(!Ua(t))return Bp(t.type)&&t.children?$p(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:n}=t;if(n){if(e&16)return n[0];if(e&32&&we(n.default))return n.default()}}function ji(t,e){t.shapeFlag&6&&t.component?(t.transition=e,ji(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function jp(t,e=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;iNi(g,e&&(pe(e)?e[m]:e),n,r,o));return}if(Vo(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Ni(t,e,n,r.component.subTree);return}const i=r.shapeFlag&4?du(r.component):r.el,s=o?null:i,{i:a,r:c}=t,l=e&&e.r,u=a.refs===je?a.refs={}:a.refs,d=a.setupState,h=ke(d),f=d===je?np:g=>Dd(u,g)?!1:Ue(h,g),p=(g,m)=>!(m&&Dd(u,m));if(l!=null&&l!==c){if(Ld(e),Ve(l))u[l]=null,f(l)&&(d[l]=null);else if(Qe(l)){const g=e;p(l,g.k)&&(l.value=null),g.k&&(u[g.k]=null)}}if(we(c))ss(c,a,12,[s,u]);else{const g=Ve(c),m=Qe(c);if(g||m){const C=()=>{if(t.f){const T=g?f(c)?d[c]:u[c]:p()||!t.k?c.value:u[t.k];if(o)pe(T)&&Xl(T,i);else if(pe(T))T.includes(i)||T.push(i);else if(g)u[c]=[i],f(c)&&(d[c]=u[c]);else{const y=[i];p(c,t.k)&&(c.value=y),t.k&&(u[t.k]=y)}}else g?(u[c]=s,f(c)&&(d[c]=s)):m&&(p(c,t.k)&&(c.value=s),t.k&&(u[t.k]=s))};if(s){const T=()=>{C(),Xs.delete(t)};T.id=-1,Xs.set(t,T),Pt(T,n)}else Ld(t),C()}}}function Ld(t){const e=Xs.get(t);e&&(e.flags|=8,Xs.delete(t))}Ia().requestIdleCallback;Ia().cancelIdleCallback;const Vo=t=>!!t.type.__asyncLoader,Ua=t=>t.type.__isKeepAlive;function DC(t,e){Gp(t,"a",e)}function LC(t,e){Gp(t,"da",e)}function Gp(t,e,n=It){const r=t.__wdc||(t.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return t()});if(Ha(e,r,n),n){let o=n.parent;for(;o&&o.parent;)Ua(o.parent.vnode)&&UC(r,e,n,o),o=o.parent}}function UC(t,e,n,r){const o=Ha(e,t,r,!0);Fa(()=>{Xl(r[e],o)},n)}function Ha(t,e,n=It,r=!1){if(n){const o=n[t]||(n[t]=[]),i=e.__weh||(e.__weh=(...s)=>{lr();const a=as(n),c=yn(e,n,t,s);return a(),ur(),c});return r?o.unshift(i):o.push(i),i}}const gr=t=>(e,n=It)=>{(!zi||t==="sp")&&Ha(t,(...r)=>e(...r),n)},HC=gr("bm"),vn=gr("m"),BC=gr("bu"),FC=gr("u"),Ba=gr("bum"),Fa=gr("um"),KC=gr("sp"),$C=gr("rtg"),qC=gr("rtc");function jC(t,e=It){Ha("ec",t,e)}const zp="components";function VC(t,e){return Qp(zp,t,!0,e)||t}const Wp=Symbol.for("v-ndc");function Zr(t){return Ve(t)?Qp(zp,t,!1)||t:t||Wp}function Qp(t,e,n=!0,r=!1){const o=Lt||It;if(o){const i=o.type;{const a=kw(i,!1);if(a&&(a===e||a===At(e)||a===Sa(At(e))))return i}const s=Ud(o[t]||i[t],e)||Ud(o.appContext[t],e);return!s&&r?i:s}}function Ud(t,e){return t&&(t[e]||t[At(e)]||t[Sa(At(e))])}function nl(t,e,n,r){let o;const i=n,s=pe(t);if(s||Ve(t)){const a=s&&sr(t);let c=!1,l=!1;a&&(c=!Xt(t),l=dr(t),t=Pa(t)),o=new Array(t.length);for(let u=0,d=t.length;ue(a,c,void 0,i));else{const a=Object.keys(t);o=new Array(a.length);for(let c=0,l=a.length;c0;return e!=="default"&&(n.name=e),Y(),fe(nt,null,[Pe("slot",n,r&&r())],l?-2:64)}let i=t[e];i&&i._c&&(i._d=!1),Y();const s=i&&Yp(i(n)),a=n.key||s&&s.key,c=fe(nt,{key:(a&&!tn(a)?a:`_${e}`)+(!s&&r?"_fb":"")},s||(r?r():[]),s&&t._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function Yp(t){return t.some(e=>Gi(e)?!(e.type===mt||e.type===nt&&!Yp(e.children)):!0)?t:null}function GC(t,e){const n={};for(const r in t)n[Ri(r)]=t[r];return n}const rl=t=>t?mg(t)?du(t):rl(t.parent):null,xi=ht(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>rl(t.parent),$root:t=>rl(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>Zp(t),$forceUpdate:t=>t.f||(t.f=()=>{su(t.update)}),$nextTick:t=>t.n||(t.n=cn.bind(t.proxy)),$watch:t=>IC.bind(t)}),bc=(t,e)=>t!==je&&!t.__isScriptSetup&&Ue(t,e),zC={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:i,accessCache:s,type:a,appContext:c}=t;if(e[0]!=="$"){const h=s[e];if(h!==void 0)switch(h){case 1:return r[e];case 2:return o[e];case 4:return n[e];case 3:return i[e]}else{if(bc(r,e))return s[e]=1,r[e];if(o!==je&&Ue(o,e))return s[e]=2,o[e];if(Ue(i,e))return s[e]=3,i[e];if(n!==je&&Ue(n,e))return s[e]=4,n[e];il&&(s[e]=0)}}const l=xi[e];let u,d;if(l)return e==="$attrs"&&_t(t.attrs,"get",""),l(t);if((u=a.__cssModules)&&(u=u[e]))return u;if(n!==je&&Ue(n,e))return s[e]=4,n[e];if(d=c.config.globalProperties,Ue(d,e))return d[e]},set({_:t},e,n){const{data:r,setupState:o,ctx:i}=t;return bc(o,e)?(o[e]=n,!0):r!==je&&Ue(r,e)?(r[e]=n,!0):Ue(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(i[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,props:i,type:s}},a){let c;return!!(n[a]||t!==je&&a[0]!=="$"&&Ue(t,a)||bc(e,a)||Ue(i,a)||Ue(r,a)||Ue(xi,a)||Ue(o.config.globalProperties,a)||(c=s.__cssModules)&&c[a])},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:Ue(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function WC(){return Jp().slots}function QC(){return Jp().attrs}function Jp(t){const e=ln();return e.setupContext||(e.setupContext=vg(e))}function ol(t){return pe(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}function YC(t,e){const n=ol(t);for(const r in e){if(r.startsWith("__skip"))continue;let o=n[r];o?pe(o)||we(o)?o=n[r]={type:o,default:e[r]}:o.default=e[r]:o===null&&(o=n[r]={default:e[r]}),o&&e[`__skip_${r}`]&&(o.skipFactory=!0)}return n}let il=!0;function JC(t){const e=Zp(t),n=t.proxy,r=t.ctx;il=!1,e.beforeCreate&&Hd(e.beforeCreate,t,"bc");const{data:o,computed:i,methods:s,watch:a,provide:c,inject:l,created:u,beforeMount:d,mounted:h,beforeUpdate:f,updated:p,activated:g,deactivated:m,beforeDestroy:C,beforeUnmount:T,destroyed:y,unmounted:w,render:S,renderTracked:B,renderTriggered:N,errorCaptured:L,serverPrefetch:k,expose:F,inheritAttrs:ee,components:$,directives:ie,filters:re}=e;if(l&&XC(l,r,null),s)for(const oe in s){const he=s[oe];we(he)&&(r[oe]=he.bind(n))}if(o){const oe=o.call(n,n);Ne(oe)&&(t.data=To(oe))}if(il=!0,i)for(const oe in i){const he=i[oe],be=we(he)?he.bind(n,n):we(he.get)?he.get.bind(n,n):Bn,Me=!we(he)&&we(he.set)?he.set.bind(n):Bn,tt=Q({get:be,set:Me});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>tt.value,set:st=>tt.value=st})}if(a)for(const oe in a)Xp(a[oe],r,n,oe);if(c){const oe=we(c)?c.call(n):c;Reflect.ownKeys(oe).forEach(he=>{Pi(he,oe[he])})}u&&Hd(u,t,"c");function ue(oe,he){pe(he)?he.forEach(be=>oe(be.bind(n))):he&&oe(he.bind(n))}if(ue(HC,d),ue(vn,h),ue(BC,f),ue(FC,p),ue(DC,g),ue(LC,m),ue(jC,L),ue(qC,B),ue($C,N),ue(Ba,T),ue(Fa,w),ue(KC,k),pe(F))if(F.length){const oe=t.exposed||(t.exposed={});F.forEach(he=>{Object.defineProperty(oe,he,{get:()=>n[he],set:be=>n[he]=be,enumerable:!0})})}else t.exposed||(t.exposed={});S&&t.render===Bn&&(t.render=S),ee!=null&&(t.inheritAttrs=ee),$&&(t.components=$),ie&&(t.directives=ie),k&&Vp(t)}function XC(t,e,n=Bn){pe(t)&&(t=sl(t));for(const r in t){const o=t[r];let i;Ne(o)?"default"in o?i=Zt(o.from||r,o.default,!0):i=Zt(o.from||r):i=Zt(o),Qe(i)?Object.defineProperty(e,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):e[r]=i}}function Hd(t,e,n){yn(pe(t)?t.map(r=>r.bind(e.proxy)):t.bind(e.proxy),e,n)}function Xp(t,e,n,r){let o=r.includes(".")?Up(n,r):()=>n[r];if(Ve(t)){const i=e[t];we(i)&&ut(o,i)}else if(we(t))ut(o,t.bind(n));else if(Ne(t))if(pe(t))t.forEach(i=>Xp(i,e,n,r));else{const i=we(t.handler)?t.handler.bind(n):e[t.handler];we(i)&&ut(o,i,t)}}function Zp(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=t.appContext,a=i.get(e);let c;return a?c=a:!o.length&&!n&&!r?c=e:(c={},o.length&&o.forEach(l=>Zs(c,l,s,!0)),Zs(c,e,s)),Ne(e)&&i.set(e,c),c}function Zs(t,e,n,r=!1){const{mixins:o,extends:i}=e;i&&Zs(t,i,n,!0),o&&o.forEach(s=>Zs(t,s,n,!0));for(const s in e)if(!(r&&s==="expose")){const a=ZC[s]||n&&n[s];t[s]=a?a(t[s],e[s]):e[s]}return t}const ZC={data:Bd,props:Fd,emits:Fd,methods:bi,computed:bi,beforeCreate:kt,created:kt,beforeMount:kt,mounted:kt,beforeUpdate:kt,updated:kt,beforeDestroy:kt,beforeUnmount:kt,destroyed:kt,unmounted:kt,activated:kt,deactivated:kt,errorCaptured:kt,serverPrefetch:kt,components:bi,directives:bi,watch:tw,provide:Bd,inject:ew};function Bd(t,e){return e?t?function(){return ht(we(t)?t.call(this,this):t,we(e)?e.call(this,this):e)}:e:t}function ew(t,e){return bi(sl(t),sl(e))}function sl(t){if(pe(t)){const e={};for(let n=0;ne==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${At(e)}Modifiers`]||t[`${qr(e)}Modifiers`];function iw(t,e,...n){if(t.isUnmounted)return;const r=t.vnode.props||je;let o=n;const i=e.startsWith("update:"),s=i&&ow(r,e.slice(7));s&&(s.trim&&(o=n.map(u=>Ve(u)?u.trim():u)),s.number&&(o=n.map(Dv)));let a,c=r[a=Ri(e)]||r[a=Ri(At(e))];!c&&i&&(c=r[a=Ri(qr(e))]),c&&yn(c,t,6,o);const l=r[a+"Once"];if(l){if(!t.emitted)t.emitted={};else if(t.emitted[a])return;t.emitted[a]=!0,yn(l,t,6,o)}}const sw=new WeakMap;function tg(t,e,n=!1){const r=n?sw:e.emitsCache,o=r.get(t);if(o!==void 0)return o;const i=t.emits;let s={},a=!1;if(!we(t)){const c=l=>{const u=tg(l,e,!0);u&&(a=!0,ht(s,u))};!n&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!i&&!a?(Ne(t)&&r.set(t,null),null):(pe(i)?i.forEach(c=>s[c]=null):ht(s,i),Ne(t)&&r.set(t,s),s)}function Ka(t,e){return!t||!Ta(e)?!1:(e=e.slice(2).replace(/Once$/,""),Ue(t,e[0].toLowerCase()+e.slice(1))||Ue(t,qr(e))||Ue(t,e))}function Kd(t){const{type:e,vnode:n,proxy:r,withProxy:o,propsOptions:[i],slots:s,attrs:a,emit:c,render:l,renderCache:u,props:d,data:h,setupState:f,ctx:p,inheritAttrs:g}=t,m=Js(t);let C,T;try{if(n.shapeFlag&4){const w=o||r,S=w;C=xn(l.call(S,w,u,d,f,h,p)),T=a}else{const w=e;C=xn(w.length>1?w(d,{attrs:a,slots:s,emit:c}):w(d,null)),T=e.props?a:aw(a)}}catch(w){Mi.length=0,Da(w,t,1),C=Pe(mt)}let y=C;if(T&&g!==!1){const w=Object.keys(T),{shapeFlag:S}=y;w.length&&S&7&&(i&&w.some(Ea)&&(T=cw(T,i)),y=hr(y,T,!1,!0))}return n.dirs&&(y=hr(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&ji(y,n.transition),C=y,Js(m),C}const aw=t=>{let e;for(const n in t)(n==="class"||n==="style"||Ta(n))&&((e||(e={}))[n]=t[n]);return e},cw=(t,e)=>{const n={};for(const r in t)(!Ea(r)||!(r.slice(9)in e))&&(n[r]=t[r]);return n};function lw(t,e,n){const{props:r,children:o,component:i}=t,{props:s,children:a,patchFlag:c}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?$d(r,s,l):!!s;if(c&8){const u=e.dynamicProps;for(let d=0;dObject.create(rg),ig=t=>Object.getPrototypeOf(t)===rg;function dw(t,e,n,r=!1){const o={},i=og();t.propsDefaults=Object.create(null),sg(t,e,o,i);for(const s in t.propsOptions[0])s in o||(o[s]=void 0);n?t.props=r?o:Rp(o):t.type.props?t.props=o:t.props=i,t.attrs=i}function hw(t,e,n,r){const{props:o,attrs:i,vnode:{patchFlag:s}}=t,a=ke(o),[c]=t.propsOptions;let l=!1;if((r||s>0)&&!(s&16)){if(s&8){const u=t.vnode.dynamicProps;for(let d=0;d{c=!0;const[h,f]=ag(d,e,!0);ht(s,h),f&&a.push(...f)};!n&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}if(!i&&!c)return Ne(t)&&r.set(t,$o),$o;if(pe(i))for(let u=0;ut==="_"||t==="_ctx"||t==="$stable",cu=t=>pe(t)?t.map(xn):[xn(t)],pw=(t,e,n)=>{if(e._n)return e;const r=se((...o)=>cu(e(...o)),n);return r._c=!1,r},cg=(t,e,n)=>{const r=t._ctx;for(const o in t){if(au(o))continue;const i=t[o];if(we(i))e[o]=pw(o,i,r);else if(i!=null){const s=cu(i);e[o]=()=>s}}},lg=(t,e)=>{const n=cu(e);t.slots.default=()=>n},ug=(t,e,n)=>{for(const r in e)(n||!au(r))&&(t[r]=e[r])},gw=(t,e,n)=>{const r=t.slots=og();if(t.vnode.shapeFlag&32){const o=e._;o?(ug(r,e,n),n&&ap(r,"_",o,!0)):cg(e,r)}else e&&lg(t,e)},mw=(t,e,n)=>{const{vnode:r,slots:o}=t;let i=!0,s=je;if(r.shapeFlag&32){const a=e._;a?n&&a===1?i=!1:ug(o,e,n):(i=!e.$stable,cg(e,o)),s=e}else e&&(lg(t,e),s={default:1});if(i)for(const a in o)!au(a)&&s[a]==null&&delete o[a]},Pt=Aw;function yw(t){return vw(t)}function vw(t,e){const n=Ia();n.__VUE__=!0;const{insert:r,remove:o,patchProp:i,createElement:s,createText:a,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:h,setScopeId:f=Bn,insertStaticContent:p}=t,g=(v,A,E,M=null,U=null,D=null,W=void 0,z=null,V=!!A.dynamicChildren)=>{if(v===A)return;v&&!eo(v,A)&&(M=R(v),st(v,U,D,!0),v=null),A.patchFlag===-2&&(V=!1,A.dynamicChildren=null);const{type:K,ref:de,shapeFlag:X}=A;switch(K){case $a:m(v,A,E,M);break;case mt:C(v,A,E,M);break;case qs:v==null&&T(A,E,M,W);break;case nt:$(v,A,E,M,U,D,W,z,V);break;default:X&1?S(v,A,E,M,U,D,W,z,V):X&6?ie(v,A,E,M,U,D,W,z,V):(X&64||X&128)&&K.process(v,A,E,M,U,D,W,z,V,Z)}de!=null&&U?Ni(de,v&&v.ref,D,A||v,!A):de==null&&v&&v.ref!=null&&Ni(v.ref,null,D,v,!0)},m=(v,A,E,M)=>{if(v==null)r(A.el=a(A.children),E,M);else{const U=A.el=v.el;A.children!==v.children&&l(U,A.children)}},C=(v,A,E,M)=>{v==null?r(A.el=c(A.children||""),E,M):A.el=v.el},T=(v,A,E,M)=>{[v.el,v.anchor]=p(v.children,A,E,M,v.el,v.anchor)},y=({el:v,anchor:A},E,M)=>{let U;for(;v&&v!==A;)U=h(v),r(v,E,M),v=U;r(A,E,M)},w=({el:v,anchor:A})=>{let E;for(;v&&v!==A;)E=h(v),o(v),v=E;o(A)},S=(v,A,E,M,U,D,W,z,V)=>{if(A.type==="svg"?W="svg":A.type==="math"&&(W="mathml"),v==null)B(A,E,M,U,D,W,z,V);else{const K=v.el&&v.el._isVueCE?v.el:null;try{K&&K._beginPatch(),k(v,A,U,D,W,z,V)}finally{K&&K._endPatch()}}},B=(v,A,E,M,U,D,W,z)=>{let V,K;const{props:de,shapeFlag:X,transition:ae,dirs:ge}=v;if(V=v.el=s(v.type,D,de&&de.is,de),X&8?u(V,v.children):X&16&&L(v.children,V,null,M,U,_c(v,D),W,z),ge&&Gr(v,null,M,"created"),N(V,v,v.scopeId,W,M),de){for(const De in de)De!=="value"&&!Ii(De)&&i(V,De,null,de[De],D,M);"value"in de&&i(V,"value",null,de.value,D),(K=de.onVnodeBeforeMount)&&_n(K,M,v)}ge&&Gr(v,null,M,"beforeMount");const Ie=Cw(U,ae);Ie&&ae.beforeEnter(V),r(V,A,E),((K=de&&de.onVnodeMounted)||Ie||ge)&&Pt(()=>{try{K&&_n(K,M,v),Ie&&ae.enter(V),ge&&Gr(v,null,M,"mounted")}finally{}},U)},N=(v,A,E,M,U)=>{if(E&&f(v,E),M)for(let D=0;D{for(let K=V;K{const z=A.el=v.el;let{patchFlag:V,dynamicChildren:K,dirs:de}=A;V|=v.patchFlag&16;const X=v.props||je,ae=A.props||je;let ge;if(E&&zr(E,!1),(ge=ae.onVnodeBeforeUpdate)&&_n(ge,E,A,v),de&&Gr(A,v,E,"beforeUpdate"),E&&zr(E,!0),(X.innerHTML&&ae.innerHTML==null||X.textContent&&ae.textContent==null)&&u(z,""),K?F(v.dynamicChildren,K,z,E,M,_c(A,U),D):W||he(v,A,z,null,E,M,_c(A,U),D,!1),V>0){if(V&16)ee(z,X,ae,E,U);else if(V&2&&X.class!==ae.class&&i(z,"class",null,ae.class,U),V&4&&i(z,"style",X.style,ae.style,U),V&8){const Ie=A.dynamicProps;for(let De=0;De{ge&&_n(ge,E,A,v),de&&Gr(A,v,E,"updated")},M)},F=(v,A,E,M,U,D,W)=>{for(let z=0;z{if(A!==E){if(A!==je)for(const D in A)!Ii(D)&&!(D in E)&&i(v,D,A[D],null,U,M);for(const D in E){if(Ii(D))continue;const W=E[D],z=A[D];W!==z&&D!=="value"&&i(v,D,z,W,U,M)}"value"in E&&i(v,"value",A.value,E.value,U)}},$=(v,A,E,M,U,D,W,z,V)=>{const K=A.el=v?v.el:a(""),de=A.anchor=v?v.anchor:a("");let{patchFlag:X,dynamicChildren:ae,slotScopeIds:ge}=A;ge&&(z=z?z.concat(ge):ge),v==null?(r(K,E,M),r(de,E,M),L(A.children||[],E,de,U,D,W,z,V)):X>0&&X&64&&ae&&v.dynamicChildren&&v.dynamicChildren.length===ae.length?(F(v.dynamicChildren,ae,E,U,D,W,z),(A.key!=null||U&&A===U.subTree)&&lu(v,A,!0)):he(v,A,E,de,U,D,W,z,V)},ie=(v,A,E,M,U,D,W,z,V)=>{A.slotScopeIds=z,v==null?A.shapeFlag&512?U.ctx.activate(A,E,M,W,V):re(A,E,M,U,D,W,V):Re(v,A,V)},re=(v,A,E,M,U,D,W)=>{const z=v.component=Sw(v,M,U);if(Ua(v)&&(z.ctx.renderer=Z),Iw(z,!1,W),z.asyncDep){if(U&&U.registerDep(z,ue,W),!v.el){const V=z.subTree=Pe(mt);C(null,V,A,E),v.placeholder=V.el}}else ue(z,v,A,E,U,D,W)},Re=(v,A,E)=>{const M=A.component=v.component;if(lw(v,A,E))if(M.asyncDep&&!M.asyncResolved){oe(M,A,E);return}else M.next=A,M.update();else A.el=v.el,M.vnode=A},ue=(v,A,E,M,U,D,W)=>{const z=()=>{if(v.isMounted){let{next:X,bu:ae,u:ge,parent:Ie,vnode:De}=v;{const $t=dg(v);if($t){X&&(X.el=De.el,oe(v,X,W)),$t.asyncDep.then(()=>{Pt(()=>{v.isUnmounted||K()},U)});return}}let He=X,Je;zr(v,!1),X?(X.el=De.el,oe(v,X,W)):X=De,ae&&vc(ae),(Je=X.props&&X.props.onVnodeBeforeUpdate)&&_n(Je,Ie,X,De),zr(v,!0);const it=Kd(v),Kt=v.subTree;v.subTree=it,g(Kt,it,d(Kt.el),R(Kt),v,U,D),X.el=it.el,He===null&&uw(v,it.el),ge&&Pt(ge,U),(Je=X.props&&X.props.onVnodeUpdated)&&Pt(()=>_n(Je,Ie,X,De),U)}else{let X;const{el:ae,props:ge}=A,{bm:Ie,m:De,parent:He,root:Je,type:it}=v,Kt=Vo(A);zr(v,!1),Ie&&vc(Ie),!Kt&&(X=ge&&ge.onVnodeBeforeMount)&&_n(X,He,A),zr(v,!0);{Je.ce&&Je.ce._hasShadowRoot()&&Je.ce._injectChildStyle(it,v.parent?v.parent.type:void 0);const $t=v.subTree=Kd(v);g(null,$t,E,M,v,U,D),A.el=$t.el}if(De&&Pt(De,U),!Kt&&(X=ge&&ge.onVnodeMounted)){const $t=A;Pt(()=>_n(X,He,$t),U)}(A.shapeFlag&256||He&&Vo(He.vnode)&&He.vnode.shapeFlag&256)&&v.a&&Pt(v.a,U),v.isMounted=!0,A=E=M=null}};v.scope.on();const V=v.effect=new hp(z);v.scope.off();const K=v.update=V.run.bind(V),de=v.job=V.runIfDirty.bind(V);de.i=v,de.id=v.uid,V.scheduler=()=>su(de),zr(v,!0),K()},oe=(v,A,E)=>{A.component=v;const M=v.vnode.props;v.vnode=A,v.next=null,hw(v,A.props,M,E),mw(v,A.children,E),lr(),kd(v),ur()},he=(v,A,E,M,U,D,W,z,V=!1)=>{const K=v&&v.children,de=v?v.shapeFlag:0,X=A.children,{patchFlag:ae,shapeFlag:ge}=A;if(ae>0){if(ae&128){Me(K,X,E,M,U,D,W,z,V);return}else if(ae&256){be(K,X,E,M,U,D,W,z,V);return}}ge&8?(de&16&&Te(K,U,D),X!==K&&u(E,X)):de&16?ge&16?Me(K,X,E,M,U,D,W,z,V):Te(K,U,D,!0):(de&8&&u(E,""),ge&16&&L(X,E,M,U,D,W,z,V))},be=(v,A,E,M,U,D,W,z,V)=>{v=v||$o,A=A||$o;const K=v.length,de=A.length,X=Math.min(K,de);let ae;for(ae=0;aede?Te(v,U,D,!0,!1,X):L(A,E,M,U,D,W,z,V,X)},Me=(v,A,E,M,U,D,W,z,V)=>{let K=0;const de=A.length;let X=v.length-1,ae=de-1;for(;K<=X&&K<=ae;){const ge=v[K],Ie=A[K]=V?tr(A[K]):xn(A[K]);if(eo(ge,Ie))g(ge,Ie,E,null,U,D,W,z,V);else break;K++}for(;K<=X&&K<=ae;){const ge=v[X],Ie=A[ae]=V?tr(A[ae]):xn(A[ae]);if(eo(ge,Ie))g(ge,Ie,E,null,U,D,W,z,V);else break;X--,ae--}if(K>X){if(K<=ae){const ge=ae+1,Ie=geae)for(;K<=X;)st(v[K],U,D,!0),K++;else{const ge=K,Ie=K,De=new Map;for(K=Ie;K<=ae;K++){const at=A[K]=V?tr(A[K]):xn(A[K]);at.key!=null&&De.set(at.key,K)}let He,Je=0;const it=ae-Ie+1;let Kt=!1,$t=0;const Cr=new Array(it);for(K=0;K=it){st(at,U,D,!0);continue}let Tt;if(at.key!=null)Tt=De.get(at.key);else for(He=Ie;He<=ae;He++)if(Cr[He-Ie]===0&&eo(at,A[He])){Tt=He;break}Tt===void 0?st(at,U,D,!0):(Cr[Tt-Ie]=K+1,Tt>=$t?$t=Tt:Kt=!0,g(at,A[Tt],E,null,U,D,W,z,V),Je++)}const wr=Kt?ww(Cr):$o;for(He=wr.length-1,K=it-1;K>=0;K--){const at=Ie+K,Tt=A[at],Ed=A[at+1],bd=at+1{const{el:D,type:W,transition:z,children:V,shapeFlag:K}=v;if(K&6){tt(v.component.subTree,A,E,M);return}if(K&128){v.suspense.move(A,E,M);return}if(K&64){W.move(v,A,E,Z);return}if(W===nt){r(D,A,E);for(let X=0;Xz.enter(D),U);else{const{leave:X,delayLeave:ae,afterLeave:ge}=z,Ie=()=>{v.ctx.isUnmounted?o(D):r(D,A,E)},De=()=>{D._isLeaving&&D[Rn](!0),X(D,()=>{Ie(),ge&&ge()})};ae?ae(D,Ie,De):De()}else r(D,A,E)},st=(v,A,E,M=!1,U=!1)=>{const{type:D,props:W,ref:z,children:V,dynamicChildren:K,shapeFlag:de,patchFlag:X,dirs:ae,cacheIndex:ge,memo:Ie}=v;if(X===-2&&(U=!1),z!=null&&(lr(),Ni(z,null,E,v,!0),ur()),ge!=null&&(A.renderCache[ge]=void 0),de&256){A.ctx.deactivate(v);return}const De=de&1&&ae,He=!Vo(v);let Je;if(He&&(Je=W&&W.onVnodeBeforeUnmount)&&_n(Je,A,v),de&6)O(v.component,E,M);else{if(de&128){v.suspense.unmount(E,M);return}De&&Gr(v,null,A,"beforeUnmount"),de&64?v.type.remove(v,A,E,Z,M):K&&!K.hasOnce&&(D!==nt||X>0&&X&64)?Te(K,A,E,!1,!0):(D===nt&&X&384||!U&&de&16)&&Te(V,A,E),M&&Ge(v)}const it=Ie!=null&&ge==null;(He&&(Je=W&&W.onVnodeUnmounted)||De||it)&&Pt(()=>{Je&&_n(Je,A,v),De&&Gr(v,null,A,"unmounted"),it&&(v.el=null)},E)},Ge=v=>{const{type:A,el:E,anchor:M,transition:U}=v;if(A===nt){vt(E,M);return}if(A===qs){w(v);return}const D=()=>{o(E),U&&!U.persisted&&U.afterLeave&&U.afterLeave()};if(v.shapeFlag&1&&U&&!U.persisted){const{leave:W,delayLeave:z}=U,V=()=>W(E,D);z?z(v.el,D,V):V()}else D()},vt=(v,A)=>{let E;for(;v!==A;)E=h(v),o(v),v=E;o(A)},O=(v,A,E)=>{const{bum:M,scope:U,job:D,subTree:W,um:z,m:V,a:K}=v;jd(V),jd(K),M&&vc(M),U.stop(),D&&(D.flags|=8,st(W,v,A,E)),z&&Pt(z,A),Pt(()=>{v.isUnmounted=!0},A)},Te=(v,A,E,M=!1,U=!1,D=0)=>{for(let W=D;W{if(v.shapeFlag&6)return R(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const A=h(v.anchor||v.el),E=A&&A[Hp];return E?h(E):A};let H=!1;const q=(v,A,E)=>{let M;v==null?A._vnode&&(st(A._vnode,null,null,!0),M=A._vnode.component):g(A._vnode||null,v,A,null,null,null,E),A._vnode=v,H||(H=!0,kd(M),Mp(),H=!1)},Z={p:g,um:st,m:tt,r:Ge,mt:re,mc:L,pc:he,pbc:F,n:R,o:t};return{render:q,hydrate:void 0,createApp:rw(q)}}function _c({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function zr({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Cw(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function lu(t,e,n=!1){const r=t.children,o=e.children;if(pe(r)&&pe(o))for(let i=0;i>1,t[n[a]]0&&(e[r]=n[i-1]),n[i]=r)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=e[s];return n}function dg(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:dg(e)}function jd(t){if(t)for(let e=0;et.__isSuspense;function Aw(t,e){e&&e.pendingBranch?pe(t)?e.effects.push(...t):e.effects.push(t):TC(t)}const nt=Symbol.for("v-fgt"),$a=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),qs=Symbol.for("v-stc"),Mi=[];let Yt=null;function Y(t=!1){Mi.push(Yt=t?null:[])}function Tw(){Mi.pop(),Yt=Mi[Mi.length-1]||null}let Vi=1;function ea(t,e=!1){Vi+=t,t<0&&Yt&&e&&(Yt.hasOnce=!0)}function pg(t){return t.dynamicChildren=Vi>0?Yt||$o:null,Tw(),Vi>0&&Yt&&Yt.push(t),t}function Xe(t,e,n,r,o,i){return pg(Cn(t,e,n,r,o,i,!0))}function fe(t,e,n,r,o){return pg(Pe(t,e,n,r,o,!0))}function Gi(t){return t?t.__v_isVNode===!0:!1}function eo(t,e){return t.type===e.type&&t.key===e.key}const gg=({key:t})=>t??null,js=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?Ve(t)||Qe(t)||we(t)?{i:Lt,r:t,k:e,f:!!n}:t:null);function Cn(t,e=null,n=null,r=0,o=null,i=t===nt?0:1,s=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&gg(e),ref:e&&js(e),scopeId:Lp,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Lt};return a?(uu(c,n),i&128&&t.normalize(c)):n&&(c.shapeFlag|=Ve(n)?8:16),Vi>0&&!s&&Yt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Yt.push(c),c}const Pe=Ew;function Ew(t,e=null,n=null,r=0,o=null,i=!1){if((!t||t===Wp)&&(t=mt),Gi(t)){const a=hr(t,e,!0);return n&&uu(a,n),Vi>0&&!i&&Yt&&(a.shapeFlag&6?Yt[Yt.indexOf(t)]=a:Yt.push(a)),a.patchFlag=-2,a}if(Pw(t)&&(t=t.__vccOpts),e){e=jr(e);let{class:a,style:c}=e;a&&!Ve(a)&&(e.class=Gt(a)),Ne(c)&&(Ma(c)&&!pe(c)&&(c=ht({},c)),e.style=Fn(c))}const s=Ve(t)?1:fg(t)?128:Bp(t)?64:Ne(t)?4:we(t)?2:0;return Cn(t,e,n,r,o,s,i,!0)}function jr(t){return t?Ma(t)||ig(t)?ht({},t):t:null}function hr(t,e,n=!1,r=!1){const{props:o,ref:i,patchFlag:s,children:a,transition:c}=t,l=e?Ke(o||{},e):o,u={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&gg(l),ref:e&&e.ref?n&&i?pe(i)?i.concat(js(e)):[i,js(e)]:js(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==nt?s===-1?16:s|16:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&hr(t.ssContent),ssFallback:t.ssFallback&&hr(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&r&&ji(u,c.clone(u)),u}function ta(t=" ",e=0){return Pe($a,null,t,e)}function BP(t,e){const n=Pe(qs,null,t);return n.staticCount=e,n}function er(t="",e=!1){return e?(Y(),fe(mt,null,t)):Pe(mt,null,t)}function xn(t){return t==null||typeof t=="boolean"?Pe(mt):pe(t)?Pe(nt,null,t.slice()):Gi(t)?tr(t):Pe($a,null,String(t))}function tr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:hr(t)}function uu(t,e){let n=0;const{shapeFlag:r}=t;if(e==null)e=null;else if(pe(e))n=16;else if(typeof e=="object")if(r&65){const o=e.default;o&&(o._c&&(o._d=!1),uu(t,o()),o._c&&(o._d=!0));return}else{n=32;const o=e._;!o&&!ig(e)?e._ctx=Lt:o===3&&Lt&&(Lt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else we(e)?(e={default:e,_ctx:Lt},n=32):(e=String(e),r&64?(n=16,e=[ta(e)]):n=8);t.children=e,t.shapeFlag|=n}function Ke(...t){const e={};for(let n=0;nIt||Lt;let na,cl;{const t=Ia(),e=(n,r)=>{let o;return(o=t[n])||(o=t[n]=[]),o.push(r),i=>{o.length>1?o.forEach(s=>s(i)):o[0](i)}};na=e("__VUE_INSTANCE_SETTERS__",n=>It=n),cl=e("__VUE_SSR_SETTERS__",n=>zi=n)}const as=t=>{const e=It;return na(t),t.scope.on(),()=>{t.scope.off(),na(e)}},Vd=()=>{It&&It.scope.off(),na(null)};function mg(t){return t.vnode.shapeFlag&4}let zi=!1;function Iw(t,e=!1,n=!1){e&&cl(e);const{props:r,children:o}=t.vnode,i=mg(t);dw(t,r,i,e),gw(t,o,n||e);const s=i?Rw(t,e):void 0;return e&&cl(!1),s}function Rw(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,zC);const{setup:r}=n;if(r){lr();const o=t.setupContext=r.length>1?vg(t):null,i=as(t),s=ss(r,t,0,[t.props,o]),a=op(s);if(ur(),i(),(a||t.sp)&&!Vo(t)&&Vp(t),a){if(s.then(Vd,Vd),e)return s.then(c=>{Gd(t,c)}).catch(c=>{Da(c,t,0)});t.asyncDep=s}else Gd(t,s)}else yg(t)}function Gd(t,e,n){we(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Ne(e)&&(t.setupState=kp(e)),yg(t)}function yg(t,e,n){const r=t.type;t.render||(t.render=r.render||Bn);{const o=as(t);lr();try{JC(t)}finally{ur(),o()}}}const Ow={get(t,e){return _t(t,"get",""),t[e]}};function vg(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,Ow),slots:t.slots,emit:t.emit,expose:e}}function du(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(kp(ou(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in xi)return xi[n](t)},has(e,n){return n in e||n in xi}})):t.proxy}function kw(t,e=!0){return we(t)?t.displayName||t.name:t.name||e&&t.__name}function Pw(t){return we(t)&&"__vccOpts"in t}const Q=(t,e)=>yC(t,e,zi);function fo(t,e,n){try{ea(-1);const r=arguments.length;return r===2?Ne(e)&&!pe(e)?Gi(e)?Pe(t,null,[e]):Pe(t,e):Pe(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Gi(n)&&(n=[n]),Pe(t,e,n))}finally{ea(1)}}const Nw="3.5.34";/** +* @vue/runtime-dom v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ll;const zd=typeof window<"u"&&window.trustedTypes;if(zd)try{ll=zd.createPolicy("vue",{createHTML:t=>t})}catch{}const Cg=ll?t=>ll.createHTML(t):t=>t,xw="http://www.w3.org/2000/svg",Mw="http://www.w3.org/1998/Math/MathML",Xn=typeof document<"u"?document:null,Wd=Xn&&Xn.createElement("template"),Dw={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const o=e==="svg"?Xn.createElementNS(xw,t):e==="mathml"?Xn.createElementNS(Mw,t):n?Xn.createElement(t,{is:n}):Xn.createElement(t);return t==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:t=>Xn.createTextNode(t),createComment:t=>Xn.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Xn.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,o,i){const s=n?n.previousSibling:e.lastChild;if(o&&(o===i||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),n),!(o===i||!(o=o.nextSibling)););else{Wd.innerHTML=Cg(r==="svg"?`${t}`:r==="mathml"?`${t}`:t);const a=Wd.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},Ar="transition",wi="animation",Wi=Symbol("_vtc"),wg={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Lw=ht({},Fp,wg),Uw=t=>(t.displayName="Transition",t.props=Lw,t),FP=Uw((t,{slots:e})=>fo(MC,Hw(t),e)),Wr=(t,e=[])=>{pe(t)?t.forEach(n=>n(...e)):t&&t(...e)},Qd=t=>t?pe(t)?t.some(e=>e.length>1):t.length>1:!1;function Hw(t){const e={};for(const $ in t)$ in wg||(e[$]=t[$]);if(t.css===!1)return e;const{name:n="v",type:r,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:l=s,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=t,p=Bw(o),g=p&&p[0],m=p&&p[1],{onBeforeEnter:C,onEnter:T,onEnterCancelled:y,onLeave:w,onLeaveCancelled:S,onBeforeAppear:B=C,onAppear:N=T,onAppearCancelled:L=y}=e,k=($,ie,re,Re)=>{$._enterCancelled=Re,Qr($,ie?u:a),Qr($,ie?l:s),re&&re()},F=($,ie)=>{$._isLeaving=!1,Qr($,d),Qr($,f),Qr($,h),ie&&ie()},ee=$=>(ie,re)=>{const Re=$?N:T,ue=()=>k(ie,$,re);Wr(Re,[ie,ue]),Yd(()=>{Qr(ie,$?c:i),zn(ie,$?u:a),Qd(Re)||Jd(ie,r,g,ue)})};return ht(e,{onBeforeEnter($){Wr(C,[$]),zn($,i),zn($,s)},onBeforeAppear($){Wr(B,[$]),zn($,c),zn($,l)},onEnter:ee(!1),onAppear:ee(!0),onLeave($,ie){$._isLeaving=!0;const re=()=>F($,ie);zn($,d),$._enterCancelled?(zn($,h),eh($)):(eh($),zn($,h)),Yd(()=>{$._isLeaving&&(Qr($,d),zn($,f),Qd(w)||Jd($,r,m,re))}),Wr(w,[$,re])},onEnterCancelled($){k($,!1,void 0,!0),Wr(y,[$])},onAppearCancelled($){k($,!0,void 0,!0),Wr(L,[$])},onLeaveCancelled($){F($),Wr(S,[$])}})}function Bw(t){if(t==null)return null;if(Ne(t))return[Sc(t.enter),Sc(t.leave)];{const e=Sc(t);return[e,e]}}function Sc(t){return Lv(t)}function zn(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t[Wi]||(t[Wi]=new Set)).add(e)}function Qr(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.remove(r));const n=t[Wi];n&&(n.delete(e),n.size||(t[Wi]=void 0))}function Yd(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Fw=0;function Jd(t,e,n,r){const o=t._endId=++Fw,i=()=>{o===t._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:s,timeout:a,propCount:c}=Kw(t,e);if(!s)return r();const l=s+"end";let u=0;const d=()=>{t.removeEventListener(l,h),i()},h=f=>{f.target===t&&++u>=c&&d()};setTimeout(()=>{u(n[p]||"").split(", "),o=r(`${Ar}Delay`),i=r(`${Ar}Duration`),s=Xd(o,i),a=r(`${wi}Delay`),c=r(`${wi}Duration`),l=Xd(a,c);let u=null,d=0,h=0;e===Ar?s>0&&(u=Ar,d=s,h=i.length):e===wi?l>0&&(u=wi,d=l,h=c.length):(d=Math.max(s,l),u=d>0?s>l?Ar:wi:null,h=u?u===Ar?i.length:c.length:0);const f=u===Ar&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ar}Property`).toString());return{type:u,timeout:d,propCount:h,hasTransform:f}}function Xd(t,e){for(;t.lengthZd(n)+Zd(t[r])))}function Zd(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function eh(t){return(t?t.ownerDocument:document).body.offsetHeight}function $w(t,e,n){const r=t[Wi];r&&(e=(e?[e,...r]:[...r]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const th=Symbol("_vod"),qw=Symbol("_vsh"),jw=Symbol(""),Vw=/(?:^|;)\s*display\s*:/;function Gw(t,e,n){const r=t.style,o=Ve(n);let i=!1;if(n&&!o){if(e)if(Ve(e))for(const s of e.split(";")){const a=s.slice(0,s.indexOf(":")).trim();n[a]==null&&_i(r,a,"")}else for(const s in e)n[s]==null&&_i(r,s,"");for(const s in n){s==="display"&&(i=!0);const a=n[s];a!=null?Ww(t,s,!Ve(e)&&e?e[s]:void 0,a)||_i(r,s,a):_i(r,s,"")}}else if(o){if(e!==n){const s=r[jw];s&&(n+=";"+s),r.cssText=n,i=Vw.test(n)}}else e&&t.removeAttribute("style");th in t&&(t[th]=i?r.display:"",t[qw]&&(r.display="none"))}const nh=/\s*!important$/;function _i(t,e,n){if(pe(n))n.forEach(r=>_i(t,e,r));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const r=zw(t,e);nh.test(n)?t.setProperty(qr(r),n.replace(nh,""),"important"):t[r]=n}}const rh=["Webkit","Moz","ms"],Ic={};function zw(t,e){const n=Ic[e];if(n)return n;let r=At(e);if(r!=="filter"&&r in t)return Ic[e]=r;r=Sa(r);for(let o=0;oRc||(Zw.then(()=>Rc=0),Rc=Date.now());function tA(t,e){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;yn(nA(r,n.value),e,5,[r])};return n.value=t,n.attached=eA(),n}function nA(t,e){if(pe(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(r=>o=>!o._stopped&&r&&r(o))}else return e}const lh=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,rA=(t,e,n,r,o,i)=>{const s=o==="svg";e==="class"?$w(t,r,s):e==="style"?Gw(t,n,r):Ta(e)?Ea(e)||Jw(t,e,n,r,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):oA(t,e,r,s))?(sh(t,e,r),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&ih(t,e,r,s,i,e!=="value")):t._isVueCE&&(iA(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!Ve(r)))?sh(t,At(e),r,i,e):(e==="true-value"?t._trueValue=r:e==="false-value"&&(t._falseValue=r),ih(t,e,r,s))};function oA(t,e,n,r){if(r)return!!(e==="innerHTML"||e==="textContent"||e in t&&lh(e)&&we(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const o=t.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return lh(e)&&Ve(n)?!1:e in t}function iA(t,e){const n=t._def.props;if(!n)return!1;const r=At(e);return Array.isArray(n)?n.some(o=>At(o)===r):Object.keys(n).some(o=>At(o)===r)}const sA=["ctrl","shift","alt","meta"],aA={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>sA.some(n=>t[`${n}Key`]&&!e.includes(n))},Qi=(t,e)=>{if(!t)return t;const n=t._withMods||(t._withMods={}),r=e.join(".");return n[r]||(n[r]=(o,...i)=>{for(let s=0;s{const n=t._withKeys||(t._withKeys={}),r=e.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const i=qr(o.key);if(e.some(s=>s===i||cA[s]===i))return t(o)})},lA=ht({patchProp:rA},Dw);let uh;function uA(){return uh||(uh=yw(lA))}const dA=(...t)=>{const e=uA().createApp(...t),{mount:n}=e;return e.mount=r=>{const o=fA(r);if(!o)return;const i=e._component;!we(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const s=n(o,!1,hA(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},e};function hA(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function fA(t){return Ve(t)?document.querySelector(t):t}/*! + * pinia v2.3.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Ag;const qa=t=>Ag=t,Tg=Symbol();function ul(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Di;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Di||(Di={}));function pA(){const t=Ra(!0),e=t.run(()=>J({}));let n=[],r=[];const o=ou({install(i){qa(o),o._a=i,i.provide(Tg,o),i.config.globalProperties.$pinia=o,r.forEach(s=>n.push(s)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return o}const Eg=()=>{};function dh(t,e,n,r=Eg){t.push(e);const o=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),r())};return!n&&Oa()&&eu(o),o}function Ro(t,...e){t.slice().forEach(n=>{n(...e)})}const gA=t=>t(),hh=Symbol(),Oc=Symbol();function dl(t,e){t instanceof Map&&e instanceof Map?e.forEach((n,r)=>t.set(r,n)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const r=e[n],o=t[n];ul(o)&&ul(r)&&t.hasOwnProperty(n)&&!Qe(r)&&!sr(r)?t[n]=dl(o,r):t[n]=r}return t}const mA=Symbol();function yA(t){return!ul(t)||!t.hasOwnProperty(mA)}const{assign:br}=Object;function vA(t){return!!(Qe(t)&&t.effect)}function CA(t,e,n,r){const{state:o,actions:i,getters:s}=e,a=n.state.value[t];let c;function l(){a||(n.state.value[t]=o?o():{});const u=is(n.state.value[t]);return br(u,i,Object.keys(s||{}).reduce((d,h)=>(d[h]=ou(Q(()=>{qa(n);const f=n._s.get(t);return s[h].call(f,f)})),d),{}))}return c=bg(t,l,e,n,r,!0),c}function bg(t,e,n={},r,o,i){let s;const a=br({actions:{}},n),c={deep:!0};let l,u,d=[],h=[],f;const p=r.state.value[t];!i&&!p&&(r.state.value[t]={});let g;function m(L){let k;l=u=!1,typeof L=="function"?(L(r.state.value[t]),k={type:Di.patchFunction,storeId:t,events:f}):(dl(r.state.value[t],L),k={type:Di.patchObject,payload:L,storeId:t,events:f});const F=g=Symbol();cn().then(()=>{g===F&&(l=!0)}),u=!0,Ro(d,k,r.state.value[t])}const C=i?function(){const{state:k}=n,F=k?k():{};this.$patch(ee=>{br(ee,F)})}:Eg;function T(){s.stop(),d=[],h=[],r._s.delete(t)}const y=(L,k="")=>{if(hh in L)return L[Oc]=k,L;const F=function(){qa(r);const ee=Array.from(arguments),$=[],ie=[];function re(oe){$.push(oe)}function Re(oe){ie.push(oe)}Ro(h,{args:ee,name:F[Oc],store:S,after:re,onError:Re});let ue;try{ue=L.apply(this&&this.$id===t?this:S,ee)}catch(oe){throw Ro(ie,oe),oe}return ue instanceof Promise?ue.then(oe=>(Ro($,oe),oe)).catch(oe=>(Ro(ie,oe),Promise.reject(oe))):(Ro($,ue),ue)};return F[hh]=!0,F[Oc]=k,F},w={_p:r,$id:t,$onAction:dh.bind(null,h),$patch:m,$reset:C,$subscribe(L,k={}){const F=dh(d,L,k.detached,()=>ee()),ee=s.run(()=>ut(()=>r.state.value[t],$=>{(k.flush==="sync"?u:l)&&L({storeId:t,type:Di.direct,events:f},$)},br({},c,k)));return F},$dispose:T},S=To(w);r._s.set(t,S);const N=(r._a&&r._a.runWithContext||gA)(()=>r._e.run(()=>(s=Ra()).run(()=>e({action:y}))));for(const L in N){const k=N[L];if(Qe(k)&&!vA(k)||sr(k))i||(p&&yA(k)&&(Qe(k)?k.value=p[L]:dl(k,p[L])),r.state.value[t][L]=k);else if(typeof k=="function"){const F=y(k,L);N[L]=F,a.actions[L]=k}}return br(S,N),br(ke(S),N),Object.defineProperty(S,"$state",{get:()=>r.state.value[t],set:L=>{m(k=>{br(k,L)})}}),r._p.forEach(L=>{br(S,s.run(()=>L({store:S,app:r._a,pinia:r,options:a})))}),p&&i&&n.hydrate&&n.hydrate(S.$state,p),l=!0,u=!0,S}/*! #__NO_SIDE_EFFECTS__ */function wA(t,e,n){let r,o;const i=typeof e=="function";typeof t=="string"?(r=t,o=i?n:e):(o=t,r=t.id);function s(a,c){const l=EC();return a=a||(l?Zt(Tg,null):null),a&&qa(a),a=Ag,a._s.has(r)||(i?bg(r,e,o,a):CA(r,o,a)),a._s.get(r)}return s.$id=r,s}var ja=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},oo,Pr,Qo,zf,AA=(zf=class extends ja{constructor(){super();Se(this,oo);Se(this,Pr);Se(this,Qo);ve(this,Qo,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){x(this,Pr)||this.setEventListener(x(this,Qo))}onUnsubscribe(){var e;this.hasListeners()||((e=x(this,Pr))==null||e.call(this),ve(this,Pr,void 0))}setEventListener(e){var n;ve(this,Qo,e),(n=x(this,Pr))==null||n.call(this),ve(this,Pr,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){x(this,oo)!==e&&(ve(this,oo,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){var e;return typeof x(this,oo)=="boolean"?x(this,oo):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},oo=new WeakMap,Pr=new WeakMap,Qo=new WeakMap,zf),_g=new AA,TA={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},Nr,Yl,Wf,EA=(Wf=class{constructor(){Se(this,Nr,TA);Se(this,Yl,!1)}setTimeoutProvider(t){ve(this,Nr,t)}setTimeout(t,e){return x(this,Nr).setTimeout(t,e)}clearTimeout(t){x(this,Nr).clearTimeout(t)}setInterval(t,e){return x(this,Nr).setInterval(t,e)}clearInterval(t){x(this,Nr).clearInterval(t)}},Nr=new WeakMap,Yl=new WeakMap,Wf),hl=new EA;function bA(t){setTimeout(t,0)}var Sg=typeof window>"u"||"Deno"in globalThis;function un(){}function _A(t,e){return typeof t=="function"?t(e):t}function SA(t){return typeof t=="number"&&t>=0&&t!==1/0}function IA(t,e){return Math.max(t+(e||0)-Date.now(),0)}function fl(t,e){return typeof t=="function"?t(e):t}function RA(t,e){return typeof t=="function"?t(e):t}function fh(t,e){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:s,stale:a}=t;if(s){if(r){if(e.queryHash!==hu(s,e.options))return!1}else if(!Ji(e.queryKey,s))return!1}if(n!=="all"){const c=e.isActive();if(n==="active"&&!c||n==="inactive"&&c)return!1}return!(typeof a=="boolean"&&e.isStale()!==a||o&&o!==e.state.fetchStatus||i&&!i(e))}function ph(t,e){const{exact:n,status:r,predicate:o,mutationKey:i}=t;if(i){if(!e.options.mutationKey)return!1;if(n){if(Yi(e.options.mutationKey)!==Yi(i))return!1}else if(!Ji(e.options.mutationKey,i))return!1}return!(r&&e.state.status!==r||o&&!o(e))}function hu(t,e){return((e==null?void 0:e.queryKeyHashFn)||Yi)(t)}function Yi(t){return JSON.stringify(t,(e,n)=>pl(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Ji(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>Ji(t[n],e[n])):!1}var OA=Object.prototype.hasOwnProperty;function Ig(t,e,n=0){if(t===e)return t;if(n>500)return e;const r=gh(t)&&gh(e);if(!r&&!(pl(t)&&pl(e)))return e;const i=(r?t:Object.keys(t)).length,s=r?e:Object.keys(e),a=s.length,c=r?new Array(a):{};let l=0;for(let u=0;u{hl.setTimeout(e,t)})}function PA(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?Ig(t,e):e}function NA(t,e,n=0){const r=[...t,e];return n&&r.length>n?r.slice(1):r}function xA(t,e,n=0){const r=[e,...t];return n&&r.length>n?r.slice(0,-1):r}var fu=Symbol();function Rg(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===fu?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function MA(t,e,n){let r=!1,o;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(o??(o=e()),r||(r=!0,o.aborted?n():o.addEventListener("abort",n,{once:!0})),o)}),t}var Og=(()=>{let t=()=>Sg;return{isServer(){return t()},setIsServer(e){t=e}}})();function DA(){let t,e;const n=new Promise((o,i)=>{t=o,e=i});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),t(o)},n.reject=o=>{r({status:"rejected",reason:o}),e(o)},n}var LA=bA;function UA(){let t=[],e=0,n=a=>{a()},r=a=>{a()},o=LA;const i=a=>{e?t.push(a):o(()=>{n(a)})},s=()=>{const a=t;t=[],a.length&&o(()=>{r(()=>{a.forEach(c=>{n(c)})})})};return{batch:a=>{let c;e++;try{c=a()}finally{e--,e||s()}return c},batchCalls:a=>(...c)=>{i(()=>{a(...c)})},schedule:i,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{o=a}}}var Dt=UA(),Yo,xr,Jo,Qf,HA=(Qf=class extends ja{constructor(){super();Se(this,Yo,!0);Se(this,xr);Se(this,Jo);ve(this,Jo,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){x(this,xr)||this.setEventListener(x(this,Jo))}onUnsubscribe(){var e;this.hasListeners()||((e=x(this,xr))==null||e.call(this),ve(this,xr,void 0))}setEventListener(e){var n;ve(this,Jo,e),(n=x(this,xr))==null||n.call(this),ve(this,xr,e(this.setOnline.bind(this)))}setOnline(e){x(this,Yo)!==e&&(ve(this,Yo,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return x(this,Yo)}},Yo=new WeakMap,xr=new WeakMap,Jo=new WeakMap,Qf),ra=new HA;function BA(t){return Math.min(1e3*2**t,3e4)}function kg(t){return(t??"online")==="online"?ra.isOnline():!0}var gl=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Pg(t){let e=!1,n=0,r;const o=DA(),i=()=>o.status!=="pending",s=g=>{var m;if(!i()){const C=new gl(g);h(C),(m=t.onCancel)==null||m.call(t,C)}},a=()=>{e=!0},c=()=>{e=!1},l=()=>_g.isFocused()&&(t.networkMode==="always"||ra.isOnline())&&t.canRun(),u=()=>kg(t.networkMode)&&t.canRun(),d=g=>{i()||(r==null||r(),o.resolve(g))},h=g=>{i()||(r==null||r(),o.reject(g))},f=()=>new Promise(g=>{var m;r=C=>{(i()||l())&&g(C)},(m=t.onPause)==null||m.call(t)}).then(()=>{var g;r=void 0,i()||(g=t.onContinue)==null||g.call(t)}),p=()=>{if(i())return;let g;const m=n===0?t.initialPromise:void 0;try{g=m??t.fn()}catch(C){g=Promise.reject(C)}Promise.resolve(g).then(d).catch(C=>{var B;if(i())return;const T=t.retry??(Og.isServer()?0:3),y=t.retryDelay??BA,w=typeof y=="function"?y(n,C):y,S=T===!0||typeof T=="number"&&nl()?void 0:f()).then(()=>{e?h(C):p()})})};return{promise:o,status:()=>o.status,cancel:s,continue:()=>(r==null||r(),o),cancelRetry:a,continueRetry:c,canStart:u,start:()=>(u()?p():f().then(p),o)}}var io,Yf,Ng=(Yf=class{constructor(){Se(this,io)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),SA(this.gcTime)&&ve(this,io,hl.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Og.isServer()?1/0:5*60*1e3))}clearGcTimeout(){x(this,io)!==void 0&&(hl.clearTimeout(x(this,io)),ve(this,io,void 0))}},io=new WeakMap,Yf);function FA(t){return{onFetch:(e,n)=>{var u,d,h,f,p;const r=e.options,o=(h=(d=(u=e.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:h.direction,i=((f=e.state.data)==null?void 0:f.pages)||[],s=((p=e.state.data)==null?void 0:p.pageParams)||[];let a={pages:[],pageParams:[]},c=0;const l=async()=>{let g=!1;const m=y=>{MA(y,()=>e.signal,()=>g=!0)},C=Rg(e.options,e.fetchOptions),T=async(y,w,S)=>{if(g)return Promise.reject(e.signal.reason);if(w==null&&y.pages.length)return Promise.resolve(y);const N=(()=>{const ee={client:e.client,queryKey:e.queryKey,pageParam:w,direction:S?"backward":"forward",meta:e.options.meta};return m(ee),ee})(),L=await C(N),{maxPages:k}=e.options,F=S?xA:NA;return{pages:F(y.pages,L,k),pageParams:F(y.pageParams,w,k)}};if(o&&i.length){const y=o==="backward",w=y?KA:yh,S={pages:i,pageParams:s},B=w(r,S);a=await T(S,B,y)}else{const y=t??i.length;do{const w=c===0?s[0]??r.initialPageParam:yh(r,a);if(c>0&&w==null)break;a=await T(a,w),c++}while(c{var g,m;return(m=(g=e.options).persister)==null?void 0:m.call(g,l,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n)}:e.fetchFn=l}}}function yh(t,{pages:e,pageParams:n}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,n[r],n):void 0}function KA(t,{pages:e,pageParams:n}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,n[0],n):void 0}var Xo,so,Zo,sn,ao,pt,ts,co,zt,xg,Jn,Jf,$A=(Jf=class extends Ng{constructor(e){super();Se(this,zt);Se(this,Xo);Se(this,so);Se(this,Zo);Se(this,sn);Se(this,ao);Se(this,pt);Se(this,ts);Se(this,co);ve(this,co,!1),ve(this,ts,e.defaultOptions),this.setOptions(e.options),this.observers=[],ve(this,ao,e.client),ve(this,sn,x(this,ao).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,ve(this,so,Ch(this.options)),this.state=e.state??x(this,so),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return x(this,Xo)}get promise(){var e;return(e=x(this,pt))==null?void 0:e.promise}setOptions(e){if(this.options={...x(this,ts),...e},e!=null&&e._type&&ve(this,Xo,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Ch(this.options);n.data!==void 0&&(this.setState(vh(n.data,n.dataUpdatedAt)),ve(this,so,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&x(this,sn).remove(this)}setData(e,n){const r=PA(this.state.data,e,this.options);return Ct(this,zt,Jn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(e){Ct(this,zt,Jn).call(this,{type:"setState",state:e})}cancel(e){var r,o;const n=(r=x(this,pt))==null?void 0:r.promise;return(o=x(this,pt))==null||o.cancel(e),n?n.then(un).catch(un):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return x(this,so)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>RA(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===fu||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>fl(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!IA(this.state.dataUpdatedAt,e)}onFocus(){var n;const e=this.observers.find(r=>r.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(n=x(this,pt))==null||n.continue()}onOnline(){var n;const e=this.observers.find(r=>r.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(n=x(this,pt))==null||n.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),x(this,sn).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(x(this,pt)&&(x(this,co)||Ct(this,zt,xg).call(this)?x(this,pt).cancel({revert:!0}):x(this,pt).cancelRetry()),this.scheduleGc()),x(this,sn).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ct(this,zt,Jn).call(this,{type:"invalidate"})}async fetch(e,n){var l,u,d,h,f,p,g,m,C,T,y;if(this.state.fetchStatus!=="idle"&&((l=x(this,pt))==null?void 0:l.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(x(this,pt))return x(this,pt).continueRetry(),x(this,pt).promise}if(e&&this.setOptions(e),!this.options.queryFn){const w=this.observers.find(S=>S.options.queryFn);w&&this.setOptions(w.options)}const r=new AbortController,o=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(ve(this,co,!0),r.signal)})},i=()=>{const w=Rg(this.options,n),B=(()=>{const N={client:x(this,ao),queryKey:this.queryKey,meta:this.meta};return o(N),N})();return ve(this,co,!1),this.options.persister?this.options.persister(w,B,this):w(B)},a=(()=>{const w={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:x(this,ao),state:this.state,fetchFn:i};return o(w),w})(),c=x(this,Xo)==="infinite"?FA(this.options.pages):this.options.behavior;c==null||c.onFetch(a,this),ve(this,Zo,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=a.fetchOptions)==null?void 0:u.meta))&&Ct(this,zt,Jn).call(this,{type:"fetch",meta:(d=a.fetchOptions)==null?void 0:d.meta}),ve(this,pt,Pg({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:w=>{w instanceof gl&&w.revert&&this.setState({...x(this,Zo),fetchStatus:"idle"}),r.abort()},onFail:(w,S)=>{Ct(this,zt,Jn).call(this,{type:"failed",failureCount:w,error:S})},onPause:()=>{Ct(this,zt,Jn).call(this,{type:"pause"})},onContinue:()=>{Ct(this,zt,Jn).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const w=await x(this,pt).start();if(w===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(w),(f=(h=x(this,sn).config).onSuccess)==null||f.call(h,w,this),(g=(p=x(this,sn).config).onSettled)==null||g.call(p,w,this.state.error,this),w}catch(w){if(w instanceof gl){if(w.silent)return x(this,pt).promise;if(w.revert){if(this.state.data===void 0)throw w;return this.state.data}}throw Ct(this,zt,Jn).call(this,{type:"error",error:w}),(C=(m=x(this,sn).config).onError)==null||C.call(m,w,this),(y=(T=x(this,sn).config).onSettled)==null||y.call(T,this.state.data,w,this),w}finally{this.scheduleGc()}}},Xo=new WeakMap,so=new WeakMap,Zo=new WeakMap,sn=new WeakMap,ao=new WeakMap,pt=new WeakMap,ts=new WeakMap,co=new WeakMap,zt=new WeakSet,xg=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Jn=function(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...qA(r.data,this.options),fetchMeta:e.meta??null};case"success":const o={...r,...vh(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return ve(this,Zo,e.manual?o:void 0),o;case"error":const i=e.error;return{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),Dt.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),x(this,sn).notify({query:this,type:"updated",action:e})})},Jf);function qA(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:kg(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function vh(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ch(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,r=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var ns,On,Et,lo,kn,_r,Xf,jA=(Xf=class extends Ng{constructor(e){super();Se(this,kn);Se(this,ns);Se(this,On);Se(this,Et);Se(this,lo);ve(this,ns,e.client),this.mutationId=e.mutationId,ve(this,Et,e.mutationCache),ve(this,On,[]),this.state=e.state||VA(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){x(this,On).includes(e)||(x(this,On).push(e),this.clearGcTimeout(),x(this,Et).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){ve(this,On,x(this,On).filter(n=>n!==e)),this.scheduleGc(),x(this,Et).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){x(this,On).length||(this.state.status==="pending"?this.scheduleGc():x(this,Et).remove(this))}continue(){var e;return((e=x(this,lo))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var s,a,c,l,u,d,h,f,p,g,m,C,T,y,w,S,B,N;const n=()=>{Ct(this,kn,_r).call(this,{type:"continue"})},r={client:x(this,ns),meta:this.options.meta,mutationKey:this.options.mutationKey};ve(this,lo,Pg({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(L,k)=>{Ct(this,kn,_r).call(this,{type:"failed",failureCount:L,error:k})},onPause:()=>{Ct(this,kn,_r).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>x(this,Et).canRun(this)}));const o=this.state.status==="pending",i=!x(this,lo).canStart();try{if(o)n();else{Ct(this,kn,_r).call(this,{type:"pending",variables:e,isPaused:i}),x(this,Et).config.onMutate&&await x(this,Et).config.onMutate(e,this,r);const k=await((a=(s=this.options).onMutate)==null?void 0:a.call(s,e,r));k!==this.state.context&&Ct(this,kn,_r).call(this,{type:"pending",context:k,variables:e,isPaused:i})}const L=await x(this,lo).start();return await((l=(c=x(this,Et).config).onSuccess)==null?void 0:l.call(c,L,e,this.state.context,this,r)),await((d=(u=this.options).onSuccess)==null?void 0:d.call(u,L,e,this.state.context,r)),await((f=(h=x(this,Et).config).onSettled)==null?void 0:f.call(h,L,null,this.state.variables,this.state.context,this,r)),await((g=(p=this.options).onSettled)==null?void 0:g.call(p,L,null,e,this.state.context,r)),Ct(this,kn,_r).call(this,{type:"success",data:L}),L}catch(L){try{await((C=(m=x(this,Et).config).onError)==null?void 0:C.call(m,L,e,this.state.context,this,r))}catch(k){Promise.reject(k)}try{await((y=(T=this.options).onError)==null?void 0:y.call(T,L,e,this.state.context,r))}catch(k){Promise.reject(k)}try{await((S=(w=x(this,Et).config).onSettled)==null?void 0:S.call(w,void 0,L,this.state.variables,this.state.context,this,r))}catch(k){Promise.reject(k)}try{await((N=(B=this.options).onSettled)==null?void 0:N.call(B,void 0,L,e,this.state.context,r))}catch(k){Promise.reject(k)}throw Ct(this,kn,_r).call(this,{type:"error",error:L}),L}finally{x(this,Et).runNext(this)}}},ns=new WeakMap,On=new WeakMap,Et=new WeakMap,lo=new WeakMap,kn=new WeakSet,_r=function(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Dt.batch(()=>{x(this,On).forEach(r=>{r.onMutationUpdate(e)}),x(this,Et).notify({mutation:this,type:"updated",action:e})})},Xf);function VA(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var nr,dn,rs,Zf,Mg=(Zf=class extends ja{constructor(n={}){super();Se(this,nr);Se(this,dn);Se(this,rs);this.config=n,ve(this,nr,new Set),ve(this,dn,new Map),ve(this,rs,0)}build(n,r,o){const i=new jA({client:n,mutationCache:this,mutationId:++Es(this,rs)._,options:n.defaultMutationOptions(r),state:o});return this.add(i),i}add(n){x(this,nr).add(n);const r=Rs(n);if(typeof r=="string"){const o=x(this,dn).get(r);o?o.push(n):x(this,dn).set(r,[n])}this.notify({type:"added",mutation:n})}remove(n){if(x(this,nr).delete(n)){const r=Rs(n);if(typeof r=="string"){const o=x(this,dn).get(r);if(o)if(o.length>1){const i=o.indexOf(n);i!==-1&&o.splice(i,1)}else o[0]===n&&x(this,dn).delete(r)}}this.notify({type:"removed",mutation:n})}canRun(n){const r=Rs(n);if(typeof r=="string"){const o=x(this,dn).get(r),i=o==null?void 0:o.find(s=>s.state.status==="pending");return!i||i===n}else return!0}runNext(n){var o;const r=Rs(n);if(typeof r=="string"){const i=(o=x(this,dn).get(r))==null?void 0:o.find(s=>s!==n&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Dt.batch(()=>{x(this,nr).forEach(n=>{this.notify({type:"removed",mutation:n})}),x(this,nr).clear(),x(this,dn).clear()})}getAll(){return Array.from(x(this,nr))}find(n){const r={exact:!0,...n};return this.getAll().find(o=>ph(r,o))}findAll(n={}){return this.getAll().filter(r=>ph(n,r))}notify(n){Dt.batch(()=>{this.listeners.forEach(r=>{r(n)})})}resumePausedMutations(){const n=this.getAll().filter(r=>r.state.isPaused);return Dt.batch(()=>Promise.all(n.map(r=>r.continue().catch(un))))}},nr=new WeakMap,dn=new WeakMap,rs=new WeakMap,Zf);function Rs(t){var e;return(e=t.options.scope)==null?void 0:e.id}var Pn,ep,Dg=(ep=class extends ja{constructor(n={}){super();Se(this,Pn);this.config=n,ve(this,Pn,new Map)}build(n,r,o){const i=r.queryKey,s=r.queryHash??hu(i,r);let a=this.get(s);return a||(a=new $A({client:n,queryKey:i,queryHash:s,options:n.defaultQueryOptions(r),state:o,defaultOptions:n.getQueryDefaults(i)}),this.add(a)),a}add(n){x(this,Pn).has(n.queryHash)||(x(this,Pn).set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const r=x(this,Pn).get(n.queryHash);r&&(n.destroy(),r===n&&x(this,Pn).delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){Dt.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return x(this,Pn).get(n)}getAll(){return[...x(this,Pn).values()]}find(n){const r={exact:!0,...n};return this.getAll().find(o=>fh(r,o))}findAll(n={}){const r=this.getAll();return Object.keys(n).length>0?r.filter(o=>fh(n,o)):r}notify(n){Dt.batch(()=>{this.listeners.forEach(r=>{r(n)})})}onFocus(){Dt.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){Dt.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},Pn=new WeakMap,ep),Ze,Mr,Dr,ei,ti,Lr,ni,ri,tp,GA=(tp=class{constructor(e={}){Se(this,Ze);Se(this,Mr);Se(this,Dr);Se(this,ei);Se(this,ti);Se(this,Lr);Se(this,ni);Se(this,ri);ve(this,Ze,e.queryCache||new Dg),ve(this,Mr,e.mutationCache||new Mg),ve(this,Dr,e.defaultOptions||{}),ve(this,ei,new Map),ve(this,ti,new Map),ve(this,Lr,0)}mount(){Es(this,Lr)._++,x(this,Lr)===1&&(ve(this,ni,_g.subscribe(async e=>{e&&(await this.resumePausedMutations(),x(this,Ze).onFocus())})),ve(this,ri,ra.subscribe(async e=>{e&&(await this.resumePausedMutations(),x(this,Ze).onOnline())})))}unmount(){var e,n;Es(this,Lr)._--,x(this,Lr)===0&&((e=x(this,ni))==null||e.call(this),ve(this,ni,void 0),(n=x(this,ri))==null||n.call(this),ve(this,ri,void 0))}isFetching(e){return x(this,Ze).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return x(this,Mr).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const n=this.defaultQueryOptions({queryKey:e});return(r=x(this,Ze).get(n.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=x(this,Ze).build(this,n),o=r.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(fl(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(o))}getQueriesData(e){return x(this,Ze).findAll(e).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(e,n,r){const o=this.defaultQueryOptions({queryKey:e}),i=x(this,Ze).get(o.queryHash),s=i==null?void 0:i.state.data,a=_A(n,s);if(a!==void 0)return x(this,Ze).build(this,o).setData(a,{...r,manual:!0})}setQueriesData(e,n,r){return Dt.batch(()=>x(this,Ze).findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(e){var r;const n=this.defaultQueryOptions({queryKey:e});return(r=x(this,Ze).get(n.queryHash))==null?void 0:r.state}removeQueries(e){const n=x(this,Ze);Dt.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=x(this,Ze);return Dt.batch(()=>(r.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},o=Dt.batch(()=>x(this,Ze).findAll(e).map(i=>i.cancel(r)));return Promise.all(o).then(un).catch(un)}invalidateQueries(e,n={}){return Dt.batch(()=>(x(this,Ze).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},o=Dt.batch(()=>x(this,Ze).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,r);return r.throwOnError||(s=s.catch(un)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(o).then(un)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=x(this,Ze).build(this,n);return r.isStaleByTime(fl(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(un).catch(un)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(un).catch(un)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return ra.isOnline()?x(this,Mr).resumePausedMutations():Promise.resolve()}getQueryCache(){return x(this,Ze)}getMutationCache(){return x(this,Mr)}getDefaultOptions(){return x(this,Dr)}setDefaultOptions(e){ve(this,Dr,e)}setQueryDefaults(e,n){x(this,ei).set(Yi(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...x(this,ei).values()],r={};return n.forEach(o=>{Ji(e,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(e,n){x(this,ti).set(Yi(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...x(this,ti).values()],r={};return n.forEach(o=>{Ji(e,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...x(this,Dr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=hu(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===fu&&(n.enabled=!1),n}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...x(this,Dr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){x(this,Ze).clear(),x(this,Mr).clear()}},Ze=new WeakMap,Mr=new WeakMap,Dr=new WeakMap,ei=new WeakMap,ti=new WeakMap,Lr=new WeakMap,ni=new WeakMap,ri=new WeakMap,tp),zA="VUE_QUERY_CLIENT";function WA(t){const e=t?`:${t}`:"";return`${zA}${e}`}function ml(t,e,n="",r=0){if(e){const o=e(t,n,r);if(o===void 0&&Qe(t)||o!==void 0)return o}if(Array.isArray(t))return t.map((o,i)=>ml(o,e,String(i),r+1));if(typeof t=="object"&&YA(t)){const o=Object.entries(t).map(([i,s])=>[i,ml(s,e,i,r+1)]);return Object.fromEntries(o)}return t}function QA(t,e){return ml(t,e)}function _e(t,e=!1){return QA(t,(n,r,o)=>{if(o===1&&r==="queryKey")return _e(n,!0);if(e&&JA(n))return _e(n(),e);if(Qe(n))return _e(I(n),e)})}function YA(t){if(Object.prototype.toString.call(t)!=="[object Object]")return!1;const e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}function JA(t){return typeof t=="function"}var XA=class extends Dg{find(t){return super.find(_e(t))}findAll(t={}){return super.findAll(_e(t))}},ZA=class extends Mg{find(t){return super.find(_e(t))}findAll(t={}){return super.findAll(_e(t))}},eT=class extends GA{constructor(t={}){const e={defaultOptions:t.defaultOptions,queryCache:t.queryCache||new XA,mutationCache:t.mutationCache||new ZA};super(e),this.isRestoring=J(!1)}isFetching(t={}){return super.isFetching(_e(t))}isMutating(t={}){return super.isMutating(_e(t))}getQueryData(t){return super.getQueryData(_e(t))}ensureQueryData(t){return super.ensureQueryData(_e(t))}getQueriesData(t){return super.getQueriesData(_e(t))}setQueryData(t,e,n={}){return super.setQueryData(_e(t),e,_e(n))}setQueriesData(t,e,n={}){return super.setQueriesData(_e(t),e,_e(n))}getQueryState(t){return super.getQueryState(_e(t))}removeQueries(t={}){return super.removeQueries(_e(t))}resetQueries(t={},e={}){return super.resetQueries(_e(t),_e(e))}cancelQueries(t={},e={}){return super.cancelQueries(_e(t),_e(e))}invalidateQueries(t={},e={}){const n=_e(t),r=_e(e);if(super.invalidateQueries({...n,refetchType:"none"},r),n.refetchType==="none")return Promise.resolve();const o={...n,type:n.refetchType??n.type??"active"};return cn().then(()=>super.refetchQueries(o,r))}refetchQueries(t={},e={}){return super.refetchQueries(_e(t),_e(e))}fetchQuery(t){return super.fetchQuery(_e(t))}prefetchQuery(t){return super.prefetchQuery(_e(t))}fetchInfiniteQuery(t){return super.fetchInfiniteQuery(_e(t))}prefetchInfiniteQuery(t){return super.prefetchInfiniteQuery(_e(t))}setDefaultOptions(t){super.setDefaultOptions(_e(t))}setQueryDefaults(t,e){super.setQueryDefaults(_e(t),_e(e))}getQueryDefaults(t){return super.getQueryDefaults(_e(t))}setMutationDefaults(t,e){super.setMutationDefaults(_e(t),_e(e))}getMutationDefaults(t){return super.getMutationDefaults(_e(t))}},tT={install:(t,e={})=>{const n=WA(e.queryClientKey);let r;if("queryClient"in e&&e.queryClient)r=e.queryClient;else{const s="queryClientConfig"in e?e.queryClientConfig:void 0;r=new eT(s)}Sg||r.mount();let o=()=>{};if(e.clientPersister){r.isRestoring&&(r.isRestoring.value=!0);const[s,a]=e.clientPersister(r);o=s,a.then(()=>{var c;r.isRestoring&&(r.isRestoring.value=!1),(c=e.clientPersisterOnSuccess)==null||c.call(e,r)})}const i=()=>{r.unmount(),o()};if(t.onUnmount)t.onUnmount(i);else{const s=t.unmount;t.unmount=function(){i(),s()}}t.provide(n,r)}},nT=Object.defineProperty,rT=(t,e,n)=>e in t?nT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ot=(t,e,n)=>rT(t,typeof e!="symbol"?e+"":e,n);function oT(t){if(typeof document>"u")return;function e(){let n=document.head||document.getElementsByTagName("head")[0];if(!n)return;let r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}oT(":where([data-sonner-toaster][dir=ltr]),:where(html[dir=ltr]){--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}:where([data-sonner-toaster][dir=rtl]),:where(html[dir=rtl]){--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted=true]){transform:translateY(-10px)}@media (hover:none) and (pointer:coarse){:where([data-sonner-toaster][data-lifted=true]){transform:none}}:where([data-sonner-toaster][data-x-position=right]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position=left]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position=center]){left:50%;transform:translateX(-50%)}:where([data-sonner-toaster][data-y-position=top]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position=bottom]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled=true]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}:where([data-sonner-toast][data-y-position=top]){top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position=bottom]){bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise=true]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme=dark]) :where([data-cancel]){background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}:where([data-sonner-toast]) :where([data-disabled=true]){cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping=true])::before{content:'';position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position=top][data-swiping=true])::before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position=bottom][data-swiping=true])::before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping=false][data-removed=true])::before{content:'';position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast])::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted=true]){--y:translateY(0);opacity:1}:where([data-sonner-toast][data-expanded=false][data-front=false]){--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded=false][data-front=false][data-styled=true])>*{opacity:0}:where([data-sonner-toast][data-visible=false]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted=true][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]){--y:translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]){--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed=true][data-front=false])::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{from{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;--mobile-offset:16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 91%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 91%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 91%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 100%, 12%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 12%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let yl=0;class iT{constructor(){Ot(this,"subscribers"),Ot(this,"toasts"),Ot(this,"subscribe",e=>(this.subscribers.push(e),()=>{const n=this.subscribers.indexOf(e);this.subscribers.splice(n,1)})),Ot(this,"publish",e=>{this.subscribers.forEach(n=>n(e))}),Ot(this,"addToast",e=>{this.publish(e),this.toasts=[...this.toasts,e]}),Ot(this,"create",e=>{var n;const{message:r,...o}=e,i=typeof e.id=="number"||e.id&&((n=e.id)==null?void 0:n.length)>0?e.id:yl++,s=this.toasts.find(c=>c.id===i),a=e.dismissible===void 0?!0:e.dismissible;return s?this.toasts=this.toasts.map(c=>c.id===i?(this.publish({...c,...e,id:i,title:r}),{...c,...e,id:i,dismissible:a,title:r}):c):this.addToast({title:r,...o,dismissible:a,id:i}),i}),Ot(this,"dismiss",e=>(e||this.toasts.forEach(n=>{this.subscribers.forEach(r=>r({id:n.id,dismiss:!0}))}),this.subscribers.forEach(n=>n({id:e,dismiss:!0})),e)),Ot(this,"message",(e,n)=>this.create({...n,message:e,type:"default"})),Ot(this,"error",(e,n)=>this.create({...n,type:"error",message:e})),Ot(this,"success",(e,n)=>this.create({...n,type:"success",message:e})),Ot(this,"info",(e,n)=>this.create({...n,type:"info",message:e})),Ot(this,"warning",(e,n)=>this.create({...n,type:"warning",message:e})),Ot(this,"loading",(e,n)=>this.create({...n,type:"loading",message:e})),Ot(this,"promise",(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const o=e instanceof Promise?e:e();let i=r!==void 0,s;const a=o.then(async l=>{if(s=["resolve",l],aT(l)&&!l.ok){i=!1;const u=typeof n.error=="function"?await n.error(`HTTP error! status: ${l.status}`):n.error,d=typeof n.description=="function"?await n.description(`HTTP error! status: ${l.status}`):n.description;this.create({id:r,type:"error",message:u,description:d})}else if(n.success!==void 0){i=!1;const u=typeof n.success=="function"?await n.success(l):n.success,d=typeof n.description=="function"?await n.description(l):n.description;this.create({id:r,type:"success",message:u,description:d})}}).catch(async l=>{if(s=["reject",l],n.error!==void 0){i=!1;const u=typeof n.error=="function"?await n.error(l):n.error,d=typeof n.description=="function"?await n.description(l):n.description;this.create({id:r,type:"error",message:u,description:d})}}).finally(()=>{var l;i&&(this.dismiss(r),r=void 0),(l=n.finally)==null||l.call(n)}),c=()=>new Promise((l,u)=>a.then(()=>s[0]==="reject"?u(s[1]):l(s[1])).catch(u));return typeof r!="string"&&typeof r!="number"?{unwrap:c}:Object.assign(r,{unwrap:c})}),Ot(this,"custom",(e,n)=>{const r=(n==null?void 0:n.id)||yl++;return this.publish({component:e,id:r,...n}),r}),this.subscribers=[],this.toasts=[]}}const Vt=new iT;function sT(t,e){const n=(e==null?void 0:e.id)||yl++;return Vt.create({message:t,id:n,type:"default",...e}),n}const aT=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",cT=sT,lT=()=>Vt.toasts,VP=Object.assign(cT,{success:Vt.success,info:Vt.info,warning:Vt.warning,error:Vt.error,custom:Vt.custom,message:Vt.message,promise:Vt.promise,dismiss:Vt.dismiss,loading:Vt.loading},{getHistory:lT});function Os(t){return t.label!==void 0}function uT(){const t=J(!1);return yt(()=>{const e=()=>{t.value=document.hidden};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)}),{isDocumentHidden:t}}const dT=["aria-live","data-rich-colors","data-styled","data-mounted","data-promise","data-removed","data-visible","data-y-position","data-x-position","data-index","data-front","data-swiping","data-dismissible","data-type","data-invert","data-swipe-out","data-expanded"],hT=["aria-label","data-disabled"],fT=4e3,pT=20,gT=200,mT=ye({__name:"Toast",props:{toast:{},toasts:{},index:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},pauseWhenPageIsHidden:{type:Boolean},cn:{type:Function},defaultRichColors:{type:Boolean}},emits:["update:heights","removeToast"],setup(t,{emit:e}){const n=t,r=e,o=J(!1),i=J(!1),s=J(!1),a=J(!1),c=J(!1),l=J(0),u=J(0),d=J(n.toast.duration||n.duration||fT),h=J(null),f=J(null),p=Q(()=>n.index===0),g=Q(()=>n.index+1<=n.visibleToasts),m=Q(()=>n.toast.type),C=Q(()=>n.toast.dismissible!==!1),T=Q(()=>n.toast.class||""),y=Q(()=>n.descriptionClass||""),w=n.toast.style||{},S=Q(()=>n.heights.findIndex(O=>O.toastId===n.toast.id)||0),B=Q(()=>n.toast.closeButton??n.closeButton),N=J(0),L=J(0),k=J(null),F=Q(()=>n.position.split("-")),ee=Q(()=>F.value[0]),$=Q(()=>F.value[1]),ie=Q(()=>typeof n.toast.title!="string"),re=Q(()=>typeof n.toast.description!="string"),Re=Q(()=>n.heights.reduce((O,Te,R)=>R>=S.value?O:O+Te.height,0)),ue=uT(),oe=Q(()=>n.toast.invert||n.invert),he=Q(()=>m.value==="loading"),be=Q(()=>S.value*n.gap+Re.value||0);vn(()=>{if(!o.value)return;const O=f.value,Te=O==null?void 0:O.style.height;O.style.height="auto";const R=O.getBoundingClientRect().height;O.style.height=Te,u.value=R;let H;n.heights.find(q=>q.toastId===n.toast.id)?H=n.heights.map(q=>q.toastId===n.toast.id?{...q,height:R}:q):H=[{toastId:n.toast.id,height:R,position:n.toast.position},...n.heights],r("update:heights",H)});function Me(){i.value=!0,l.value=be.value;const O=n.heights.filter(Te=>Te.toastId!==n.toast.id);r("update:heights",O),setTimeout(()=>{r("removeToast",n.toast)},gT)}function tt(){var O,Te;if(he.value||!C.value)return{};Me(),(Te=(O=n.toast).onDismiss)==null||Te.call(O,n.toast)}function st(O){he.value||!C.value||(h.value=new Date,l.value=be.value,O.target.setPointerCapture(O.pointerId),O.target.tagName!=="BUTTON"&&(s.value=!0,k.value={x:O.clientX,y:O.clientY}))}function Ge(){var O,Te,R,H,q;if(a.value||!C)return;k.value=null;const Z=Number(((O=f.value)==null?void 0:O.style.getPropertyValue("--swipe-amount").replace("px",""))||0),Ae=new Date().getTime()-((Te=h.value)==null?void 0:Te.getTime()),v=Math.abs(Z)/Ae;if(Math.abs(Z)>=pT||v>.11){l.value=be.value,(H=(R=n.toast).onDismiss)==null||H.call(R,n.toast),Me(),a.value=!0,c.value=!1;return}(q=f.value)==null||q.style.setProperty("--swipe-amount","0px"),s.value=!1}function vt(O){var Te,R;if(!k.value||!C.value)return;const H=O.clientY-k.value.y,q=((Te=window.getSelection())==null?void 0:Te.toString().length)>0,Z=ee.value==="top"?Math.min(0,H):Math.max(0,H);Math.abs(Z)>0&&(c.value=!0),!q&&((R=f.value)==null||R.style.setProperty("--swipe-amount",`${Z}px`))}return yt(O=>{if(n.toast.promise&&m.value==="loading"||n.toast.duration===1/0||n.toast.type==="loading")return;let Te;const R=()=>{if(L.value{d.value!==1/0&&(N.value=new Date().getTime(),Te=setTimeout(()=>{var q,Z;(Z=(q=n.toast).onAutoClose)==null||Z.call(q,n.toast),Me()},d.value))};n.expanded||n.interacting||n.pauseWhenPageIsHidden&&ue?R():H(),O(()=>{clearTimeout(Te)})}),ut(()=>n.toast.delete,()=>{n.toast.delete&&Me()},{deep:!0}),vn(()=>{if(o.value=!0,f.value){const O=f.value.getBoundingClientRect().height;u.value=O;const Te=[{toastId:n.toast.id,height:O,position:n.toast.position},...n.heights];r("update:heights",Te)}}),Ba(()=>{if(f.value){const O=n.heights.filter(Te=>Te.toastId!==n.toast.id);r("update:heights",O)}}),(O,Te)=>{var R,H,q,Z,Ae,v,A,E,M,U,D,W,z,V,K,de,X,ae,ge,Ie,De,He,Je,it,Kt,$t,Cr;return Y(),Xe("li",{ref_key:"toastRef",ref:f,"aria-live":O.toast.important?"assertive":"polite","aria-atomic":"true",role:"status",tabindex:"0","data-sonner-toast":"true",class:Gt(O.cn(n.class,T.value,(R=O.classes)==null?void 0:R.toast,(H=O.toast.classes)==null?void 0:H.toast,(q=O.classes)==null?void 0:q[m.value],(Ae=(Z=O.toast)==null?void 0:Z.classes)==null?void 0:Ae[m.value])),"data-rich-colors":O.toast.richColors??O.defaultRichColors,"data-styled":!(O.toast.component||(v=O.toast)!=null&&v.unstyled||O.unstyled),"data-mounted":o.value,"data-promise":!!O.toast.promise,"data-removed":i.value,"data-visible":g.value,"data-y-position":ee.value,"data-x-position":$.value,"data-index":O.index,"data-front":p.value,"data-swiping":s.value,"data-dismissible":C.value,"data-type":m.value,"data-invert":oe.value,"data-swipe-out":a.value,"data-expanded":!!(O.expanded||O.expandByDefault&&o.value),style:Fn({"--index":O.index,"--toasts-before":O.index,"--z-index":O.toasts.length-O.index,"--offset":`${i.value?l.value:be.value}px`,"--initial-height":O.expandByDefault?"auto":`${u.value}px`,...O.style,...I(w)}),onPointerdown:st,onPointerup:Ge,onPointermove:vt},[B.value&&!O.toast.component?(Y(),Xe("button",{key:0,"aria-label":O.closeButtonAriaLabel||"Close toast","data-disabled":he.value,"data-close-button":"true",class:Gt(O.cn((A=O.classes)==null?void 0:A.closeButton,(M=(E=O.toast)==null?void 0:E.classes)==null?void 0:M.closeButton)),onClick:tt},[(U=O.icons)!=null&&U.close?(Y(),fe(Zr((D=O.icons)==null?void 0:D.close),{key:0})):le(O.$slots,"close-icon",{key:1})],10,hT)):er("",!0),O.toast.component?(Y(),fe(Zr(O.toast.component),Ke({key:1},O.toast.componentProps,{onCloseToast:tt}),null,16)):(Y(),Xe(nt,{key:2},[m.value!=="default"||O.toast.icon||O.toast.promise?(Y(),Xe("div",{key:0,"data-icon":"",class:Gt(O.cn((W=O.classes)==null?void 0:W.icon,(V=(z=O.toast)==null?void 0:z.classes)==null?void 0:V.icon))},[O.toast.icon?(Y(),fe(Zr(O.toast.icon),{key:0})):(Y(),Xe(nt,{key:1},[m.value==="loading"?le(O.$slots,"loading-icon",{key:0}):m.value==="success"?le(O.$slots,"success-icon",{key:1}):m.value==="error"?le(O.$slots,"error-icon",{key:2}):m.value==="warning"?le(O.$slots,"warning-icon",{key:3}):m.value==="info"?le(O.$slots,"info-icon",{key:4}):er("",!0)],64))],2)):er("",!0),Cn("div",{"data-content":"",class:Gt(O.cn((K=O.classes)==null?void 0:K.content,(X=(de=O.toast)==null?void 0:de.classes)==null?void 0:X.content))},[Cn("div",{"data-title":"",class:Gt(O.cn((ae=O.classes)==null?void 0:ae.title,(ge=O.toast.classes)==null?void 0:ge.title))},[ie.value?(Y(),fe(Zr(O.toast.title),cr(Ke({key:0},O.toast.componentProps)),null,16)):(Y(),Xe(nt,{key:1},[ta(Ho(O.toast.title),1)],64))],2),O.toast.description?(Y(),Xe("div",{key:0,"data-description":"",class:Gt(O.cn(O.descriptionClass,y.value,(Ie=O.classes)==null?void 0:Ie.description,(De=O.toast.classes)==null?void 0:De.description))},[re.value?(Y(),fe(Zr(O.toast.description),cr(Ke({key:0},O.toast.componentProps)),null,16)):(Y(),Xe(nt,{key:1},[ta(Ho(O.toast.description),1)],64))],2)):er("",!0)],2),O.toast.cancel?(Y(),Xe("button",{key:1,style:Fn(O.toast.cancelButtonStyle||O.cancelButtonStyle),class:Gt(O.cn((He=O.classes)==null?void 0:He.cancelButton,(Je=O.toast.classes)==null?void 0:Je.cancelButton)),"data-button":"","data-cancel":"",onClick:Te[0]||(Te[0]=wr=>{var at,Tt;I(Os)(O.toast.cancel)&&C.value&&((Tt=(at=O.toast.cancel).onClick)==null||Tt.call(at,wr),Me())})},Ho(I(Os)(O.toast.cancel)?(it=O.toast.cancel)==null?void 0:it.label:O.toast.cancel),7)):er("",!0),O.toast.action?(Y(),Xe("button",{key:2,style:Fn(O.toast.actionButtonStyle||O.actionButtonStyle),class:Gt(O.cn((Kt=O.classes)==null?void 0:Kt.actionButton,($t=O.toast.classes)==null?void 0:$t.actionButton)),"data-button":"","data-action":"",onClick:Te[1]||(Te[1]=wr=>{var at,Tt;I(Os)(O.toast.action)&&(wr.defaultPrevented||((Tt=(at=O.toast.action).onClick)==null||Tt.call(at,wr),!wr.defaultPrevented&&Me()))})},Ho(I(Os)(O.toast.action)?(Cr=O.toast.action)==null?void 0:Cr.label:O.toast.action),7)):er("",!0)],64))],46,dT)}}}),cs=(t,e)=>{const n=t.__vccOpts||t;for(const[r,o]of e)n[r]=o;return n},yT={},vT={xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stoke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function CT(t,e){return Y(),Xe("svg",vT,e[0]||(e[0]=[Cn("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Cn("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)]))}const wT=cs(yT,[["render",CT]]),AT=["data-visible"],TT={class:"sonner-spinner"},ET=ye({__name:"Loader",props:{visible:{type:Boolean}},setup(t){const e=Array(12).fill(0);return(n,r)=>(Y(),Xe("div",{class:"sonner-loading-wrapper","data-visible":n.visible},[Cn("div",TT,[(Y(!0),Xe(nt,null,nl(I(e),o=>(Y(),Xe("div",{key:`spinner-bar-${o}`,class:"sonner-loading-bar"}))),128))])],8,AT))}}),bT={},_T={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function ST(t,e){return Y(),Xe("svg",_T,e[0]||(e[0]=[Cn("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"},null,-1)]))}const IT=cs(bT,[["render",ST]]),RT={},OT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function kT(t,e){return Y(),Xe("svg",OT,e[0]||(e[0]=[Cn("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z","clip-rule":"evenodd"},null,-1)]))}const PT=cs(RT,[["render",kT]]),NT={},xT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"};function MT(t,e){return Y(),Xe("svg",xT,e[0]||(e[0]=[Cn("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z","clip-rule":"evenodd"},null,-1)]))}const DT=cs(NT,[["render",MT]]),LT={},UT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function HT(t,e){return Y(),Xe("svg",UT,e[0]||(e[0]=[Cn("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"},null,-1)]))}const BT=cs(LT,[["render",HT]]),FT=["aria-label"],KT=["dir","data-theme","data-rich-colors","data-y-position","data-x-position","data-lifted"],$T=3,wh="32px",qT=356,jT=14,VT=typeof window<"u"&&typeof document<"u";function GT(...t){return t.filter(Boolean).join(" ")}const zT=ye({name:"Toaster",inheritAttrs:!1,__name:"Toaster",props:{invert:{type:Boolean,default:!1},theme:{default:"light"},position:{default:"bottom-right"},hotkey:{default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:jT},visibleToasts:{default:$T},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{default:()=>({})},offset:{default:wh},dir:{default:"auto"},icons:{},containerAriaLabel:{default:"Notifications"},pauseWhenPageIsHidden:{type:Boolean,default:!1},cn:{type:Function,default:GT}},setup(t){const e=t;function n(){if(typeof window>"u"||typeof document>"u")return"ltr";const y=document.documentElement.getAttribute("dir");return y==="auto"||!y?window.getComputedStyle(document.documentElement).direction:y}const r=QC(),o=J([]),i=Q(()=>(y,w)=>o.value.filter(S=>!S.position&&w===0||S.position===y)),s=Q(()=>{const y=o.value.filter(w=>w.position).map(w=>w.position);return y.length>0?Array.from(new Set([e.position].concat(y))):[e.position]}),a=J([]),c=J(!1),l=J(!1),u=J(e.theme!=="system"?e.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),d=J(null),h=J(null),f=J(!1),p=e.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function g(y){var w;(w=o.value.find(S=>S.id===y.id))!=null&&w.delete||Vt.dismiss(y.id),o.value=o.value.filter(({id:S})=>S!==y.id)}function m(y){var w,S;f.value&&!((S=(w=y.currentTarget)==null?void 0:w.contains)!=null&&S.call(w,y.relatedTarget))&&(f.value=!1,h.value&&(h.value.focus({preventScroll:!0}),h.value=null))}function C(y){y.target instanceof HTMLElement&&y.target.dataset.dismissible==="false"||f.value||(f.value=!0,h.value=y.relatedTarget)}function T(y){y.target&&y.target instanceof HTMLElement&&y.target.dataset.dismissible==="false"||(l.value=!0)}return yt(y=>{const w=Vt.subscribe(S=>{if(S.dismiss){o.value=o.value.map(B=>B.id===S.id?{...B,delete:!0}:B);return}cn(()=>{const B=o.value.findIndex(N=>N.id===S.id);B!==-1?o.value=[...o.value.slice(0,B),{...o.value[B],...S},...o.value.slice(B+1)]:o.value=[S,...o.value]})});y(w)}),ut(()=>e.theme,y=>{if(y!=="system"){u.value=y;return}if(y==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?u.value="dark":u.value="light"),typeof window>"u")return;const w=window.matchMedia("(prefers-color-scheme: dark)");try{w.addEventListener("change",({matches:S})=>{S?u.value="dark":u.value="light"})}catch{w.addListener(({matches:S})=>{try{S?u.value="dark":u.value="light"}catch(B){console.error(B)}})}}),yt(()=>{d.value&&h.value&&(h.value.focus({preventScroll:!0}),h.value=null,f.value=!1)}),yt(()=>{o.value.length<=1&&(c.value=!1)}),yt(y=>{function w(S){const B=e.hotkey.every(k=>S[k]||S.code===k),N=Array.isArray(d.value)?d.value[0]:d.value;B&&(c.value=!0,N==null||N.focus());const L=document.activeElement===d.value||(N==null?void 0:N.contains(document.activeElement));S.code==="Escape"&&L&&(c.value=!1)}VT&&(document.addEventListener("keydown",w),y(()=>{document.removeEventListener("keydown",w)}))}),(y,w)=>(Y(),Xe("section",{"aria-label":`${y.containerAriaLabel} ${I(p)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(Y(!0),Xe(nt,null,nl(s.value,(S,B)=>{var N;return Y(),Xe("ol",Ke({key:S,ref_for:!0,ref_key:"listRef",ref:d,"data-sonner-toaster":"",class:e.class,dir:y.dir==="auto"?n():y.dir,tabIndex:-1,"data-theme":y.theme,"data-rich-colors":y.richColors,"data-y-position":S.split("-")[0],"data-x-position":S.split("-")[1],"data-lifted":c.value&&o.value.length>1&&!y.expand,style:{"--front-toast-height":`${(N=a.value[0])==null?void 0:N.height}px`,"--offset":typeof y.offset=="number"?`${y.offset}px`:y.offset||wh,"--width":`${qT}px`,"--gap":`${y.gap}px`,...y.style,...I(r).style}},y.$attrs,{onBlur:m,onFocus:C,onMouseenter:w[1]||(w[1]=()=>c.value=!0),onMousemove:w[2]||(w[2]=()=>c.value=!0),onMouseleave:w[3]||(w[3]=()=>{l.value||(c.value=!1)}),onPointerdown:T,onPointerup:w[4]||(w[4]=()=>l.value=!1)}),[(Y(!0),Xe(nt,null,nl(i.value(S,B),(L,k)=>{var F,ee,$,ie,re,Re,ue,oe,he;return Y(),fe(mT,{key:L.id,heights:a.value.filter(be=>be.position===L.position),icons:y.icons,index:k,toast:L,defaultRichColors:y.richColors,duration:((F=y.toastOptions)==null?void 0:F.duration)??y.duration,class:Gt(((ee=y.toastOptions)==null?void 0:ee.class)??""),descriptionClass:($=y.toastOptions)==null?void 0:$.descriptionClass,invert:y.invert,visibleToasts:y.visibleToasts,closeButton:((ie=y.toastOptions)==null?void 0:ie.closeButton)??y.closeButton,interacting:l.value,position:S,style:Fn((re=y.toastOptions)==null?void 0:re.style),unstyled:(Re=y.toastOptions)==null?void 0:Re.unstyled,classes:(ue=y.toastOptions)==null?void 0:ue.classes,cancelButtonStyle:(oe=y.toastOptions)==null?void 0:oe.cancelButtonStyle,actionButtonStyle:(he=y.toastOptions)==null?void 0:he.actionButtonStyle,toasts:o.value.filter(be=>be.position===L.position),expandByDefault:y.expand,gap:y.gap,expanded:c.value,pauseWhenPageIsHidden:y.pauseWhenPageIsHidden,cn:y.cn,"onUpdate:heights":w[0]||(w[0]=be=>{a.value=be}),onRemoveToast:g},{"close-icon":se(()=>[le(y.$slots,"close-icon",{},()=>[Pe(wT)])]),"loading-icon":se(()=>[le(y.$slots,"loading-icon",{},()=>[Pe(ET,{visible:L.type==="loading"},null,8,["visible"])])]),"success-icon":se(()=>[le(y.$slots,"success-icon",{},()=>[Pe(IT)])]),"error-icon":se(()=>[le(y.$slots,"error-icon",{},()=>[Pe(BT)])]),"warning-icon":se(()=>[le(y.$slots,"warning-icon",{},()=>[Pe(DT)])]),"info-icon":se(()=>[le(y.$slots,"info-icon",{},()=>[Pe(PT)])]),_:2},1032,["heights","icons","index","toast","defaultRichColors","duration","class","descriptionClass","invert","visibleToasts","closeButton","interacting","position","style","unstyled","classes","cancelButtonStyle","actionButtonStyle","toasts","expandByDefault","gap","expanded","pauseWhenPageIsHidden","cn"])}),128))],16,KT)}),128))],8,FT))}}),WT=["top","right","bottom","left"],Br=Math.min,Wt=Math.max,oa=Math.round,ks=Math.floor,Kn=t=>({x:t,y:t}),QT={left:"right",right:"left",bottom:"top",top:"bottom"};function vl(t,e,n){return Wt(t,Br(e,n))}function fr(t,e){return typeof t=="function"?t(e):t}function pr(t){return t.split("-")[0]}function pi(t){return t.split("-")[1]}function pu(t){return t==="x"?"y":"x"}function gu(t){return t==="y"?"height":"width"}function Un(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function mu(t){return pu(Un(t))}function YT(t,e,n){n===void 0&&(n=!1);const r=pi(t),o=mu(t),i=gu(o);let s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[i]>e.floating[i]&&(s=ia(s)),[s,ia(s)]}function JT(t){const e=ia(t);return[Cl(t),e,Cl(e)]}function Cl(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Ah=["left","right"],Th=["right","left"],XT=["top","bottom"],ZT=["bottom","top"];function eE(t,e,n){switch(t){case"top":case"bottom":return n?e?Th:Ah:e?Ah:Th;case"left":case"right":return e?XT:ZT;default:return[]}}function tE(t,e,n,r){const o=pi(t);let i=eE(pr(t),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),e&&(i=i.concat(i.map(Cl)))),i}function ia(t){const e=pr(t);return QT[e]+t.slice(e.length)}function nE(t){return{top:0,right:0,bottom:0,left:0,...t}}function Lg(t){return typeof t!="number"?nE(t):{top:t,right:t,bottom:t,left:t}}function sa(t){const{x:e,y:n,width:r,height:o}=t;return{width:r,height:o,top:n,left:e,right:e+r,bottom:n+o,x:e,y:n}}function Eh(t,e,n){let{reference:r,floating:o}=t;const i=Un(e),s=mu(e),a=gu(s),c=pr(e),l=i==="y",u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,h=r[a]/2-o[a]/2;let f;switch(c){case"top":f={x:u,y:r.y-o.height};break;case"bottom":f={x:u,y:r.y+r.height};break;case"right":f={x:r.x+r.width,y:d};break;case"left":f={x:r.x-o.width,y:d};break;default:f={x:r.x,y:r.y}}switch(pi(e)){case"start":f[s]-=h*(n&&l?-1:1);break;case"end":f[s]+=h*(n&&l?-1:1);break}return f}async function rE(t,e){var n;e===void 0&&(e={});const{x:r,y:o,platform:i,rects:s,elements:a,strategy:c}=t,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:f=0}=fr(e,t),p=Lg(f),m=a[h?d==="floating"?"reference":"floating":d],C=sa(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(m)))==null||n?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(a.floating)),boundary:l,rootBoundary:u,strategy:c})),T=d==="floating"?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,y=await(i.getOffsetParent==null?void 0:i.getOffsetParent(a.floating)),w=await(i.isElement==null?void 0:i.isElement(y))?await(i.getScale==null?void 0:i.getScale(y))||{x:1,y:1}:{x:1,y:1},S=sa(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:T,offsetParent:y,strategy:c}):T);return{top:(C.top-S.top+p.top)/w.y,bottom:(S.bottom-C.bottom+p.bottom)/w.y,left:(C.left-S.left+p.left)/w.x,right:(S.right-C.right+p.right)/w.x}}const oE=50,iE=async(t,e,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,a=s.detectOverflow?s:{...s,detectOverflow:rE},c=await(s.isRTL==null?void 0:s.isRTL(e));let l=await s.getElementRects({reference:t,floating:e,strategy:o}),{x:u,y:d}=Eh(l,r,c),h=r,f=0;const p={};for(let g=0;g({name:"arrow",options:t,async fn(e){const{x:n,y:r,placement:o,rects:i,platform:s,elements:a,middlewareData:c}=e,{element:l,padding:u=0}=fr(t,e)||{};if(l==null)return{};const d=Lg(u),h={x:n,y:r},f=mu(o),p=gu(f),g=await s.getDimensions(l),m=f==="y",C=m?"top":"left",T=m?"bottom":"right",y=m?"clientHeight":"clientWidth",w=i.reference[p]+i.reference[f]-h[f]-i.floating[p],S=h[f]-i.reference[f],B=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l));let N=B?B[y]:0;(!N||!await(s.isElement==null?void 0:s.isElement(B)))&&(N=a.floating[y]||i.floating[p]);const L=w/2-S/2,k=N/2-g[p]/2-1,F=Br(d[C],k),ee=Br(d[T],k),$=F,ie=N-g[p]-ee,re=N/2-g[p]/2+L,Re=vl($,re,ie),ue=!c.arrow&&pi(o)!=null&&re!==Re&&i.reference[p]/2-(re<$?F:ee)-g[p]/2<0,oe=ue?re<$?re-$:re-ie:0;return{[f]:h[f]+oe,data:{[f]:Re,centerOffset:re-Re-oe,...ue&&{alignmentOffset:oe}},reset:ue}}}),aE=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;const{placement:o,middlewareData:i,rects:s,initialPlacement:a,platform:c,elements:l}=e,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...m}=fr(t,e);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const C=pr(o),T=Un(a),y=pr(a)===a,w=await(c.isRTL==null?void 0:c.isRTL(l.floating)),S=h||(y||!g?[ia(a)]:JT(a)),B=p!=="none";!h&&B&&S.push(...tE(a,g,p,w));const N=[a,...S],L=await c.detectOverflow(e,m),k=[];let F=((r=i.flip)==null?void 0:r.overflows)||[];if(u&&k.push(L[C]),d){const re=YT(o,s,w);k.push(L[re[0]],L[re[1]])}if(F=[...F,{placement:o,overflows:k}],!k.every(re=>re<=0)){var ee,$;const re=(((ee=i.flip)==null?void 0:ee.index)||0)+1,Re=N[re];if(Re&&(!(d==="alignment"?T!==Un(Re):!1)||F.every(he=>Un(he.placement)===T?he.overflows[0]>0:!0)))return{data:{index:re,overflows:F},reset:{placement:Re}};let ue=($=F.filter(oe=>oe.overflows[0]<=0).sort((oe,he)=>oe.overflows[1]-he.overflows[1])[0])==null?void 0:$.placement;if(!ue)switch(f){case"bestFit":{var ie;const oe=(ie=F.filter(he=>{if(B){const be=Un(he.placement);return be===T||be==="y"}return!0}).map(he=>[he.placement,he.overflows.filter(be=>be>0).reduce((be,Me)=>be+Me,0)]).sort((he,be)=>he[1]-be[1])[0])==null?void 0:ie[0];oe&&(ue=oe);break}case"initialPlacement":ue=a;break}if(o!==ue)return{reset:{placement:ue}}}return{}}}};function bh(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function _h(t){return WT.some(e=>t[e]>=0)}const cE=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n,platform:r}=e,{strategy:o="referenceHidden",...i}=fr(t,e);switch(o){case"referenceHidden":{const s=await r.detectOverflow(e,{...i,elementContext:"reference"}),a=bh(s,n.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:_h(a)}}}case"escaped":{const s=await r.detectOverflow(e,{...i,altBoundary:!0}),a=bh(s,n.floating);return{data:{escapedOffsets:a,escaped:_h(a)}}}default:return{}}}}},Ug=new Set(["left","top"]);async function lE(t,e){const{placement:n,platform:r,elements:o}=t,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=pr(n),a=pi(n),c=Un(n)==="y",l=Ug.has(s)?-1:1,u=i&&c?-1:1,d=fr(e,t);let{mainAxis:h,crossAxis:f,alignmentAxis:p}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&typeof p=="number"&&(f=a==="end"?p*-1:p),c?{x:f*u,y:h*l}:{x:h*l,y:f*u}}const uE=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;const{x:o,y:i,placement:s,middlewareData:a}=e,c=await lE(e,t);return s===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:o+c.x,y:i+c.y,data:{...c,placement:s}}}}},dE=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:r,placement:o,platform:i}=e,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:C=>{let{x:T,y}=C;return{x:T,y}}},...l}=fr(t,e),u={x:n,y:r},d=await i.detectOverflow(e,l),h=Un(pr(o)),f=pu(h);let p=u[f],g=u[h];if(s){const C=f==="y"?"top":"left",T=f==="y"?"bottom":"right",y=p+d[C],w=p-d[T];p=vl(y,p,w)}if(a){const C=h==="y"?"top":"left",T=h==="y"?"bottom":"right",y=g+d[C],w=g-d[T];g=vl(y,g,w)}const m=c.fn({...e,[f]:p,[h]:g});return{...m,data:{x:m.x-n,y:m.y-r,enabled:{[f]:s,[h]:a}}}}}},hE=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:r,placement:o,rects:i,middlewareData:s}=e,{offset:a=0,mainAxis:c=!0,crossAxis:l=!0}=fr(t,e),u={x:n,y:r},d=Un(o),h=pu(d);let f=u[h],p=u[d];const g=fr(a,e),m=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const y=h==="y"?"height":"width",w=i.reference[h]-i.floating[y]+m.mainAxis,S=i.reference[h]+i.reference[y]-m.mainAxis;fS&&(f=S)}if(l){var C,T;const y=h==="y"?"width":"height",w=Ug.has(pr(o)),S=i.reference[d]-i.floating[y]+(w&&((C=s.offset)==null?void 0:C[d])||0)+(w?0:m.crossAxis),B=i.reference[d]+i.reference[y]+(w?0:((T=s.offset)==null?void 0:T[d])||0)-(w?m.crossAxis:0);pB&&(p=B)}return{[h]:f,[d]:p}}}},fE=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,r;const{placement:o,rects:i,platform:s,elements:a}=e,{apply:c=()=>{},...l}=fr(t,e),u=await s.detectOverflow(e,l),d=pr(o),h=pi(o),f=Un(o)==="y",{width:p,height:g}=i.floating;let m,C;d==="top"||d==="bottom"?(m=d,C=h===(await(s.isRTL==null?void 0:s.isRTL(a.floating))?"start":"end")?"left":"right"):(C=d,m=h==="end"?"top":"bottom");const T=g-u.top-u.bottom,y=p-u.left-u.right,w=Br(g-u[m],T),S=Br(p-u[C],y),B=!e.middlewareData.shift;let N=w,L=S;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(L=y),(r=e.middlewareData.shift)!=null&&r.enabled.y&&(N=T),B&&!h){const F=Wt(u.left,0),ee=Wt(u.right,0),$=Wt(u.top,0),ie=Wt(u.bottom,0);f?L=p-2*(F!==0||ee!==0?F+ee:Wt(u.left,u.right)):N=g-2*($!==0||ie!==0?$+ie:Wt(u.top,u.bottom))}await c({...e,availableWidth:L,availableHeight:N});const k=await s.getDimensions(a.floating);return p!==k.width||g!==k.height?{reset:{rects:!0}}:{}}}};function Va(){return typeof window<"u"}function Eo(t){return yu(t)?(t.nodeName||"").toLowerCase():"#document"}function en(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Vn(t){var e;return(e=(yu(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function yu(t){return Va()?t instanceof Node||t instanceof en(t).Node:!1}function wn(t){return Va()?t instanceof Element||t instanceof en(t).Element:!1}function mr(t){return Va()?t instanceof HTMLElement||t instanceof en(t).HTMLElement:!1}function Sh(t){return!Va()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof en(t).ShadowRoot}function ls(t){const{overflow:e,overflowX:n,overflowY:r,display:o}=An(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&o!=="inline"&&o!=="contents"}function pE(t){return/^(table|td|th)$/.test(Eo(t))}function Ga(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const gE=/transform|translate|scale|rotate|perspective|filter/,mE=/paint|layout|strict|content/,Yr=t=>!!t&&t!=="none";let kc;function vu(t){const e=wn(t)?An(t):t;return Yr(e.transform)||Yr(e.translate)||Yr(e.scale)||Yr(e.rotate)||Yr(e.perspective)||!Cu()&&(Yr(e.backdropFilter)||Yr(e.filter))||gE.test(e.willChange||"")||mE.test(e.contain||"")}function yE(t){let e=Fr(t);for(;mr(e)&&!ii(e);){if(vu(e))return e;if(Ga(e))return null;e=Fr(e)}return null}function Cu(){return kc==null&&(kc=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),kc}function ii(t){return/^(html|body|#document)$/.test(Eo(t))}function An(t){return en(t).getComputedStyle(t)}function za(t){return wn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Fr(t){if(Eo(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Sh(t)&&t.host||Vn(t);return Sh(e)?e.host:e}function Hg(t){const e=Fr(t);return ii(e)?t.ownerDocument?t.ownerDocument.body:t.body:mr(e)&&ls(e)?e:Hg(e)}function Xi(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);const o=Hg(t),i=o===((r=t.ownerDocument)==null?void 0:r.body),s=en(o);if(i){const a=wl(s);return e.concat(s,s.visualViewport||[],ls(o)?o:[],a&&n?Xi(a):[])}else return e.concat(o,Xi(o,[],n))}function wl(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Bg(t){const e=An(t);let n=parseFloat(e.width)||0,r=parseFloat(e.height)||0;const o=mr(t),i=o?t.offsetWidth:n,s=o?t.offsetHeight:r,a=oa(n)!==i||oa(r)!==s;return a&&(n=i,r=s),{width:n,height:r,$:a}}function wu(t){return wn(t)?t:t.contextElement}function Go(t){const e=wu(t);if(!mr(e))return Kn(1);const n=e.getBoundingClientRect(),{width:r,height:o,$:i}=Bg(e);let s=(i?oa(n.width):n.width)/r,a=(i?oa(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}const vE=Kn(0);function Fg(t){const e=en(t);return!Cu()||!e.visualViewport?vE:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function CE(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==en(t)?!1:e}function mo(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);const o=t.getBoundingClientRect(),i=wu(t);let s=Kn(1);e&&(r?wn(r)&&(s=Go(r)):s=Go(t));const a=CE(i,n,r)?Fg(i):Kn(0);let c=(o.left+a.x)/s.x,l=(o.top+a.y)/s.y,u=o.width/s.x,d=o.height/s.y;if(i){const h=en(i),f=r&&wn(r)?en(r):r;let p=h,g=wl(p);for(;g&&r&&f!==p;){const m=Go(g),C=g.getBoundingClientRect(),T=An(g),y=C.left+(g.clientLeft+parseFloat(T.paddingLeft))*m.x,w=C.top+(g.clientTop+parseFloat(T.paddingTop))*m.y;c*=m.x,l*=m.y,u*=m.x,d*=m.y,c+=y,l+=w,p=en(g),g=wl(p)}}return sa({width:u,height:d,x:c,y:l})}function Wa(t,e){const n=za(t).scrollLeft;return e?e.left+n:mo(Vn(t)).left+n}function Kg(t,e){const n=t.getBoundingClientRect(),r=n.left+e.scrollLeft-Wa(t,n),o=n.top+e.scrollTop;return{x:r,y:o}}function wE(t){let{elements:e,rect:n,offsetParent:r,strategy:o}=t;const i=o==="fixed",s=Vn(r),a=e?Ga(e.floating):!1;if(r===s||a&&i)return n;let c={scrollLeft:0,scrollTop:0},l=Kn(1);const u=Kn(0),d=mr(r);if((d||!d&&!i)&&((Eo(r)!=="body"||ls(s))&&(c=za(r)),d)){const f=mo(r);l=Go(r),u.x=f.x+r.clientLeft,u.y=f.y+r.clientTop}const h=s&&!d&&!i?Kg(s,c):Kn(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+h.x,y:n.y*l.y-c.scrollTop*l.y+u.y+h.y}}function AE(t){return Array.from(t.getClientRects())}function TE(t){const e=Vn(t),n=za(t),r=t.ownerDocument.body,o=Wt(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),i=Wt(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+Wa(t);const a=-n.scrollTop;return An(r).direction==="rtl"&&(s+=Wt(e.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:a}}const Ih=25;function EE(t,e){const n=en(t),r=Vn(t),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,a=0,c=0;if(o){i=o.width,s=o.height;const u=Cu();(!u||u&&e==="fixed")&&(a=o.offsetLeft,c=o.offsetTop)}const l=Wa(r);if(l<=0){const u=r.ownerDocument,d=u.body,h=getComputedStyle(d),f=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,p=Math.abs(r.clientWidth-d.clientWidth-f);p<=Ih&&(i-=p)}else l<=Ih&&(i+=l);return{width:i,height:s,x:a,y:c}}function bE(t,e){const n=mo(t,!0,e==="fixed"),r=n.top+t.clientTop,o=n.left+t.clientLeft,i=mr(t)?Go(t):Kn(1),s=t.clientWidth*i.x,a=t.clientHeight*i.y,c=o*i.x,l=r*i.y;return{width:s,height:a,x:c,y:l}}function Rh(t,e,n){let r;if(e==="viewport")r=EE(t,n);else if(e==="document")r=TE(Vn(t));else if(wn(e))r=bE(e,n);else{const o=Fg(t);r={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return sa(r)}function $g(t,e){const n=Fr(t);return n===e||!wn(n)||ii(n)?!1:An(n).position==="fixed"||$g(n,e)}function _E(t,e){const n=e.get(t);if(n)return n;let r=Xi(t,[],!1).filter(a=>wn(a)&&Eo(a)!=="body"),o=null;const i=An(t).position==="fixed";let s=i?Fr(t):t;for(;wn(s)&&!ii(s);){const a=An(s),c=vu(s);!c&&a.position==="fixed"&&(o=null),(i?!c&&!o:!c&&a.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||ls(s)&&!c&&$g(t,s))?r=r.filter(u=>u!==s):o=a,s=Fr(s)}return e.set(t,r),r}function SE(t){let{element:e,boundary:n,rootBoundary:r,strategy:o}=t;const s=[...n==="clippingAncestors"?Ga(e)?[]:_E(e,this._c):[].concat(n),r],a=Rh(e,s[0],o);let c=a.top,l=a.right,u=a.bottom,d=a.left;for(let h=1;h{s(!1,1e-7)},1e3)}N===1&&!jg(l,t.getBoundingClientRect())&&s(),w=!1}try{n=new IntersectionObserver(S,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,y)}n.observe(t)}return s(!0),i}function xE(t,e,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,l=wu(t),u=o||i?[...l?Xi(l):[],...e?Xi(e):[]]:[];u.forEach(C=>{o&&C.addEventListener("scroll",n,{passive:!0}),i&&C.addEventListener("resize",n)});const d=l&&a?NE(l,n):null;let h=-1,f=null;s&&(f=new ResizeObserver(C=>{let[T]=C;T&&T.target===l&&f&&e&&(f.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var y;(y=f)==null||y.observe(e)})),n()}),l&&!c&&f.observe(l),e&&f.observe(e));let p,g=c?mo(t):null;c&&m();function m(){const C=mo(t);g&&!jg(g,C)&&n(),g=C,p=requestAnimationFrame(m)}return n(),()=>{var C;u.forEach(T=>{o&&T.removeEventListener("scroll",n),i&&T.removeEventListener("resize",n)}),d==null||d(),(C=f)==null||C.disconnect(),f=null,c&&cancelAnimationFrame(p)}}const ME=uE,DE=dE,kh=aE,LE=fE,UE=cE,HE=sE,BE=hE,FE=(t,e,n)=>{const r=new Map,o={platform:PE,...n},i={...o.platform,_c:r};return iE(t,e,{...o,platform:i})};function KE(t){return t!=null&&typeof t=="object"&&"$el"in t}function Al(t){if(KE(t)){const e=t.$el;return yu(e)&&Eo(e)==="#comment"?null:e}return t}function xo(t){return typeof t=="function"?t():I(t)}function $E(t){return{name:"arrow",options:t,fn(e){const n=Al(xo(t.element));return n==null?{}:HE({element:n,padding:t.padding}).fn(e)}}}function Vg(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Ph(t,e){const n=Vg(t);return Math.round(e*n)/n}function qE(t,e,n){n===void 0&&(n={});const r=n.whileElementsMounted,o=Q(()=>{var N;return(N=xo(n.open))!=null?N:!0}),i=Q(()=>xo(n.middleware)),s=Q(()=>{var N;return(N=xo(n.placement))!=null?N:"bottom"}),a=Q(()=>{var N;return(N=xo(n.strategy))!=null?N:"absolute"}),c=Q(()=>{var N;return(N=xo(n.transform))!=null?N:!0}),l=Q(()=>Al(t.value)),u=Q(()=>Al(e.value)),d=J(0),h=J(0),f=J(a.value),p=J(s.value),g=iu({}),m=J(!1),C=Q(()=>{const N={position:f.value,left:"0",top:"0"};if(!u.value)return N;const L=Ph(u.value,d.value),k=Ph(u.value,h.value);return c.value?{...N,transform:"translate("+L+"px, "+k+"px)",...Vg(u.value)>=1.5&&{willChange:"transform"}}:{position:f.value,left:L+"px",top:k+"px"}});let T;function y(){if(l.value==null||u.value==null)return;const N=o.value;FE(l.value,u.value,{middleware:i.value,placement:s.value,strategy:a.value}).then(L=>{d.value=L.x,h.value=L.y,f.value=L.strategy,p.value=L.placement,g.value=L.middlewareData,m.value=N!==!1})}function w(){typeof T=="function"&&(T(),T=void 0)}function S(){if(w(),r===void 0){y();return}if(l.value!=null&&u.value!=null){T=r(l.value,u.value,y);return}}function B(){o.value||(m.value=!1)}return ut([i,s,a,o],y,{flush:"sync"}),ut([l,u],S,{flush:"sync"}),ut(o,B,{flush:"sync"}),Oa()&&eu(w),{x:Io(d),y:Io(h),strategy:Io(f),placement:Io(p),middlewareData:Io(g),isPositioned:Io(m),floatingStyles:C,update:y}}function Vr(t,e){const n=typeof t=="string"&&!e?`${t}Context`:e,r=Symbol(n);return[o=>{const i=Zt(r,o);if(i||i===null)return i;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},o=>(Pi(r,o),o)]}function Gg(t,e,n){const r=n.originalEvent.target,o=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),r.dispatchEvent(o)}function jE(t,e){var n;const r=iu();return yt(()=>{r.value=t()},{...e,flush:(n=void 0)!=null?n:"sync"}),$i(r)}function us(t){return Oa()?(eu(t),!0):!1}function VE(){const t=new Set,e=n=>{t.delete(n)};return{on:n=>{t.add(n);const r=()=>e(n);return us(r),{off:r}},off:e,trigger:(...n)=>Promise.all(Array.from(t).map(r=>r(...n)))}}function GE(t){let e=!1,n;const r=Ra(!0);return(...o)=>(e||(n=r.run(()=>t(...o)),e=!0),n)}function zE(t){let e=0,n,r;const o=()=>{e-=1,r&&e<=0&&(r.stop(),n=void 0,r=void 0)};return(...i)=>(e+=1,n||(r=Ra(!0),n=r.run(()=>t(...i))),us(o),n)}function po(t){return typeof t=="function"?t():I(t)}const yr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const WE=t=>typeof t<"u",QE=Object.prototype.toString,YE=t=>QE.call(t)==="[object Object]",JE=()=>{},Nh=XE();function XE(){var t,e;return yr&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ZE(t){return ln()}function eb(t,e=1e4){return hC((n,r)=>{let o=po(t),i;const s=()=>setTimeout(()=>{o=po(t),r()},po(e));return us(()=>{clearTimeout(i)}),{get(){return n(),o},set(a){o=a,r(),clearTimeout(i),i=s()}}})}function tb(t,e){ZE()&&Ba(t,e)}function zg(t,e,n={}){const{immediate:r=!0}=n,o=J(!1);let i=null;function s(){i&&(clearTimeout(i),i=null)}function a(){o.value=!1,s()}function c(...l){s(),o.value=!0,i=setTimeout(()=>{o.value=!1,i=null,t(...l)},po(e))}return r&&(o.value=!0,yr&&c()),us(a),{isPending:$i(o),start:c,stop:a}}function ds(t){var e;const n=po(t);return(e=n==null?void 0:n.$el)!=null?e:n}const Au=yr?window:void 0;function aa(...t){let e,n,r,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,o]=t,e=Au):[e,n,r,o]=t,!e)return JE;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],s=()=>{i.forEach(u=>u()),i.length=0},a=(u,d,h,f)=>(u.addEventListener(d,h,f),()=>u.removeEventListener(d,h,f)),c=ut(()=>[ds(e),po(o)],([u,d])=>{if(s(),!u)return;const h=YE(d)?{...d}:d;i.push(...n.flatMap(f=>r.map(p=>a(u,f,p,h))))},{immediate:!0,flush:"post"}),l=()=>{c(),s()};return us(l),l}function nb(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function rb(...t){let e,n,r={};t.length===3?(e=t[0],n=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],r=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:o=Au,eventName:i="keydown",passive:s=!1,dedupe:a=!1}=r,c=nb(e);return aa(o,i,l=>{l.repeat&&po(a)||c(l)&&n(l)},s)}function ob(){const t=J(!1),e=ln();return e&&vn(()=>{t.value=!0},e),t}function ib(t){return JSON.parse(JSON.stringify(t))}function Tu(t,e,n,r={}){var o,i,s;const{clone:a=!1,passive:c=!1,eventName:l,deep:u=!1,defaultValue:d,shouldEmit:h}=r,f=ln(),p=n||(f==null?void 0:f.emit)||((o=f==null?void 0:f.$emit)==null?void 0:o.bind(f))||((s=(i=f==null?void 0:f.proxy)==null?void 0:i.$emit)==null?void 0:s.bind(f==null?void 0:f.proxy));let g=l;g=g||`update:${e.toString()}`;const m=y=>a?typeof a=="function"?a(y):ib(y):y,C=()=>WE(t[e])?m(t[e]):d,T=y=>{h?h(y)&&p(g,y):p(g,y)};if(c){const y=C(),w=J(y);let S=!1;return ut(()=>t[e],B=>{S||(S=!0,w.value=m(B),cn(()=>S=!1))}),ut(w,B=>{!S&&(B!==t[e]||u)&&T(B)},{deep:u}),w}else return Q({get(){return C()},set(y){T(y)}})}function Eu(t){return t?t.flatMap(e=>e.type===nt?Eu(e.children):[e]):[]}function Ur(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function Nc(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function Tl(t,e,n=".",r){if(!Nc(e))return Tl(t,{},n);const o=Object.assign({},e);for(const i in t){if(i==="__proto__"||i==="constructor")continue;const s=t[i];s!=null&&(Array.isArray(s)&&Array.isArray(o[i])?o[i]=[...s,...o[i]]:Nc(s)&&Nc(o[i])?o[i]=Tl(s,o[i],(n?`${n}.`:"")+i.toString()):o[i]=s)}return o}function sb(t){return(...e)=>e.reduce((n,r)=>Tl(n,r,""),{})}const ab=sb(),[Wg]=Vr("ConfigProvider");let cb="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",lb=(t=21)=>{let e="",n=t;for(;n--;)e+=cb[Math.random()*64|0];return e};const ub=zE(()=>{const t=J(new Map),e=J(),n=Q(()=>{for(const s of t.value.values())if(s)return!0;return!1}),r=Wg({scrollBody:J(!0)});let o=null;const i=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.body.style.removeProperty("--scrollbar-width"),document.body.style.overflow=e.value??"",Nh&&(o==null||o()),e.value=void 0};return ut(n,(s,a)=>{var c;if(!yr)return;if(!s){a&&i();return}e.value===void 0&&(e.value=document.body.style.overflow);const l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},d=(c=r.scrollBody)!=null&&c.value?typeof r.scrollBody.value=="object"?ab({padding:r.scrollBody.value.padding===!0?l:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?l:r.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.body.style.setProperty("--scrollbar-width",`${l}px`),document.body.style.overflow="hidden"),Nh&&(o=aa(document,"touchmove",h=>db(h),{passive:!1})),cn(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function Qg(t){const e=lb(6),n=ub();n.value.set(e,t);const r=Q({get:()=>n.value.get(e)??!1,set:o=>n.value.set(e,o)});return tb(()=>{n.value.delete(e)}),r}function Yg(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.cancelable&&e.preventDefault(),!1)}function hs(t){const e=ln(),n=e==null?void 0:e.type.emits,r={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${e==null?void 0:e.type.__name}`),n==null||n.forEach(o=>{r[Ri(At(o))]=(...i)=>t(o,...i)}),r}let xc=0;function hb(){yt(t=>{if(!yr)return;const e=document.querySelectorAll("[data-radix-focus-guard]");document.body.insertAdjacentElement("afterbegin",e[0]??xh()),document.body.insertAdjacentElement("beforeend",e[1]??xh()),xc++,t(()=>{xc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),xc--})})}function xh(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}function bu(t){const e=ln(),n=Object.keys((e==null?void 0:e.type.props)??{}).reduce((o,i)=>{const s=(e==null?void 0:e.type.props[i]).default;return s!==void 0&&(o[i]=s),o},{}),r=gC(t);return Q(()=>{const o={},i=(e==null?void 0:e.vnode.props)??{};return Object.keys(i).forEach(s=>{o[At(s)]=i[s]}),Object.keys({...n,...o}).reduce((s,a)=>(r.value[a]!==void 0&&(s[a]=r.value[a]),s),{})})}function fs(t,e){const n=bu(t),r=e?hs(e):{};return Q(()=>({...n.value,...r}))}function xe(){const t=ln(),e=J(),n=Q(()=>{var s,a;return["#text","#comment"].includes((s=e.value)==null?void 0:s.$el.nodeName)?(a=e.value)==null?void 0:a.$el.nextElementSibling:ds(e)}),r=Object.assign({},t.exposed),o={};for(const s in t.props)Object.defineProperty(o,s,{enumerable:!0,configurable:!0,get:()=>t.props[s]});if(Object.keys(r).length>0)for(const s in r)Object.defineProperty(o,s,{enumerable:!0,configurable:!0,get:()=>r[s]});Object.defineProperty(o,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=o;function i(s){e.value=s,s&&(Object.defineProperty(o,"$el",{enumerable:!0,configurable:!0,get:()=>s instanceof Element?s:s.$el}),t.exposed=o)}return{forwardRef:i,currentRef:e,currentElement:n}}function fb(t,e){const n=eb(!1,300),r=J(null),o=VE();function i(){r.value=null,n.value=!1}function s(a,c){const l=a.currentTarget,u={x:a.clientX,y:a.clientY},d=pb(u,l.getBoundingClientRect()),h=gb(u,d),f=mb(c.getBoundingClientRect()),p=vb([...h,...f]);r.value=p,n.value=!0}return yt(a=>{if(t.value&&e.value){const c=u=>s(u,e.value),l=u=>s(u,t.value);t.value.addEventListener("pointerleave",c),e.value.addEventListener("pointerleave",l),a(()=>{var u,d;(u=t.value)==null||u.removeEventListener("pointerleave",c),(d=e.value)==null||d.removeEventListener("pointerleave",l)})}}),yt(a=>{var c;if(r.value){const l=u=>{var d,h;if(!r.value)return;const f=u.target,p={x:u.clientX,y:u.clientY},g=((d=t.value)==null?void 0:d.contains(f))||((h=e.value)==null?void 0:h.contains(f)),m=!yb(p,r.value),C=!!f.closest("[data-grace-area-trigger]");g?i():(m||C)&&(i(),o.trigger())};(c=t.value)==null||c.ownerDocument.addEventListener("pointermove",l),a(()=>{var u;return(u=t.value)==null?void 0:u.ownerDocument.removeEventListener("pointermove",l)})}}),{isPointerInTransit:n,onPointerExit:o.on}}function pb(t,e){const n=Math.abs(e.top-t.y),r=Math.abs(e.bottom-t.y),o=Math.abs(e.right-t.x),i=Math.abs(e.left-t.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function gb(t,e,n=5){const r=[];switch(e){case"top":r.push({x:t.x-n,y:t.y+n},{x:t.x+n,y:t.y+n});break;case"bottom":r.push({x:t.x-n,y:t.y-n},{x:t.x+n,y:t.y-n});break;case"left":r.push({x:t.x+n,y:t.y-n},{x:t.x+n,y:t.y+n});break;case"right":r.push({x:t.x-n,y:t.y-n},{x:t.x-n,y:t.y+n});break}return r}function mb(t){const{top:e,right:n,bottom:r,left:o}=t;return[{x:o,y:e},{x:n,y:e},{x:n,y:r},{x:o,y:r}]}function yb(t,e){const{x:n,y:r}=t;let o=!1;for(let i=0,s=e.length-1;ir!=u>r&&n<(l-a)*(r-c)/(u-c)+a&&(o=!o)}return o}function vb(t){const e=t.slice();return e.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),Cb(e)}function Cb(t){if(t.length<=1)return t.slice();const e=[];for(let r=0;r=2;){const i=e[e.length-1],s=e[e.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))e.pop();else break}e.push(o)}e.pop();const n=[];for(let r=t.length-1;r>=0;r--){const o=t[r];for(;n.length>=2;){const i=n[n.length-1],s=n[n.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),e.length===1&&n.length===1&&e[0].x===n[0].x&&e[0].y===n[0].y?e:e.concat(n)}var wb=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},Oo=new WeakMap,Ps=new WeakMap,Ns={},Mc=0,Jg=function(t){return t&&(t.host||Jg(t.parentNode))},Ab=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=Jg(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},Tb=function(t,e,n,r){var o=Ab(e,Array.isArray(t)?t:[t]);Ns[n]||(Ns[n]=new WeakMap);var i=Ns[n],s=[],a=new Set,c=new Set(o),l=function(d){!d||a.has(d)||(a.add(d),l(d.parentNode))};o.forEach(l);var u=function(d){!d||c.has(d)||Array.prototype.forEach.call(d.children,function(h){if(a.has(h))u(h);else try{var f=h.getAttribute(r),p=f!==null&&f!=="false",g=(Oo.get(h)||0)+1,m=(i.get(h)||0)+1;Oo.set(h,g),i.set(h,m),s.push(h),g===1&&p&&Ps.set(h,!0),m===1&&h.setAttribute(n,"true"),p||h.setAttribute(r,"true")}catch(C){console.error("aria-hidden: cannot operate on ",h,C)}})};return u(e),a.clear(),Mc++,function(){s.forEach(function(d){var h=Oo.get(d)-1,f=i.get(d)-1;Oo.set(d,h),i.set(d,f),h||(Ps.has(d)||d.removeAttribute(r),Ps.delete(d)),f||d.removeAttribute(n)}),Mc--,Mc||(Oo=new WeakMap,Oo=new WeakMap,Ps=new WeakMap,Ns={})}},Eb=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),o=wb(t);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Tb(r,o,n,"aria-hidden")):function(){return null}};function Xg(t){let e;ut(()=>ds(t),n=>{n?e=Eb(n):e&&e()}),Fa(()=>{e&&e()})}let bb=0;function ca(t,e="radix"){const n=Wg({useId:void 0});return Md?`${e}-${Md()}`:n.useId?`${e}-${n.useId()}`:`${e}-${++bb}`}function _b(t){const e=J(),n=Q(()=>{var o;return((o=e.value)==null?void 0:o.width)??0}),r=Q(()=>{var o;return((o=e.value)==null?void 0:o.height)??0});return vn(()=>{const o=ds(t);if(o){e.value={width:o.offsetWidth,height:o.offsetHeight};const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const a=s[0];let c,l;if("borderBoxSize"in a){const u=a.borderBoxSize,d=Array.isArray(u)?u[0]:u;c=d.inlineSize,l=d.blockSize}else c=o.offsetWidth,l=o.offsetHeight;e.value={width:c,height:l}});return i.observe(o,{box:"border-box"}),()=>i.unobserve(o)}else e.value=void 0}),{width:n,height:r}}function Sb(t,e){const n=J(t);function r(o){return e[n.value][o]??n.value}return{state:n,dispatch:o=>{n.value=r(o)}}}const Ib=ye({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:e,slots:n}){return()=>{var r,o;if(!n.default)return null;const i=Eu(n.default()),s=i.findIndex(u=>u.type!==mt);if(s===-1)return i;const a=i[s];(r=a.props)==null||delete r.ref;const c=a.props?Ke(e,a.props):e;e.class&&(o=a.props)!=null&&o.class&&delete a.props.class;const l=hr(a,c);for(const u in c)u.startsWith("on")&&(l.props||(l.props={}),l.props[u]=c[u]);return i.length===1?l:(i[s]=l,i)}}}),an=ye({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:e,slots:n}){const r=t.asChild?"template":t.as;return typeof r=="string"&&["area","img","input"].includes(r)?()=>fo(r,e):r!=="template"?()=>fo(t.as,e,{default:n.default}):()=>fo(Ib,e,{default:n.default})}});function Rb(t,e){var n;const r=J({}),o=J("none"),i=J(t),s=t.value?"mounted":"unmounted";let a;const c=((n=e.value)==null?void 0:n.ownerDocument.defaultView)??Au,{state:l,dispatch:u}=Sb(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=m=>{var C;if(yr){const T=new CustomEvent(m,{bubbles:!1,cancelable:!1});(C=e.value)==null||C.dispatchEvent(T)}};ut(t,async(m,C)=>{var T;const y=C!==m;if(await cn(),y){const w=o.value,S=xs(e.value);m?(u("MOUNT"),d("enter"),S==="none"&&d("after-enter")):S==="none"||((T=r.value)==null?void 0:T.display)==="none"?(u("UNMOUNT"),d("leave"),d("after-leave")):C&&w!==S?(u("ANIMATION_OUT"),d("leave")):(u("UNMOUNT"),d("after-leave"))}},{immediate:!0});const h=m=>{const C=xs(e.value),T=C.includes(m.animationName),y=l.value==="mounted"?"enter":"leave";if(m.target===e.value&&T&&(d(`after-${y}`),u("ANIMATION_END"),!i.value)){const w=e.value.style.animationFillMode;e.value.style.animationFillMode="forwards",a=c==null?void 0:c.setTimeout(()=>{var S;((S=e.value)==null?void 0:S.style.animationFillMode)==="forwards"&&(e.value.style.animationFillMode=w)})}m.target===e.value&&C==="none"&&u("ANIMATION_END")},f=m=>{m.target===e.value&&(o.value=xs(e.value))},p=ut(e,(m,C)=>{m?(r.value=getComputedStyle(m),m.addEventListener("animationstart",f),m.addEventListener("animationcancel",h),m.addEventListener("animationend",h)):(u("ANIMATION_END"),a!==void 0&&(c==null||c.clearTimeout(a)),C==null||C.removeEventListener("animationstart",f),C==null||C.removeEventListener("animationcancel",h),C==null||C.removeEventListener("animationend",h))},{immediate:!0}),g=ut(l,()=>{const m=xs(e.value);o.value=l.value==="mounted"?m:"none"});return Fa(()=>{p(),g()}),{isPresent:Q(()=>["mounted","unmountSuspended"].includes(l.value))}}function xs(t){return t&&getComputedStyle(t).animationName||"none"}const Qa=ye({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:e,expose:n}){var r;const{present:o,forceMount:i}=is(t),s=J(),{isPresent:a}=Rb(o,s);n({present:a});let c=e.default({present:a});c=Eu(c||[]);const l=ln();if(c&&(c==null?void 0:c.length)>1){const u=(r=l==null?void 0:l.parent)!=null&&r.type.name?`<${l.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${u}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>i.value||o.value||a.value?fo(e.default({present:a})[0],{ref:u=>{const d=ds(u);return typeof(d==null?void 0:d.hasAttribute)>"u"||(d!=null&&d.hasAttribute("data-radix-popper-content-wrapper")?s.value=d.firstElementChild:s.value=d),d}}):null}}),[vr,Ob]=Vr("DialogRoot"),kb=ye({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:["update:open"],setup(t,{emit:e}){const n=t,r=Tu(n,"open",e,{defaultValue:n.defaultOpen,passive:n.open===void 0}),o=J(),i=J(),{modal:s}=is(n);return Ob({open:r,modal:s,openModal:()=>{r.value=!0},onOpenChange:a=>{r.value=a},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:o,contentElement:i}),(a,c)=>le(a.$slots,"default",{open:I(r)})}}),_u=ye({__name:"Teleport",props:{to:{default:"body"},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=ob();return(n,r)=>I(e)||n.forceMount?(Y(),fe(PC,{key:0,to:n.to,disabled:n.disabled},[le(n.$slots,"default")],8,["to","disabled"])):er("",!0)}}),Pb="dismissableLayer.pointerDownOutside",Nb="dismissableLayer.focusOutside";function Zg(t,e){const n=e.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),o=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&r===n||o.indexOf(r){});return yt(s=>{if(!yr)return;const a=async l=>{const u=l.target;if(e!=null&&e.value){if(Zg(e.value,u)){o.value=!1;return}if(l.target&&!o.value){let d=function(){Gg(Pb,t,h)};const h={originalEvent:l};l.pointerType==="touch"?(r.removeEventListener("click",i.value),i.value=d,r.addEventListener("click",i.value,{once:!0})):d()}else r.removeEventListener("click",i.value);o.value=!1}},c=window.setTimeout(()=>{r.addEventListener("pointerdown",a)},0);s(()=>{window.clearTimeout(c),r.removeEventListener("pointerdown",a),r.removeEventListener("click",i.value)})}),{onPointerDownCapture:()=>o.value=!0}}function Mb(t,e){var n;const r=((n=e==null?void 0:e.value)==null?void 0:n.ownerDocument)??(globalThis==null?void 0:globalThis.document),o=J(!1);return yt(i=>{if(!yr)return;const s=async a=>{e!=null&&e.value&&(await cn(),!(!e.value||Zg(e.value,a.target))&&a.target&&!o.value&&Gg(Nb,t,{originalEvent:a}))};r.addEventListener("focusin",s),i(()=>r.removeEventListener("focusin",s))}),{onFocusCapture:()=>o.value=!0,onBlurCapture:()=>o.value=!1}}const Wn=To({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Su=ye({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:e}){const n=t,r=e,{forwardRef:o,currentElement:i}=xe(),s=Q(()=>{var p;return((p=i.value)==null?void 0:p.ownerDocument)??globalThis.document}),a=Q(()=>Wn.layersRoot),c=Q(()=>i.value?Array.from(a.value).indexOf(i.value):-1),l=Q(()=>Wn.layersWithOutsidePointerEventsDisabled.size>0),u=Q(()=>{const p=Array.from(a.value),[g]=[...Wn.layersWithOutsidePointerEventsDisabled].slice(-1),m=p.indexOf(g);return c.value>=m}),d=xb(async p=>{const g=[...Wn.branches].some(m=>m==null?void 0:m.contains(p.target));!u.value||g||(r("pointerDownOutside",p),r("interactOutside",p),await cn(),p.defaultPrevented||r("dismiss"))},i),h=Mb(p=>{[...Wn.branches].some(g=>g==null?void 0:g.contains(p.target))||(r("focusOutside",p),r("interactOutside",p),p.defaultPrevented||r("dismiss"))},i);rb("Escape",p=>{c.value===a.value.size-1&&(r("escapeKeyDown",p),p.defaultPrevented||r("dismiss"))});let f;return yt(p=>{i.value&&(n.disableOutsidePointerEvents&&(Wn.layersWithOutsidePointerEventsDisabled.size===0&&(f=s.value.body.style.pointerEvents,s.value.body.style.pointerEvents="none"),Wn.layersWithOutsidePointerEventsDisabled.add(i.value)),a.value.add(i.value),p(()=>{n.disableOutsidePointerEvents&&Wn.layersWithOutsidePointerEventsDisabled.size===1&&(s.value.body.style.pointerEvents=f)}))}),yt(p=>{p(()=>{i.value&&(a.value.delete(i.value),Wn.layersWithOutsidePointerEventsDisabled.delete(i.value))})}),(p,g)=>(Y(),fe(I(an),{ref:I(o),"as-child":p.asChild,as:p.as,"data-dismissable-layer":"",style:Fn({pointerEvents:l.value?u.value?"auto":"none":void 0}),onFocusCapture:I(h).onFocusCapture,onBlurCapture:I(h).onBlurCapture,onPointerdownCapture:I(d).onPointerDownCapture},{default:se(()=>[le(p.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),Dc="focusScope.autoFocusOnMount",Lc="focusScope.autoFocusOnUnmount",Mh={bubbles:!1,cancelable:!0};function Db(t,{select:e=!1}={}){const n=Ur();for(const r of t)if(Sr(r,{select:e}),Ur()!==n)return!0}function Lb(t){const e=em(t),n=Dh(e,t),r=Dh(e.reverse(),t);return[n,r]}function em(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function Dh(t,e){for(const n of t)if(!Ub(n,{upTo:e}))return n}function Ub(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function Hb(t){return t instanceof HTMLInputElement&&"select"in t}function Sr(t,{select:e=!1}={}){if(t&&t.focus){const n=Ur();t.focus({preventScroll:!0}),t!==n&&Hb(t)&&e&&t.select()}}const Bb=GE(()=>J([]));function Fb(){const t=Bb();return{add(e){const n=t.value[0];e!==n&&(n==null||n.pause()),t.value=Lh(t.value,e),t.value.unshift(e)},remove(e){var n;t.value=Lh(t.value,e),(n=t.value[0])==null||n.resume()}}}function Lh(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function Kb(t){return t.filter(e=>e.tagName!=="A")}const tm=ye({__name:"FocusScope",props:{loop:{type:Boolean,default:!1},trapped:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:e}){const n=t,r=e,{currentRef:o,currentElement:i}=xe(),s=J(null),a=Fb(),c=To({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});yt(u=>{if(!yr)return;const d=i.value;if(!n.trapped)return;function h(m){if(c.paused||!d)return;const C=m.target;d.contains(C)?s.value=C:Sr(s.value,{select:!0})}function f(m){if(c.paused||!d)return;const C=m.relatedTarget;C!==null&&(d.contains(C)||Sr(s.value,{select:!0}))}function p(m){d.contains(s.value)||Sr(d)}document.addEventListener("focusin",h),document.addEventListener("focusout",f);const g=new MutationObserver(p);d&&g.observe(d,{childList:!0,subtree:!0}),u(()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",f),g.disconnect()})}),yt(async u=>{const d=i.value;if(await cn(),!d)return;a.add(c);const h=Ur();if(!d.contains(h)){const f=new CustomEvent(Dc,Mh);d.addEventListener(Dc,p=>r("mountAutoFocus",p)),d.dispatchEvent(f),f.defaultPrevented||(Db(Kb(em(d)),{select:!0}),Ur()===h&&Sr(d))}u(()=>{d.removeEventListener(Dc,g=>r("mountAutoFocus",g));const f=new CustomEvent(Lc,Mh),p=g=>{r("unmountAutoFocus",g)};d.addEventListener(Lc,p),d.dispatchEvent(f),setTimeout(()=>{f.defaultPrevented||Sr(h??document.body,{select:!0}),d.removeEventListener(Lc,p),a.remove(c)},0)})});function l(u){if(!n.loop&&!n.trapped||c.paused)return;const d=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,h=Ur();if(d&&h){const f=u.currentTarget,[p,g]=Lb(f);p&&g?!u.shiftKey&&h===g?(u.preventDefault(),n.loop&&Sr(p,{select:!0})):u.shiftKey&&h===p&&(u.preventDefault(),n.loop&&Sr(g,{select:!0})):h===f&&u.preventDefault()}}return(u,d)=>(Y(),fe(I(an),{ref_key:"currentRef",ref:o,tabindex:"-1","as-child":u.asChild,as:u.as,onKeydown:l},{default:se(()=>[le(u.$slots,"default")]),_:3},8,["as-child","as"]))}});function $b(t){return t?"open":"closed"}const nm=ye({__name:"DialogContentImpl",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=vr(),{forwardRef:i,currentElement:s}=xe();return o.titleId||(o.titleId=ca(void 0,"radix-vue-dialog-title")),o.descriptionId||(o.descriptionId=ca(void 0,"radix-vue-dialog-description")),vn(()=>{o.contentElement=s,Ur()!==document.body&&(o.triggerElement.value=Ur())}),(a,c)=>(Y(),fe(I(tm),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:c[5]||(c[5]=l=>r("openAutoFocus",l)),onUnmountAutoFocus:c[6]||(c[6]=l=>r("closeAutoFocus",l))},{default:se(()=>[Pe(I(Su),Ke({id:I(o).contentId,ref:I(i),as:a.as,"as-child":a.asChild,"disable-outside-pointer-events":a.disableOutsidePointerEvents,role:"dialog","aria-describedby":I(o).descriptionId,"aria-labelledby":I(o).titleId,"data-state":I($b)(I(o).open.value)},a.$attrs,{onDismiss:c[0]||(c[0]=l=>I(o).onOpenChange(!1)),onEscapeKeyDown:c[1]||(c[1]=l=>r("escapeKeyDown",l)),onFocusOutside:c[2]||(c[2]=l=>r("focusOutside",l)),onInteractOutside:c[3]||(c[3]=l=>r("interactOutside",l)),onPointerDownOutside:c[4]||(c[4]=l=>r("pointerDownOutside",l))}),{default:se(()=>[le(a.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),qb=ye({__name:"DialogContentModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=vr(),i=hs(r),{forwardRef:s,currentElement:a}=xe();return Xg(a),(c,l)=>(Y(),fe(nm,Ke({...n,...I(i)},{ref:I(s),"trap-focus":I(o).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:l[0]||(l[0]=u=>{var d;u.defaultPrevented||(u.preventDefault(),(d=I(o).triggerElement.value)==null||d.focus())}),onPointerDownOutside:l[1]||(l[1]=u=>{const d=u.detail.originalEvent,h=d.button===0&&d.ctrlKey===!0;(d.button===2||h)&&u.preventDefault()}),onFocusOutside:l[2]||(l[2]=u=>{u.preventDefault()})}),{default:se(()=>[le(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),jb=ye({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=hs(e);xe();const o=vr(),i=J(!1),s=J(!1);return(a,c)=>(Y(),fe(nm,Ke({...n,...I(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=l=>{var u;l.defaultPrevented||(i.value||(u=I(o).triggerElement.value)==null||u.focus(),l.preventDefault()),i.value=!1,s.value=!1}),onInteractOutside:c[1]||(c[1]=l=>{var u;l.defaultPrevented||(i.value=!0,l.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const d=l.target;(u=I(o).triggerElement.value)!=null&&u.contains(d)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.value&&l.preventDefault()})}),{default:se(()=>[le(a.$slots,"default")]),_:3},16))}}),Vb=ye({__name:"DialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=vr(),i=hs(r),{forwardRef:s}=xe();return(a,c)=>(Y(),fe(I(Qa),{present:a.forceMount||I(o).open.value},{default:se(()=>[I(o).modal.value?(Y(),fe(qb,Ke({key:0,ref:I(s)},{...n,...I(i),...a.$attrs}),{default:se(()=>[le(a.$slots,"default")]),_:3},16)):(Y(),fe(jb,Ke({key:1,ref:I(s)},{...n,...I(i),...a.$attrs}),{default:se(()=>[le(a.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Gb=ye({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean},as:{}},setup(t){const e=vr();return Qg(!0),xe(),(n,r)=>(Y(),fe(I(an),{as:n.as,"as-child":n.asChild,"data-state":I(e).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:se(()=>[le(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),zb=ye({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const e=vr(),{forwardRef:n}=xe();return(r,o)=>{var i;return(i=I(e))!=null&&i.modal.value?(Y(),fe(I(Qa),{key:0,present:r.forceMount||I(e).open.value},{default:se(()=>[Pe(Gb,Ke(r.$attrs,{ref:I(n),as:r.as,"as-child":r.asChild}),{default:se(()=>[le(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):er("",!0)}}}),rm=ye({__name:"DialogClose",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t;xe();const n=vr();return(r,o)=>(Y(),fe(I(an),Ke(e,{type:r.as==="button"?"button":void 0,onClick:o[0]||(o[0]=i=>I(n).onOpenChange(!1))}),{default:se(()=>[le(r.$slots,"default")]),_:3},16,["type"]))}}),Wb=ye({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{default:"h2"}},setup(t){const e=t,n=vr();return xe(),(r,o)=>(Y(),fe(I(an),Ke(e,{id:I(n).titleId}),{default:se(()=>[le(r.$slots,"default")]),_:3},16,["id"]))}}),Qb=ye({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{default:"p"}},setup(t){const e=t;xe();const n=vr();return(r,o)=>(Y(),fe(I(an),Ke(e,{id:I(n).descriptionId}),{default:se(()=>[le(r.$slots,"default")]),_:3},16,["id"]))}}),GP=ye({__name:"AlertDialogRoot",props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:["update:open"],setup(t,{emit:e}){const n=fs(t,e);return xe(),(r,o)=>(Y(),fe(I(kb),Ke(I(n),{modal:!0}),{default:se(()=>[le(r.$slots,"default")]),_:3},16))}}),zP=ye({__name:"AlertDialogPortal",props:{to:{},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=t;return(n,r)=>(Y(),fe(I(_u),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),[Yb,Jb]=Vr("AlertDialogContent"),WP=ye({__name:"AlertDialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=hs(e);xe();const o=J();return Jb({onCancelElementChange:i=>{o.value=i}}),(i,s)=>(Y(),fe(I(Vb),Ke({...n,...I(r)},{role:"alertdialog",onPointerDownOutside:s[0]||(s[0]=Qi(()=>{},["prevent"])),onInteractOutside:s[1]||(s[1]=Qi(()=>{},["prevent"])),onOpenAutoFocus:s[2]||(s[2]=()=>{cn(()=>{var a;(a=o.value)==null||a.focus({preventScroll:!0})})})}),{default:se(()=>[le(i.$slots,"default")]),_:3},16))}}),QP=ye({__name:"AlertDialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const e=t;return xe(),(n,r)=>(Y(),fe(I(zb),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),YP=ye({__name:"AlertDialogCancel",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t,n=Yb(),{forwardRef:r,currentElement:o}=xe();return vn(()=>{n.onCancelElementChange(o.value)}),(i,s)=>(Y(),fe(I(rm),Ke(e,{ref:I(r)}),{default:se(()=>[le(i.$slots,"default")]),_:3},16))}}),JP=ye({__name:"AlertDialogTitle",props:{asChild:{type:Boolean},as:{default:"h2"}},setup(t){const e=t;return xe(),(n,r)=>(Y(),fe(I(Wb),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),XP=ye({__name:"AlertDialogDescription",props:{asChild:{type:Boolean},as:{default:"p"}},setup(t){const e=t;return xe(),(n,r)=>(Y(),fe(I(Qb),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),ZP=ye({__name:"AlertDialogAction",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t;return xe(),(n,r)=>(Y(),fe(I(rm),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),[om,Xb]=Vr("PopperRoot"),im=ye({inheritAttrs:!1,__name:"PopperRoot",setup(t){const e=J();return Xb({anchor:e,onAnchorChange:n=>e.value=n}),(n,r)=>le(n.$slots,"default")}}),sm=ye({__name:"PopperAnchor",props:{element:{},asChild:{type:Boolean},as:{}},setup(t){const e=t,{forwardRef:n,currentElement:r}=xe(),o=om();return yt(()=>{o.onAnchorChange(e.element??r.value)}),(i,s)=>(Y(),fe(I(an),{ref:I(n),as:i.as,"as-child":i.asChild},{default:se(()=>[le(i.$slots,"default")]),_:3},8,["as","as-child"]))}});function Zb(t){return t!==null}function e_(t){return{name:"transformOrigin",options:t,fn(e){var n,r,o;const{placement:i,rects:s,middlewareData:a}=e,c=((n=a.arrow)==null?void 0:n.centerOffset)!==0,l=c?0:t.arrowWidth,u=c?0:t.arrowHeight,[d,h]=El(i),f={start:"0%",center:"50%",end:"100%"}[h],p=(((r=a.arrow)==null?void 0:r.x)??0)+l/2,g=(((o=a.arrow)==null?void 0:o.y)??0)+u/2;let m="",C="";return d==="bottom"?(m=c?f:`${p}px`,C=`${-u}px`):d==="top"?(m=c?f:`${p}px`,C=`${s.floating.height+u}px`):d==="right"?(m=`${-u}px`,C=c?f:`${g}px`):d==="left"&&(m=`${s.floating.width+u}px`,C=c?f:`${g}px`),{data:{x:m,y:C}}}}}function El(t){const[e,n="center"]=t.split("-");return[e,n]}const t_={side:"bottom",sideOffset:0,align:"center",alignOffset:0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,updatePositionStrategy:"optimized",prioritizePosition:!1},[e0,n_]=Vr("PopperContent"),am=ye({inheritAttrs:!1,__name:"PopperContent",props:YC({side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},updatePositionStrategy:{},prioritizePosition:{type:Boolean},asChild:{type:Boolean},as:{}},{...t_}),emits:["placed"],setup(t,{emit:e}){const n=t,r=e,o=om(),{forwardRef:i,currentElement:s}=xe(),a=J(),c=J(),{width:l,height:u}=_b(c),d=Q(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),h=Q(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),f=Q(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),p=Q(()=>({padding:h.value,boundary:f.value.filter(Zb),altBoundary:f.value.length>0})),g=jE(()=>[ME({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&kh({...p.value}),n.avoidCollisions&&DE({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?BE():void 0,...p.value}),!n.prioritizePosition&&n.avoidCollisions&&kh({...p.value}),LE({...p.value,apply:({elements:F,rects:ee,availableWidth:$,availableHeight:ie})=>{const{width:re,height:Re}=ee.reference,ue=F.floating.style;ue.setProperty("--radix-popper-available-width",`${$}px`),ue.setProperty("--radix-popper-available-height",`${ie}px`),ue.setProperty("--radix-popper-anchor-width",`${re}px`),ue.setProperty("--radix-popper-anchor-height",`${Re}px`)}}),c.value&&$E({element:c.value,padding:n.arrowPadding}),e_({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&UE({strategy:"referenceHidden",...p.value})]),{floatingStyles:m,placement:C,isPositioned:T,middlewareData:y}=qE(o.anchor,a,{strategy:"fixed",placement:d,whileElementsMounted:(...F)=>xE(...F,{animationFrame:n.updatePositionStrategy==="always"}),middleware:g}),w=Q(()=>El(C.value)[0]),S=Q(()=>El(C.value)[1]);SC(()=>{T.value&&r("placed")});const B=Q(()=>{var F;return((F=y.value.arrow)==null?void 0:F.centerOffset)!==0}),N=J("");yt(()=>{s.value&&(N.value=window.getComputedStyle(s.value).zIndex)});const L=Q(()=>{var F;return((F=y.value.arrow)==null?void 0:F.x)??0}),k=Q(()=>{var F;return((F=y.value.arrow)==null?void 0:F.y)??0});return n_({placedSide:w,onArrowChange:F=>c.value=F,arrowX:L,arrowY:k,shouldHideArrow:B}),(F,ee)=>{var $,ie,re;return Y(),Xe("div",{ref_key:"floatingRef",ref:a,"data-radix-popper-content-wrapper":"",style:Fn({...I(m),transform:I(T)?I(m).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:N.value,"--radix-popper-transform-origin":[($=I(y).transformOrigin)==null?void 0:$.x,(ie=I(y).transformOrigin)==null?void 0:ie.y].join(" "),...((re=I(y).hide)==null?void 0:re.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}})},[Pe(I(an),Ke({ref:I(i)},F.$attrs,{"as-child":n.asChild,as:F.as,"data-side":w.value,"data-align":S.value,style:{animation:I(T)?void 0:"none"}}),{default:se(()=>[le(F.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4)}}}),r_=ye({__name:"VisuallyHidden",props:{asChild:{type:Boolean},as:{default:"span"}},setup(t){return xe(),(e,n)=>(Y(),fe(I(an),{as:e.as,"as-child":e.asChild,style:{position:"absolute",border:0,width:"1px",display:"inline-block",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}},{default:se(()=>[le(e.$slots,"default")]),_:3},8,["as","as-child"]))}}),[ps,o_]=Vr("PopoverRoot"),t0=ye({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},modal:{type:Boolean,default:!1}},emits:["update:open"],setup(t,{emit:e}){const n=t,r=e,{modal:o}=is(n),i=Tu(n,"open",r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return o_({contentId:"",modal:o,open:i,onOpenChange:c=>{i.value=c},onOpenToggle:()=>{i.value=!i.value},triggerElement:J(),hasCustomAnchor:J(!1)}),(c,l)=>(Y(),fe(I(im),null,{default:se(()=>[le(c.$slots,"default",{open:I(i)})]),_:3}))}}),n0=ye({__name:"PopoverTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t,n=ps(),{forwardRef:r,currentElement:o}=xe();return vn(()=>{n.triggerElement.value=o.value}),(i,s)=>(Y(),fe(Zr(I(n).hasCustomAnchor.value?I(an):I(sm)),{"as-child":""},{default:se(()=>[Pe(I(an),{ref:I(r),type:i.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":I(n).open.value,"aria-controls":I(n).contentId,"data-state":I(n).open.value?"open":"closed",as:i.as,"as-child":e.asChild,onClick:I(n).onOpenToggle},{default:se(()=>[le(i.$slots,"default")]),_:3},8,["type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),r0=ye({__name:"PopoverPortal",props:{to:{},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=t;return(n,r)=>(Y(),fe(I(_u),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),cm=ye({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean},side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},updatePositionStrategy:{},prioritizePosition:{type:Boolean},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=bu(n),{forwardRef:i}=xe(),s=ps();return hb(),(a,c)=>(Y(),fe(I(tm),{"as-child":"",loop:"",trapped:a.trapFocus,onMountAutoFocus:c[5]||(c[5]=l=>r("openAutoFocus",l)),onUnmountAutoFocus:c[6]||(c[6]=l=>r("closeAutoFocus",l))},{default:se(()=>[Pe(I(Su),{"as-child":"","disable-outside-pointer-events":a.disableOutsidePointerEvents,onPointerDownOutside:c[0]||(c[0]=l=>r("pointerDownOutside",l)),onInteractOutside:c[1]||(c[1]=l=>r("interactOutside",l)),onEscapeKeyDown:c[2]||(c[2]=l=>r("escapeKeyDown",l)),onFocusOutside:c[3]||(c[3]=l=>r("focusOutside",l)),onDismiss:c[4]||(c[4]=l=>I(s).onOpenChange(!1))},{default:se(()=>[Pe(I(am),Ke(I(o),{id:I(s).contentId,ref:I(i),"data-state":I(s).open.value?"open":"closed",role:"dialog",style:{"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}}),{default:se(()=>[le(a.$slots,"default")]),_:3},16,["id","data-state"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),i_=ye({__name:"PopoverContentModal",props:{trapFocus:{type:Boolean},side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},updatePositionStrategy:{},prioritizePosition:{type:Boolean},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=ps(),i=J(!1);Qg(!0);const s=fs(n,r),{forwardRef:a,currentElement:c}=xe();return Xg(c),(l,u)=>(Y(),fe(cm,Ke(I(s),{ref:I(a),"trap-focus":I(o).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:u[0]||(u[0]=Qi(d=>{var h;r("closeAutoFocus",d),i.value||(h=I(o).triggerElement.value)==null||h.focus()},["prevent"])),onPointerDownOutside:u[1]||(u[1]=d=>{r("pointerDownOutside",d);const h=d.detail.originalEvent,f=h.button===0&&h.ctrlKey===!0,p=h.button===2||f;i.value=p}),onFocusOutside:u[2]||(u[2]=Qi(()=>{},["prevent"]))}),{default:se(()=>[le(l.$slots,"default")]),_:3},16,["trap-focus"]))}}),s_=ye({__name:"PopoverContentNonModal",props:{trapFocus:{type:Boolean},side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},updatePositionStrategy:{},prioritizePosition:{type:Boolean},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=ps(),i=J(!1),s=J(!1),a=fs(n,r);return(c,l)=>(Y(),fe(cm,Ke(I(a),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:l[0]||(l[0]=u=>{var d;r("closeAutoFocus",u),u.defaultPrevented||(i.value||(d=I(o).triggerElement.value)==null||d.focus(),u.preventDefault()),i.value=!1,s.value=!1}),onInteractOutside:l[1]||(l[1]=async u=>{var d;r("interactOutside",u),u.defaultPrevented||(i.value=!0,u.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const h=u.target;(d=I(o).triggerElement.value)!=null&&d.contains(h)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&s.value&&u.preventDefault()})}),{default:se(()=>[le(c.$slots,"default")]),_:3},16))}}),o0=ye({__name:"PopoverContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},updatePositionStrategy:{},prioritizePosition:{type:Boolean},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,o=ps(),i=fs(n,r),{forwardRef:s}=xe();return o.contentId||(o.contentId=ca(void 0,"radix-vue-popover-content")),(a,c)=>(Y(),fe(I(Qa),{present:a.forceMount||I(o).open.value},{default:se(()=>[I(o).modal.value?(Y(),fe(i_,Ke({key:0},I(i),{ref:I(s)}),{default:se(()=>[le(a.$slots,"default")]),_:3},16)):(Y(),fe(s_,Ke({key:1},I(i),{ref:I(s)}),{default:se(()=>[le(a.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}});function a_(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}a_();const lm="tooltip.open",[Iu,c_]=Vr("TooltipProvider"),l_=ye({inheritAttrs:!1,__name:"TooltipProvider",props:{delayDuration:{default:700},skipDelayDuration:{default:300},disableHoverableContent:{type:Boolean,default:!1},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean,default:!1}},setup(t){const e=t,{delayDuration:n,skipDelayDuration:r,disableHoverableContent:o,disableClosingTrigger:i,ignoreNonKeyboardFocus:s,disabled:a}=is(e);xe();const c=J(!0),l=J(!1),{start:u,stop:d}=zg(()=>{c.value=!0},r,{immediate:!1});return c_({isOpenDelayed:c,delayDuration:n,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:o,disableClosingTrigger:i,disabled:a,ignoreNonKeyboardFocus:s}),(h,f)=>le(h.$slots,"default")}}),[Ya,u_]=Vr("TooltipRoot"),i0=ye({__name:"TooltipRoot",props:{defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{default:void 0},disableHoverableContent:{type:Boolean,default:void 0},disableClosingTrigger:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,default:void 0}},emits:["update:open"],setup(t,{emit:e}){const n=t,r=e;xe();const o=Iu(),i=Q(()=>n.disableHoverableContent??o.disableHoverableContent.value),s=Q(()=>n.disableClosingTrigger??o.disableClosingTrigger.value),a=Q(()=>n.disabled??o.disabled.value),c=Q(()=>n.delayDuration??o.delayDuration.value),l=Q(()=>n.ignoreNonKeyboardFocus??o.ignoreNonKeyboardFocus.value),u=Tu(n,"open",r,{defaultValue:n.defaultOpen,passive:n.open===void 0});ut(u,y=>{o.onClose&&(y?(o.onOpen(),document.dispatchEvent(new CustomEvent(lm))):o.onClose())});const d=J(!1),h=J(),f=Q(()=>u.value?d.value?"delayed-open":"instant-open":"closed"),{start:p,stop:g}=zg(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function m(){g(),d.value=!1,u.value=!0}function C(){g(),u.value=!1}function T(){p()}return u_({contentId:"",open:u,stateAttribute:f,trigger:h,onTriggerChange(y){h.value=y},onTriggerEnter(){o.isOpenDelayed.value?T():m()},onTriggerLeave(){i.value?C():g()},onOpen:m,onClose:C,disableHoverableContent:i,disableClosingTrigger:s,disabled:a,ignoreNonKeyboardFocus:l}),(y,w)=>(Y(),fe(I(im),null,{default:se(()=>[le(y.$slots,"default",{open:I(u)})]),_:3}))}}),s0=ye({__name:"TooltipTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t,n=Ya(),r=Iu();n.contentId||(n.contentId=ca(void 0,"radix-vue-tooltip-content"));const{forwardRef:o,currentElement:i}=xe(),s=J(!1),a=J(!1),c=Q(()=>n.disabled.value?{}:{click:g,focus:f,pointermove:d,pointerleave:h,pointerdown:u,blur:p});vn(()=>{n.onTriggerChange(i.value)});function l(){setTimeout(()=>{s.value=!1},1)}function u(){s.value=!0,document.addEventListener("pointerup",l,{once:!0})}function d(m){m.pointerType!=="touch"&&!a.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),a.value=!0)}function h(){n.onTriggerLeave(),a.value=!1}function f(m){var C,T;s.value||n.ignoreNonKeyboardFocus.value&&!((T=(C=m.target).matches)!=null&&T.call(C,":focus-visible"))||n.onOpen()}function p(){n.onClose()}function g(){n.disableClosingTrigger.value||n.onClose()}return(m,C)=>(Y(),fe(I(sm),{"as-child":""},{default:se(()=>[Pe(I(an),Ke({ref:I(o),"aria-describedby":I(n).open.value?I(n).contentId:void 0,"data-state":I(n).stateAttribute.value,as:m.as,"as-child":e.asChild,"data-grace-area-trigger":""},GC(c.value)),{default:se(()=>[le(m.$slots,"default")]),_:3},16,["aria-describedby","data-state","as","as-child"])]),_:3}))}}),um=ye({__name:"TooltipContentImpl",props:{ariaLabel:{},asChild:{type:Boolean},as:{},side:{default:"top"},sideOffset:{default:0},align:{default:"center"},alignOffset:{},avoidCollisions:{type:Boolean,default:!0},collisionBoundary:{default:()=>[]},collisionPadding:{default:0},arrowPadding:{default:0},sticky:{default:"partial"},hideWhenDetached:{type:Boolean,default:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(t,{emit:e}){const n=t,r=e,o=Ya(),{forwardRef:i}=xe(),s=WC(),a=Q(()=>{var u;return(u=s.default)==null?void 0:u.call(s)}),c=Q(()=>{var u;if(n.ariaLabel)return n.ariaLabel;let d="";function h(f){typeof f.children=="string"&&f.type!==mt?d+=f.children:Array.isArray(f.children)&&f.children.forEach(p=>h(p))}return(u=a.value)==null||u.forEach(f=>h(f)),d}),l=Q(()=>{const{ariaLabel:u,...d}=n;return d});return vn(()=>{aa(window,"scroll",u=>{const d=u.target;d!=null&&d.contains(o.trigger.value)&&o.onClose()}),aa(window,lm,o.onClose)}),(u,d)=>(Y(),fe(I(Su),{"as-child":"","disable-outside-pointer-events":!1,onEscapeKeyDown:d[0]||(d[0]=h=>r("escapeKeyDown",h)),onPointerDownOutside:d[1]||(d[1]=h=>{var f;I(o).disableClosingTrigger.value&&(f=I(o).trigger.value)!=null&&f.contains(h.target)&&h.preventDefault(),r("pointerDownOutside",h)}),onFocusOutside:d[2]||(d[2]=Qi(()=>{},["prevent"])),onDismiss:d[3]||(d[3]=h=>I(o).onClose())},{default:se(()=>[Pe(I(am),Ke({ref:I(i),"data-state":I(o).stateAttribute.value},{...u.$attrs,...l.value},{style:{"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"}}),{default:se(()=>[le(u.$slots,"default"),Pe(I(r_),{id:I(o).contentId,role:"tooltip"},{default:se(()=>[ta(Ho(c.value),1)]),_:1},8,["id"])]),_:3},16,["data-state"])]),_:3}))}}),d_=ye({__name:"TooltipContentHoverable",props:{ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean}},setup(t){const e=bu(t),{forwardRef:n,currentElement:r}=xe(),{trigger:o,onClose:i}=Ya(),s=Iu(),{isPointerInTransit:a,onPointerExit:c}=fb(o,r);return s.isPointerInTransitRef=a,c(()=>{i()}),(l,u)=>(Y(),fe(um,Ke({ref:I(n)},I(e)),{default:se(()=>[le(l.$slots,"default")]),_:3},16))}}),a0=ye({__name:"TooltipContent",props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{default:"top"},sideOffset:{},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean}},emits:["escapeKeyDown","pointerDownOutside"],setup(t,{emit:e}){const n=t,r=e,o=Ya(),i=fs(n,r),{forwardRef:s}=xe();return(a,c)=>(Y(),fe(I(Qa),{present:a.forceMount||I(o).open.value},{default:se(()=>[(Y(),fe(Zr(I(o).disableHoverableContent.value?um:d_),Ke({ref:I(s)},I(i)),{default:se(()=>[le(a.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),c0=ye({__name:"TooltipPortal",props:{to:{},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=t;return(n,r)=>(Y(),fe(I(_u),cr(jr(e)),{default:se(()=>[le(n.$slots,"default")]),_:3},16))}}),h_=ye({__name:"TooltipProvider",setup(t){return(e,n)=>(Y(),fe(I(l_),{"delay-duration":300,"skip-delay-duration":100},{default:se(()=>[le(e.$slots,"default")]),_:3}))}}),f_=ye({__name:"App",setup(t){return(e,n)=>{const r=VC("RouterView");return Y(),fe(h_,null,{default:se(()=>[Pe(r),Pe(I(zT),{position:"top-right","toast-options":{style:{background:"hsl(var(--card))",color:"hsl(var(--card-foreground))",border:"1px solid hsl(var(--border))"}}})]),_:1})}}}),p_="modulepreload",g_=function(t){return"/cc-dashboard/static/"+t},Uh={},Ht=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),a=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=Promise.allSettled(n.map(c=>{if(c=g_(c),c in Uh)return;Uh[c]=!0;const l=c.endsWith(".css"),u=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":p_,l||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),l)return new Promise((h,f)=>{d.addEventListener("load",h),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(s){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s}return o.then(s=>{for(const a of s||[])a.status==="rejected"&&i(a.reason);return e().catch(i)})};/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const Mo=typeof document<"u";function dm(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function m_(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&dm(t.default)}const Le=Object.assign;function Uc(t,e){const n={};for(const r in e){const o=e[r];n[r]=Tn(o)?o.map(t):t(o)}return n}const Li=()=>{},Tn=Array.isArray;function Hh(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}const hm=/#/g,y_=/&/g,v_=/\//g,C_=/=/g,w_=/\?/g,fm=/\+/g,A_=/%5B/g,T_=/%5D/g,pm=/%5E/g,E_=/%60/g,gm=/%7B/g,b_=/%7C/g,mm=/%7D/g,__=/%20/g;function Ru(t){return t==null?"":encodeURI(""+t).replace(b_,"|").replace(A_,"[").replace(T_,"]")}function S_(t){return Ru(t).replace(gm,"{").replace(mm,"}").replace(pm,"^")}function bl(t){return Ru(t).replace(fm,"%2B").replace(__,"+").replace(hm,"%23").replace(y_,"%26").replace(E_,"`").replace(gm,"{").replace(mm,"}").replace(pm,"^")}function I_(t){return bl(t).replace(C_,"%3D")}function R_(t){return Ru(t).replace(hm,"%23").replace(w_,"%3F")}function O_(t){return R_(t).replace(v_,"%2F")}function Zi(t){if(t==null)return null;try{return decodeURIComponent(""+t)}catch{}return""+t}const k_=/\/$/,P_=t=>t.replace(k_,"");function Hc(t,e,n="/"){let r,o={},i="",s="";const a=e.indexOf("#");let c=e.indexOf("?");return c=a>=0&&c>a?-1:c,c>=0&&(r=e.slice(0,c),i=e.slice(c,a>0?a:e.length),o=t(i.slice(1))),a>=0&&(r=r||e.slice(0,a),s=e.slice(a,e.length)),r=D_(r??e,n),{fullPath:r+i+s,path:r,query:o,hash:Zi(s)}}function N_(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function Bh(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function x_(t,e,n){const r=e.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&si(e.matched[r],n.matched[o])&&ym(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function si(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function ym(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var n in t)if(!M_(t[n],e[n]))return!1;return!0}function M_(t,e){return Tn(t)?Fh(t,e):Tn(e)?Fh(e,t):(t==null?void 0:t.valueOf())===(e==null?void 0:e.valueOf())}function Fh(t,e){return Tn(e)?t.length===e.length&&t.every((n,r)=>n===e[r]):t.length===1&&t[0]===e}function D_(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let i=n.length-1,s,a;for(s=0;s1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(s).join("/")}const Tr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let _l=function(t){return t.pop="pop",t.push="push",t}({}),Bc=function(t){return t.back="back",t.forward="forward",t.unknown="",t}({});function L_(t){if(!t)if(Mo){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),P_(t)}const U_=/^[^#]+#/;function H_(t,e){return t.replace(U_,"#")+e}function B_(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const Ja=()=>({left:window.scrollX,top:window.scrollY});function F_(t){let e;if("el"in t){const n=t.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;e=B_(o,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function Kh(t,e){return(history.state?history.state.position-e:-1)+t}const Sl=new Map;function K_(t,e){Sl.set(t,e)}function $_(t){const e=Sl.get(t);return Sl.delete(t),e}function q_(t){return typeof t=="string"||t&&typeof t=="object"}function vm(t){return typeof t=="string"||typeof t=="symbol"}let et=function(t){return t[t.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",t[t.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",t[t.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",t[t.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",t[t.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",t}({});const Cm=Symbol("");et.MATCHER_NOT_FOUND+"",et.NAVIGATION_GUARD_REDIRECT+"",et.NAVIGATION_ABORTED+"",et.NAVIGATION_CANCELLED+"",et.NAVIGATION_DUPLICATED+"";function ai(t,e){return Le(new Error,{type:t,[Cm]:!0},e)}function Qn(t,e){return t instanceof Error&&Cm in t&&(e==null||!!(t.type&e))}const j_=["params","query","hash"];function V_(t){if(typeof t=="string")return t;if(t.path!=null)return t.path;const e={};for(const n of j_)n in t&&(e[n]=t[n]);return JSON.stringify(e,null,2)}function G_(t){const e={};if(t===""||t==="?")return e;const n=(t[0]==="?"?t.slice(1):t).split("&");for(let r=0;ro&&bl(o)):[r&&bl(r)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+n,o!=null&&(e+="="+o))})}return e}function z_(t){const e={};for(const n in t){const r=t[n];r!==void 0&&(e[n]=Tn(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return e}const W_=Symbol(""),qh=Symbol(""),Xa=Symbol(""),Ou=Symbol(""),Il=Symbol("");function Ai(){let t=[];function e(r){return t.push(r),()=>{const o=t.indexOf(r);o>-1&&t.splice(o,1)}}function n(){t=[]}return{add:e,list:()=>t.slice(),reset:n}}function Or(t,e,n,r,o,i=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,c)=>{const l=h=>{h===!1?c(ai(et.NAVIGATION_ABORTED,{from:n,to:e})):h instanceof Error?c(h):q_(h)?c(ai(et.NAVIGATION_GUARD_REDIRECT,{from:e,to:h})):(s&&r.enterCallbacks[o]===s&&typeof h=="function"&&s.push(h),a())},u=i(()=>t.call(r&&r.instances[o],e,n,l));let d=Promise.resolve(u);t.length<3&&(d=d.then(l)),d.catch(h=>c(h))})}function Fc(t,e,n,r,o=i=>i()){const i=[];for(const s of t)for(const a in s.components){let c=s.components[a];if(!(e!=="beforeRouteEnter"&&!s.instances[a]))if(dm(c)){const l=(c.__vccOpts||c)[e];l&&i.push(Or(l,n,r,s,a,o))}else{let l=c();i.push(()=>l.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${s.path}"`);const d=m_(u)?u.default:u;s.mods[a]=u,s.components[a]=d;const h=(d.__vccOpts||d)[e];return h&&Or(h,n,r,s,a,o)()}))}}return i}function Q_(t,e){const n=[],r=[],o=[],i=Math.max(e.matched.length,t.matched.length);for(let s=0;ssi(l,a))?r.push(a):n.push(a));const c=t.matched[s];c&&(e.matched.find(l=>si(l,c))||o.push(c))}return[n,r,o]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Y_=()=>location.protocol+"//"+location.host;function wm(t,e){const{pathname:n,search:r,hash:o}=e,i=t.indexOf("#");if(i>-1){let s=o.includes(t.slice(i))?t.slice(i).length:1,a=o.slice(s);return a[0]!=="/"&&(a="/"+a),Bh(a,"")}return Bh(n,t)+r+o}function J_(t,e,n,r){let o=[],i=[],s=null;const a=({state:h})=>{const f=wm(t,location),p=n.value,g=e.value;let m=0;if(h){if(n.value=f,e.value=h,s&&s===p){s=null;return}m=g?h.position-g.position:0}else r(f);o.forEach(C=>{C(n.value,p,{delta:m,type:_l.pop,direction:m?m>0?Bc.forward:Bc.back:Bc.unknown})})};function c(){s=n.value}function l(h){o.push(h);const f=()=>{const p=o.indexOf(h);p>-1&&o.splice(p,1)};return i.push(f),f}function u(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Le({},h.state,{scroll:Ja()}),"")}}function d(){for(const h of i)h();i=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:l,destroy:d}}function jh(t,e,n,r=!1,o=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:o?Ja():null}}function X_(t){const{history:e,location:n}=window,r={value:wm(t,n)},o={value:e.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function i(c,l,u){const d=t.indexOf("#"),h=d>-1?(n.host&&document.querySelector("base")?t:t.slice(d))+c:Y_()+t+c;try{e[u?"replaceState":"pushState"](l,"",h),o.value=l}catch(f){console.error(f),n[u?"replace":"assign"](h)}}function s(c,l){i(c,Le({},e.state,jh(o.value.back,c,o.value.forward,!0),l,{position:o.value.position}),!0),r.value=c}function a(c,l){const u=Le({},o.value,e.state,{forward:c,scroll:Ja()});i(u.current,u,!0),i(c,Le({},jh(r.value,c,null),{position:u.position+1},l),!1),r.value=c}return{location:r,state:o,push:a,replace:s}}function Z_(t){t=L_(t);const e=X_(t),n=J_(t,e.state,e.location,e.replace);function r(i,s=!0){s||n.pauseListeners(),history.go(i)}const o=Le({location:"",base:t,go:r,createHref:H_.bind(null,t)},e,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}let to=function(t){return t[t.Static=0]="Static",t[t.Param=1]="Param",t[t.Group=2]="Group",t}({});var ct=function(t){return t[t.Static=0]="Static",t[t.Param=1]="Param",t[t.ParamRegExp=2]="ParamRegExp",t[t.ParamRegExpEnd=3]="ParamRegExpEnd",t[t.EscapeNext=4]="EscapeNext",t}(ct||{});const eS={type:to.Static,value:""},tS=/[a-zA-Z0-9_]/;function nS(t){if(!t)return[[]];if(t==="/")return[[eS]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(f){throw new Error(`ERR (${n})/"${l}": ${f}`)}let n=ct.Static,r=n;const o=[];let i;function s(){i&&o.push(i),i=[]}let a=0,c,l="",u="";function d(){l&&(n===ct.Static?i.push({type:to.Static,value:l}):n===ct.Param||n===ct.ParamRegExp||n===ct.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:to.Param,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function h(){l+=c}for(;ae.length?e.length===1&&e[0]===Nt.Static+Nt.Segment?1:-1:0}function Am(t,e){let n=0;const r=t.score,o=e.score;for(;n0&&e[e.length-1]<0}const aS={strict:!1,end:!0,sensitive:!1};function cS(t,e,n){const r=iS(nS(t.path),n),o=Le(r,{record:t,parent:e,children:[],alias:[]});return e&&!o.record.aliasOf==!e.record.aliasOf&&e.children.push(o),o}function lS(t,e){const n=[],r=new Map;e=Hh(aS,e);function o(d){return r.get(d)}function i(d,h,f){const p=!f,g=Wh(d);g.aliasOf=f&&f.record;const m=Hh(e,d),C=[g];if("alias"in d){const w=typeof d.alias=="string"?[d.alias]:d.alias;for(const S of w)C.push(Wh(Le({},g,{components:f?f.record.components:g.components,path:S,aliasOf:f?f.record:g})))}let T,y;for(const w of C){const{path:S}=w;if(h&&S[0]!=="/"){const B=h.record.path,N=B[B.length-1]==="/"?"":"/";w.path=h.record.path+(S&&N+S)}if(T=cS(w,h,m),f?f.alias.push(T):(y=y||T,y!==T&&y.alias.push(T),p&&d.name&&!Qh(T)&&s(d.name)),Tm(T)&&c(T),g.children){const B=g.children;for(let N=0;N{s(y)}:Li}function s(d){if(vm(d)){const h=r.get(d);h&&(r.delete(d),n.splice(n.indexOf(h),1),h.children.forEach(s),h.alias.forEach(s))}else{const h=n.indexOf(d);h>-1&&(n.splice(h,1),d.record.name&&r.delete(d.record.name),d.children.forEach(s),d.alias.forEach(s))}}function a(){return n}function c(d){const h=hS(d,n);n.splice(h,0,d),d.record.name&&!Qh(d)&&r.set(d.record.name,d)}function l(d,h){let f,p={},g,m;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw ai(et.MATCHER_NOT_FOUND,{location:d});m=f.record.name,p=Le(zh(h.params,f.keys.filter(y=>!y.optional).concat(f.parent?f.parent.keys.filter(y=>y.optional):[]).map(y=>y.name)),d.params&&zh(d.params,f.keys.map(y=>y.name))),g=f.stringify(p)}else if(d.path!=null)g=d.path,f=n.find(y=>y.re.test(g)),f&&(p=f.parse(g),m=f.record.name);else{if(f=h.name?r.get(h.name):n.find(y=>y.re.test(h.path)),!f)throw ai(et.MATCHER_NOT_FOUND,{location:d,currentLocation:h});m=f.record.name,p=Le({},h.params,d.params),g=f.stringify(p)}const C=[];let T=f;for(;T;)C.unshift(T.record),T=T.parent;return{name:m,path:g,params:p,matched:C,meta:dS(C)}}t.forEach(d=>i(d));function u(){n.length=0,r.clear()}return{addRoute:i,resolve:l,removeRoute:s,clearRoutes:u,getRoutes:a,getRecordMatcher:o}}function zh(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function Wh(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:uS(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function uS(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]=typeof n=="object"?n[r]:n;return e}function Qh(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function dS(t){return t.reduce((e,n)=>Le(e,n.meta),{})}function hS(t,e){let n=0,r=e.length;for(;n!==r;){const i=n+r>>1;Am(t,e[i])<0?r=i:n=i+1}const o=fS(t);return o&&(r=e.lastIndexOf(o,r-1)),r}function fS(t){let e=t;for(;e=e.parent;)if(Tm(e)&&Am(t,e)===0)return e}function Tm({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function Yh(t){const e=Zt(Xa),n=Zt(Ou),r=Q(()=>{const c=I(t.to);return e.resolve(c)}),o=Q(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],d=n.matched;if(!u||!d.length)return-1;const h=d.findIndex(si.bind(null,u));if(h>-1)return h;const f=Jh(c[l-2]);return l>1&&Jh(u)===f&&d[d.length-1].path!==f?d.findIndex(si.bind(null,c[l-2])):h}),i=Q(()=>o.value>-1&&vS(n.params,r.value.params)),s=Q(()=>o.value>-1&&o.value===n.matched.length-1&&ym(n.params,r.value.params));function a(c={}){if(yS(c)){const l=e[I(t.replace)?"replace":"push"](I(t.to)).catch(Li);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:r,href:Q(()=>r.value.href),isActive:i,isExactActive:s,navigate:a}}function pS(t){return t.length===1?t[0]:t}const gS=ye({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:Yh,setup(t,{slots:e}){const n=To(Yh(t)),{options:r}=Zt(Xa),o=Q(()=>({[Xh(t.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Xh(t.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=e.default&&pS(e.default(n));return t.custom?i:fo("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},i)}}}),mS=gS;function yS(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function vS(t,e){for(const n in e){const r=e[n],o=t[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Tn(o)||o.length!==r.length||r.some((i,s)=>i.valueOf()!==o[s].valueOf()))return!1}return!0}function Jh(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Xh=(t,e,n)=>t??e??n,CS=ye({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const r=Zt(Il),o=Q(()=>t.route||r.value),i=Zt(qh,0),s=Q(()=>{let l=I(i);const{matched:u}=o.value;let d;for(;(d=u[l])&&!d.components;)l++;return l}),a=Q(()=>o.value.matched[s.value]);Pi(qh,Q(()=>s.value+1)),Pi(W_,a),Pi(Il,o);const c=J();return ut(()=>[c.value,a.value,t.name],([l,u,d],[h,f,p])=>{u&&(u.instances[d]=l,f&&f!==u&&l&&l===h&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!si(u,f)||!h)&&(u.enterCallbacks[d]||[]).forEach(g=>g(l))},{flush:"post"}),()=>{const l=o.value,u=t.name,d=a.value,h=d&&d.components[u];if(!h)return Zh(n.default,{Component:h,route:l});const f=d.props[u],p=f?f===!0?l.params:typeof f=="function"?f(l):f:null,m=fo(h,Le({},p,e,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(d.instances[u]=null)},ref:c}));return Zh(n.default,{Component:m,route:l})||m}}});function Zh(t,e){if(!t)return null;const n=t(e);return n.length===1?n[0]:n}const wS=CS;function AS(t){const e=lS(t.routes,t),n=t.parseQuery||G_,r=t.stringifyQuery||$h,o=t.history,i=Ai(),s=Ai(),a=Ai(),c=iu(Tr);let l=Tr;Mo&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Uc.bind(null,R=>""+R),d=Uc.bind(null,O_),h=Uc.bind(null,Zi);function f(R,H){let q,Z;return vm(R)?(q=e.getRecordMatcher(R),Z=H):Z=R,e.addRoute(Z,q)}function p(R){const H=e.getRecordMatcher(R);H&&e.removeRoute(H)}function g(){return e.getRoutes().map(R=>R.record)}function m(R){return!!e.getRecordMatcher(R)}function C(R,H){if(H=Le({},H||c.value),typeof R=="string"){const E=Hc(n,R,H.path),M=e.resolve({path:E.path},H),U=o.createHref(E.fullPath);return Le(E,M,{params:h(M.params),hash:Zi(E.hash),redirectedFrom:void 0,href:U})}let q;if(R.path!=null)q=Le({},R,{path:Hc(n,R.path,H.path).path});else{const E=Le({},R.params);for(const M in E)E[M]==null&&delete E[M];q=Le({},R,{params:d(E)}),H.params=d(H.params)}const Z=e.resolve(q,H),Ae=R.hash||"";Z.params=u(h(Z.params));const v=N_(r,Le({},R,{hash:S_(Ae),path:Z.path})),A=o.createHref(v);return Le({fullPath:v,hash:Ae,query:r===$h?z_(R.query):R.query||{}},Z,{redirectedFrom:void 0,href:A})}function T(R){return typeof R=="string"?Hc(n,R,c.value.path):Le({},R)}function y(R,H){if(l!==R)return ai(et.NAVIGATION_CANCELLED,{from:H,to:R})}function w(R){return N(R)}function S(R){return w(Le(T(R),{replace:!0}))}function B(R,H){const q=R.matched[R.matched.length-1];if(q&&q.redirect){const{redirect:Z}=q;let Ae=typeof Z=="function"?Z(R,H):Z;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=T(Ae):{path:Ae},Ae.params={}),Le({query:R.query,hash:R.hash,params:Ae.path!=null?{}:R.params},Ae)}}function N(R,H){const q=l=C(R),Z=c.value,Ae=R.state,v=R.force,A=R.replace===!0,E=B(q,Z);if(E)return N(Le(T(E),{state:typeof E=="object"?Le({},Ae,E.state):Ae,force:v,replace:A}),H||q);const M=q;M.redirectedFrom=H;let U;return!v&&x_(r,Z,q)&&(U=ai(et.NAVIGATION_DUPLICATED,{to:M,from:Z}),tt(Z,Z,!0,!1)),(U?Promise.resolve(U):F(M,Z)).catch(D=>Qn(D)?Qn(D,et.NAVIGATION_GUARD_REDIRECT)?D:Me(D):he(D,M,Z)).then(D=>{if(D){if(Qn(D,et.NAVIGATION_GUARD_REDIRECT))return N(Le({replace:A},T(D.to),{state:typeof D.to=="object"?Le({},Ae,D.to.state):Ae,force:v}),H||M)}else D=$(M,Z,!0,A,Ae);return ee(M,Z,D),D})}function L(R,H){const q=y(R,H);return q?Promise.reject(q):Promise.resolve()}function k(R){const H=vt.values().next().value;return H&&typeof H.runWithContext=="function"?H.runWithContext(R):R()}function F(R,H){let q;const[Z,Ae,v]=Q_(R,H);q=Fc(Z.reverse(),"beforeRouteLeave",R,H);for(const E of Z)E.leaveGuards.forEach(M=>{q.push(Or(M,R,H))});const A=L.bind(null,R,H);return q.push(A),Te(q).then(()=>{q=[];for(const E of i.list())q.push(Or(E,R,H));return q.push(A),Te(q)}).then(()=>{q=Fc(Ae,"beforeRouteUpdate",R,H);for(const E of Ae)E.updateGuards.forEach(M=>{q.push(Or(M,R,H))});return q.push(A),Te(q)}).then(()=>{q=[];for(const E of v)if(E.beforeEnter)if(Tn(E.beforeEnter))for(const M of E.beforeEnter)q.push(Or(M,R,H));else q.push(Or(E.beforeEnter,R,H));return q.push(A),Te(q)}).then(()=>(R.matched.forEach(E=>E.enterCallbacks={}),q=Fc(v,"beforeRouteEnter",R,H,k),q.push(A),Te(q))).then(()=>{q=[];for(const E of s.list())q.push(Or(E,R,H));return q.push(A),Te(q)}).catch(E=>Qn(E,et.NAVIGATION_CANCELLED)?E:Promise.reject(E))}function ee(R,H,q){a.list().forEach(Z=>k(()=>Z(R,H,q)))}function $(R,H,q,Z,Ae){const v=y(R,H);if(v)return v;const A=H===Tr,E=Mo?history.state:{};q&&(Z||A?o.replace(R.fullPath,Le({scroll:A&&E&&E.scroll},Ae)):o.push(R.fullPath,Ae)),c.value=R,tt(R,H,q,A),Me()}let ie;function re(){ie||(ie=o.listen((R,H,q)=>{if(!O.listening)return;const Z=C(R),Ae=B(Z,O.currentRoute.value);if(Ae){N(Le(Ae,{replace:!0,force:!0}),Z).catch(Li);return}l=Z;const v=c.value;Mo&&K_(Kh(v.fullPath,q.delta),Ja()),F(Z,v).catch(A=>Qn(A,et.NAVIGATION_ABORTED|et.NAVIGATION_CANCELLED)?A:Qn(A,et.NAVIGATION_GUARD_REDIRECT)?(N(Le(T(A.to),{force:!0}),Z).then(E=>{Qn(E,et.NAVIGATION_ABORTED|et.NAVIGATION_DUPLICATED)&&!q.delta&&q.type===_l.pop&&o.go(-1,!1)}).catch(Li),Promise.reject()):(q.delta&&o.go(-q.delta,!1),he(A,Z,v))).then(A=>{A=A||$(Z,v,!1),A&&(q.delta&&!Qn(A,et.NAVIGATION_CANCELLED)?o.go(-q.delta,!1):q.type===_l.pop&&Qn(A,et.NAVIGATION_ABORTED|et.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ee(Z,v,A)}).catch(Li)}))}let Re=Ai(),ue=Ai(),oe;function he(R,H,q){Me(R);const Z=ue.list();return Z.length?Z.forEach(Ae=>Ae(R,H,q)):console.error(R),Promise.reject(R)}function be(){return oe&&c.value!==Tr?Promise.resolve():new Promise((R,H)=>{Re.add([R,H])})}function Me(R){return oe||(oe=!R,re(),Re.list().forEach(([H,q])=>R?q(R):H()),Re.reset()),R}function tt(R,H,q,Z){const{scrollBehavior:Ae}=t;if(!Mo||!Ae)return Promise.resolve();const v=!q&&$_(Kh(R.fullPath,0))||(Z||!q)&&history.state&&history.state.scroll||null;return cn().then(()=>Ae(R,H,v)).then(A=>A&&F_(A)).catch(A=>he(A,R,H))}const st=R=>o.go(R);let Ge;const vt=new Set,O={currentRoute:c,listening:!0,addRoute:f,removeRoute:p,clearRoutes:e.clearRoutes,hasRoute:m,getRoutes:g,resolve:C,options:t,push:w,replace:S,go:st,back:()=>st(-1),forward:()=>st(1),beforeEach:i.add,beforeResolve:s.add,afterEach:a.add,onError:ue.add,isReady:be,install(R){R.component("RouterLink",mS),R.component("RouterView",wS),R.config.globalProperties.$router=O,Object.defineProperty(R.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),Mo&&!Ge&&c.value===Tr&&(Ge=!0,w(o.location).catch(Z=>{}));const H={};for(const Z in Tr)Object.defineProperty(H,Z,{get:()=>c.value[Z],enumerable:!0});R.provide(Xa,O),R.provide(Ou,Rp(H)),R.provide(Il,c);const q=R.unmount;vt.add(R),R.unmount=function(){vt.delete(R),vt.size<1&&(l=Tr,ie&&ie(),ie=null,c.value=Tr,Ge=!1,oe=!1),q()}}};function Te(R){return R.reduce((H,q)=>H.then(()=>k(q)),Promise.resolve())}return O}function l0(){return Zt(Xa)}function u0(t){return Zt(Ou)}function Em(t,e){return function(){return t.apply(e,arguments)}}const{toString:TS}=Object.prototype,{getPrototypeOf:Za}=Object,{iterator:ec,toStringTag:bm}=Symbol,tc=(t=>e=>{const n=TS.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),bn=t=>(t=t.toLowerCase(),e=>tc(e)===t),nc=t=>e=>typeof e===t,{isArray:gi}=Array,ci=nc("undefined");function gs(t){return t!==null&&!ci(t)&&t.constructor!==null&&!ci(t.constructor)&&Ft(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const _m=bn("ArrayBuffer");function ES(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&_m(t.buffer),e}const bS=nc("string"),Ft=nc("function"),Sm=nc("number"),ms=t=>t!==null&&typeof t=="object",_S=t=>t===!0||t===!1,Vs=t=>{if(tc(t)!=="object")return!1;const e=Za(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(bm in t)&&!(ec in t)},SS=t=>{if(!ms(t)||gs(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},IS=bn("Date"),RS=bn("File"),OS=t=>!!(t&&typeof t.uri<"u"),kS=t=>t&&typeof t.getParts<"u",PS=bn("Blob"),NS=bn("FileList"),xS=t=>ms(t)&&Ft(t.pipe);function MS(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const ef=MS(),tf=typeof ef.FormData<"u"?ef.FormData:void 0,DS=t=>{if(!t)return!1;if(tf&&t instanceof tf)return!0;const e=Za(t);if(!e||e===Object.prototype||!Ft(t.append))return!1;const n=tc(t);return n==="formdata"||n==="object"&&Ft(t.toString)&&t.toString()==="[object FormData]"},LS=bn("URLSearchParams"),[US,HS,BS,FS]=["ReadableStream","Request","Response","Headers"].map(bn),KS=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ys(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,o;if(typeof t!="object"&&(t=[t]),gi(t))for(r=0,o=t.length;r0;)if(o=n[r],e===o.toLowerCase())return o;return null}const no=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rm=t=>!ci(t)&&t!==no;function Rl(...t){const{caseless:e,skipUndefined:n}=Rm(this)&&this||{},r={},o=(i,s)=>{if(s==="__proto__"||s==="constructor"||s==="prototype")return;const a=e&&Im(r,s)||s,c=Ol(r,a)?r[a]:void 0;Vs(c)&&Vs(i)?r[a]=Rl(c,i):Vs(i)?r[a]=Rl({},i):gi(i)?r[a]=i.slice():(!n||!ci(i))&&(r[a]=i)};for(let i=0,s=t.length;i(ys(e,(o,i)=>{n&&Ft(o)?Object.defineProperty(t,i,{__proto__:null,value:Em(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,i,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),qS=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),jS=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{__proto__:null,value:e.prototype}),n&&Object.assign(t.prototype,n)},VS=(t,e,n,r)=>{let o,i,s;const a={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],(!r||r(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=n!==!1&&Za(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},GS=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},zS=t=>{if(!t)return null;if(gi(t))return t;let e=t.length;if(!Sm(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},WS=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Za(Uint8Array)),QS=(t,e)=>{const r=(t&&t[ec]).call(t);let o;for(;(o=r.next())&&!o.done;){const i=o.value;e.call(t,i[0],i[1])}},YS=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},JS=bn("HTMLFormElement"),XS=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Ol=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),ZS=bn("RegExp"),Om=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};ys(n,(o,i)=>{let s;(s=e(o,i,t))!==!1&&(r[i]=s||o)}),Object.defineProperties(t,r)},eI=t=>{Om(t,(e,n)=>{if(Ft(t)&&["arguments","caller","callee"].includes(n))return!1;const r=t[n];if(Ft(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},tI=(t,e)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return gi(t)?r(t):r(String(t).split(e)),n},nI=()=>{},rI=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function oI(t){return!!(t&&Ft(t.append)&&t[bm]==="FormData"&&t[ec])}const iI=t=>{const e=new Array(10),n=(r,o)=>{if(ms(r)){if(e.indexOf(r)>=0)return;if(gs(r))return r;if(!("toJSON"in r)){e[o]=r;const i=gi(r)?[]:{};return ys(r,(s,a)=>{const c=n(s,o+1);!ci(c)&&(i[a]=c)}),e[o]=void 0,i}}return r};return n(t,0)},sI=bn("AsyncFunction"),aI=t=>t&&(ms(t)||Ft(t))&&Ft(t.then)&&Ft(t.catch),km=((t,e)=>t?setImmediate:e?((n,r)=>(no.addEventListener("message",({source:o,data:i})=>{o===no&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),no.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ft(no.postMessage)),cI=typeof queueMicrotask<"u"?queueMicrotask.bind(no):typeof process<"u"&&process.nextTick||km,lI=t=>t!=null&&Ft(t[ec]),b={isArray:gi,isArrayBuffer:_m,isBuffer:gs,isFormData:DS,isArrayBufferView:ES,isString:bS,isNumber:Sm,isBoolean:_S,isObject:ms,isPlainObject:Vs,isEmptyObject:SS,isReadableStream:US,isRequest:HS,isResponse:BS,isHeaders:FS,isUndefined:ci,isDate:IS,isFile:RS,isReactNativeBlob:OS,isReactNative:kS,isBlob:PS,isRegExp:ZS,isFunction:Ft,isStream:xS,isURLSearchParams:LS,isTypedArray:WS,isFileList:NS,forEach:ys,merge:Rl,extend:$S,trim:KS,stripBOM:qS,inherits:jS,toFlatObject:VS,kindOf:tc,kindOfTest:bn,endsWith:GS,toArray:zS,forEachEntry:QS,matchAll:YS,isHTMLForm:JS,hasOwnProperty:Ol,hasOwnProp:Ol,reduceDescriptors:Om,freezeMethods:eI,toObjectSet:tI,toCamelCase:XS,noop:nI,toFiniteNumber:rI,findKey:Im,global:no,isContextDefined:Rm,isSpecCompliantForm:oI,toJSONObject:iI,isAsyncFn:sI,isThenable:aI,setImmediate:km,asap:cI,isIterable:lI},uI=b.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),dI=t=>{const e={};let n,r,o;return t&&t.split(` +`).forEach(function(s){o=s.indexOf(":"),n=s.substring(0,o).trim().toLowerCase(),r=s.substring(o+1).trim(),!(!n||e[n]&&uI[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},nf=Symbol("internals"),hI=/[^\x09\x20-\x7E\x80-\xFF]/g;function fI(t){let e=0,n=t.length;for(;ee;){const r=t.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return e===0&&n===t.length?t:t.slice(e,n)}function Ti(t){return t&&String(t).trim().toLowerCase()}function pI(t){return fI(t.replace(hI,""))}function Gs(t){return t===!1||t==null?t:b.isArray(t)?t.map(Gs):pI(String(t))}function gI(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const mI=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Kc(t,e,n,r,o){if(b.isFunction(r))return r.call(this,e,n);if(o&&(e=n),!!b.isString(e)){if(b.isString(r))return e.indexOf(r)!==-1;if(b.isRegExp(r))return r.test(e)}}function yI(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function vI(t,e){const n=b.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{__proto__:null,value:function(o,i,s){return this[r].call(this,e,o,i,s)},configurable:!0})})}let Ut=class{constructor(e){e&&this.set(e)}set(e,n,r){const o=this;function i(a,c,l){const u=Ti(c);if(!u)throw new Error("header name must be a non-empty string");const d=b.findKey(o,u);(!d||o[d]===void 0||l===!0||l===void 0&&o[d]!==!1)&&(o[d||c]=Gs(a))}const s=(a,c)=>b.forEach(a,(l,u)=>i(l,u,c));if(b.isPlainObject(e)||e instanceof this.constructor)s(e,n);else if(b.isString(e)&&(e=e.trim())&&!mI(e))s(dI(e),n);else if(b.isObject(e)&&b.isIterable(e)){let a={},c,l;for(const u of e){if(!b.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(c=a[l])?b.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}s(a,n)}else e!=null&&i(n,e,r);return this}get(e,n){if(e=Ti(e),e){const r=b.findKey(this,e);if(r){const o=this[r];if(!n)return o;if(n===!0)return gI(o);if(b.isFunction(n))return n.call(this,o,r);if(b.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ti(e),e){const r=b.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||Kc(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let o=!1;function i(s){if(s=Ti(s),s){const a=b.findKey(r,s);a&&(!n||Kc(r,r[a],a,n))&&(delete r[a],o=!0)}}return b.isArray(e)?e.forEach(i):i(e),o}clear(e){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!e||Kc(this,this[i],i,e,!0))&&(delete this[i],o=!0)}return o}normalize(e){const n=this,r={};return b.forEach(this,(o,i)=>{const s=b.findKey(r,i);if(s){n[s]=Gs(o),delete n[i];return}const a=e?yI(i):String(i).trim();a!==i&&delete n[i],n[a]=Gs(o),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return b.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=e&&b.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(o=>r.set(o)),r}static accessor(e){const r=(this[nf]=this[nf]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=Ti(s);r[a]||(vI(o,s),r[a]=!0)}return b.isArray(e)?e.forEach(i):i(e),this}};Ut.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);b.reduceDescriptors(Ut.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});b.freezeMethods(Ut);const CI="[REDACTED ****]";function wI(t){if(b.hasOwnProp(t,"toJSON"))return!0;let e=Object.getPrototypeOf(t);for(;e&&e!==Object.prototype;){if(b.hasOwnProp(e,"toJSON"))return!0;e=Object.getPrototypeOf(e)}return!1}function AI(t,e){const n=new Set(e.map(i=>String(i).toLowerCase())),r=[],o=i=>{if(i===null||typeof i!="object"||b.isBuffer(i))return i;if(r.indexOf(i)!==-1)return;i instanceof Ut&&(i=i.toJSON()),r.push(i);let s;if(b.isArray(i))s=[],i.forEach((a,c)=>{const l=o(a);b.isUndefined(l)||(s[c]=l)});else{if(!b.isPlainObject(i)&&wI(i))return r.pop(),i;s=Object.create(null);for(const[a,c]of Object.entries(i)){const l=n.has(a.toLowerCase())?CI:o(c);b.isUndefined(l)||(s[a]=l)}}return r.pop(),s};return o(t)}let ne=class Pm extends Error{static from(e,n,r,o,i,s){const a=new Pm(e.message,n||e.code,r,o,i);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),s&&Object.assign(a,s),a}constructor(e,n,r,o,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){const e=this.config,n=e&&b.hasOwnProp(e,"redact")?e.redact:void 0,r=b.isArray(n)&&n.length>0?AI(e,n):b.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};ne.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ne.ERR_BAD_OPTION="ERR_BAD_OPTION";ne.ECONNABORTED="ECONNABORTED";ne.ETIMEDOUT="ETIMEDOUT";ne.ECONNREFUSED="ECONNREFUSED";ne.ERR_NETWORK="ERR_NETWORK";ne.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ne.ERR_DEPRECATED="ERR_DEPRECATED";ne.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ne.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ne.ERR_CANCELED="ERR_CANCELED";ne.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ne.ERR_INVALID_URL="ERR_INVALID_URL";ne.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const TI=null;function kl(t){return b.isPlainObject(t)||b.isArray(t)}function Nm(t){return b.endsWith(t,"[]")?t.slice(0,-2):t}function $c(t,e,n){return t?t.concat(e).map(function(o,i){return o=Nm(o),!n&&i?"["+o+"]":o}).join(n?".":""):e}function EI(t){return b.isArray(t)&&!t.some(kl)}const bI=b.toFlatObject(b,{},null,function(e){return/^is[A-Z]/.test(e)});function rc(t,e,n){if(!b.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=b.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,C){return!b.isUndefined(C[m])});const r=n.metaTokens,o=n.visitor||d,i=n.dots,s=n.indexes,a=n.Blob||typeof Blob<"u"&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,l=a&&b.isSpecCompliantForm(e);if(!b.isFunction(o))throw new TypeError("visitor must be a function");function u(g){if(g===null)return"";if(b.isDate(g))return g.toISOString();if(b.isBoolean(g))return g.toString();if(!l&&b.isBlob(g))throw new ne("Blob is not supported. Use a Buffer instead.");return b.isArrayBuffer(g)||b.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function d(g,m,C){let T=g;if(b.isReactNative(e)&&b.isReactNativeBlob(g))return e.append($c(C,m,i),u(g)),!1;if(g&&!C&&typeof g=="object"){if(b.endsWith(m,"{}"))m=r?m:m.slice(0,-2),g=JSON.stringify(g);else if(b.isArray(g)&&EI(g)||(b.isFileList(g)||b.endsWith(m,"[]"))&&(T=b.toArray(g)))return m=Nm(m),T.forEach(function(w,S){!(b.isUndefined(w)||w===null)&&e.append(s===!0?$c([m],S,i):s===null?m:m+"[]",u(w))}),!1}return kl(g)?!0:(e.append($c(C,m,i),u(g)),!1)}const h=[],f=Object.assign(bI,{defaultVisitor:d,convertValue:u,isVisitable:kl});function p(g,m,C=0){if(!b.isUndefined(g)){if(C>c)throw new ne("Object is too deeply nested ("+C+" levels). Max depth: "+c,ne.ERR_FORM_DATA_DEPTH_EXCEEDED);if(h.indexOf(g)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(g),b.forEach(g,function(y,w){(!(b.isUndefined(y)||y===null)&&o.call(e,y,b.isString(w)?w.trim():w,m,f))===!0&&p(y,m?m.concat(w):[w],C+1)}),h.pop()}}if(!b.isObject(t))throw new TypeError("data must be an object");return p(t),e}function rf(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(r){return e[r]})}function ku(t,e){this._pairs=[],t&&rc(t,this,e)}const xm=ku.prototype;xm.append=function(e,n){this._pairs.push([e,n])};xm.toString=function(e){const n=e?function(r){return e.call(this,r,rf)}:rf;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function _I(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Mm(t,e,n){if(!e)return t;const r=n&&n.encode||_I,o=b.isFunction(n)?{serialize:n}:n,i=o&&o.serialize;let s;if(i?s=i(e,o):s=b.isURLSearchParams(e)?e.toString():new ku(e,o).toString(r),s){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}class of{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){b.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Pu={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},SI=typeof URLSearchParams<"u"?URLSearchParams:ku,II=typeof FormData<"u"?FormData:null,RI=typeof Blob<"u"?Blob:null,OI={isBrowser:!0,classes:{URLSearchParams:SI,FormData:II,Blob:RI},protocols:["http","https","file","blob","url","data"]},Nu=typeof window<"u"&&typeof document<"u",Pl=typeof navigator=="object"&&navigator||void 0,kI=Nu&&(!Pl||["ReactNative","NativeScript","NS"].indexOf(Pl.product)<0),PI=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",NI=Nu&&window.location.href||"http://localhost",xI=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Nu,hasStandardBrowserEnv:kI,hasStandardBrowserWebWorkerEnv:PI,navigator:Pl,origin:NI},Symbol.toStringTag,{value:"Module"})),Rt={...xI,...OI};function MI(t,e){return rc(t,new Rt.classes.URLSearchParams,{visitor:function(n,r,o,i){return Rt.isNode&&b.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function DI(t){return b.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function LI(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r=n.length;return s=!s&&b.isArray(o)?o.length:s,c?(b.hasOwnProp(o,s)?o[s]=b.isArray(o[s])?o[s].concat(r):[o[s],r]:o[s]=r,!a):((!o[s]||!b.isObject(o[s]))&&(o[s]=[]),e(n,r,o[s],i)&&b.isArray(o[s])&&(o[s]=LI(o[s])),!a)}if(b.isFormData(t)&&b.isFunction(t.entries)){const n={};return b.forEachEntry(t,(r,o)=>{e(DI(r),o,n,0)}),n}return null}const ko=(t,e)=>t!=null&&b.hasOwnProp(t,e)?t[e]:void 0;function UI(t,e,n){if(b.isString(t))try{return(e||JSON.parse)(t),b.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const vs={transitional:Pu,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=b.isObject(e);if(i&&b.isHTMLForm(e)&&(e=new FormData(e)),b.isFormData(e))return o?JSON.stringify(Dm(e)):e;if(b.isArrayBuffer(e)||b.isBuffer(e)||b.isStream(e)||b.isFile(e)||b.isBlob(e)||b.isReadableStream(e))return e;if(b.isArrayBufferView(e))return e.buffer;if(b.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){const c=ko(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return MI(e,c).toString();if((a=b.isFileList(e))||r.indexOf("multipart/form-data")>-1){const l=ko(this,"env"),u=l&&l.FormData;return rc(a?{"files[]":e}:e,u&&new u,c)}}return i||o?(n.setContentType("application/json",!1),UI(e)):e}],transformResponse:[function(e){const n=ko(this,"transitional")||vs.transitional,r=n&&n.forcedJSONParsing,o=ko(this,"responseType"),i=o==="json";if(b.isResponse(e)||b.isReadableStream(e))return e;if(e&&b.isString(e)&&(r&&!o||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e,ko(this,"parseReviver"))}catch(c){if(a)throw c.name==="SyntaxError"?ne.from(c,ne.ERR_BAD_RESPONSE,this,null,ko(this,"response")):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Rt.classes.FormData,Blob:Rt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};b.forEach(["delete","get","head","post","put","patch","query"],t=>{vs.headers[t]={}});function qc(t,e){const n=this||vs,r=e||n,o=Ut.from(r.headers);let i=r.data;return b.forEach(t,function(a){i=a.call(n,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function Lm(t){return!!(t&&t.__CANCEL__)}let Cs=class extends ne{constructor(e,n,r){super(e??"canceled",ne.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function Um(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new ne("Request failed with status code "+n.status,n.status>=400&&n.status<500?ne.ERR_BAD_REQUEST:ne.ERR_BAD_RESPONSE,n.config,n.request,n))}function HI(t){const e=/^([-+\w]{1,25}):(?:\/\/)?/.exec(t);return e&&e[1]||""}function BI(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o=0,i=0,s;return e=e!==void 0?e:1e3,function(c){const l=Date.now(),u=r[i];s||(s=l),n[o]=c,r[o]=l;let d=i,h=0;for(;d!==o;)h+=n[d++],d=d%t;if(o=(o+1)%t,o===i&&(i=(i+1)%t),l-s{n=u,o=null,i&&(clearTimeout(i),i=null),t(...l)};return[(...l)=>{const u=Date.now(),d=u-n;d>=r?s(l,u):(o=l,i||(i=setTimeout(()=>{i=null,s(o)},r-d)))},()=>o&&s(o)]}const la=(t,e,n=3)=>{let r=0;const o=BI(50,250);return FI(i=>{const s=i.loaded,a=i.lengthComputable?i.total:void 0,c=a!=null?Math.min(s,a):s,l=Math.max(0,c-r),u=o(l);r=Math.max(r,c);const d={loaded:c,total:a,progress:a?c/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a?(a-c)/u:void 0,event:i,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(d)},n)},sf=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},af=t=>(...e)=>b.asap(()=>t(...e)),KI=Rt.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Rt.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Rt.origin),Rt.navigator&&/(msie|trident)/i.test(Rt.navigator.userAgent)):()=>!0,$I=Rt.hasStandardBrowserEnv?{write(t,e,n,r,o,i,s){if(typeof document>"u")return;const a=[`${t}=${encodeURIComponent(e)}`];b.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),b.isString(r)&&a.push(`path=${r}`),b.isString(o)&&a.push(`domain=${o}`),i===!0&&a.push("secure"),b.isString(s)&&a.push(`SameSite=${s}`),document.cookie=a.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.split(";");for(let n=0;nt instanceof Ut?{...t}:t;function yo(t,e){e=e||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(l,u,d,h){return b.isPlainObject(l)&&b.isPlainObject(u)?b.merge.call({caseless:h},l,u):b.isPlainObject(u)?b.merge({},u):b.isArray(u)?u.slice():u}function o(l,u,d,h){if(b.isUndefined(u)){if(!b.isUndefined(l))return r(void 0,l,d,h)}else return r(l,u,d,h)}function i(l,u){if(!b.isUndefined(u))return r(void 0,u)}function s(l,u){if(b.isUndefined(u)){if(!b.isUndefined(l))return r(void 0,l)}else return r(void 0,u)}function a(l,u,d){if(b.hasOwnProp(e,d))return r(l,u);if(b.hasOwnProp(t,d))return r(void 0,l)}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,allowedSocketPaths:s,responseEncoding:s,validateStatus:a,headers:(l,u,d)=>o(cf(l),cf(u),d,!0)};return b.forEach(Object.keys({...t,...e}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const d=b.hasOwnProp(c,u)?c[u]:o,h=b.hasOwnProp(t,u)?t[u]:void 0,f=b.hasOwnProp(e,u)?e[u]:void 0,p=d(h,f,u);b.isUndefined(p)&&d!==a||(n[u]=p)}),n}const VI=["content-type","content-length"];function GI(t,e,n){if(n!=="content-only"){t.set(e);return}Object.entries(e).forEach(([r,o])=>{VI.includes(r.toLowerCase())&&t.set(r,o)})}const zI=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,n)=>String.fromCharCode(parseInt(n,16))),Bm=t=>{const e=yo({},t),n=h=>b.hasOwnProp(e,h)?e[h]:void 0,r=n("data");let o=n("withXSRFToken");const i=n("xsrfHeaderName"),s=n("xsrfCookieName");let a=n("headers");const c=n("auth"),l=n("baseURL"),u=n("allowAbsoluteUrls"),d=n("url");if(e.headers=a=Ut.from(a),e.url=Mm(Hm(l,d,u),t.params,t.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?zI(c.password):""))),b.isFormData(r)&&(Rt.hasStandardBrowserEnv||Rt.hasStandardBrowserWebWorkerEnv?a.setContentType(void 0):b.isFunction(r.getHeaders)&&GI(a,r.getHeaders(),n("formDataHeaderPolicy"))),Rt.hasStandardBrowserEnv&&(b.isFunction(o)&&(o=o(e)),o===!0||o==null&&KI(e.url))){const f=i&&s&&$I.read(s);f&&a.set(i,f)}return e},WI=typeof XMLHttpRequest<"u",QI=WI&&function(t){return new Promise(function(n,r){const o=Bm(t);let i=o.data;const s=Ut.from(o.headers).normalize();let{responseType:a,onUploadProgress:c,onDownloadProgress:l}=o,u,d,h,f,p;function g(){f&&f(),p&&p(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(o.method.toUpperCase(),o.url,!0),m.timeout=o.timeout;function C(){if(!m)return;const y=Ut.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),S={data:!a||a==="text"||a==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:y,config:t,request:m};Um(function(N){n(N),g()},function(N){r(N),g()},S),m=null}"onloadend"in m?m.onloadend=C:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.startsWith("file:"))||setTimeout(C)},m.onabort=function(){m&&(r(new ne("Request aborted",ne.ECONNABORTED,t,m)),g(),m=null)},m.onerror=function(w){const S=w&&w.message?w.message:"Network Error",B=new ne(S,ne.ERR_NETWORK,t,m);B.event=w||null,r(B),g(),m=null},m.ontimeout=function(){let w=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const S=o.transitional||Pu;o.timeoutErrorMessage&&(w=o.timeoutErrorMessage),r(new ne(w,S.clarifyTimeoutError?ne.ETIMEDOUT:ne.ECONNABORTED,t,m)),g(),m=null},i===void 0&&s.setContentType(null),"setRequestHeader"in m&&b.forEach(s.toJSON(),function(w,S){m.setRequestHeader(S,w)}),b.isUndefined(o.withCredentials)||(m.withCredentials=!!o.withCredentials),a&&a!=="json"&&(m.responseType=o.responseType),l&&([h,p]=la(l,!0),m.addEventListener("progress",h)),c&&m.upload&&([d,f]=la(c),m.upload.addEventListener("progress",d),m.upload.addEventListener("loadend",f)),(o.cancelToken||o.signal)&&(u=y=>{m&&(r(!y||y.type?new Cs(null,t,m):y),m.abort(),g(),m=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const T=HI(o.url);if(T&&!Rt.protocols.includes(T)){r(new ne("Unsupported protocol "+T+":",ne.ERR_BAD_REQUEST,t));return}m.send(i||null)})},YI=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,o;const i=function(l){if(!o){o=!0,a();const u=l instanceof Error?l:this.reason;r.abort(u instanceof ne?u:new Cs(u instanceof Error?u.message:u))}};let s=e&&setTimeout(()=>{s=null,i(new ne(`timeout of ${e}ms exceeded`,ne.ETIMEDOUT))},e);const a=()=>{t&&(s&&clearTimeout(s),s=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),t=null)};t.forEach(l=>l.addEventListener("abort",i));const{signal:c}=r;return c.unsubscribe=()=>b.asap(a),c}},JI=function*(t,e){let n=t.byteLength;if(n{const o=XI(t,e);let i=0,s,a=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:l,value:u}=await o.next();if(l){a(),c.close();return}let d=u.byteLength;if(n){let h=i+=d;n(h)}c.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(c){return a(c),o.return()}},{highWaterMark:2})};function eR(t){if(!t||typeof t!="string"||!t.startsWith("data:"))return 0;const e=t.indexOf(",");if(e<0)return 0;const n=t.slice(5,e),r=t.slice(e+1);if(/;base64/i.test(n)){let s=r.length;const a=r.length;for(let f=0;f=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)&&(g>=48&&g<=57||g>=65&&g<=70||g>=97&&g<=102)&&(s-=2,f+=2)}let c=0,l=a-1;const u=f=>f>=2&&r.charCodeAt(f-2)===37&&r.charCodeAt(f-1)===51&&(r.charCodeAt(f)===68||r.charCodeAt(f)===100);l>=0&&(r.charCodeAt(l)===61?(c++,l--):u(l)&&(c++,l-=3)),c===1&&l>=0&&(r.charCodeAt(l)===61||u(l))&&c++;const h=Math.floor(s/4)*3-(c||0);return h>0?h:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(r,"utf8");let i=0;for(let s=0,a=r.length;s=55296&&c<=56319&&s+1=56320&&l<=57343?(i+=4,s++):i+=3}else i+=3}return i}const xu="1.16.0",uf=64*1024,{isFunction:Ms}=b,df=(t,...e)=>{try{return!!t(...e)}catch{return!1}},tR=t=>{const e=b.global??globalThis,{ReadableStream:n,TextEncoder:r}=e;t=b.merge.call({skipUndefined:!0},{Request:e.Request,Response:e.Response},t);const{fetch:o,Request:i,Response:s}=t,a=o?Ms(o):typeof fetch=="function",c=Ms(i),l=Ms(s);if(!a)return!1;const u=a&&Ms(n),d=a&&(typeof r=="function"?(C=>T=>C.encode(T))(new r):async C=>new Uint8Array(await new i(C).arrayBuffer())),h=c&&u&&df(()=>{let C=!1;const T=new i(Rt.origin,{body:new n,method:"POST",get duplex(){return C=!0,"half"}}),y=T.headers.has("Content-Type");return T.body!=null&&T.body.cancel(),C&&!y}),f=l&&u&&df(()=>b.isReadableStream(new s("").body)),p={stream:f&&(C=>C.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(C=>{!p[C]&&(p[C]=(T,y)=>{let w=T&&T[C];if(w)return w.call(T);throw new ne(`Response type '${C}' is not supported`,ne.ERR_NOT_SUPPORT,y)})});const g=async C=>{if(C==null)return 0;if(b.isBlob(C))return C.size;if(b.isSpecCompliantForm(C))return(await new i(Rt.origin,{method:"POST",body:C}).arrayBuffer()).byteLength;if(b.isArrayBufferView(C)||b.isArrayBuffer(C))return C.byteLength;if(b.isURLSearchParams(C)&&(C=C+""),b.isString(C))return(await d(C)).byteLength},m=async(C,T)=>{const y=b.toFiniteNumber(C.getContentLength());return y??g(T)};return async C=>{let{url:T,method:y,data:w,signal:S,cancelToken:B,timeout:N,onDownloadProgress:L,onUploadProgress:k,responseType:F,headers:ee,withCredentials:$="same-origin",fetchOptions:ie,maxContentLength:re,maxBodyLength:Re}=Bm(C);const ue=b.isNumber(re)&&re>-1,oe=b.isNumber(Re)&&Re>-1;let he=o||fetch;F=F?(F+"").toLowerCase():"text";let be=YI([S,B&&B.toAbortSignal()],N),Me=null;const tt=be&&be.unsubscribe&&(()=>{be.unsubscribe()});let st;try{if(ue&&typeof T=="string"&&T.startsWith("data:")&&eR(T)>re)throw new ne("maxContentLength size of "+re+" exceeded",ne.ERR_BAD_RESPONSE,C,Me);if(oe&&y!=="get"&&y!=="head"){const H=await m(ee,w);if(typeof H=="number"&&isFinite(H)&&H>Re)throw new ne("Request body larger than maxBodyLength limit",ne.ERR_BAD_REQUEST,C,Me)}if(k&&h&&y!=="get"&&y!=="head"&&(st=await m(ee,w))!==0){let H=new i(T,{method:"POST",body:w,duplex:"half"}),q;if(b.isFormData(w)&&(q=H.headers.get("content-type"))&&ee.setContentType(q),H.body){const[Z,Ae]=sf(st,la(af(k)));w=lf(H.body,uf,Z,Ae)}}b.isString($)||($=$?"include":"omit");const Ge=c&&"credentials"in i.prototype;if(b.isFormData(w)){const H=ee.getContentType();H&&/^multipart\/form-data/i.test(H)&&!/boundary=/i.test(H)&&ee.delete("content-type")}ee.set("User-Agent","axios/"+xu,!1);const vt={...ie,signal:be,method:y.toUpperCase(),headers:ee.normalize().toJSON(),body:w,duplex:"half",credentials:Ge?$:void 0};Me=c&&new i(T,vt);let O=await(c?he(Me,ie):he(T,vt));if(ue){const H=b.toFiniteNumber(O.headers.get("content-length"));if(H!=null&&H>re)throw new ne("maxContentLength size of "+re+" exceeded",ne.ERR_BAD_RESPONSE,C,Me)}const Te=f&&(F==="stream"||F==="response");if(f&&O.body&&(L||ue||Te&&tt)){const H={};["status","statusText","headers"].forEach(E=>{H[E]=O[E]});const q=b.toFiniteNumber(O.headers.get("content-length")),[Z,Ae]=L&&sf(q,la(af(L),!0))||[];let v=0;const A=E=>{if(ue&&(v=E,v>re))throw new ne("maxContentLength size of "+re+" exceeded",ne.ERR_BAD_RESPONSE,C,Me);Z&&Z(E)};O=new s(lf(O.body,uf,A,()=>{Ae&&Ae(),tt&&tt()}),H)}F=F||"text";let R=await p[b.findKey(p,F)||"text"](O,C);if(ue&&!f&&!Te){let H;if(R!=null&&(typeof R.byteLength=="number"?H=R.byteLength:typeof R.size=="number"?H=R.size:typeof R=="string"&&(H=typeof r=="function"?new r().encode(R).byteLength:R.length)),typeof H=="number"&&H>re)throw new ne("maxContentLength size of "+re+" exceeded",ne.ERR_BAD_RESPONSE,C,Me)}return!Te&&tt&&tt(),await new Promise((H,q)=>{Um(H,q,{data:R,headers:Ut.from(O.headers),status:O.status,statusText:O.statusText,config:C,request:Me})})}catch(Ge){if(tt&&tt(),be&&be.aborted&&be.reason instanceof ne){const vt=be.reason;throw vt.config=C,Me&&(vt.request=Me),Ge!==vt&&(vt.cause=Ge),vt}throw Ge&&Ge.name==="TypeError"&&/Load failed|fetch/i.test(Ge.message)?Object.assign(new ne("Network Error",ne.ERR_NETWORK,C,Me,Ge&&Ge.response),{cause:Ge.cause||Ge}):ne.from(Ge,Ge&&Ge.code,C,Me,Ge&&Ge.response)}}},nR=new Map,Fm=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:o}=e,i=[r,o,n];let s=i.length,a=s,c,l,u=nR;for(;a--;)c=i[a],l=u.get(c),l===void 0&&u.set(c,l=a?new Map:tR(e)),u=l;return l};Fm();const Mu={http:TI,xhr:QI,fetch:{get:Fm}};b.forEach(Mu,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{__proto__:null,value:e})}catch{}Object.defineProperty(t,"adapterName",{__proto__:null,value:e})}});const hf=t=>`- ${t}`,rR=t=>b.isFunction(t)||t===null||t===!1;function oR(t,e){t=b.isArray(t)?t:[t];const{length:n}=t;let r,o;const i={};for(let s=0;s`adapter ${c} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=n?s.length>1?`since : +`+s.map(hf).join(` +`):" "+hf(s[0]):"as no adapter specified";throw new ne("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o}const Km={getAdapter:oR,adapters:Mu};function jc(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Cs(null,t)}function ff(t){return jc(t),t.headers=Ut.from(t.headers),t.data=qc.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Km.getAdapter(t.adapter||vs.adapter,t)(t).then(function(r){jc(t),t.response=r;try{r.data=qc.call(t,t.transformResponse,r)}finally{delete t.response}return r.headers=Ut.from(r.headers),r},function(r){if(!Lm(r)&&(jc(t),r&&r.response)){t.response=r.response;try{r.response.data=qc.call(t,t.transformResponse,r.response)}finally{delete t.response}r.response.headers=Ut.from(r.response.headers)}return Promise.reject(r)})}const oc={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{oc[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const pf={};oc.transitional=function(e,n,r){function o(i,s){return"[Axios v"+xu+"] Transitional option '"+i+"'"+s+(r?". "+r:"")}return(i,s,a)=>{if(e===!1)throw new ne(o(s," has been removed"+(n?" in "+n:"")),ne.ERR_DEPRECATED);return n&&!pf[s]&&(pf[s]=!0,console.warn(o(s," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,s,a):!0}};oc.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function iR(t,e,n){if(typeof t!="object")throw new ne("options must be an object",ne.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],s=Object.prototype.hasOwnProperty.call(e,i)?e[i]:void 0;if(s){const a=t[i],c=a===void 0||s(a,i,t);if(c!==!0)throw new ne("option "+i+" must be "+c,ne.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new ne("Unknown option "+i,ne.ERR_BAD_OPTION)}}const zs={assertOptions:iR,validators:oc},rn=zs.validators;let go=class{constructor(e){this.defaults=e||{},this.interceptors={request:new of,response:new of}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=(()=>{if(!o.stack)return"";const s=o.stack.indexOf(` +`);return s===-1?"":o.stack.slice(s+1)})();try{if(!r.stack)r.stack=i;else if(i){const s=i.indexOf(` +`),a=s===-1?-1:i.indexOf(` +`,s+1),c=a===-1?"":i.slice(a+1);String(r.stack).endsWith(c)||(r.stack+=` +`+i)}}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=yo(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&zs.assertOptions(r,{silentJSONParsing:rn.transitional(rn.boolean),forcedJSONParsing:rn.transitional(rn.boolean),clarifyTimeoutError:rn.transitional(rn.boolean),legacyInterceptorReqResOrdering:rn.transitional(rn.boolean)},!1),o!=null&&(b.isFunction(o)?n.paramsSerializer={serialize:o}:zs.assertOptions(o,{encode:rn.function,serialize:rn.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),zs.assertOptions(n,{baseUrl:rn.spelling("baseURL"),withXsrfToken:rn.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&b.merge(i.common,i[n.method]);i&&b.forEach(["delete","get","head","post","put","patch","query","common"],p=>{delete i[p]}),n.headers=Ut.concat(s,i);const a=[];let c=!0;this.interceptors.request.forEach(function(g){if(typeof g.runWhen=="function"&&g.runWhen(n)===!1)return;c=c&&g.synchronous;const m=n.transitional||Pu;m&&m.legacyInterceptorReqResOrdering?a.unshift(g.fulfilled,g.rejected):a.push(g.fulfilled,g.rejected)});const l=[];this.interceptors.response.forEach(function(g){l.push(g.fulfilled,g.rejected)});let u,d=0,h;if(!c){const p=[ff.bind(this),void 0];for(p.unshift(...a),p.push(...l),h=p.length,u=Promise.resolve(n);d{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new Cs(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new $m(function(o){e=o}),cancel:e}}};function aR(t){return function(n){return t.apply(null,n)}}function cR(t){return b.isObject(t)&&t.isAxiosError===!0}const Nl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Nl).forEach(([t,e])=>{Nl[e]=t});function qm(t){const e=new go(t),n=Em(go.prototype.request,e);return b.extend(n,go.prototype,e,{allOwnKeys:!0}),b.extend(n,e,null,{allOwnKeys:!0}),n.create=function(o){return qm(yo(t,o))},n}const ot=qm(vs);ot.Axios=go;ot.CanceledError=Cs;ot.CancelToken=sR;ot.isCancel=Lm;ot.VERSION=xu;ot.toFormData=rc;ot.AxiosError=ne;ot.Cancel=ot.CanceledError;ot.all=function(e){return Promise.all(e)};ot.spread=aR;ot.isAxiosError=cR;ot.mergeConfig=yo;ot.AxiosHeaders=Ut;ot.formToJSON=t=>Dm(b.isHTMLForm(t)?new FormData(t):t);ot.getAdapter=Km.getAdapter;ot.HttpStatusCode=Nl;ot.default=ot;const{Axios:p0,AxiosError:g0,CanceledError:m0,isCancel:y0,CancelToken:v0,VERSION:C0,all:w0,Cancel:A0,isAxiosError:T0,spread:E0,toFormData:b0,AxiosHeaders:_0,HttpStatusCode:S0,formToJSON:I0,getAdapter:R0,mergeConfig:O0,create:k0}=ot,ua=ot.create({baseURL:"/cc-dashboard",headers:{"Content-Type":"application/json"}});function lR(t,e){ua.interceptors.request.use(n=>{const r=t();return r&&(n.headers.Authorization=`Bearer ${r}`),n}),ua.interceptors.response.use(n=>n,n=>{var r;return((r=n.response)==null?void 0:r.status)===401&&e(),Promise.reject(n)})}/*! @azure/msal-common v14.16.1 2025-08-05 */const P={LIBRARY_NAME:"MSAL.JS",SKU:"msal.js.common",CACHE_PREFIX:"msal",DEFAULT_AUTHORITY:"https://login.microsoftonline.com/common/",DEFAULT_AUTHORITY_HOST:"login.microsoftonline.com",DEFAULT_COMMON_TENANT:"common",ADFS:"adfs",DSTS:"dstsv2",AAD_INSTANCE_DISCOVERY_ENDPT:"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",CIAM_AUTH_URL:".ciamlogin.com",AAD_TENANT_DOMAIN_SUFFIX:".onmicrosoft.com",RESOURCE_DELIM:"|",NO_ACCOUNT:"NO_ACCOUNT",CLAIMS:"claims",CONSUMER_UTID:"9188040d-6c67-4c5b-b112-36a304b66dad",OPENID_SCOPE:"openid",PROFILE_SCOPE:"profile",OFFLINE_ACCESS_SCOPE:"offline_access",EMAIL_SCOPE:"email",CODE_RESPONSE_TYPE:"code",CODE_GRANT_TYPE:"authorization_code",RT_GRANT_TYPE:"refresh_token",FRAGMENT_RESPONSE_MODE:"fragment",S256_CODE_CHALLENGE_METHOD:"S256",URL_FORM_CONTENT_TYPE:"application/x-www-form-urlencoded;charset=utf-8",AUTHORIZATION_PENDING:"authorization_pending",NOT_DEFINED:"not_defined",EMPTY_STRING:"",NOT_APPLICABLE:"N/A",NOT_AVAILABLE:"Not Available",FORWARD_SLASH:"/",IMDS_ENDPOINT:"http://169.254.169.254/metadata/instance/compute/location",IMDS_VERSION:"2020-06-01",IMDS_TIMEOUT:2e3,AZURE_REGION_AUTO_DISCOVER_FLAG:"TryAutoDetect",REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX:"login.microsoft.com",KNOWN_PUBLIC_CLOUDS:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"],TOKEN_RESPONSE_TYPE:"token",ID_TOKEN_RESPONSE_TYPE:"id_token",SHR_NONCE_VALIDITY:240,INVALID_INSTANCE:"invalid_instance"},Ds={CLIENT_ERROR_RANGE_START:400,CLIENT_ERROR_RANGE_END:499,SERVER_ERROR_RANGE_START:500,SERVER_ERROR_RANGE_END:599},mi=[P.OPENID_SCOPE,P.PROFILE_SCOPE,P.OFFLINE_ACCESS_SCOPE],gf=[...mi,P.EMAIL_SCOPE],xt={CONTENT_TYPE:"Content-Type",CONTENT_LENGTH:"Content-Length",RETRY_AFTER:"Retry-After",CCS_HEADER:"X-AnchorMailbox",WWWAuthenticate:"WWW-Authenticate",AuthenticationInfo:"Authentication-Info",X_MS_REQUEST_ID:"x-ms-request-id",X_MS_HTTP_VERSION:"x-ms-httpver"},ft={ID_TOKEN:"idtoken",CLIENT_INFO:"client.info",ADAL_ID_TOKEN:"adal.idtoken",ERROR:"error",ERROR_DESC:"error.description",ACTIVE_ACCOUNT:"active-account",ACTIVE_ACCOUNT_FILTERS:"active-account-filters"},Hr={COMMON:"common",ORGANIZATIONS:"organizations",CONSUMERS:"consumers"},Ls={ACCESS_TOKEN:"access_token",XMS_CC:"xms_cc"},gt={LOGIN:"login",SELECT_ACCOUNT:"select_account",CONSENT:"consent",NONE:"none",CREATE:"create",NO_SESSION:"no_session"},mf={PLAIN:"plain",S256:"S256"},ws={QUERY:"query",FRAGMENT:"fragment"},uR={...ws},jm={AUTHORIZATION_CODE_GRANT:"authorization_code",REFRESH_TOKEN_GRANT:"refresh_token"},Us={MSSTS_ACCOUNT_TYPE:"MSSTS",ADFS_ACCOUNT_TYPE:"ADFS",GENERIC_ACCOUNT_TYPE:"Generic"},St={CACHE_KEY_SEPARATOR:"-",CLIENT_INFO_SEPARATOR:"."},Ce={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},Du="appmetadata",dR="client_info",Ui="1",da={CACHE_KEY:"authority-metadata",REFRESH_TIME_SECONDS:3600*24},qt={CONFIG:"config",CACHE:"cache",NETWORK:"network",HARDCODED_VALUES:"hardcoded_values"},wt={SCHEMA_VERSION:5,MAX_LAST_HEADER_BYTES:330,MAX_CACHED_ERRORS:50,CACHE_KEY:"server-telemetry",CATEGORY_SEPARATOR:"|",VALUE_SEPARATOR:",",OVERFLOW_TRUE:"1",OVERFLOW_FALSE:"0",UNKNOWN_ERROR:"unknown_error"},Fe={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},Hi={DEFAULT_THROTTLE_TIME_SECONDS:60,DEFAULT_MAX_THROTTLE_TIME_SECONDS:3600,THROTTLING_PREFIX:"throttling",X_MS_LIB_CAPABILITY_VALUE:"retry-after, h429"},yf={INVALID_GRANT_ERROR:"invalid_grant",CLIENT_MISMATCH_ERROR:"client_mismatch"},vf={username:"username",password:"password"},Hs={httpSuccess:200,httpBadRequest:400},Po={FAILED_AUTO_DETECTION:"1",INTERNAL_CACHE:"2",ENVIRONMENT_VARIABLE:"3",IMDS:"4"},Vc={CONFIGURED_NO_AUTO_DETECTION:"2",AUTO_DETECTION_REQUESTED_SUCCESSFUL:"4",AUTO_DETECTION_REQUESTED_FAILED:"5"},Ir={NOT_APPLICABLE:"0",FORCE_REFRESH_OR_CLAIMS:"1",NO_CACHED_ACCESS_TOKEN:"2",CACHED_ACCESS_TOKEN_EXPIRED:"3",PROACTIVELY_REFRESHED:"4"},hR={Pop:"pop"},fR=300;/*! @azure/msal-common v14.16.1 2025-08-05 */const Lu="unexpected_error",pR="post_request_failed";/*! @azure/msal-common v14.16.1 2025-08-05 */const Cf={[Lu]:"Unexpected error in authentication.",[pR]:"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details."};class We extends Error{constructor(e,n,r){const o=n?`${e}: ${n}`:e;super(o),Object.setPrototypeOf(this,We.prototype),this.errorCode=e||P.EMPTY_STRING,this.errorMessage=n||P.EMPTY_STRING,this.subError=r||P.EMPTY_STRING,this.name="AuthError"}setCorrelationId(e){this.correlationId=e}}function Vm(t,e){return new We(t,e?`${Cf[t]} ${e}`:Cf[t])}/*! @azure/msal-common v14.16.1 2025-08-05 */const Uu="client_info_decoding_error",Gm="client_info_empty_error",Hu="token_parsing_error",zm="null_or_empty_token",Zn="endpoints_resolution_error",Wm="network_error",Qm="openid_config_error",Ym="hash_not_deserialized",li="invalid_state",Jm="state_mismatch",ha="state_not_found",Xm="nonce_mismatch",Bu="auth_time_not_found",Zm="max_age_transpired",gR="multiple_matching_tokens",mR="multiple_matching_accounts",ey="multiple_matching_appMetadata",ty="request_cannot_be_made",ny="cannot_remove_empty_scope",ry="cannot_append_scopeset",xl="empty_input_scopeset",yR="device_code_polling_cancelled",vR="device_code_expired",CR="device_code_unknown_error",Fu="no_account_in_silent_request",oy="invalid_cache_record",Ku="invalid_cache_environment",Ml="no_account_found",Dl="no_crypto_object",Ll="unexpected_credential_type",wR="invalid_assertion",AR="invalid_client_credential",or="token_refresh_required",TR="user_timeout_reached",iy="token_claims_cnf_required_for_signedjwt",sy="authorization_code_missing_from_server_response",ER="binding_key_not_removed",ay="end_session_endpoint_not_supported",$u="key_id_missing",bR="no_network_connectivity",_R="user_canceled",SR="missing_tenant_id_error",Ee="method_not_implemented",IR="nested_app_auth_bridge_disabled";/*! @azure/msal-common v14.16.1 2025-08-05 */const wf={[Uu]:"The client info could not be parsed/decoded correctly",[Gm]:"The client info was empty",[Hu]:"Token cannot be parsed",[zm]:"The token is null or empty",[Zn]:"Endpoints cannot be resolved",[Wm]:"Network request failed",[Qm]:"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.",[Ym]:"The hash parameters could not be deserialized",[li]:"State was not the expected format",[Jm]:"State mismatch error",[ha]:"State not found",[Xm]:"Nonce mismatch error",[Bu]:"Max Age was requested and the ID token is missing the auth_time variable. auth_time is an optional claim and is not enabled by default - it must be enabled. See https://aka.ms/msaljs/optional-claims for more information.",[Zm]:"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.",[gR]:"The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.",[mR]:"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account",[ey]:"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata",[ty]:"Token request cannot be made without authorization code or refresh token.",[ny]:"Cannot remove null or empty scope from ScopeSet",[ry]:"Cannot append ScopeSet",[xl]:"Empty input ScopeSet cannot be processed",[yR]:"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.",[vR]:"Device code is expired.",[CR]:"Device code stopped polling for unknown reasons.",[Fu]:"Please pass an account object, silent flow is not supported without account information",[oy]:"Cache record object was null or undefined.",[Ku]:"Invalid environment when attempting to create cache entry",[Ml]:"No account found in cache for given key.",[Dl]:"No crypto object detected.",[Ll]:"Unexpected credential type.",[wR]:"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515",[AR]:"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential",[or]:"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.",[TR]:"User defined timeout for device code polling reached",[iy]:"Cannot generate a POP jwt if the token_claims are not populated",[sy]:"Server response does not contain an authorization code to proceed",[ER]:"Could not remove the credential's binding key from storage.",[ay]:"The provided authority does not support logout",[$u]:"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.",[bR]:"No network connectivity. Check your internet connection.",[_R]:"User cancelled the flow.",[SR]:"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.",[Ee]:"This method has not been implemented",[IR]:"The nested app auth bridge is disabled"};class ic extends We{constructor(e,n){super(e,n?`${wf[e]}: ${n}`:wf[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,ic.prototype)}}function j(t,e){return new ic(t,e)}/*! @azure/msal-common v14.16.1 2025-08-05 */const fa={createNewGuid:()=>{throw j(Ee)},base64Decode:()=>{throw j(Ee)},base64Encode:()=>{throw j(Ee)},base64UrlEncode:()=>{throw j(Ee)},encodeKid:()=>{throw j(Ee)},async getPublicKeyThumbprint(){throw j(Ee)},async removeTokenBindingKey(){throw j(Ee)},async clearKeystore(){throw j(Ee)},async signJwt(){throw j(Ee)},async hashString(){throw j(Ee)}};/*! @azure/msal-common v14.16.1 2025-08-05 */var Ye;(function(t){t[t.Error=0]="Error",t[t.Warning=1]="Warning",t[t.Info=2]="Info",t[t.Verbose=3]="Verbose",t[t.Trace=4]="Trace"})(Ye||(Ye={}));class Kr{constructor(e,n,r){this.level=Ye.Info;const o=()=>{},i=e||Kr.createDefaultLoggerOptions();this.localCallback=i.loggerCallback||o,this.piiLoggingEnabled=i.piiLoggingEnabled||!1,this.level=typeof i.logLevel=="number"?i.logLevel:Ye.Info,this.correlationId=i.correlationId||P.EMPTY_STRING,this.packageName=n||P.EMPTY_STRING,this.packageVersion=r||P.EMPTY_STRING}static createDefaultLoggerOptions(){return{loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:Ye.Info}}clone(e,n,r){return new Kr({loggerCallback:this.localCallback,piiLoggingEnabled:this.piiLoggingEnabled,logLevel:this.level,correlationId:r||this.correlationId},e,n)}logMessage(e,n){if(n.logLevel>this.level||!this.piiLoggingEnabled&&n.containsPii)return;const i=`${`[${new Date().toUTCString()}] : [${n.correlationId||this.correlationId||""}]`} : ${this.packageName}@${this.packageVersion} : ${Ye[n.logLevel]} - ${e}`;this.executeCallback(n.logLevel,i,n.containsPii||!1)}executeCallback(e,n,r){this.localCallback&&this.localCallback(e,n,r)}error(e,n){this.logMessage(e,{logLevel:Ye.Error,containsPii:!1,correlationId:n||P.EMPTY_STRING})}errorPii(e,n){this.logMessage(e,{logLevel:Ye.Error,containsPii:!0,correlationId:n||P.EMPTY_STRING})}warning(e,n){this.logMessage(e,{logLevel:Ye.Warning,containsPii:!1,correlationId:n||P.EMPTY_STRING})}warningPii(e,n){this.logMessage(e,{logLevel:Ye.Warning,containsPii:!0,correlationId:n||P.EMPTY_STRING})}info(e,n){this.logMessage(e,{logLevel:Ye.Info,containsPii:!1,correlationId:n||P.EMPTY_STRING})}infoPii(e,n){this.logMessage(e,{logLevel:Ye.Info,containsPii:!0,correlationId:n||P.EMPTY_STRING})}verbose(e,n){this.logMessage(e,{logLevel:Ye.Verbose,containsPii:!1,correlationId:n||P.EMPTY_STRING})}verbosePii(e,n){this.logMessage(e,{logLevel:Ye.Verbose,containsPii:!0,correlationId:n||P.EMPTY_STRING})}trace(e,n){this.logMessage(e,{logLevel:Ye.Trace,containsPii:!1,correlationId:n||P.EMPTY_STRING})}tracePii(e,n){this.logMessage(e,{logLevel:Ye.Trace,containsPii:!0,correlationId:n||P.EMPTY_STRING})}isPiiLoggingEnabled(){return this.piiLoggingEnabled||!1}}/*! @azure/msal-common v14.16.1 2025-08-05 */const cy="@azure/msal-common",qu="14.16.1";/*! @azure/msal-common v14.16.1 2025-08-05 */const ju={None:"none"};/*! @azure/msal-common v14.16.1 2025-08-05 */function bo(t,e){const n=RR(t);try{const r=e(n);return JSON.parse(r)}catch{throw j(Hu)}}function RR(t){if(!t)throw j(zm);const n=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(t);if(!n||n.length<4)throw j(Hu);return n[2]}function ly(t,e){if(e===0||Date.now()-3e5>t+e)throw j(Zm)}/*! @azure/msal-common v14.16.1 2025-08-05 */function qn(){return Math.round(new Date().getTime()/1e3)}function Ul(t,e){const n=Number(t)||0;return qn()+e>n}function OR(t){return Number(t)>qn()}/*! @azure/msal-common v14.16.1 2025-08-05 */function Bo(t){return[kR(t),PR(t),NR(t),xR(t),MR(t)].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}function sc(t,e,n,r,o){return{credentialType:Ce.ID_TOKEN,homeAccountId:t,environment:e,clientId:r,secret:n,realm:o}}function ac(t,e,n,r,o,i,s,a,c,l,u,d,h,f,p){var m,C;const g={homeAccountId:t,credentialType:Ce.ACCESS_TOKEN,secret:n,cachedAt:qn().toString(),expiresOn:s.toString(),extendedExpiresOn:a.toString(),environment:e,clientId:r,realm:o,target:i,tokenType:u||Fe.BEARER};if(d&&(g.userAssertionHash=d),l&&(g.refreshOn=l.toString()),f&&(g.requestedClaims=f,g.requestedClaimsHash=p),((m=g.tokenType)==null?void 0:m.toLowerCase())!==Fe.BEARER.toLowerCase())switch(g.credentialType=Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME,g.tokenType){case Fe.POP:const T=bo(n,c);if(!((C=T==null?void 0:T.cnf)!=null&&C.kid))throw j(iy);g.keyId=T.cnf.kid;break;case Fe.SSH:g.keyId=h}return g}function uy(t,e,n,r,o,i,s){const a={credentialType:Ce.REFRESH_TOKEN,homeAccountId:t,environment:e,clientId:r,secret:n};return i&&(a.userAssertionHash=i),o&&(a.familyId=o),s&&(a.expiresOn=s.toString()),a}function Vu(t){return t.hasOwnProperty("homeAccountId")&&t.hasOwnProperty("environment")&&t.hasOwnProperty("credentialType")&&t.hasOwnProperty("clientId")&&t.hasOwnProperty("secret")}function Af(t){return t?Vu(t)&&t.hasOwnProperty("realm")&&t.hasOwnProperty("target")&&(t.credentialType===Ce.ACCESS_TOKEN||t.credentialType===Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME):!1}function Tf(t){return t?Vu(t)&&t.hasOwnProperty("realm")&&t.credentialType===Ce.ID_TOKEN:!1}function Ef(t){return t?Vu(t)&&t.credentialType===Ce.REFRESH_TOKEN:!1}function kR(t){return[t.homeAccountId,t.environment].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}function PR(t){const e=t.credentialType===Ce.REFRESH_TOKEN&&t.familyId||t.clientId;return[t.credentialType,e,t.realm||""].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}function NR(t){return(t.target||"").toLowerCase()}function xR(t){return(t.requestedClaimsHash||"").toLowerCase()}function MR(t){return t.tokenType&&t.tokenType.toLowerCase()!==Fe.BEARER.toLowerCase()?t.tokenType.toLowerCase():""}function DR(t,e){const n=t.indexOf(wt.CACHE_KEY)===0;let r=!0;return e&&(r=e.hasOwnProperty("failedRequests")&&e.hasOwnProperty("errors")&&e.hasOwnProperty("cacheHits")),n&&r}function LR(t,e){let n=!1;t&&(n=t.indexOf(Hi.THROTTLING_PREFIX)===0);let r=!0;return e&&(r=e.hasOwnProperty("throttleTime")),n&&r}function UR({environment:t,clientId:e}){return[Du,t,e].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}function HR(t,e){return e?t.indexOf(Du)===0&&e.hasOwnProperty("clientId")&&e.hasOwnProperty("environment"):!1}function BR(t,e){return e?t.indexOf(da.CACHE_KEY)===0&&e.hasOwnProperty("aliases")&&e.hasOwnProperty("preferred_cache")&&e.hasOwnProperty("preferred_network")&&e.hasOwnProperty("canonical_authority")&&e.hasOwnProperty("authorization_endpoint")&&e.hasOwnProperty("token_endpoint")&&e.hasOwnProperty("issuer")&&e.hasOwnProperty("aliasesFromNetwork")&&e.hasOwnProperty("endpointsFromNetwork")&&e.hasOwnProperty("expiresAt")&&e.hasOwnProperty("jwks_uri"):!1}function bf(){return qn()+da.REFRESH_TIME_SECONDS}function Bs(t,e,n){t.authorization_endpoint=e.authorization_endpoint,t.token_endpoint=e.token_endpoint,t.end_session_endpoint=e.end_session_endpoint,t.issuer=e.issuer,t.endpointsFromNetwork=n,t.jwks_uri=e.jwks_uri}function Gc(t,e,n){t.aliases=e.aliases,t.preferred_cache=e.preferred_cache,t.preferred_network=e.preferred_network,t.aliasesFromNetwork=n}function _f(t){return t.expiresAt<=qn()}/*! @azure/msal-common v14.16.1 2025-08-05 */const dy="redirect_uri_empty",FR="claims_request_parsing_error",hy="authority_uri_insecure",Si="url_parse_error",fy="empty_url_error",py="empty_input_scopes_error",gy="invalid_prompt_value",Gu="invalid_claims",my="token_request_empty",yy="logout_request_empty",vy="invalid_code_challenge_method",zu="pkce_params_missing",Wu="invalid_cloud_discovery_metadata",Cy="invalid_authority_metadata",wy="untrusted_authority",cc="missing_ssh_jwk",Ay="missing_ssh_kid",KR="missing_nonce_authentication_header",$R="invalid_authentication_header",Ty="cannot_set_OIDCOptions",Ey="cannot_allow_native_broker",by="authority_mismatch";/*! @azure/msal-common v14.16.1 2025-08-05 */const qR={[dy]:"A redirect URI is required for all calls, and none has been set.",[FR]:"Could not parse the given claims request object.",[hy]:"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",[Si]:"URL could not be parsed into appropriate segments.",[fy]:"URL was empty or null.",[py]:"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",[gy]:"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",[Gu]:"Given claims parameter must be a stringified JSON object.",[my]:"Token request was empty and not found in cache.",[yy]:"The logout request was null or undefined.",[vy]:'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',[zu]:"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",[Wu]:"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",[Cy]:"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",[wy]:"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",[cc]:"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",[Ay]:"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",[KR]:"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",[$R]:"Invalid authentication header provided",[Ty]:"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",[Ey]:"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",[by]:"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."};class Qu extends We{constructor(e){super(e,qR[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,Qu.prototype)}}function $e(t){return new Qu(t)}/*! @azure/msal-common v14.16.1 2025-08-05 */class pn{static isEmptyObj(e){if(e)try{const n=JSON.parse(e);return Object.keys(n).length===0}catch{}return!0}static startsWith(e,n){return e.indexOf(n)===0}static endsWith(e,n){return e.length>=n.length&&e.lastIndexOf(n)===e.length-n.length}static queryStringToObject(e){const n={},r=e.split("&"),o=i=>decodeURIComponent(i.replace(/\+/g," "));return r.forEach(i=>{if(i.trim()){const[s,a]=i.split(/=(.+)/g,2);s&&a&&(n[o(s)]=o(a))}}),n}static trimArrayEntries(e){return e.map(n=>n.trim())}static removeEmptyStringsFromArray(e){return e.filter(n=>!!n)}static jsonParseHelper(e){try{return JSON.parse(e)}catch{return null}}static matchPattern(e,n){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(n)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class rt{constructor(e){const n=e?pn.trimArrayEntries([...e]):[],r=n?pn.removeEmptyStringsFromArray(n):[];this.validateInputScopes(r),this.scopes=new Set,r.forEach(o=>this.scopes.add(o))}static fromString(e){const r=(e||P.EMPTY_STRING).split(" ");return new rt(r)}static createSearchScopes(e){const n=new rt(e);return n.containsOnlyOIDCScopes()?n.removeScope(P.OFFLINE_ACCESS_SCOPE):n.removeOIDCScopes(),n}validateInputScopes(e){if(!e||e.length<1)throw $e(py)}containsScope(e){const n=this.printScopesLowerCase().split(" "),r=new rt(n);return e?r.scopes.has(e.toLowerCase()):!1}containsScopeSet(e){return!e||e.scopes.size<=0?!1:this.scopes.size>=e.scopes.size&&e.asArray().every(n=>this.containsScope(n))}containsOnlyOIDCScopes(){let e=0;return gf.forEach(n=>{this.containsScope(n)&&(e+=1)}),this.scopes.size===e}appendScope(e){e&&this.scopes.add(e.trim())}appendScopes(e){try{e.forEach(n=>this.appendScope(n))}catch{throw j(ry)}}removeScope(e){if(!e)throw j(ny);this.scopes.delete(e.trim())}removeOIDCScopes(){gf.forEach(e=>{this.scopes.delete(e)})}unionScopeSets(e){if(!e)throw j(xl);const n=new Set;return e.scopes.forEach(r=>n.add(r.toLowerCase())),this.scopes.forEach(r=>n.add(r.toLowerCase())),n}intersectingScopeSets(e){if(!e)throw j(xl);e.containsOnlyOIDCScopes()||e.removeOIDCScopes();const n=this.unionScopeSets(e),r=e.getScopeCount(),o=this.getScopeCount();return n.sizee.push(n)),e}printScopes(){return this.scopes?this.asArray().join(" "):P.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}/*! @azure/msal-common v14.16.1 2025-08-05 */function pa(t,e){if(!t)throw j(Gm);try{const n=e(t);return JSON.parse(n)}catch{throw j(Uu)}}function Fo(t){if(!t)throw j(Uu);const e=t.split(St.CLIENT_INFO_SEPARATOR,2);return{uid:e[0],utid:e.length<2?P.EMPTY_STRING:e[1]}}/*! @azure/msal-common v14.16.1 2025-08-05 */function ga(t,e){return!!t&&!!e&&t===e.split(".")[1]}function Yu(t,e,n,r){if(r){const{oid:o,sub:i,tid:s,name:a,tfp:c,acr:l}=r,u=s||c||l||"";return{tenantId:u,localAccountId:o||i||"",name:a,isHomeTenant:ga(u,t)}}else return{tenantId:n,localAccountId:e,isHomeTenant:ga(n,t)}}function Ju(t,e,n,r){let o=t;if(e){const{isHomeTenant:i,...s}=e;o={...t,...s}}if(n){const{isHomeTenant:i,...s}=Yu(t.homeAccountId,t.localAccountId,t.tenantId,n);return o={...o,...s,idTokenClaims:n,idToken:r},o}return o}/*! @azure/msal-common v14.16.1 2025-08-05 */const hn={Default:0,Adfs:1,Dsts:2,Ciam:3};/*! @azure/msal-common v14.16.1 2025-08-05 */function _y(t){return t&&(t.tid||t.tfp||t.acr)||null}/*! @azure/msal-common v14.16.1 2025-08-05 */const ar={AAD:"AAD",OIDC:"OIDC"};/*! @azure/msal-common v14.16.1 2025-08-05 */class dt{generateAccountId(){return[this.homeAccountId,this.environment].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}generateAccountKey(){return dt.generateAccountCacheKey({homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId})}getAccountInfo(){return{homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId,name:this.name,nativeAccountId:this.nativeAccountId,authorityType:this.authorityType,tenantProfiles:new Map((this.tenantProfiles||[]).map(e=>[e.tenantId,e]))}}isSingleTenant(){return!this.tenantProfiles}static generateAccountCacheKey(e){const n=e.homeAccountId.split(".")[1];return[e.homeAccountId,e.environment||"",n||e.tenantId||""].join(St.CACHE_KEY_SEPARATOR).toLowerCase()}static createAccount(e,n,r){var l,u,d,h,f,p;const o=new dt;n.authorityType===hn.Adfs?o.authorityType=Us.ADFS_ACCOUNT_TYPE:n.protocolMode===ar.AAD?o.authorityType=Us.MSSTS_ACCOUNT_TYPE:o.authorityType=Us.GENERIC_ACCOUNT_TYPE;let i;e.clientInfo&&r&&(i=pa(e.clientInfo,r)),o.clientInfo=e.clientInfo,o.homeAccountId=e.homeAccountId,o.nativeAccountId=e.nativeAccountId;const s=e.environment||n&&n.getPreferredCache();if(!s)throw j(Ku);o.environment=s,o.realm=(i==null?void 0:i.utid)||_y(e.idTokenClaims)||"",o.localAccountId=(i==null?void 0:i.uid)||((l=e.idTokenClaims)==null?void 0:l.oid)||((u=e.idTokenClaims)==null?void 0:u.sub)||"";const a=((d=e.idTokenClaims)==null?void 0:d.preferred_username)||((h=e.idTokenClaims)==null?void 0:h.upn),c=(f=e.idTokenClaims)!=null&&f.emails?e.idTokenClaims.emails[0]:null;if(o.username=a||c||"",o.name=((p=e.idTokenClaims)==null?void 0:p.name)||"",o.cloudGraphHostName=e.cloudGraphHostName,o.msGraphHost=e.msGraphHost,e.tenantProfiles)o.tenantProfiles=e.tenantProfiles;else{const g=Yu(e.homeAccountId,o.localAccountId,o.realm,e.idTokenClaims);o.tenantProfiles=[g]}return o}static createFromAccountInfo(e,n,r){var i;const o=new dt;return o.authorityType=e.authorityType||Us.GENERIC_ACCOUNT_TYPE,o.homeAccountId=e.homeAccountId,o.localAccountId=e.localAccountId,o.nativeAccountId=e.nativeAccountId,o.realm=e.tenantId,o.environment=e.environment,o.username=e.username,o.name=e.name,o.cloudGraphHostName=n,o.msGraphHost=r,o.tenantProfiles=Array.from(((i=e.tenantProfiles)==null?void 0:i.values())||[]),o}static generateHomeAccountId(e,n,r,o,i){if(!(n===hn.Adfs||n===hn.Dsts)){if(e)try{const s=pa(e,o.base64Decode);if(s.uid&&s.utid)return`${s.uid}.${s.utid}`}catch{}r.warning("No client info in response")}return(i==null?void 0:i.sub)||""}static isAccountEntity(e){return e?e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("realm")&&e.hasOwnProperty("localAccountId")&&e.hasOwnProperty("username")&&e.hasOwnProperty("authorityType"):!1}static accountInfoIsEqual(e,n,r){if(!e||!n)return!1;let o=!0;if(r){const i=e.idTokenClaims||{},s=n.idTokenClaims||{};o=i.iat===s.iat&&i.nonce===s.nonce}return e.homeAccountId===n.homeAccountId&&e.localAccountId===n.localAccountId&&e.username===n.username&&e.tenantId===n.tenantId&&e.environment===n.environment&&e.nativeAccountId===n.nativeAccountId&&o}}/*! @azure/msal-common v14.16.1 2025-08-05 */function Sy(t){return t.startsWith("#/")?t.substring(2):t.startsWith("#")||t.startsWith("?")?t.substring(1):t}function ma(t){if(!t||t.indexOf("=")<0)return null;try{const e=Sy(t),n=Object.fromEntries(new URLSearchParams(e));if(n.code||n.error||n.error_description||n.state)return n}catch{throw j(Ym)}return null}/*! @azure/msal-common v14.16.1 2025-08-05 */class Oe{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw $e(fy);e.includes("#")||(this._urlString=Oe.canonicalizeUri(e))}static canonicalizeUri(e){if(e){let n=e.toLowerCase();return pn.endsWith(n,"?")?n=n.slice(0,-1):pn.endsWith(n,"?/")&&(n=n.slice(0,-2)),pn.endsWith(n,"/")||(n+="/"),n}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch{throw $e(Si)}if(!e.HostNameAndPort||!e.PathSegments)throw $e(Si);if(!e.Protocol||e.Protocol.toLowerCase()!=="https:")throw $e(hy)}static appendQueryString(e,n){return n?e.indexOf("?")<0?`${e}?${n}`:`${e}&${n}`:e}static removeHashFromUrl(e){return Oe.canonicalizeUri(e.split("#")[0])}replaceTenantPath(e){const n=this.getUrlComponents(),r=n.PathSegments;return e&&r.length!==0&&(r[0]===Hr.COMMON||r[0]===Hr.ORGANIZATIONS)&&(r[0]=e),Oe.constructAuthorityUriFromObject(n)}getUrlComponents(){const e=RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"),n=this.urlString.match(e);if(!n)throw $e(Si);const r={Protocol:n[1],HostNameAndPort:n[4],AbsolutePath:n[5],QueryString:n[7]};let o=r.AbsolutePath.split("/");return o=o.filter(i=>i&&i.length>0),r.PathSegments=o,r.QueryString&&r.QueryString.endsWith("/")&&(r.QueryString=r.QueryString.substring(0,r.QueryString.length-1)),r}static getDomainFromUrl(e){const n=RegExp("^([^:/?#]+://)?([^/?#]*)"),r=e.match(n);if(!r)throw $e(Si);return r[2]}static getAbsoluteUrl(e,n){if(e[0]===P.FORWARD_SLASH){const o=new Oe(n).getUrlComponents();return o.Protocol+"//"+o.HostNameAndPort+e}return e}static constructAuthorityUriFromObject(e){return new Oe(e.Protocol+"//"+e.HostNameAndPort+"/"+e.PathSegments.join("/"))}static hashContainsKnownProperties(e){return!!ma(e)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const Iy={endpointMetadata:{"login.microsoftonline.com":{token_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout"},"login.chinacloudapi.cn":{token_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",authorization_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout"},"login.microsoftonline.us":{token_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout"}},instanceDiscoveryMetadata:{metadata:[{preferred_network:"login.microsoftonline.com",preferred_cache:"login.windows.net",aliases:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{preferred_network:"login.partner.microsoftonline.cn",preferred_cache:"login.partner.microsoftonline.cn",aliases:["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{preferred_network:"login.microsoftonline.de",preferred_cache:"login.microsoftonline.de",aliases:["login.microsoftonline.de"]},{preferred_network:"login.microsoftonline.us",preferred_cache:"login.microsoftonline.us",aliases:["login.microsoftonline.us","login.usgovcloudapi.net"]},{preferred_network:"login-us.microsoftonline.com",preferred_cache:"login-us.microsoftonline.com",aliases:["login-us.microsoftonline.com"]}]}},Sf=Iy.endpointMetadata,Xu=Iy.instanceDiscoveryMetadata,Ry=new Set;Xu.metadata.forEach(t=>{t.aliases.forEach(e=>{Ry.add(e)})});function jR(t,e){var o;let n;const r=t.canonicalAuthority;if(r){const i=new Oe(r).getUrlComponents().HostNameAndPort;n=If(i,(o=t.cloudDiscoveryMetadata)==null?void 0:o.metadata,qt.CONFIG,e)||If(i,Xu.metadata,qt.HARDCODED_VALUES,e)||t.knownAuthorities}return n||[]}function If(t,e,n,r){if(r==null||r.trace(`getAliasesFromMetadata called with source: ${n}`),t&&e){const o=ya(e,t);if(o)return r==null||r.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${n}, returning aliases`),o.aliases;r==null||r.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${n}`)}return null}function VR(t){return ya(Xu.metadata,t)}function ya(t,e){for(let n=0;n1?r.sort(i=>i.idTokenClaims?-1:1)[0]:r.length===1?r[0]:null}getBaseAccountInfo(e,n){const r=this.getAccountsFilteredBy(e,n);return r.length>0?r[0].getAccountInfo():null}buildTenantProfiles(e,n,r){return e.flatMap(o=>this.getTenantProfilesFromAccountEntity(o,n,r==null?void 0:r.tenantId,r))}getTenantedAccountInfoByFilter(e,n,r,o,i){let s=null,a;if(i&&!this.tenantProfileMatchesFilter(r,i))return null;const c=this.getIdToken(e,o,n,r.tenantId);return c&&(a=bo(c.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(a,i))?null:(s=Ju(e,r,a,c==null?void 0:c.secret),s)}getTenantProfilesFromAccountEntity(e,n,r,o){const i=e.getAccountInfo();let s=i.tenantProfiles||new Map;const a=this.getTokenKeys();if(r){const l=s.get(r);if(l)s=new Map([[r,l]]);else return[]}const c=[];return s.forEach(l=>{const u=this.getTenantedAccountInfoByFilter(i,a,l,n,o);u&&c.push(u)}),c}tenantProfileMatchesFilter(e,n){return!(n.localAccountId&&!this.matchLocalAccountIdFromTenantProfile(e,n.localAccountId)||n.name&&e.name!==n.name||n.isHomeTenant!==void 0&&e.isHomeTenant!==n.isHomeTenant)}idTokenClaimsMatchTenantProfileFilter(e,n){return!(n&&(n.localAccountId&&!this.matchLocalAccountIdFromTokenClaims(e,n.localAccountId)||n.loginHint&&!this.matchLoginHintFromTokenClaims(e,n.loginHint)||n.username&&!this.matchUsername(e.preferred_username,n.username)||n.name&&!this.matchName(e,n.name)||n.sid&&!this.matchSid(e,n.sid)))}async saveCacheRecord(e,n,r){var o;if(!e)throw j(oy);try{e.account&&this.setAccount(e.account,n),e.idToken&&(r==null?void 0:r.idToken)!==!1&&this.setIdTokenCredential(e.idToken,n),e.accessToken&&(r==null?void 0:r.accessToken)!==!1&&await this.saveAccessToken(e.accessToken,n),e.refreshToken&&(r==null?void 0:r.refreshToken)!==!1&&this.setRefreshTokenCredential(e.refreshToken,n),e.appMetadata&&this.setAppMetadata(e.appMetadata,n)}catch(i){throw(o=this.commonLogger)==null||o.error("CacheManager.saveCacheRecord: failed"),i instanceof We?i:Oy(i)}}async saveAccessToken(e,n){const r={clientId:e.clientId,credentialType:e.credentialType,environment:e.environment,homeAccountId:e.homeAccountId,realm:e.realm,tokenType:e.tokenType,requestedClaimsHash:e.requestedClaimsHash},o=this.getTokenKeys(),i=rt.fromString(e.target);o.accessToken.forEach(s=>{if(!this.accessTokenKeyMatchesFilter(s,r,!1))return;const a=this.getAccessTokenCredential(s,n);a&&this.credentialMatchesFilter(a,r)&&rt.fromString(a.target).intersectingScopeSets(i)&&this.removeAccessToken(s,n)}),this.setAccessTokenCredential(e,n)}getAccountsFilteredBy(e,n){const r=this.getAccountKeys(),o=[];return r.forEach(i=>{var l;if(!this.isAccountKey(i,e.homeAccountId))return;const s=this.getAccount(i,n,this.commonLogger);if(!s||e.homeAccountId&&!this.matchHomeAccountId(s,e.homeAccountId)||e.username&&!this.matchUsername(s.username,e.username)||e.environment&&!this.matchEnvironment(s,e.environment)||e.realm&&!this.matchRealm(s,e.realm)||e.nativeAccountId&&!this.matchNativeAccountId(s,e.nativeAccountId)||e.authorityType&&!this.matchAuthorityType(s,e.authorityType))return;const a={localAccountId:e==null?void 0:e.localAccountId,name:e==null?void 0:e.name},c=(l=s.tenantProfiles)==null?void 0:l.filter(u=>this.tenantProfileMatchesFilter(u,a));c&&c.length===0||o.push(s)}),o}isAccountKey(e,n,r){return!(e.split(St.CACHE_KEY_SEPARATOR).length<3||n&&!e.toLowerCase().includes(n.toLowerCase())||r&&!e.toLowerCase().includes(r.toLowerCase()))}isCredentialKey(e){if(e.split(St.CACHE_KEY_SEPARATOR).length<6)return!1;const n=e.toLowerCase();if(n.indexOf(Ce.ID_TOKEN.toLowerCase())===-1&&n.indexOf(Ce.ACCESS_TOKEN.toLowerCase())===-1&&n.indexOf(Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())===-1&&n.indexOf(Ce.REFRESH_TOKEN.toLowerCase())===-1)return!1;if(n.indexOf(Ce.REFRESH_TOKEN.toLowerCase())>-1){const r=`${Ce.REFRESH_TOKEN}${St.CACHE_KEY_SEPARATOR}${this.clientId}${St.CACHE_KEY_SEPARATOR}`,o=`${Ce.REFRESH_TOKEN}${St.CACHE_KEY_SEPARATOR}${Ui}${St.CACHE_KEY_SEPARATOR}`;if(n.indexOf(r.toLowerCase())===-1&&n.indexOf(o.toLowerCase())===-1)return!1}else if(n.indexOf(this.clientId.toLowerCase())===-1)return!1;return!0}credentialMatchesFilter(e,n){return!(n.clientId&&!this.matchClientId(e,n.clientId)||n.userAssertionHash&&!this.matchUserAssertionHash(e,n.userAssertionHash)||typeof n.homeAccountId=="string"&&!this.matchHomeAccountId(e,n.homeAccountId)||n.environment&&!this.matchEnvironment(e,n.environment)||n.realm&&!this.matchRealm(e,n.realm)||n.credentialType&&!this.matchCredentialType(e,n.credentialType)||n.familyId&&!this.matchFamilyId(e,n.familyId)||n.target&&!this.matchTarget(e,n.target)||(n.requestedClaimsHash||e.requestedClaimsHash)&&e.requestedClaimsHash!==n.requestedClaimsHash||e.credentialType===Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME&&(n.tokenType&&!this.matchTokenType(e,n.tokenType)||n.tokenType===Fe.SSH&&n.keyId&&!this.matchKeyId(e,n.keyId)))}getAppMetadataFilteredBy(e){const n=this.getKeys(),r={};return n.forEach(o=>{if(!this.isAppMetadata(o))return;const i=this.getAppMetadata(o);i&&(e.environment&&!this.matchEnvironment(i,e.environment)||e.clientId&&!this.matchClientId(i,e.clientId)||(r[o]=i))}),r}getAuthorityMetadataByAlias(e){const n=this.getAuthorityMetadataKeys();let r=null;return n.forEach(o=>{if(!this.isAuthorityMetadata(o)||o.indexOf(this.clientId)===-1)return;const i=this.getAuthorityMetadata(o);i&&i.aliases.indexOf(e)!==-1&&(r=i)}),r}async removeAllAccounts(e){const n=this.getAccountKeys(),r=[];n.forEach(o=>{r.push(this.removeAccount(o,e))}),await Promise.all(r)}async removeAccount(e,n){const r=this.getAccount(e,n,this.commonLogger);r&&(await this.removeAccountContext(r,n),this.removeItem(e,n))}async removeAccountContext(e,n){const r=this.getTokenKeys(),o=e.generateAccountId();r.idToken.forEach(i=>{i.indexOf(o)===0&&this.removeIdToken(i,n)}),r.accessToken.forEach(i=>{i.indexOf(o)===0&&this.removeAccessToken(i,n)}),r.refreshToken.forEach(i=>{i.indexOf(o)===0&&this.removeRefreshToken(i,n)}),this.getKeys().forEach(i=>{i.includes(o)&&this.removeItem(i,n)})}updateOutdatedCachedAccount(e,n,r,o){var i;if(n&&n.isSingleTenant()){(i=this.commonLogger)==null||i.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");const s=this.getAccountKeys().filter(d=>d.startsWith(n.homeAccountId)),a=[];s.forEach(d=>{const h=this.getCachedAccountEntity(d,r);h&&a.push(h)});const c=a.find(d=>ga(d.realm,d.homeAccountId))||a[0];c.tenantProfiles=a.map(d=>({tenantId:d.realm,localAccountId:d.localAccountId,name:d.name,isHomeTenant:ga(d.realm,d.homeAccountId)}));const l=ui.toObject(new dt,{...c}),u=l.generateAccountKey();return s.forEach(d=>{d!==u&&this.removeOutdatedAccount(e,r)}),this.setAccount(l,r),o==null||o.verbose("Updated an outdated account entity in the cache"),l}return n}removeAccessToken(e,n){const r=this.getAccessTokenCredential(e,n);if(this.removeItem(e,n),!r||r.credentialType.toLowerCase()!==Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()||r.tokenType!==Fe.POP)return;const o=r.keyId;o&&this.cryptoImpl.removeTokenBindingKey(o).catch(()=>{this.commonLogger.error("Binding key could not be removed")})}removeAppMetadata(e){return this.getKeys().forEach(r=>{this.isAppMetadata(r)&&this.removeItem(r,e)}),!0}readAccountFromCache(e,n){const r=dt.generateAccountCacheKey(e);return this.getAccount(r,n,this.commonLogger)}getIdToken(e,n,r,o,i){this.commonLogger.trace("CacheManager - getIdToken called");const s={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:Ce.ID_TOKEN,clientId:this.clientId,realm:o},a=this.getIdTokensByFilter(s,n,r),c=a.size;if(c<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(c>1){let l=a;if(!o){const u=new Map;a.forEach((h,f)=>{h.realm===e.tenantId&&u.set(f,h)});const d=u.size;if(d<1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result"),a.values().next().value;if(d===1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile"),u.values().next().value;l=u}return this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them"),l.forEach((u,d)=>{this.removeIdToken(d,n)}),i&&n&&i.addFields({multiMatchedID:a.size},n),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),a.values().next().value}getIdTokensByFilter(e,n,r){const o=r&&r.idToken||this.getTokenKeys().idToken,i=new Map;return o.forEach(s=>{if(!this.idTokenKeyMatchesFilter(s,{clientId:this.clientId,...e}))return;const a=this.getIdTokenCredential(s,n);a&&this.credentialMatchesFilter(a,e)&&i.set(s,a)}),i}idTokenKeyMatchesFilter(e,n){const r=e.toLowerCase();return!(n.clientId&&r.indexOf(n.clientId.toLowerCase())===-1||n.homeAccountId&&r.indexOf(n.homeAccountId.toLowerCase())===-1)}removeIdToken(e,n){this.removeItem(e,n)}removeRefreshToken(e,n){this.removeItem(e,n)}getAccessToken(e,n,r,o,i){this.commonLogger.trace("CacheManager - getAccessToken called");const s=rt.createSearchScopes(n.scopes),a=n.authenticationScheme||Fe.BEARER,c=a.toLowerCase()!==Fe.BEARER.toLowerCase()?Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME:Ce.ACCESS_TOKEN,l={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:c,clientId:this.clientId,realm:o||e.tenantId,target:s,tokenType:a,keyId:n.sshKid,requestedClaimsHash:n.requestedClaimsHash},u=r&&r.accessToken||this.getTokenKeys().accessToken,d=[];u.forEach(f=>{if(this.accessTokenKeyMatchesFilter(f,l,!0)){const p=this.getAccessTokenCredential(f,n.correlationId);p&&this.credentialMatchesFilter(p,l)&&d.push(p)}});const h=d.length;return h<1?(this.commonLogger.info("CacheManager:getAccessToken - No token found"),null):h>1?(this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them"),d.forEach(f=>{this.removeAccessToken(Bo(f),n.correlationId)}),i&&n.correlationId&&i.addFields({multiMatchedAT:d.length},n.correlationId),null):(this.commonLogger.info("CacheManager:getAccessToken - Returning access token"),d[0])}accessTokenKeyMatchesFilter(e,n,r){const o=e.toLowerCase();if(n.clientId&&o.indexOf(n.clientId.toLowerCase())===-1||n.homeAccountId&&o.indexOf(n.homeAccountId.toLowerCase())===-1||n.realm&&o.indexOf(n.realm.toLowerCase())===-1||n.requestedClaimsHash&&o.indexOf(n.requestedClaimsHash.toLowerCase())===-1)return!1;if(n.target){const i=n.target.asArray();for(let s=0;s{if(!this.accessTokenKeyMatchesFilter(i,e,!0))return;const s=this.getAccessTokenCredential(i,n);s&&this.credentialMatchesFilter(s,e)&&o.push(s)}),o}getRefreshToken(e,n,r,o,i){this.commonLogger.trace("CacheManager - getRefreshToken called");const s=n?Ui:void 0,a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:Ce.REFRESH_TOKEN,clientId:this.clientId,familyId:s},c=o&&o.refreshToken||this.getTokenKeys().refreshToken,l=[];c.forEach(d=>{if(this.refreshTokenKeyMatchesFilter(d,a)){const h=this.getRefreshTokenCredential(d,r);h&&this.credentialMatchesFilter(h,a)&&l.push(h)}});const u=l.length;return u<1?(this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found."),null):(u>1&&i&&r&&i.addFields({multiMatchedRT:u},r),this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token"),l[0])}refreshTokenKeyMatchesFilter(e,n){const r=e.toLowerCase();return!(n.familyId&&r.indexOf(n.familyId.toLowerCase())===-1||!n.familyId&&n.clientId&&r.indexOf(n.clientId.toLowerCase())===-1||n.homeAccountId&&r.indexOf(n.homeAccountId.toLowerCase())===-1)}readAppMetadataFromCache(e){const n={environment:e,clientId:this.clientId},r=this.getAppMetadataFilteredBy(n),o=Object.keys(r).map(s=>r[s]),i=o.length;if(i<1)return null;if(i>1)throw j(ey);return o[0]}isAppMetadataFOCI(e){const n=this.readAppMetadataFromCache(e);return!!(n&&n.familyId===Ui)}matchHomeAccountId(e,n){return typeof e.homeAccountId=="string"&&n===e.homeAccountId}matchLocalAccountIdFromTokenClaims(e,n){const r=e.oid||e.sub;return n===r}matchLocalAccountIdFromTenantProfile(e,n){return e.localAccountId===n}matchName(e,n){var r;return n.toLowerCase()===((r=e.name)==null?void 0:r.toLowerCase())}matchUsername(e,n){return!!(e&&typeof e=="string"&&(n==null?void 0:n.toLowerCase())===e.toLowerCase())}matchUserAssertionHash(e,n){return!!(e.userAssertionHash&&n===e.userAssertionHash)}matchEnvironment(e,n){if(this.staticAuthorityOptions){const o=jR(this.staticAuthorityOptions,this.commonLogger);if(o.includes(n)&&o.includes(e.environment))return!0}const r=this.getAuthorityMetadataByAlias(n);return!!(r&&r.aliases.indexOf(e.environment)>-1)}matchCredentialType(e,n){return e.credentialType&&n.toLowerCase()===e.credentialType.toLowerCase()}matchClientId(e,n){return!!(e.clientId&&n===e.clientId)}matchFamilyId(e,n){return!!(e.familyId&&n===e.familyId)}matchRealm(e,n){var r;return((r=e.realm)==null?void 0:r.toLowerCase())===n.toLowerCase()}matchNativeAccountId(e,n){return!!(e.nativeAccountId&&n===e.nativeAccountId)}matchLoginHintFromTokenClaims(e,n){return e.login_hint===n||e.preferred_username===n||e.upn===n}matchSid(e,n){return e.sid===n}matchAuthorityType(e,n){return!!(e.authorityType&&n.toLowerCase()===e.authorityType.toLowerCase())}matchTarget(e,n){return e.credentialType!==Ce.ACCESS_TOKEN&&e.credentialType!==Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME||!e.target?!1:rt.fromString(e.target).containsScopeSet(n)}matchTokenType(e,n){return!!(e.tokenType&&e.tokenType===n)}matchKeyId(e,n){return!!(e.keyId&&e.keyId===n)}isAppMetadata(e){return e.indexOf(Du)!==-1}isAuthorityMetadata(e){return e.indexOf(da.CACHE_KEY)!==-1}generateAuthorityMetadataCacheKey(e){return`${da.CACHE_KEY}-${this.clientId}-${e}`}static toObject(e,n){for(const r in n)e[r]=n[r];return e}}class GR extends ui{setAccount(){throw j(Ee)}getAccount(){throw j(Ee)}getCachedAccountEntity(){throw j(Ee)}setIdTokenCredential(){throw j(Ee)}getIdTokenCredential(){throw j(Ee)}setAccessTokenCredential(){throw j(Ee)}getAccessTokenCredential(){throw j(Ee)}setRefreshTokenCredential(){throw j(Ee)}getRefreshTokenCredential(){throw j(Ee)}setAppMetadata(){throw j(Ee)}getAppMetadata(){throw j(Ee)}setServerTelemetry(){throw j(Ee)}getServerTelemetry(){throw j(Ee)}setAuthorityMetadata(){throw j(Ee)}getAuthorityMetadata(){throw j(Ee)}getAuthorityMetadataKeys(){throw j(Ee)}setThrottlingCache(){throw j(Ee)}getThrottlingCache(){throw j(Ee)}removeItem(){throw j(Ee)}getKeys(){throw j(Ee)}getAccountKeys(){throw j(Ee)}getTokenKeys(){throw j(Ee)}updateCredentialCacheKey(){throw j(Ee)}removeOutdatedAccount(){throw j(Ee)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const ky={tokenRenewalOffsetSeconds:fR,preventCorsPreflight:!1},zR={loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:Ye.Info,correlationId:P.EMPTY_STRING},WR={claimsBasedCachingEnabled:!1},QR={async sendGetRequestAsync(){throw j(Ee)},async sendPostRequestAsync(){throw j(Ee)}},YR={sku:P.SKU,version:qu,cpu:P.EMPTY_STRING,os:P.EMPTY_STRING},JR={clientSecret:P.EMPTY_STRING,clientAssertion:void 0},XR={azureCloudInstance:ju.None,tenant:`${P.DEFAULT_COMMON_TENANT}`},ZR={application:{appName:"",appVersion:""}};function eO({authOptions:t,systemOptions:e,loggerOptions:n,cacheOptions:r,storageInterface:o,networkInterface:i,cryptoInterface:s,clientCredentials:a,libraryInfo:c,telemetry:l,serverTelemetryManager:u,persistencePlugin:d,serializableCache:h}){const f={...zR,...n};return{authOptions:tO(t),systemOptions:{...ky,...e},loggerOptions:f,cacheOptions:{...WR,...r},storageInterface:o||new GR(t.clientId,fa,new Kr(f)),networkInterface:i||QR,cryptoInterface:s||fa,clientCredentials:a||JR,libraryInfo:{...YR,...c},telemetry:{...ZR,...l},serverTelemetryManager:u||null,persistencePlugin:d||null,serializableCache:h||null}}function tO(t){return{clientCapabilities:[],azureCloudOptions:XR,skipAuthorityMetadataCache:!1,instanceAware:!1,...t}}function Hl(t){return t.authOptions.authority.options.protocolMode===ar.OIDC}/*! @azure/msal-common v14.16.1 2025-08-05 */const Jt={HOME_ACCOUNT_ID:"home_account_id",UPN:"UPN"};/*! @azure/msal-common v14.16.1 2025-08-05 */const vo="client_id",Py="redirect_uri",Rf="response_type",nO="response_mode",rO="grant_type",oO="claims",iO="scope",sO="refresh_token",aO="state",cO="nonce",lO="prompt",uO="code",dO="code_challenge",hO="code_challenge_method",fO="code_verifier",pO="client-request-id",gO="x-client-SKU",mO="x-client-VER",yO="x-client-OS",vO="x-client-CPU",CO="x-client-current-telemetry",wO="x-client-last-telemetry",AO="x-ms-lib-capability",TO="x-app-name",EO="x-app-ver",bO="post_logout_redirect_uri",_O="id_token_hint",SO="device_code",IO="client_secret",RO="client_assertion",OO="client_assertion_type",Of="token_type",kf="req_cnf",kO="assertion",PO="requested_token_use",Pf="return_spa_code",NO="nativebroker",xO="logout_hint",MO="sid",DO="login_hint",LO="domain_hint",UO="x-client-xtra-sku",td="brk_client_id",Bl="brk_redirect_uri";/*! @azure/msal-common v14.16.1 2025-08-05 */class Do{static validateRedirectUri(e){if(!e)throw $e(dy)}static validatePrompt(e){const n=[];for(const r in gt)n.push(gt[r]);if(n.indexOf(e)<0)throw $e(gy)}static validateClaims(e){try{JSON.parse(e)}catch{throw $e(Gu)}}static validateCodeChallengeParams(e,n){if(!e||!n)throw $e(zu);this.validateCodeChallengeMethod(n)}static validateCodeChallengeMethod(e){if([mf.PLAIN,mf.S256].indexOf(e)<0)throw $e(vy)}}/*! @azure/msal-common v14.16.1 2025-08-05 */function HO(t,e,n){if(!e)return;const r=t.get(vo);r&&t.has(td)&&(n==null||n.addFields({embeddedClientId:r,embeddedRedirectUri:t.get(Py)},e))}class Bi{constructor(e,n){this.parameters=new Map,this.performanceClient=n,this.correlationId=e}addResponseTypeCode(){this.parameters.set(Rf,encodeURIComponent(P.CODE_RESPONSE_TYPE))}addResponseTypeForTokenAndIdToken(){this.parameters.set(Rf,encodeURIComponent(`${P.TOKEN_RESPONSE_TYPE} ${P.ID_TOKEN_RESPONSE_TYPE}`))}addResponseMode(e){this.parameters.set(nO,encodeURIComponent(e||uR.QUERY))}addNativeBroker(){this.parameters.set(NO,encodeURIComponent("1"))}addScopes(e,n=!0,r=mi){n&&!r.includes("openid")&&!e.includes("openid")&&r.push("openid");const o=n?[...e||[],...r]:e||[],i=new rt(o);this.parameters.set(iO,encodeURIComponent(i.printScopes()))}addClientId(e){this.parameters.set(vo,encodeURIComponent(e))}addRedirectUri(e){Do.validateRedirectUri(e),this.parameters.set(Py,encodeURIComponent(e))}addPostLogoutRedirectUri(e){Do.validateRedirectUri(e),this.parameters.set(bO,encodeURIComponent(e))}addIdTokenHint(e){this.parameters.set(_O,encodeURIComponent(e))}addDomainHint(e){this.parameters.set(LO,encodeURIComponent(e))}addLoginHint(e){this.parameters.set(DO,encodeURIComponent(e))}addCcsUpn(e){this.parameters.set(xt.CCS_HEADER,encodeURIComponent(`UPN:${e}`))}addCcsOid(e){this.parameters.set(xt.CCS_HEADER,encodeURIComponent(`Oid:${e.uid}@${e.utid}`))}addSid(e){this.parameters.set(MO,encodeURIComponent(e))}addClaims(e,n){const r=this.addClientCapabilitiesToClaims(e,n);Do.validateClaims(r),this.parameters.set(oO,encodeURIComponent(r))}addCorrelationId(e){this.parameters.set(pO,encodeURIComponent(e))}addLibraryInfo(e){this.parameters.set(gO,e.sku),this.parameters.set(mO,e.version),e.os&&this.parameters.set(yO,e.os),e.cpu&&this.parameters.set(vO,e.cpu)}addApplicationTelemetry(e){e!=null&&e.appName&&this.parameters.set(TO,e.appName),e!=null&&e.appVersion&&this.parameters.set(EO,e.appVersion)}addPrompt(e){Do.validatePrompt(e),this.parameters.set(`${lO}`,encodeURIComponent(e))}addState(e){e&&this.parameters.set(aO,encodeURIComponent(e))}addNonce(e){this.parameters.set(cO,encodeURIComponent(e))}addCodeChallengeParams(e,n){if(Do.validateCodeChallengeParams(e,n),e&&n)this.parameters.set(dO,encodeURIComponent(e)),this.parameters.set(hO,encodeURIComponent(n));else throw $e(zu)}addAuthorizationCode(e){this.parameters.set(uO,encodeURIComponent(e))}addDeviceCode(e){this.parameters.set(SO,encodeURIComponent(e))}addRefreshToken(e){this.parameters.set(sO,encodeURIComponent(e))}addCodeVerifier(e){this.parameters.set(fO,encodeURIComponent(e))}addClientSecret(e){this.parameters.set(IO,encodeURIComponent(e))}addClientAssertion(e){e&&this.parameters.set(RO,encodeURIComponent(e))}addClientAssertionType(e){e&&this.parameters.set(OO,encodeURIComponent(e))}addOboAssertion(e){this.parameters.set(kO,encodeURIComponent(e))}addRequestTokenUse(e){this.parameters.set(PO,encodeURIComponent(e))}addGrantType(e){this.parameters.set(rO,encodeURIComponent(e))}addClientInfo(){this.parameters.set(dR,"1")}addExtraQueryParameters(e){Object.entries(e).forEach(([n,r])=>{!this.parameters.has(n)&&r&&this.parameters.set(n,r)})}addClientCapabilitiesToClaims(e,n){let r;if(!e)r={};else try{r=JSON.parse(e)}catch{throw $e(Gu)}return n&&n.length>0&&(r.hasOwnProperty(Ls.ACCESS_TOKEN)||(r[Ls.ACCESS_TOKEN]={}),r[Ls.ACCESS_TOKEN][Ls.XMS_CC]={values:n}),JSON.stringify(r)}addUsername(e){this.parameters.set(vf.username,encodeURIComponent(e))}addPassword(e){this.parameters.set(vf.password,encodeURIComponent(e))}addPopToken(e){e&&(this.parameters.set(Of,Fe.POP),this.parameters.set(kf,encodeURIComponent(e)))}addSshJwk(e){e&&(this.parameters.set(Of,Fe.SSH),this.parameters.set(kf,encodeURIComponent(e)))}addServerTelemetry(e){this.parameters.set(CO,e.generateCurrentRequestHeaderValue()),this.parameters.set(wO,e.generateLastRequestHeaderValue())}addThrottling(){this.parameters.set(AO,Hi.X_MS_LIB_CAPABILITY_VALUE)}addLogoutHint(e){this.parameters.set(xO,encodeURIComponent(e))}addBrokerParameters(e){const n={};n[td]=e.brokerClientId,n[Bl]=e.brokerRedirectUri,this.addExtraQueryParameters(n)}createQueryString(){const e=new Array;return this.parameters.forEach((n,r)=>{e.push(`${r}=${n}`)}),HO(this.parameters,this.correlationId,this.performanceClient),e.join("&")}}/*! @azure/msal-common v14.16.1 2025-08-05 */function BO(t){return t.hasOwnProperty("authorization_endpoint")&&t.hasOwnProperty("token_endpoint")&&t.hasOwnProperty("issuer")&&t.hasOwnProperty("jwks_uri")}/*! @azure/msal-common v14.16.1 2025-08-05 */function FO(t){return t.hasOwnProperty("tenant_discovery_endpoint")&&t.hasOwnProperty("metadata")}/*! @azure/msal-common v14.16.1 2025-08-05 */function KO(t){return t.hasOwnProperty("error")&&t.hasOwnProperty("error_description")}/*! @azure/msal-common v14.16.1 2025-08-05 */const _={AcquireTokenByCode:"acquireTokenByCode",AcquireTokenByRefreshToken:"acquireTokenByRefreshToken",AcquireTokenSilent:"acquireTokenSilent",AcquireTokenSilentAsync:"acquireTokenSilentAsync",AcquireTokenPopup:"acquireTokenPopup",AcquireTokenPreRedirect:"acquireTokenPreRedirect",AcquireTokenRedirect:"acquireTokenRedirect",CryptoOptsGetPublicKeyThumbprint:"cryptoOptsGetPublicKeyThumbprint",CryptoOptsSignJwt:"cryptoOptsSignJwt",SilentCacheClientAcquireToken:"silentCacheClientAcquireToken",SilentIframeClientAcquireToken:"silentIframeClientAcquireToken",AwaitConcurrentIframe:"awaitConcurrentIframe",SilentRefreshClientAcquireToken:"silentRefreshClientAcquireToken",SsoSilent:"ssoSilent",StandardInteractionClientGetDiscoveredAuthority:"standardInteractionClientGetDiscoveredAuthority",FetchAccountIdWithNativeBroker:"fetchAccountIdWithNativeBroker",NativeInteractionClientAcquireToken:"nativeInteractionClientAcquireToken",BaseClientCreateTokenRequestHeaders:"baseClientCreateTokenRequestHeaders",NetworkClientSendPostRequestAsync:"networkClientSendPostRequestAsync",RefreshTokenClientExecutePostToTokenEndpoint:"refreshTokenClientExecutePostToTokenEndpoint",AuthorizationCodeClientExecutePostToTokenEndpoint:"authorizationCodeClientExecutePostToTokenEndpoint",BrokerHandhshake:"brokerHandshake",AcquireTokenByRefreshTokenInBroker:"acquireTokenByRefreshTokenInBroker",AcquireTokenByBroker:"acquireTokenByBroker",RefreshTokenClientExecuteTokenRequest:"refreshTokenClientExecuteTokenRequest",RefreshTokenClientAcquireToken:"refreshTokenClientAcquireToken",RefreshTokenClientAcquireTokenWithCachedRefreshToken:"refreshTokenClientAcquireTokenWithCachedRefreshToken",RefreshTokenClientAcquireTokenByRefreshToken:"refreshTokenClientAcquireTokenByRefreshToken",RefreshTokenClientCreateTokenRequestBody:"refreshTokenClientCreateTokenRequestBody",AcquireTokenFromCache:"acquireTokenFromCache",SilentFlowClientAcquireCachedToken:"silentFlowClientAcquireCachedToken",SilentFlowClientGenerateResultFromCacheRecord:"silentFlowClientGenerateResultFromCacheRecord",AcquireTokenBySilentIframe:"acquireTokenBySilentIframe",InitializeBaseRequest:"initializeBaseRequest",InitializeSilentRequest:"initializeSilentRequest",InitializeClientApplication:"initializeClientApplication",SilentIframeClientTokenHelper:"silentIframeClientTokenHelper",SilentHandlerInitiateAuthRequest:"silentHandlerInitiateAuthRequest",SilentHandlerMonitorIframeForHash:"silentHandlerMonitorIframeForHash",SilentHandlerLoadFrame:"silentHandlerLoadFrame",SilentHandlerLoadFrameSync:"silentHandlerLoadFrameSync",StandardInteractionClientCreateAuthCodeClient:"standardInteractionClientCreateAuthCodeClient",StandardInteractionClientGetClientConfiguration:"standardInteractionClientGetClientConfiguration",StandardInteractionClientInitializeAuthorizationRequest:"standardInteractionClientInitializeAuthorizationRequest",StandardInteractionClientInitializeAuthorizationCodeRequest:"standardInteractionClientInitializeAuthorizationCodeRequest",GetAuthCodeUrl:"getAuthCodeUrl",HandleCodeResponseFromServer:"handleCodeResponseFromServer",HandleCodeResponse:"handleCodeResponse",UpdateTokenEndpointAuthority:"updateTokenEndpointAuthority",AuthClientAcquireToken:"authClientAcquireToken",AuthClientExecuteTokenRequest:"authClientExecuteTokenRequest",AuthClientCreateTokenRequestBody:"authClientCreateTokenRequestBody",AuthClientCreateQueryString:"authClientCreateQueryString",PopTokenGenerateCnf:"popTokenGenerateCnf",PopTokenGenerateKid:"popTokenGenerateKid",HandleServerTokenResponse:"handleServerTokenResponse",DeserializeResponse:"deserializeResponse",AuthorityFactoryCreateDiscoveredInstance:"authorityFactoryCreateDiscoveredInstance",AuthorityResolveEndpointsAsync:"authorityResolveEndpointsAsync",AuthorityResolveEndpointsFromLocalSources:"authorityResolveEndpointsFromLocalSources",AuthorityGetCloudDiscoveryMetadataFromNetwork:"authorityGetCloudDiscoveryMetadataFromNetwork",AuthorityUpdateCloudDiscoveryMetadata:"authorityUpdateCloudDiscoveryMetadata",AuthorityGetEndpointMetadataFromNetwork:"authorityGetEndpointMetadataFromNetwork",AuthorityUpdateEndpointMetadata:"authorityUpdateEndpointMetadata",AuthorityUpdateMetadataWithRegionalInformation:"authorityUpdateMetadataWithRegionalInformation",RegionDiscoveryDetectRegion:"regionDiscoveryDetectRegion",RegionDiscoveryGetRegionFromIMDS:"regionDiscoveryGetRegionFromIMDS",RegionDiscoveryGetCurrentVersion:"regionDiscoveryGetCurrentVersion",AcquireTokenByCodeAsync:"acquireTokenByCodeAsync",GetEndpointMetadataFromNetwork:"getEndpointMetadataFromNetwork",GetCloudDiscoveryMetadataFromNetworkMeasurement:"getCloudDiscoveryMetadataFromNetworkMeasurement",HandleRedirectPromiseMeasurement:"handleRedirectPromise",HandleNativeRedirectPromiseMeasurement:"handleNativeRedirectPromise",UpdateCloudDiscoveryMetadataMeasurement:"updateCloudDiscoveryMetadataMeasurement",UsernamePasswordClientAcquireToken:"usernamePasswordClientAcquireToken",NativeMessageHandlerHandshake:"nativeMessageHandlerHandshake",NativeGenerateAuthResult:"nativeGenerateAuthResult",RemoveHiddenIframe:"removeHiddenIframe",ClearTokensAndKeysWithClaims:"clearTokensAndKeysWithClaims",CacheManagerGetRefreshToken:"cacheManagerGetRefreshToken",GeneratePkceCodes:"generatePkceCodes",GenerateCodeVerifier:"generateCodeVerifier",GenerateCodeChallengeFromVerifier:"generateCodeChallengeFromVerifier",Sha256Digest:"sha256Digest",GetRandomValues:"getRandomValues"},$O={InProgress:1};/*! @azure/msal-common v14.16.1 2025-08-05 */const _o=(t,e,n,r,o)=>(...i)=>{n.trace(`Executing function ${e}`);const s=r==null?void 0:r.startMeasurement(e,o);if(o){const a=e+"CallCount";r==null||r.incrementFields({[a]:1},o)}try{const a=t(...i);return s==null||s.end({success:!0}),n.trace(`Returning result from ${e}`),a}catch(a){n.trace(`Error occurred in ${e}`);try{n.trace(JSON.stringify(a))}catch{n.trace("Unable to print error message.")}throw s==null||s.end({success:!1},a),a}},G=(t,e,n,r,o)=>(...i)=>{n.trace(`Executing function ${e}`);const s=r==null?void 0:r.startMeasurement(e,o);if(o){const a=e+"CallCount";r==null||r.incrementFields({[a]:1},o)}return r==null||r.setPreQueueTime(e,o),t(...i).then(a=>(n.trace(`Returning result from ${e}`),s==null||s.end({success:!0}),a)).catch(a=>{n.trace(`Error occurred in ${e}`);try{n.trace(JSON.stringify(a))}catch{n.trace("Unable to print error message.")}throw s==null||s.end({success:!1},a),a})};/*! @azure/msal-common v14.16.1 2025-08-05 */class lc{constructor(e,n,r,o){this.networkInterface=e,this.logger=n,this.performanceClient=r,this.correlationId=o}async detectRegion(e,n){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.RegionDiscoveryDetectRegion,this.correlationId);let r=e;if(r)n.region_source=Po.ENVIRONMENT_VARIABLE;else{const i=lc.IMDS_OPTIONS;try{const s=await G(this.getRegionFromIMDS.bind(this),_.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(P.IMDS_VERSION,i);if(s.status===Hs.httpSuccess&&(r=s.body,n.region_source=Po.IMDS),s.status===Hs.httpBadRequest){const a=await G(this.getCurrentVersion.bind(this),_.RegionDiscoveryGetCurrentVersion,this.logger,this.performanceClient,this.correlationId)(i);if(!a)return n.region_source=Po.FAILED_AUTO_DETECTION,null;const c=await G(this.getRegionFromIMDS.bind(this),_.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(a,i);c.status===Hs.httpSuccess&&(r=c.body,n.region_source=Po.IMDS)}}catch{return n.region_source=Po.FAILED_AUTO_DETECTION,null}}return r||(n.region_source=Po.FAILED_AUTO_DETECTION),r||null}async getRegionFromIMDS(e,n){var r;return(r=this.performanceClient)==null||r.addQueueMeasurement(_.RegionDiscoveryGetRegionFromIMDS,this.correlationId),this.networkInterface.sendGetRequestAsync(`${P.IMDS_ENDPOINT}?api-version=${e}&format=text`,n,P.IMDS_TIMEOUT)}async getCurrentVersion(e){var n;(n=this.performanceClient)==null||n.addQueueMeasurement(_.RegionDiscoveryGetCurrentVersion,this.correlationId);try{const r=await this.networkInterface.sendGetRequestAsync(`${P.IMDS_ENDPOINT}?format=json`,e);return r.status===Hs.httpBadRequest&&r.body&&r.body["newest-versions"]&&r.body["newest-versions"].length>0?r.body["newest-versions"][0]:null}catch{return null}}}lc.IMDS_OPTIONS={headers:{Metadata:"true"}};/*! @azure/msal-common v14.16.1 2025-08-05 */class bt{constructor(e,n,r,o,i,s,a,c){this.canonicalAuthority=e,this._canonicalAuthority.validateAsUri(),this.networkInterface=n,this.cacheManager=r,this.authorityOptions=o,this.regionDiscoveryMetadata={region_used:void 0,region_source:void 0,region_outcome:void 0},this.logger=i,this.performanceClient=a,this.correlationId=s,this.managedIdentity=c||!1,this.regionDiscovery=new lc(n,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(P.CIAM_AUTH_URL))return hn.Ciam;const n=e.PathSegments;if(n.length)switch(n[0].toLowerCase()){case P.ADFS:return hn.Adfs;case P.DSTS:return hn.Dsts}return hn.Default}get authorityType(){return this.getAuthorityType(this.canonicalAuthorityUrlComponents)}get protocolMode(){return this.authorityOptions.protocolMode}get options(){return this.authorityOptions}get canonicalAuthority(){return this._canonicalAuthority.urlString}set canonicalAuthority(e){this._canonicalAuthority=new Oe(e),this._canonicalAuthority.validateAsUri(),this._canonicalAuthorityUrlComponents=null}get canonicalAuthorityUrlComponents(){return this._canonicalAuthorityUrlComponents||(this._canonicalAuthorityUrlComponents=this._canonicalAuthority.getUrlComponents()),this._canonicalAuthorityUrlComponents}get hostnameAndPort(){return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase()}get tenant(){return this.canonicalAuthorityUrlComponents.PathSegments[0]}get authorizationEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.authorization_endpoint);throw j(Zn)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw j(Zn)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw j(Zn)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw j(ay);return this.replacePath(this.metadata.end_session_endpoint)}else throw j(Zn)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw j(Zn)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw j(Zn)}canReplaceTenant(e){return e.PathSegments.length===1&&!bt.reservedTenantDomains.has(e.PathSegments[0])&&this.getAuthorityType(e)===hn.Default&&this.protocolMode===ar.AAD}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let n=e;const o=new Oe(this.metadata.canonical_authority).getUrlComponents(),i=o.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach((a,c)=>{let l=i[c];if(c===0&&this.canReplaceTenant(o)){const u=new Oe(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];l!==u&&(this.logger.verbose(`Replacing tenant domain name ${l} with id ${u}`),l=u)}a!==l&&(n=n.replace(`/${l}/`,`/${a}/`))}),this.replaceTenant(n)}get defaultOpenIdConfigurationEndpoint(){const e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||this.authorityType===hn.Adfs||this.protocolMode!==ar.AAD&&!this.isAliasOfKnownMicrosoftAuthority(e)?`${this.canonicalAuthority}.well-known/openid-configuration`:`${this.canonicalAuthority}v2.0/.well-known/openid-configuration`}discoveryComplete(){return!!this.metadata}async resolveEndpointsAsync(){var o,i;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityResolveEndpointsAsync,this.correlationId);const e=this.getCurrentMetadataEntity(),n=await G(this.updateCloudDiscoveryMetadata.bind(this),_.AuthorityUpdateCloudDiscoveryMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);const r=await G(this.updateEndpointMetadata.bind(this),_.AuthorityUpdateEndpointMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,n,{source:r}),(i=this.performanceClient)==null||i.addFields({cloudDiscoverySource:n,authorityEndpointSource:r},this.correlationId)}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e={aliases:[],preferred_cache:this.hostnameAndPort,preferred_network:this.hostnameAndPort,canonical_authority:this.canonicalAuthority,authorization_endpoint:"",token_endpoint:"",end_session_endpoint:"",issuer:"",aliasesFromNetwork:!1,endpointsFromNetwork:!1,expiresAt:bf(),jwks_uri:""}),e}updateCachedMetadata(e,n,r){n!==qt.CACHE&&(r==null?void 0:r.source)!==qt.CACHE&&(e.expiresAt=bf(),e.canonical_authority=this.canonicalAuthority);const o=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(o,e),this.metadata=e}async updateEndpointMetadata(e){var o,i,s;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityUpdateEndpointMetadata,this.correlationId);const n=this.updateEndpointMetadataFromLocalSources(e);if(n){if(n.source===qt.HARDCODED_VALUES&&(i=this.authorityOptions.azureRegionConfiguration)!=null&&i.azureRegion&&n.metadata){const a=await G(this.updateMetadataWithRegionalInformation.bind(this),_.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(n.metadata);Bs(e,a,!1),e.canonical_authority=this.canonicalAuthority}return n.source}let r=await G(this.getEndpointMetadataFromNetwork.bind(this),_.AuthorityGetEndpointMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(r)return(s=this.authorityOptions.azureRegionConfiguration)!=null&&s.azureRegion&&(r=await G(this.updateMetadataWithRegionalInformation.bind(this),_.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(r)),Bs(e,r,!0),qt.NETWORK;throw j(Qm,this.defaultOpenIdConfigurationEndpoint)}updateEndpointMetadataFromLocalSources(e){this.logger.verbose("Attempting to get endpoint metadata from authority configuration");const n=this.getEndpointMetadataFromConfig();if(n)return this.logger.verbose("Found endpoint metadata in authority configuration"),Bs(e,n,!1),{source:qt.CONFIG};if(this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values."),this.authorityOptions.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");else{const o=this.getEndpointMetadataFromHardcodedValues();if(o)return Bs(e,o,!1),{source:qt.HARDCODED_VALUES,metadata:o};this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.")}const r=_f(e);return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!r?(this.logger.verbose("Found endpoint metadata in the cache."),{source:qt.CACHE}):(r&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new Oe(e.canonical_authority).getUrlComponents().PathSegments.length===this.canonicalAuthorityUrlComponents.PathSegments.length}getEndpointMetadataFromConfig(){if(this.authorityOptions.authorityMetadata)try{return JSON.parse(this.authorityOptions.authorityMetadata)}catch{throw $e(Cy)}return null}async getEndpointMetadataFromNetwork(){var r;(r=this.performanceClient)==null||r.addQueueMeasurement(_.AuthorityGetEndpointMetadataFromNetwork,this.correlationId);const e={},n=this.defaultOpenIdConfigurationEndpoint;this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${n}`);try{const o=await this.networkInterface.sendGetRequestAsync(n,e);return BO(o.body)?o.body:(this.logger.verbose("Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration"),null)}catch(o){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${o}`),null}}getEndpointMetadataFromHardcodedValues(){return this.hostnameAndPort in Sf?Sf[this.hostnameAndPort]:null}async updateMetadataWithRegionalInformation(e){var r,o,i;(r=this.performanceClient)==null||r.addQueueMeasurement(_.AuthorityUpdateMetadataWithRegionalInformation,this.correlationId);const n=(o=this.authorityOptions.azureRegionConfiguration)==null?void 0:o.azureRegion;if(n){if(n!==P.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome=Vc.CONFIGURED_NO_AUTO_DETECTION,this.regionDiscoveryMetadata.region_used=n,bt.replaceWithRegionalInformation(e,n);const s=await G(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),_.RegionDiscoveryDetectRegion,this.logger,this.performanceClient,this.correlationId)((i=this.authorityOptions.azureRegionConfiguration)==null?void 0:i.environmentRegion,this.regionDiscoveryMetadata);if(s)return this.regionDiscoveryMetadata.region_outcome=Vc.AUTO_DETECTION_REQUESTED_SUCCESSFUL,this.regionDiscoveryMetadata.region_used=s,bt.replaceWithRegionalInformation(e,s);this.regionDiscoveryMetadata.region_outcome=Vc.AUTO_DETECTION_REQUESTED_FAILED}return e}async updateCloudDiscoveryMetadata(e){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityUpdateCloudDiscoveryMetadata,this.correlationId);const n=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(n)return n;const r=await G(this.getCloudDiscoveryMetadataFromNetwork.bind(this),_.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(r)return Gc(e,r,!0),qt.NETWORK;throw $e(wy)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||P.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||P.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||P.NOT_APPLICABLE}`);const n=this.getCloudDiscoveryMetadataFromConfig();if(n)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),Gc(e,n,!1),qt.CONFIG;if(this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values."),this.options.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");else{const o=VR(this.hostnameAndPort);if(o)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),Gc(e,o,!1),qt.HARDCODED_VALUES;this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.")}const r=_f(e);return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!r?(this.logger.verbose("Found cloud discovery metadata in the cache."),qt.CACHE):(r&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(this.authorityType===hn.Ciam)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),bt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);if(this.authorityOptions.cloudDiscoveryMetadata){this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");try{this.logger.verbose("Attempting to parse the cloud discovery metadata.");const e=JSON.parse(this.authorityOptions.cloudDiscoveryMetadata),n=ya(e.metadata,this.hostnameAndPort);if(this.logger.verbose("Parsed the cloud discovery metadata."),n)return this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata."),n;this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.")}catch{throw this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error."),$e(Wu)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),bt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.correlationId);const e=`${P.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`,n={};let r=null;try{const i=await this.networkInterface.sendGetRequestAsync(e,n);let s,a;if(FO(i.body))s=i.body,a=s.metadata,this.logger.verbosePii(`tenant_discovery_endpoint is: ${s.tenant_discovery_endpoint}`);else if(KO(i.body)){if(this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${i.status}`),s=i.body,s.error===P.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invalid_instance."),null;this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${s.error}`),this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${s.error_description}`),this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []"),a=[]}else return this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse"),null;this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request."),r=ya(a,this.hostnameAndPort)}catch(i){if(i instanceof We)this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata. +Error: ${i.errorCode} +Error Description: ${i.errorMessage}`);else{const s=i;this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata. +Error: ${s.name} +Error Description: ${s.message}`)}return null}return r||(this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request."),this.logger.verbose("Creating custom Authority for custom domain scenario."),r=bt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),r}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter(n=>n&&Oe.getDomainFromUrl(n).toLowerCase()===this.hostnameAndPort).length>0}static generateAuthority(e,n){let r;if(n&&n.azureCloudInstance!==ju.None){const o=n.tenant?n.tenant:P.DEFAULT_COMMON_TENANT;r=`${n.azureCloudInstance}/${o}/`}return r||e}static createCloudDiscoveryMetadataFromHost(e){return{preferred_network:e,preferred_cache:e,aliases:[e]}}getPreferredCache(){if(this.managedIdentity)return P.DEFAULT_AUTHORITY_HOST;if(this.discoveryComplete())return this.metadata.preferred_cache;throw j(Zn)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return Ry.has(e)}static isPublicCloudAuthority(e){return P.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,n,r){const o=new Oe(e);o.validateAsUri();const i=o.getUrlComponents();let s=`${n}.${i.HostNameAndPort}`;this.isPublicCloudAuthority(i.HostNameAndPort)&&(s=`${n}.${P.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);const a=Oe.constructAuthorityUriFromObject({...o.getUrlComponents(),HostNameAndPort:s}).urlString;return r?`${a}?${r}`:a}static replaceWithRegionalInformation(e,n){const r={...e};return r.authorization_endpoint=bt.buildRegionalAuthorityString(r.authorization_endpoint,n),r.token_endpoint=bt.buildRegionalAuthorityString(r.token_endpoint,n),r.end_session_endpoint&&(r.end_session_endpoint=bt.buildRegionalAuthorityString(r.end_session_endpoint,n)),r}static transformCIAMAuthority(e){let n=e;const o=new Oe(e).getUrlComponents();if(o.PathSegments.length===0&&o.HostNameAndPort.endsWith(P.CIAM_AUTH_URL)){const i=o.HostNameAndPort.split(".")[0];n=`${n}${i}${P.AAD_TENANT_DOMAIN_SUFFIX}`}return n}}bt.reservedTenantDomains=new Set(["{tenant}","{tenantid}",Hr.COMMON,Hr.CONSUMERS,Hr.ORGANIZATIONS]);function qO(t){var o;const r=(o=new Oe(t).getUrlComponents().PathSegments.slice(-1)[0])==null?void 0:o.toLowerCase();switch(r){case Hr.COMMON:case Hr.ORGANIZATIONS:case Hr.CONSUMERS:return;default:return r}}function Ny(t){return t.endsWith(P.FORWARD_SLASH)?t:`${t}${P.FORWARD_SLASH}`}function jO(t){const e=t.cloudDiscoveryMetadata;let n;if(e)try{n=JSON.parse(e)}catch{throw $e(Wu)}return{canonicalAuthority:t.authority?Ny(t.authority):void 0,knownAuthorities:t.knownAuthorities,cloudDiscoveryMetadata:n}}/*! @azure/msal-common v14.16.1 2025-08-05 */async function xy(t,e,n,r,o,i,s){s==null||s.addQueueMeasurement(_.AuthorityFactoryCreateDiscoveredInstance,i);const a=bt.transformCIAMAuthority(Ny(t)),c=new bt(a,e,n,r,o,i,s);try{return await G(c.resolveEndpointsAsync.bind(c),_.AuthorityResolveEndpointsAsync,o,s,i)(),c}catch{throw j(Zn)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class $r extends We{constructor(e,n,r,o,i){super(e,n,r),this.name="ServerError",this.errorNo=o,this.status=i,Object.setPrototypeOf(this,$r.prototype)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class Dn{static generateThrottlingStorageKey(e){return`${Hi.THROTTLING_PREFIX}.${JSON.stringify(e)}`}static preProcess(e,n,r){var s;const o=Dn.generateThrottlingStorageKey(n),i=e.getThrottlingCache(o);if(i){if(i.throttleTime=500&&e.status<600}static checkResponseForRetryAfter(e){return e.headers?e.headers.hasOwnProperty(xt.RETRY_AFTER)&&(e.status<200||e.status>=300):!1}static calculateThrottleTime(e){const n=e<=0?0:e,r=Date.now()/1e3;return Math.floor(Math.min(r+(n||Hi.DEFAULT_THROTTLE_TIME_SECONDS),r+Hi.DEFAULT_MAX_THROTTLE_TIME_SECONDS)*1e3)}static removeThrottle(e,n,r,o){const i={clientId:n,authority:r.authority,scopes:r.scopes,homeAccountIdentifier:o,claims:r.claims,authenticationScheme:r.authenticationScheme,resourceRequestMethod:r.resourceRequestMethod,resourceRequestUri:r.resourceRequestUri,shrClaims:r.shrClaims,sshKid:r.sshKid},s=this.generateThrottlingStorageKey(i);e.removeItem(s,r.correlationId)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class uc extends We{constructor(e,n,r){super(e.errorCode,e.errorMessage,e.subError),Object.setPrototypeOf(this,uc.prototype),this.name="NetworkError",this.error=e,this.httpStatus=n,this.responseHeaders=r}}function Nf(t,e,n){return new uc(t,e,n)}/*! @azure/msal-common v14.16.1 2025-08-05 */class nd{constructor(e,n){this.config=eO(e),this.logger=new Kr(this.config.loggerOptions,cy,qu),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.serverTelemetryManager=this.config.serverTelemetryManager,this.authority=this.config.authOptions.authority,this.performanceClient=n}createTokenRequestHeaders(e){const n={};if(n[xt.CONTENT_TYPE]=P.URL_FORM_CONTENT_TYPE,!this.config.systemOptions.preventCorsPreflight&&e)switch(e.type){case Jt.HOME_ACCOUNT_ID:try{const r=Fo(e.credential);n[xt.CCS_HEADER]=`Oid:${r.uid}@${r.utid}`}catch(r){this.logger.verbose("Could not parse home account ID for CCS Header: "+r)}break;case Jt.UPN:n[xt.CCS_HEADER]=`UPN: ${e.credential}`;break}return n}async executePostToTokenEndpoint(e,n,r,o,i,s){var c;s&&((c=this.performanceClient)==null||c.addQueueMeasurement(s,i));const a=await this.sendPostRequest(o,e,{body:n,headers:r},i);return this.config.serverTelemetryManager&&a.status<500&&a.status!==429&&this.config.serverTelemetryManager.clearTelemetryCache(),a}async sendPostRequest(e,n,r,o){var s,a,c;Dn.preProcess(this.cacheManager,e,o);let i;try{i=await G(this.networkClient.sendPostRequestAsync.bind(this.networkClient),_.NetworkClientSendPostRequestAsync,this.logger,this.performanceClient,o)(n,r);const l=i.headers||{};(a=this.performanceClient)==null||a.addFields({refreshTokenSize:((s=i.body.refresh_token)==null?void 0:s.length)||0,httpVerToken:l[xt.X_MS_HTTP_VERSION]||"",requestId:l[xt.X_MS_REQUEST_ID]||""},o)}catch(l){if(l instanceof uc){const u=l.responseHeaders;throw u&&((c=this.performanceClient)==null||c.addFields({httpVerToken:u[xt.X_MS_HTTP_VERSION]||"",requestId:u[xt.X_MS_REQUEST_ID]||"",contentTypeHeader:u[xt.CONTENT_TYPE]||void 0,contentLengthHeader:u[xt.CONTENT_LENGTH]||void 0,httpStatus:l.httpStatus},o)),l.error}throw l instanceof We?l:j(Wm)}return Dn.postProcess(this.cacheManager,e,i,o),i}async updateAuthority(e,n){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.UpdateTokenEndpointAuthority,n);const r=`https://${e}/${this.authority.tenant}/`,o=await xy(r,this.networkClient,this.cacheManager,this.authority.options,this.logger,n,this.performanceClient);this.authority=o}createTokenQueryParameters(e){const n=new Bi(e.correlationId,this.performanceClient);return e.embeddedClientId&&n.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenQueryParameters&&n.addExtraQueryParameters(e.tokenQueryParameters),n.addCorrelationId(e.correlationId),n.createQueryString()}}/*! @azure/msal-common v14.16.1 2025-08-05 */const va="no_tokens_found",My="native_account_unavailable",rd="refresh_token_expired",VO="interaction_required",GO="consent_required",zO="login_required",dc="bad_token";/*! @azure/msal-common v14.16.1 2025-08-05 */const xf=[VO,GO,zO,dc],WO=["message_only","additional_action","basic_action","user_password_expired","consent_required","bad_token"],QO={[va]:"No refresh token found in the cache. Please sign-in.",[My]:"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.",[rd]:"Refresh token has expired.",[dc]:"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve."};class En extends We{constructor(e,n,r,o,i,s,a,c){super(e,n,r),Object.setPrototypeOf(this,En.prototype),this.timestamp=o||P.EMPTY_STRING,this.traceId=i||P.EMPTY_STRING,this.correlationId=s||P.EMPTY_STRING,this.claims=a||P.EMPTY_STRING,this.name="InteractionRequiredAuthError",this.errorNo=c}}function Mf(t,e,n){const r=!!t&&xf.indexOf(t)>-1,o=!!n&&WO.indexOf(n)>-1,i=!!e&&xf.some(s=>e.indexOf(s)>-1);return r||i||o}function Fl(t){return new En(t,QO[t])}/*! @azure/msal-common v14.16.1 2025-08-05 */class gn{static setRequestState(e,n,r){const o=gn.generateLibraryState(e,r);return n?`${o}${P.RESOURCE_DELIM}${n}`:o}static generateLibraryState(e,n){if(!e)throw j(Dl);const r={id:e.createNewGuid()};n&&(r.meta=n);const o=JSON.stringify(r);return e.base64Encode(o)}static parseRequestState(e,n){if(!e)throw j(Dl);if(!n)throw j(li);try{const r=n.split(P.RESOURCE_DELIM),o=r[0],i=r.length>1?r.slice(1).join(P.RESOURCE_DELIM):P.EMPTY_STRING,s=e.base64Decode(o),a=JSON.parse(s);return{userRequestState:i||P.EMPTY_STRING,libraryState:a}}catch{throw j(li)}}}/*! @azure/msal-common v14.16.1 2025-08-05 */const YO={SW:"sw"};class di{constructor(e,n){this.cryptoUtils=e,this.performanceClient=n}async generateCnf(e,n){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.PopTokenGenerateCnf,e.correlationId);const r=await G(this.generateKid.bind(this),_.PopTokenGenerateCnf,n,this.performanceClient,e.correlationId)(e),o=this.cryptoUtils.base64UrlEncode(JSON.stringify(r));return{kid:r.kid,reqCnfString:o}}async generateKid(e){var r;return(r=this.performanceClient)==null||r.addQueueMeasurement(_.PopTokenGenerateKid,e.correlationId),{kid:await this.cryptoUtils.getPublicKeyThumbprint(e),xms_ksl:YO.SW}}async signPopToken(e,n,r){return this.signPayload(e,n,r)}async signPayload(e,n,r,o){const{resourceRequestMethod:i,resourceRequestUri:s,shrClaims:a,shrNonce:c,shrOptions:l}=r,u=s?new Oe(s):void 0,d=u==null?void 0:u.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:qn(),m:i==null?void 0:i.toUpperCase(),u:d==null?void 0:d.HostNameAndPort,nonce:c||this.cryptoUtils.createNewGuid(),p:d==null?void 0:d.AbsolutePath,q:d!=null&&d.QueryString?[[],d.QueryString]:void 0,client_claims:a||void 0,...o},n,l,r.correlationId)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class JO{constructor(e,n){this.cache=e,this.hasChanged=n}get cacheHasChanged(){return this.hasChanged}get tokenCache(){return this.cache}}/*! @azure/msal-common v14.16.1 2025-08-05 */function XO(t){var r,o;const e="code=",n=(r=t.error_uri)==null?void 0:r.lastIndexOf(e);return n&&n>=0?(o=t.error_uri)==null?void 0:o.substring(n+e.length):void 0}class Co{constructor(e,n,r,o,i,s,a){this.clientId=e,this.cacheStorage=n,this.cryptoObj=r,this.logger=o,this.serializableCache=i,this.persistencePlugin=s,this.performanceClient=a}validateServerAuthorizationCodeResponse(e,n){if(!e.state||!n)throw e.state?j(ha,"Cached State"):j(ha,"Server State");let r,o;try{r=decodeURIComponent(e.state)}catch{throw j(li,e.state)}try{o=decodeURIComponent(n)}catch{throw j(li,e.state)}if(r!==o)throw j(Jm);if(e.error||e.error_description||e.suberror){const i=XO(e);throw Mf(e.error,e.error_description,e.suberror)?new En(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"",i):new $r(e.error||"",e.error_description,e.suberror,i)}}validateTokenResponse(e,n){var r;if(e.error||e.error_description||e.suberror){const o=`Error(s): ${e.error_codes||P.NOT_AVAILABLE} - Timestamp: ${e.timestamp||P.NOT_AVAILABLE} - Description: ${e.error_description||P.NOT_AVAILABLE} - Correlation ID: ${e.correlation_id||P.NOT_AVAILABLE} - Trace ID: ${e.trace_id||P.NOT_AVAILABLE}`,i=(r=e.error_codes)!=null&&r.length?e.error_codes[0]:void 0,s=new $r(e.error,o,e.suberror,i,e.status);if(n&&e.status&&e.status>=Ds.SERVER_ERROR_RANGE_START&&e.status<=Ds.SERVER_ERROR_RANGE_END){this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed. +${s}`);return}else if(n&&e.status&&e.status>=Ds.CLIENT_ERROR_RANGE_START&&e.status<=Ds.CLIENT_ERROR_RANGE_END){this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token. +${s}`);return}throw Mf(e.error,e.error_description,e.suberror)?new En(e.error,e.error_description,e.suberror,e.timestamp||P.EMPTY_STRING,e.trace_id||P.EMPTY_STRING,e.correlation_id||P.EMPTY_STRING,e.claims||P.EMPTY_STRING,i):s}}async handleServerTokenResponse(e,n,r,o,i,s,a,c,l){var p;(p=this.performanceClient)==null||p.addQueueMeasurement(_.HandleServerTokenResponse,e.correlation_id);let u;if(e.id_token){if(u=bo(e.id_token||P.EMPTY_STRING,this.cryptoObj.base64Decode),i&&i.nonce&&u.nonce!==i.nonce)throw j(Xm);if(o.maxAge||o.maxAge===0){const g=u.auth_time;if(!g)throw j(Bu);ly(g,o.maxAge)}}this.homeAccountIdentifier=dt.generateHomeAccountId(e.client_info||P.EMPTY_STRING,n.authorityType,this.logger,this.cryptoObj,u);let d;i&&i.state&&(d=gn.parseRequestState(this.cryptoObj,i.state)),e.key_id=e.key_id||o.sshKid||void 0;const h=this.generateCacheRecord(e,n,r,o,u,s,i);let f;try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),f=new JO(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(f)),a&&!c&&h.account){const g=h.account.generateAccountKey();if(!this.cacheStorage.getAccount(g,o.correlationId,this.logger))return this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache"),await Co.generateAuthenticationResult(this.cryptoObj,n,h,!1,o,u,d,void 0,l)}await this.cacheStorage.saveCacheRecord(h,o.correlationId,o.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&f&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(f))}return Co.generateAuthenticationResult(this.cryptoObj,n,h,!1,o,u,d,e,l)}generateCacheRecord(e,n,r,o,i,s,a){const c=n.getPreferredCache();if(!c)throw j(Ku);const l=_y(i);let u,d;e.id_token&&i&&(u=sc(this.homeAccountIdentifier,c,e.id_token,this.clientId,l||""),d=od(this.cacheStorage,n,this.homeAccountIdentifier,this.cryptoObj.base64Decode,o.correlationId,i,e.client_info,c,l,a,void 0,this.logger));let h=null;if(e.access_token){const g=e.scope?rt.fromString(e.scope):new rt(o.scopes||[]),m=(typeof e.expires_in=="string"?parseInt(e.expires_in,10):e.expires_in)||0,C=(typeof e.ext_expires_in=="string"?parseInt(e.ext_expires_in,10):e.ext_expires_in)||0,T=(typeof e.refresh_in=="string"?parseInt(e.refresh_in,10):e.refresh_in)||void 0,y=r+m,w=y+C,S=T&&T>0?r+T:void 0;h=ac(this.homeAccountIdentifier,c,e.access_token,this.clientId,l||n.tenant||"",g.printScopes(),y,w,this.cryptoObj.base64Decode,S,e.token_type,s,e.key_id,o.claims,o.requestedClaimsHash)}let f=null;if(e.refresh_token){let g;if(e.refresh_token_expires_in){const m=typeof e.refresh_token_expires_in=="string"?parseInt(e.refresh_token_expires_in,10):e.refresh_token_expires_in;g=r+m}f=uy(this.homeAccountIdentifier,c,e.refresh_token,this.clientId,e.foci,s,g)}let p=null;return e.foci&&(p={clientId:this.clientId,environment:c,familyId:e.foci}),{account:d,idToken:u,accessToken:h,refreshToken:f,appMetadata:p}}static async generateAuthenticationResult(e,n,r,o,i,s,a,c,l){var y,w,S,B,N;let u=P.EMPTY_STRING,d=[],h=null,f,p,g=P.EMPTY_STRING;if(r.accessToken){if(r.accessToken.tokenType===Fe.POP&&!i.popKid){const L=new di(e),{secret:k,keyId:F}=r.accessToken;if(!F)throw j($u);u=await L.signPopToken(k,F,i)}else u=r.accessToken.secret;d=rt.fromString(r.accessToken.target).asArray(),h=new Date(Number(r.accessToken.expiresOn)*1e3),f=new Date(Number(r.accessToken.extendedExpiresOn)*1e3),r.accessToken.refreshOn&&(p=new Date(Number(r.accessToken.refreshOn)*1e3))}r.appMetadata&&(g=r.appMetadata.familyId===Ui?Ui:"");const m=(s==null?void 0:s.oid)||(s==null?void 0:s.sub)||"",C=(s==null?void 0:s.tid)||"";c!=null&&c.spa_accountid&&r.account&&(r.account.nativeAccountId=c==null?void 0:c.spa_accountid);const T=r.account?Ju(r.account.getAccountInfo(),void 0,s,(y=r.idToken)==null?void 0:y.secret):null;return{authority:n.canonicalAuthority,uniqueId:m,tenantId:C,scopes:d,account:T,idToken:((w=r==null?void 0:r.idToken)==null?void 0:w.secret)||"",idTokenClaims:s||{},accessToken:u,fromCache:o,expiresOn:h,extExpiresOn:f,refreshOn:p,correlationId:i.correlationId,requestId:l||P.EMPTY_STRING,familyId:g,tokenType:((S=r.accessToken)==null?void 0:S.tokenType)||P.EMPTY_STRING,state:a?a.userRequestState:P.EMPTY_STRING,cloudGraphHostName:((B=r.account)==null?void 0:B.cloudGraphHostName)||P.EMPTY_STRING,msGraphHost:((N=r.account)==null?void 0:N.msGraphHost)||P.EMPTY_STRING,code:c==null?void 0:c.spa_code,fromNativeBroker:!1}}}function od(t,e,n,r,o,i,s,a,c,l,u,d){d==null||d.verbose("setCachedAccount called");const f=t.getAccountKeys().find(T=>T.startsWith(n));let p=null;f&&(p=t.getAccount(f,o,d));const g=p||dt.createAccount({homeAccountId:n,idTokenClaims:i,clientInfo:s,environment:a,cloudGraphHostName:l==null?void 0:l.cloud_graph_host_name,msGraphHost:l==null?void 0:l.msgraph_host,nativeAccountId:u},e,r),m=g.tenantProfiles||[],C=c||g.realm;if(C&&!m.find(T=>T.tenantId===C)){const T=Yu(n,g.localAccountId,C,i);m.push(T)}return g.tenantProfiles=m,g}/*! @azure/msal-common v14.16.1 2025-08-05 */async function Dy(t,e,n){return typeof t=="string"?t:t({clientId:e,tokenEndpoint:n})}/*! @azure/msal-common v14.16.1 2025-08-05 */class Ly extends nd{constructor(e,n){var r;super(e,n),this.includeRedirectUri=!0,this.oidcDefaultScopes=(r=this.config.authOptions.authority.options.OIDCOptions)==null?void 0:r.defaultScopes}async getAuthCodeUrl(e){var r;(r=this.performanceClient)==null||r.addQueueMeasurement(_.GetAuthCodeUrl,e.correlationId);const n=await G(this.createAuthCodeUrlQueryString.bind(this),_.AuthClientCreateQueryString,this.logger,this.performanceClient,e.correlationId)(e);return Oe.appendQueryString(this.authority.authorizationEndpoint,n)}async acquireToken(e,n){var a,c;if((a=this.performanceClient)==null||a.addQueueMeasurement(_.AuthClientAcquireToken,e.correlationId),!e.code)throw j(ty);const r=qn(),o=await G(this.executeTokenRequest.bind(this),_.AuthClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(this.authority,e),i=(c=o.headers)==null?void 0:c[xt.X_MS_REQUEST_ID],s=new Co(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin,this.performanceClient);return s.validateTokenResponse(o.body),G(s.handleServerTokenResponse.bind(s),_.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(o.body,this.authority,r,e,n,void 0,void 0,void 0,i)}handleFragmentResponse(e,n){if(new Co(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,null,null).validateServerAuthorizationCodeResponse(e,n),!e.code)throw j(sy);return e}getLogoutUri(e){if(!e)throw $e(yy);const n=this.createLogoutUrlQueryString(e);return Oe.appendQueryString(this.authority.endSessionEndpoint,n)}async executeTokenRequest(e,n){var l,u;(l=this.performanceClient)==null||l.addQueueMeasurement(_.AuthClientExecuteTokenRequest,n.correlationId);const r=this.createTokenQueryParameters(n),o=Oe.appendQueryString(e.tokenEndpoint,r),i=await G(this.createTokenRequestBody.bind(this),_.AuthClientCreateTokenRequestBody,this.logger,this.performanceClient,n.correlationId)(n);let s;if(n.clientInfo)try{const d=pa(n.clientInfo,this.cryptoUtils.base64Decode);s={credential:`${d.uid}${St.CLIENT_INFO_SEPARATOR}${d.utid}`,type:Jt.HOME_ACCOUNT_ID}}catch(d){this.logger.verbose("Could not parse client info for CCS Header: "+d)}const a=this.createTokenRequestHeaders(s||n.ccsCredential),c={clientId:((u=n.tokenBodyParameters)==null?void 0:u.clientId)||this.config.authOptions.clientId,authority:e.canonicalAuthority,scopes:n.scopes,claims:n.claims,authenticationScheme:n.authenticationScheme,resourceRequestMethod:n.resourceRequestMethod,resourceRequestUri:n.resourceRequestUri,shrClaims:n.shrClaims,sshKid:n.sshKid};return G(this.executePostToTokenEndpoint.bind(this),_.AuthorizationCodeClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,n.correlationId)(o,i,a,c,n.correlationId,_.AuthorizationCodeClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){var o,i;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthClientCreateTokenRequestBody,e.correlationId);const n=new Bi(e.correlationId,this.performanceClient);if(n.addClientId(e.embeddedClientId||((i=e.tokenBodyParameters)==null?void 0:i[vo])||this.config.authOptions.clientId),this.includeRedirectUri?n.addRedirectUri(e.redirectUri):Do.validateRedirectUri(e.redirectUri),n.addScopes(e.scopes,!0,this.oidcDefaultScopes),n.addAuthorizationCode(e.code),n.addLibraryInfo(this.config.libraryInfo),n.addApplicationTelemetry(this.config.telemetry.application),n.addThrottling(),this.serverTelemetryManager&&!Hl(this.config)&&n.addServerTelemetry(this.serverTelemetryManager),e.codeVerifier&&n.addCodeVerifier(e.codeVerifier),this.config.clientCredentials.clientSecret&&n.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const s=this.config.clientCredentials.clientAssertion;n.addClientAssertion(await Dy(s.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),n.addClientAssertionType(s.assertionType)}if(n.addGrantType(jm.AUTHORIZATION_CODE_GRANT),n.addClientInfo(),e.authenticationScheme===Fe.POP){const s=new di(this.cryptoUtils,this.performanceClient);let a;e.popKid?a=this.cryptoUtils.encodeKid(e.popKid):a=(await G(s.generateCnf.bind(s),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,n.addPopToken(a)}else if(e.authenticationScheme===Fe.SSH)if(e.sshJwk)n.addSshJwk(e.sshJwk);else throw $e(cc);(!pn.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&n.addClaims(e.claims,this.config.authOptions.clientCapabilities);let r;if(e.clientInfo)try{const s=pa(e.clientInfo,this.cryptoUtils.base64Decode);r={credential:`${s.uid}${St.CLIENT_INFO_SEPARATOR}${s.utid}`,type:Jt.HOME_ACCOUNT_ID}}catch(s){this.logger.verbose("Could not parse client info for CCS Header: "+s)}else r=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&r)switch(r.type){case Jt.HOME_ACCOUNT_ID:try{const s=Fo(r.credential);n.addCcsOid(s)}catch(s){this.logger.verbose("Could not parse home account ID for CCS Header: "+s)}break;case Jt.UPN:n.addCcsUpn(r.credential);break}return e.embeddedClientId&&n.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&n.addExtraQueryParameters(e.tokenBodyParameters),e.enableSpaAuthorizationCode&&(!e.tokenBodyParameters||!e.tokenBodyParameters[Pf])&&n.addExtraQueryParameters({[Pf]:"1"}),n.createQueryString()}async createAuthCodeUrlQueryString(e){var i,s;const n=e.correlationId||this.config.cryptoInterface.createNewGuid();(i=this.performanceClient)==null||i.addQueueMeasurement(_.AuthClientCreateQueryString,n);const r=new Bi(n,this.performanceClient);r.addClientId(e.embeddedClientId||((s=e.extraQueryParameters)==null?void 0:s[vo])||this.config.authOptions.clientId);const o=[...e.scopes||[],...e.extraScopesToConsent||[]];if(r.addScopes(o,!0,this.oidcDefaultScopes),r.addRedirectUri(e.redirectUri),r.addCorrelationId(n),r.addResponseMode(e.responseMode),r.addResponseTypeCode(),r.addLibraryInfo(this.config.libraryInfo),Hl(this.config)||r.addApplicationTelemetry(this.config.telemetry.application),r.addClientInfo(),e.codeChallenge&&e.codeChallengeMethod&&r.addCodeChallengeParams(e.codeChallenge,e.codeChallengeMethod),e.prompt&&r.addPrompt(e.prompt),e.domainHint&&r.addDomainHint(e.domainHint),e.prompt!==gt.SELECT_ACCOUNT)if(e.sid&&e.prompt===gt.NONE)this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request"),r.addSid(e.sid);else if(e.account){const a=this.extractAccountSid(e.account);let c=this.extractLoginHint(e.account);if(c&&e.domainHint&&(this.logger.warning('AuthorizationCodeClient.createAuthCodeUrlQueryString: "domainHint" param is set, skipping opaque "login_hint" claim. Please consider not passing domainHint'),c=null),c){this.logger.verbose("createAuthCodeUrlQueryString: login_hint claim present on account"),r.addLoginHint(c);try{const l=Fo(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(a&&e.prompt===gt.NONE){this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account"),r.addSid(a);try{const l=Fo(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(e.loginHint)this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint);else if(e.account.username){this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account"),r.addLoginHint(e.account.username);try{const l=Fo(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}}else e.loginHint&&(this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint));else this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");if(e.nonce&&r.addNonce(e.nonce),e.state&&r.addState(e.state),(e.claims||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),this.addExtraQueryParams(e,r),e.nativeBroker&&(r.addNativeBroker(),e.authenticationScheme===Fe.POP)){const a=new di(this.cryptoUtils);let c;e.popKid?c=this.cryptoUtils.encodeKid(e.popKid):c=(await G(a.generateCnf.bind(a),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(c)}return r.createQueryString()}createLogoutUrlQueryString(e){const n=new Bi(e.correlationId,this.performanceClient);return e.postLogoutRedirectUri&&n.addPostLogoutRedirectUri(e.postLogoutRedirectUri),e.correlationId&&n.addCorrelationId(e.correlationId),e.idTokenHint&&n.addIdTokenHint(e.idTokenHint),e.state&&n.addState(e.state),e.logoutHint&&n.addLogoutHint(e.logoutHint),this.addExtraQueryParams(e,n),n.createQueryString()}addExtraQueryParams(e,n){!(e.extraQueryParameters&&e.extraQueryParameters.hasOwnProperty("instance_aware"))&&this.config.authOptions.instanceAware&&(e.extraQueryParameters=e.extraQueryParameters||{},e.extraQueryParameters.instance_aware="true"),e.extraQueryParameters&&n.addExtraQueryParameters(e.extraQueryParameters)}extractAccountSid(e){var n;return((n=e.idTokenClaims)==null?void 0:n.sid)||null}extractLoginHint(e){var n;return((n=e.idTokenClaims)==null?void 0:n.login_hint)||null}}/*! @azure/msal-common v14.16.1 2025-08-05 */const ZO=300;class Kl extends nd{constructor(e,n){super(e,n)}async acquireToken(e){var s,a;(s=this.performanceClient)==null||s.addQueueMeasurement(_.RefreshTokenClientAcquireToken,e.correlationId);const n=qn(),r=await G(this.executeTokenRequest.bind(this),_.RefreshTokenClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(e,this.authority),o=(a=r.headers)==null?void 0:a[xt.X_MS_REQUEST_ID],i=new Co(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin);return i.validateTokenResponse(r.body),G(i.handleServerTokenResponse.bind(i),_.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(r.body,this.authority,n,e,void 0,void 0,!0,e.forceCache,o)}async acquireTokenByRefreshToken(e){var r;if(!e)throw $e(my);if((r=this.performanceClient)==null||r.addQueueMeasurement(_.RefreshTokenClientAcquireTokenByRefreshToken,e.correlationId),!e.account)throw j(Fu);if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await G(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(o){const i=o instanceof En&&o.errorCode===va,s=o instanceof $r&&o.errorCode===yf.INVALID_GRANT_ERROR&&o.subError===yf.CLIENT_MISMATCH_ERROR;if(i||s)return G(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1);throw o}return G(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,n){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,e.correlationId);const r=_o(this.cacheManager.getRefreshToken.bind(this.cacheManager),_.CacheManagerGetRefreshToken,this.logger,this.performanceClient,e.correlationId)(e.account,n,e.correlationId,void 0,this.performanceClient);if(!r)throw Fl(va);if(r.expiresOn&&Ul(r.expiresOn,e.refreshTokenExpirationOffsetSeconds||ZO))throw Fl(rd);const o={...e,refreshToken:r.secret,authenticationScheme:e.authenticationScheme||Fe.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:Jt.HOME_ACCOUNT_ID}};try{return await G(this.acquireToken.bind(this),_.RefreshTokenClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(o)}catch(s){if(s instanceof En&&s.subError===dc){this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");const a=Bo(r);this.cacheManager.removeRefreshToken(a,e.correlationId)}throw s}}async executeTokenRequest(e,n){var c,l;(c=this.performanceClient)==null||c.addQueueMeasurement(_.RefreshTokenClientExecuteTokenRequest,e.correlationId);const r=this.createTokenQueryParameters(e),o=Oe.appendQueryString(n.tokenEndpoint,r),i=await G(this.createTokenRequestBody.bind(this),_.RefreshTokenClientCreateTokenRequestBody,this.logger,this.performanceClient,e.correlationId)(e),s=this.createTokenRequestHeaders(e.ccsCredential),a={clientId:((l=e.tokenBodyParameters)==null?void 0:l.clientId)||this.config.authOptions.clientId,authority:n.canonicalAuthority,scopes:e.scopes,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid};return G(this.executePostToTokenEndpoint.bind(this),_.RefreshTokenClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,e.correlationId)(o,i,s,a,e.correlationId,_.RefreshTokenClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){var o,i,s;(o=this.performanceClient)==null||o.addQueueMeasurement(_.RefreshTokenClientCreateTokenRequestBody,e.correlationId);const n=e.correlationId,r=new Bi(n,this.performanceClient);if(r.addClientId(e.embeddedClientId||((i=e.tokenBodyParameters)==null?void 0:i[vo])||this.config.authOptions.clientId),e.redirectUri&&r.addRedirectUri(e.redirectUri),r.addScopes(e.scopes,!0,(s=this.config.authOptions.authority.options.OIDCOptions)==null?void 0:s.defaultScopes),r.addGrantType(jm.REFRESH_TOKEN_GRANT),r.addClientInfo(),r.addLibraryInfo(this.config.libraryInfo),r.addApplicationTelemetry(this.config.telemetry.application),r.addThrottling(),this.serverTelemetryManager&&!Hl(this.config)&&r.addServerTelemetry(this.serverTelemetryManager),r.addRefreshToken(e.refreshToken),this.config.clientCredentials.clientSecret&&r.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const a=this.config.clientCredentials.clientAssertion;r.addClientAssertion(await Dy(a.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),r.addClientAssertionType(a.assertionType)}if(e.authenticationScheme===Fe.POP){const a=new di(this.cryptoUtils,this.performanceClient);let c;e.popKid?c=this.cryptoUtils.encodeKid(e.popKid):c=(await G(a.generateCnf.bind(a),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(c)}else if(e.authenticationScheme===Fe.SSH)if(e.sshJwk)r.addSshJwk(e.sshJwk);else throw $e(cc);if((!pn.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),this.config.systemOptions.preventCorsPreflight&&e.ccsCredential)switch(e.ccsCredential.type){case Jt.HOME_ACCOUNT_ID:try{const a=Fo(e.ccsCredential.credential);r.addCcsOid(a)}catch(a){this.logger.verbose("Could not parse home account ID for CCS Header: "+a)}break;case Jt.UPN:r.addCcsUpn(e.ccsCredential.credential);break}return e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&r.addExtraQueryParameters(e.tokenBodyParameters),r.createQueryString()}}/*! @azure/msal-common v14.16.1 2025-08-05 */class ek extends nd{constructor(e,n){super(e,n)}async acquireToken(e){var n;try{const[r,o]=await this.acquireCachedToken({...e,scopes:(n=e.scopes)!=null&&n.length?e.scopes:[...mi]});return o===Ir.PROACTIVELY_REFRESHED&&(this.logger.info("SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed."),new Kl(this.config,this.performanceClient).acquireTokenByRefreshToken(e).catch(()=>{})),r}catch(r){if(r instanceof ic&&r.errorCode===or)return new Kl(this.config,this.performanceClient).acquireTokenByRefreshToken(e);throw r}}async acquireCachedToken(e){var c;(c=this.performanceClient)==null||c.addQueueMeasurement(_.SilentFlowClientAcquireCachedToken,e.correlationId);let n=Ir.NOT_APPLICABLE;if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!pn.isEmptyObj(e.claims))throw this.setCacheOutcome(Ir.FORCE_REFRESH_OR_CLAIMS,e.correlationId),j(or);if(!e.account)throw j(Fu);const r=e.account.tenantId||qO(e.authority),o=this.cacheManager.getTokenKeys(),i=this.cacheManager.getAccessToken(e.account,e,o,r,this.performanceClient);if(i){if(OR(i.cachedAt)||Ul(i.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome(Ir.CACHED_ACCESS_TOKEN_EXPIRED,e.correlationId),j(or);i.refreshOn&&Ul(i.refreshOn,0)&&(n=Ir.PROACTIVELY_REFRESHED)}else throw this.setCacheOutcome(Ir.NO_CACHED_ACCESS_TOKEN,e.correlationId),j(or);const s=e.authority||this.authority.getPreferredCache(),a={account:this.cacheManager.readAccountFromCache(e.account,e.correlationId),accessToken:i,idToken:this.cacheManager.getIdToken(e.account,e.correlationId,o,r,this.performanceClient),refreshToken:null,appMetadata:this.cacheManager.readAppMetadataFromCache(s)};return this.setCacheOutcome(n,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await G(this.generateResultFromCacheRecord.bind(this),_.SilentFlowClientGenerateResultFromCacheRecord,this.logger,this.performanceClient,e.correlationId)(a,e),n]}setCacheOutcome(e,n){var r,o;(r=this.serverTelemetryManager)==null||r.setCacheOutcome(e),(o=this.performanceClient)==null||o.addFields({cacheOutcome:e},n),e!==Ir.NOT_APPLICABLE&&this.logger.info(`Token refresh is required due to cache outcome: ${e}`)}async generateResultFromCacheRecord(e,n){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.SilentFlowClientGenerateResultFromCacheRecord,n.correlationId);let r;if(e.idToken&&(r=bo(e.idToken.secret,this.config.cryptoInterface.base64Decode)),n.maxAge||n.maxAge===0){const i=r==null?void 0:r.auth_time;if(!i)throw j(Bu);ly(i,n.maxAge)}return Co.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,n,r)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const tk={sendGetRequestAsync:()=>Promise.reject(j(Ee)),sendPostRequestAsync:()=>Promise.reject(j(Ee))};/*! @azure/msal-common v14.16.1 2025-08-05 */const Df=",",Uy="|";function nk(t){const{skus:e,libraryName:n,libraryVersion:r,extensionName:o,extensionVersion:i}=t,s=new Map([[0,[n,r]],[2,[o,i]]]);let a=[];if(e!=null&&e.length){if(a=e.split(Df),a.length<4)return e}else a=Array.from({length:4},()=>Uy);return s.forEach((c,l)=>{var u,d;c.length===2&&((u=c[0])!=null&&u.length)&&((d=c[1])!=null&&d.length)&&rk({skuArr:a,index:l,skuName:c[0],skuVersion:c[1]})}),a.join(Df)}function rk(t){const{skuArr:e,index:n,skuName:r,skuVersion:o}=t;n>=e.length||(e[n]=[r,o].join(Uy))}class es{constructor(e,n){this.cacheOutcome=Ir.NOT_APPLICABLE,this.cacheManager=n,this.apiId=e.apiId,this.correlationId=e.correlationId,this.wrapperSKU=e.wrapperSKU||P.EMPTY_STRING,this.wrapperVer=e.wrapperVer||P.EMPTY_STRING,this.telemetryCacheKey=wt.CACHE_KEY+St.CACHE_KEY_SEPARATOR+e.clientId}generateCurrentRequestHeaderValue(){const e=`${this.apiId}${wt.VALUE_SEPARATOR}${this.cacheOutcome}`,n=[this.wrapperSKU,this.wrapperVer],r=this.getNativeBrokerErrorCode();r!=null&&r.length&&n.push(`broker_error=${r}`);const o=n.join(wt.VALUE_SEPARATOR),i=this.getRegionDiscoveryFields(),s=[e,i].join(wt.VALUE_SEPARATOR);return[wt.SCHEMA_VERSION,s,o].join(wt.CATEGORY_SEPARATOR)}generateLastRequestHeaderValue(){const e=this.getLastRequests(),n=es.maxErrorsToSend(e),r=e.failedRequests.slice(0,2*n).join(wt.VALUE_SEPARATOR),o=e.errors.slice(0,n).join(wt.VALUE_SEPARATOR),i=e.errors.length,s=n=wt.MAX_CACHED_ERRORS&&(n.failedRequests.shift(),n.failedRequests.shift(),n.errors.shift()),n.failedRequests.push(this.apiId,this.correlationId),e instanceof Error&&e&&e.toString()?e instanceof We?e.subError?n.errors.push(e.subError):e.errorCode?n.errors.push(e.errorCode):n.errors.push(e.toString()):n.errors.push(e.toString()):n.errors.push(wt.UNKNOWN_ERROR),this.cacheManager.setServerTelemetry(this.telemetryCacheKey,n,this.correlationId)}incrementCacheHits(){const e=this.getLastRequests();return e.cacheHits+=1,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId),e.cacheHits}getLastRequests(){const e={failedRequests:[],errors:[],cacheHits:0};return this.cacheManager.getServerTelemetry(this.telemetryCacheKey)||e}clearTelemetryCache(){const e=this.getLastRequests(),n=es.maxErrorsToSend(e),r=e.errors.length;if(n===r)this.cacheManager.removeItem(this.telemetryCacheKey,this.correlationId);else{const o={failedRequests:e.failedRequests.slice(n*2),errors:e.errors.slice(n),cacheHits:0};this.cacheManager.setServerTelemetry(this.telemetryCacheKey,o,this.correlationId)}}static maxErrorsToSend(e){let n,r=0,o=0;const i=e.errors.length;for(n=0;nnull,discard:()=>{},add:()=>{},increment:()=>{},event:{eventId:this.generateId(),status:$O.InProgress,authority:"",libraryName:"",libraryVersion:"",clientId:"",name:e,startTimeMs:Date.now(),correlationId:n||""},measurement:new Uf}}startPerformanceMeasurement(){return new Uf}calculateQueuedTime(){return 0}addQueueMeasurement(){}setPreQueueTime(){}endMeasurement(){return null}discardMeasurements(){}removePerformanceCallback(){return!0}addPerformanceCallback(){return""}emitEvents(){}addFields(){}incrementFields(){}cacheEventByCorrelationId(){}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const ad="pkce_not_created",$l="crypto_nonexistent",hc="empty_navigate_uri",Fy="hash_empty_error",cd="no_state_in_hash",Ky="hash_does_not_contain_known_properties",$y="unable_to_parse_state",qy="state_interaction_type_mismatch",jy="interaction_in_progress",Vy="popup_window_error",Gy="empty_window_error",wo="user_cancelled",sk="monitor_popup_timeout",zy="monitor_window_timeout",Wy="redirect_in_iframe",Qy="block_iframe_reload",Yy="block_nested_popups",ak="iframe_closed_prematurely",fc="silent_logout_unsupported",Jy="no_account_error",ck="silent_prompt_value_error",Xy="no_token_request_cache_error",Zy="unable_to_parse_token_request_cache_error",ld="no_cached_authority_error",lk="auth_request_not_set_error",uk="invalid_cache_type",pc="non_browser_environment",Lo="database_not_open",Ca="no_network_connectivity",ev="post_request_failed",tv="get_request_failed",ql="failed_to_parse_response",nv="unable_to_load_token",ud="crypto_key_not_found",rv="auth_code_required",ov="auth_code_or_nativeAccountId_required",iv="spa_code_and_nativeAccountId_present",dd="database_unavailable",sv="unable_to_acquire_token_from_native_platform",av="native_handshake_timeout",cv="native_extension_not_installed",As="native_connection_not_established",lv="uninitialized_public_client_application",uv="native_prompt_not_supported",dv="invalid_base64_string",hv="invalid_pop_token_request",fv="failed_to_build_headers",pv="failed_to_parse_headers";/*! @azure/msal-browser v3.30.0 2025-08-05 */const Yn="For more visit: aka.ms/msaljs/browser-errors",dk={[ad]:"The PKCE code challenge and verifier could not be generated.",[$l]:"The crypto object or function is not available.",[hc]:"Navigation URI is empty. Please check stack trace for more info.",[Fy]:`Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. ${Yn}`,[cd]:"Hash does not contain state. Please verify that the request originated from msal.",[Ky]:`Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. ${Yn}`,[$y]:"Unable to parse state. Please verify that the request originated from msal.",[qy]:"Hash contains state but the interaction type does not match the caller.",[jy]:`Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. ${Yn}`,[Vy]:"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.",[Gy]:"window.open returned null or undefined window object.",[wo]:"User cancelled the flow.",[sk]:`Token acquisition in popup failed due to timeout. ${Yn}`,[zy]:`Token acquisition in iframe failed due to timeout. ${Yn}`,[Wy]:"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.",[Qy]:`Request was blocked inside an iframe because MSAL detected an authentication response. ${Yn}`,[Yy]:"Request was blocked inside a popup because MSAL detected it was running in a popup.",[ak]:"The iframe being monitored was closed prematurely.",[fc]:"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.",[Jy]:"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.",[ck]:"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.",[Xy]:"No token request found in cache.",[Zy]:"The cached token request could not be parsed.",[ld]:"No cached authority found.",[lk]:"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler",[uk]:"Invalid cache type",[pc]:"Login and token requests are not supported in non-browser environments.",[Lo]:"Database is not open!",[Ca]:"No network connectivity. Check your internet connection.",[ev]:"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'",[tv]:"Network request failed. Please check the network trace to determine root cause.",[ql]:"Failed to parse network response. Check network trace.",[nv]:"Error loading token to cache.",[ud]:"Cryptographic Key or Keypair not found in browser storage.",[rv]:"An authorization code must be provided (as the `code` property on the request) to this flow.",[ov]:"An authorization code or nativeAccountId must be provided to this flow.",[iv]:"Request cannot contain both spa code and native account id.",[dd]:"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.",[sv]:`Unable to acquire token from native platform. ${Yn}`,[av]:"Timed out while attempting to establish connection to browser extension",[cv]:"Native extension is not installed. If you think this is a mistake call the initialize function.",[As]:`Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). ${Yn}`,[lv]:`You must call and await the initialize function before attempting to call any other MSAL API. ${Yn}`,[uv]:"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.",[dv]:"Invalid base64 encoded string.",[hv]:"Invalid PoP token request. The request should not have both a popKid value and signPopToken set to true.",[fv]:"Failed to build request headers object.",[pv]:"Failed to parse response headers"};class Ts extends We{constructor(e,n){super(e,dk[e],n),Object.setPrototypeOf(this,Ts.prototype),this.name="BrowserAuthError"}}function te(t,e){return new Ts(t,e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Qt={INVALID_GRANT_ERROR:"invalid_grant",POPUP_WIDTH:483,POPUP_HEIGHT:600,POPUP_NAME_PREFIX:"msal",DEFAULT_POLL_INTERVAL_MS:30,MSAL_SKU:"msal.js.browser"},Ko={CHANNEL_ID:"53ee284d-920a-4b59-9d30-a60315b26836",PREFERRED_EXTENSION_ID:"ppnbnpeolgkicgegkbkbjmhlideopiji",MATS_TELEMETRY:"MATS"},ro={HandshakeRequest:"Handshake",HandshakeResponse:"HandshakeResponse",GetToken:"GetToken",Response:"Response"},Bt={LocalStorage:"localStorage",SessionStorage:"sessionStorage",MemoryStorage:"memoryStorage"},Hf={GET:"GET",POST:"POST"},Be={AUTHORITY:"authority",ACQUIRE_TOKEN_ACCOUNT:"acquireToken.account",SESSION_STATE:"session.state",REQUEST_STATE:"request.state",NONCE_IDTOKEN:"nonce.id_token",ORIGIN_URI:"request.origin",RENEW_STATUS:"token.renew.status",URL_HASH:"urlHash",REQUEST_PARAMS:"request.params",SCOPES:"scopes",INTERACTION_STATUS_KEY:"interaction.status",CCS_CREDENTIAL:"ccs.credential",CORRELATION_ID:"request.correlationId",NATIVE_REQUEST:"request.native",REDIRECT_CONTEXT:"request.redirect.context"},on={ACCOUNT_KEYS:"msal.account.keys",TOKEN_KEYS:"msal.token.keys",VERSION:"msal.version"},Fs={WRAPPER_SKU:"wrapper.sku",WRAPPER_VER:"wrapper.version"},ze={acquireTokenRedirect:861,acquireTokenPopup:862,ssoSilent:863,acquireTokenSilent_authCode:864,handleRedirectPromise:865,acquireTokenByCode:866,acquireTokenSilent_silentFlow:61,logout:961,logoutPopup:962};var ce;(function(t){t.Redirect="redirect",t.Popup="popup",t.Silent="silent",t.None="none"})(ce||(ce={}));const Bf={scopes:mi},gv="jwk",jl="msal.db",hk=1,fk=`${jl}.keys`,jt={Default:0,AccessToken:1,AccessTokenAndRefreshToken:2,RefreshToken:3,RefreshTokenAndNetwork:4,Skip:5},pk=[jt.Default,jt.Skip,jt.RefreshTokenAndNetwork],gk="msal.browser.log.level",mk="msal.browser.log.pii";/*! @azure/msal-browser v3.30.0 2025-08-05 */function Ks(t){return encodeURIComponent(hd(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function gc(t){return mv(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function hd(t){return mv(new TextEncoder().encode(t))}function mv(t){const e=Array.from(t,n=>String.fromCodePoint(n)).join("");return btoa(e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const yk="RSASSA-PKCS1-v1_5",yv="SHA-256",vk=2048,Ck=new Uint8Array([1,0,1]),Ff="0123456789abcdef",Kf=new Uint32Array(1),wk="crypto_subtle_undefined",fd={name:yk,hash:yv,modulusLength:vk,publicExponent:Ck};function Ak(t){if(!window)throw te(pc);if(!window.crypto)throw te($l);if(!t&&!window.crypto.subtle)throw te($l,wk)}async function vv(t,e,n){e==null||e.addQueueMeasurement(_.Sha256Digest,n);const o=new TextEncoder().encode(t);return window.crypto.subtle.digest(yv,o)}function Tk(t){return window.crypto.getRandomValues(t)}function Wc(){return window.crypto.getRandomValues(Kf),Kf[0]}function jn(){const t=Date.now(),e=Wc()*1024+(Wc()&1023),n=new Uint8Array(16),r=Math.trunc(e/2**30),o=e&2**30-1,i=Wc();n[0]=t/2**40,n[1]=t/2**32,n[2]=t/2**24,n[3]=t/2**16,n[4]=t/2**8,n[5]=t,n[6]=112|r>>>8,n[7]=r,n[8]=128|o>>>24,n[9]=o>>>16,n[10]=o>>>8,n[11]=o,n[12]=i>>>24,n[13]=i>>>16,n[14]=i>>>8,n[15]=i;let s="";for(let a=0;a>>4),s+=Ff.charAt(n[a]&15),(a===3||a===5||a===7||a===9)&&(s+="-");return s}async function Ek(t,e){return window.crypto.subtle.generateKey(fd,t,e)}async function Qc(t){return window.crypto.subtle.exportKey(gv,t)}async function bk(t,e,n){return window.crypto.subtle.importKey(gv,t,fd,e,n)}async function _k(t,e){return window.crypto.subtle.sign(fd,t,e)}async function Cv(t){const e=await vv(t),n=new Uint8Array(e);return gc(n)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const pd="storage_not_supported",Sk="stubbed_public_client_application_called",wv="in_mem_redirect_unavailable";/*! @azure/msal-browser v3.30.0 2025-08-05 */const Ik={[pd]:"Given storage configuration option was not supported.",[Sk]:"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors",[wv]:"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true."};class gd extends We{constructor(e,n){super(e,n),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,gd.prototype)}}function md(t){return new gd(t,Ik[t])}/*! @azure/msal-browser v3.30.0 2025-08-05 */function Rk(t){t.location.hash="",typeof t.history.replaceState=="function"&&t.history.replaceState(null,"",`${t.location.origin}${t.location.pathname}${t.location.search}`)}function Ok(t){const e=t.split("#");e.shift(),window.location.hash=e.length>0?e.join("#"):""}function yd(){return window.parent!==window}function kk(){return typeof window<"u"&&!!window.opener&&window.opener!==window&&typeof window.name=="string"&&window.name.indexOf(`${Qt.POPUP_NAME_PREFIX}.`)===0}function ir(){return typeof window<"u"&&window.location?window.location.href.split("?")[0].split("#")[0]:""}function Pk(){const e=new Oe(window.location.href).getUrlComponents();return`${e.Protocol}//${e.HostNameAndPort}/`}function Nk(){if(Oe.hashContainsKnownProperties(window.location.hash)&&yd())throw te(Qy)}function xk(t){if(yd()&&!t)throw te(Wy)}function Mk(){if(kk())throw te(Yy)}function Av(){if(typeof window>"u")throw te(pc)}function Tv(t){if(!t)throw te(lv)}function vd(t){Av(),Nk(),Mk(),Tv(t)}function $f(t,e){if(vd(t),xk(e.system.allowRedirectInIframe),e.cache.cacheLocation===Bt.MemoryStorage&&!e.cache.storeAuthStateInCookie)throw md(wv)}function Ev(t){const e=document.createElement("link");e.rel="preconnect",e.href=new URL(t).origin,e.crossOrigin="anonymous",document.head.appendChild(e),window.setTimeout(()=>{try{document.head.removeChild(e)}catch{}},1e4)}function Dk(){return jn()}/*! @azure/msal-browser v3.30.0 2025-08-05 */class wa{navigateInternal(e,n){return wa.defaultNavigateWindow(e,n)}navigateExternal(e,n){return wa.defaultNavigateWindow(e,n)}static defaultNavigateWindow(e,n){return n.noHistory?window.location.replace(e):window.location.assign(e),new Promise(r=>{setTimeout(()=>{r(!0)},n.timeout)})}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Lk{async sendGetRequestAsync(e,n){let r,o={},i=0;const s=qf(n);try{r=await fetch(e,{method:Hf.GET,headers:s})}catch{throw te(window.navigator.onLine?tv:Ca)}o=jf(r.headers);try{return i=r.status,{headers:o,body:await r.json(),status:i}}catch{throw Nf(te(ql),i,o)}}async sendPostRequestAsync(e,n){const r=n&&n.body||"",o=qf(n);let i,s=0,a={};try{i=await fetch(e,{method:Hf.POST,headers:o,body:r})}catch{throw te(window.navigator.onLine?ev:Ca)}a=jf(i.headers);try{return s=i.status,{headers:a,body:await i.json(),status:s}}catch{throw Nf(te(ql),s,a)}}}function qf(t){try{const e=new Headers;if(!(t&&t.headers))return e;const n=t.headers;return Object.entries(n).forEach(([r,o])=>{e.append(r,o)}),e}catch{throw te(fv)}}function jf(t){try{const e={};return t.forEach((n,r)=>{e[r]=n}),e}catch{throw te(pv)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Uk=6e4,Vl=1e4,Hk=3e4,Bk=2e3;function Fk({auth:t,cache:e,system:n,telemetry:r},o){const i={clientId:P.EMPTY_STRING,authority:`${P.DEFAULT_AUTHORITY}`,knownAuthorities:[],cloudDiscoveryMetadata:P.EMPTY_STRING,authorityMetadata:P.EMPTY_STRING,redirectUri:typeof window<"u"?ir():"",postLogoutRedirectUri:P.EMPTY_STRING,navigateToLoginRequestUrl:!0,clientCapabilities:[],protocolMode:ar.AAD,OIDCOptions:{serverResponseType:ws.FRAGMENT,defaultScopes:[P.OPENID_SCOPE,P.PROFILE_SCOPE,P.OFFLINE_ACCESS_SCOPE]},azureCloudOptions:{azureCloudInstance:ju.None,tenant:P.EMPTY_STRING},skipAuthorityMetadataCache:!1,supportsNestedAppAuth:!1,instanceAware:!1},s={cacheLocation:Bt.SessionStorage,temporaryCacheLocation:Bt.SessionStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!!(e&&e.cacheLocation===Bt.LocalStorage),claimsBasedCachingEnabled:!1},a={loggerCallback:()=>{},logLevel:Ye.Info,piiLoggingEnabled:!1},l={...{...ky,loggerOptions:a,networkClient:o?new Lk:tk,navigationClient:new wa,loadFrameTimeout:0,windowHashTimeout:(n==null?void 0:n.loadFrameTimeout)||Uk,iframeHashTimeout:(n==null?void 0:n.loadFrameTimeout)||Vl,navigateFrameWait:0,redirectNavigationTimeout:Hk,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:(n==null?void 0:n.nativeBrokerHandshakeTimeout)||Bk,pollIntervalMilliseconds:Qt.DEFAULT_POLL_INTERVAL_MS},...n,loggerOptions:(n==null?void 0:n.loggerOptions)||a},u={application:{appName:P.EMPTY_STRING,appVersion:P.EMPTY_STRING},client:new ik};if((t==null?void 0:t.protocolMode)!==ar.OIDC&&(t!=null&&t.OIDCOptions)&&new Kr(l.loggerOptions).warning(JSON.stringify($e(Ty))),t!=null&&t.protocolMode&&t.protocolMode!==ar.AAD&&(l!=null&&l.allowNativeBroker))throw $e(Ey);return{auth:{...i,...t,OIDCOptions:{...i.OIDCOptions,...t==null?void 0:t.OIDCOptions}},cache:{...s,...e},system:l,telemetry:{...u,...r}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Kk="@azure/msal-browser",hi="3.30.0";/*! @azure/msal-browser v3.30.0 2025-08-05 */class Cd{static loggerCallback(e,n){switch(e){case Ye.Error:console.error(n);return;case Ye.Info:console.info(n);return;case Ye.Verbose:console.debug(n);return;case Ye.Warning:console.warn(n);return;default:console.log(n);return}}constructor(e){var c;this.browserEnvironment=typeof window<"u",this.config=Fk(e,this.browserEnvironment);let n;try{n=window[Bt.SessionStorage]}catch{}const r=n==null?void 0:n.getItem(gk),o=(c=n==null?void 0:n.getItem(mk))==null?void 0:c.toLowerCase(),i=o==="true"?!0:o==="false"?!1:void 0,s={...this.config.system.loggerOptions},a=r&&Object.keys(Ye).includes(r)?Ye[r]:void 0;a&&(s.loggerCallback=Cd.loggerCallback,s.logLevel=a),i!==void 0&&(s.piiLoggingEnabled=i),this.logger=new Kr(s,Kk,hi),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Ao extends Cd{getModuleName(){return Ao.MODULE_NAME}getId(){return Ao.ID}async initialize(){return this.available=typeof window<"u",this.available}}Ao.MODULE_NAME="";Ao.ID="StandardOperatingContext";/*! @azure/msal-browser v3.30.0 2025-08-05 */function $n(t){return new TextDecoder().decode($k(t))}function $k(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw te(dv)}const n=atob(e);return Uint8Array.from(n,r=>r.codePointAt(0)||0)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class qk{constructor(){this.dbName=jl,this.version=hk,this.tableName=fk,this.dbOpen=!1}async open(){return new Promise((e,n)=>{const r=window.indexedDB.open(this.dbName,this.version);r.addEventListener("upgradeneeded",o=>{o.target.result.createObjectStore(this.tableName)}),r.addEventListener("success",o=>{const i=o;this.db=i.target.result,this.dbOpen=!0,e()}),r.addEventListener("error",()=>n(te(dd)))})}closeConnection(){const e=this.db;e&&this.dbOpen&&(e.close(),this.dbOpen=!1)}async validateDbIsOpen(){if(!this.dbOpen)return this.open()}async getItem(e){return await this.validateDbIsOpen(),new Promise((n,r)=>{if(!this.db)return r(te(Lo));const s=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).get(e);s.addEventListener("success",a=>{const c=a;this.closeConnection(),n(c.target.result)}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async setItem(e,n){return await this.validateDbIsOpen(),new Promise((r,o)=>{if(!this.db)return o(te(Lo));const a=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).put(n,e);a.addEventListener("success",()=>{this.closeConnection(),r()}),a.addEventListener("error",c=>{this.closeConnection(),o(c)})})}async removeItem(e){return await this.validateDbIsOpen(),new Promise((n,r)=>{if(!this.db)return r(te(Lo));const s=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).delete(e);s.addEventListener("success",()=>{this.closeConnection(),n()}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async getKeys(){return await this.validateDbIsOpen(),new Promise((e,n)=>{if(!this.db)return n(te(Lo));const i=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).getAllKeys();i.addEventListener("success",s=>{const a=s;this.closeConnection(),e(a.target.result)}),i.addEventListener("error",s=>{this.closeConnection(),n(s)})})}async containsKey(e){return await this.validateDbIsOpen(),new Promise((n,r)=>{if(!this.db)return r(te(Lo));const s=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).count(e);s.addEventListener("success",a=>{const c=a;this.closeConnection(),n(c.target.result===1)}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async deleteDatabase(){return this.db&&this.dbOpen&&this.closeConnection(),new Promise((e,n)=>{const r=window.indexedDB.deleteDatabase(jl),o=setTimeout(()=>n(!1),200);r.addEventListener("success",()=>(clearTimeout(o),e(!0))),r.addEventListener("blocked",()=>(clearTimeout(o),e(!0))),r.addEventListener("error",()=>(clearTimeout(o),n(!1)))})}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Gl{constructor(){this.cache=new Map}getItem(e){return this.cache.get(e)||null}setItem(e,n){this.cache.set(e,n)}removeItem(e){this.cache.delete(e)}getKeys(){const e=[];return this.cache.forEach((n,r)=>{e.push(r)}),e}containsKey(e){return this.cache.has(e)}clear(){this.cache.clear()}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class jk{constructor(e){this.inMemoryCache=new Gl,this.indexedDBCache=new qk,this.logger=e}handleDatabaseAccessError(e){if(e instanceof Ts&&e.errorCode===dd)this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.");else throw e}async getItem(e){const n=this.inMemoryCache.getItem(e);if(!n)try{return this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.getItem(e)}catch(r){this.handleDatabaseAccessError(r)}return n}async setItem(e,n){this.inMemoryCache.setItem(e,n);try{await this.indexedDBCache.setItem(e,n)}catch(r){this.handleDatabaseAccessError(r)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(n){this.handleDatabaseAccessError(n)}}async getKeys(){const e=this.inMemoryCache.getKeys();if(e.length===0)try{return this.logger.verbose("In-memory cache is empty, now querying persistent storage."),await this.indexedDBCache.getKeys()}catch(n){this.handleDatabaseAccessError(n)}return e}async containsKey(e){const n=this.inMemoryCache.containsKey(e);if(!n)try{return this.logger.verbose("Key not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.containsKey(e)}catch(r){this.handleDatabaseAccessError(r)}return n}clearInMemory(){this.logger.verbose("Deleting in-memory keystore"),this.inMemoryCache.clear(),this.logger.verbose("In-memory keystore deleted")}async clearPersistent(){try{this.logger.verbose("Deleting persistent keystore");const e=await this.indexedDBCache.deleteDatabase();return e&&this.logger.verbose("Persistent keystore deleted"),e}catch(e){return this.handleDatabaseAccessError(e),!1}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class fi{constructor(e,n,r){this.logger=e,Ak(r??!1),this.cache=new jk(this.logger),this.performanceClient=n}createNewGuid(){return jn()}base64Encode(e){return hd(e)}base64Decode(e){return $n(e)}base64UrlEncode(e){return Ks(e)}encodeKid(e){return this.base64UrlEncode(JSON.stringify({kid:e}))}async getPublicKeyThumbprint(e){var u;const n=(u=this.performanceClient)==null?void 0:u.startMeasurement(_.CryptoOptsGetPublicKeyThumbprint,e.correlationId),r=await Ek(fi.EXTRACTABLE,fi.POP_KEY_USAGES),o=await Qc(r.publicKey),i={e:o.e,kty:o.kty,n:o.n},s=Vf(i),a=await this.hashString(s),c=await Qc(r.privateKey),l=await bk(c,!1,["sign"]);return await this.cache.setItem(a,{privateKey:l,publicKey:r.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),n&&n.end({success:!0}),a}async removeTokenBindingKey(e){return await this.cache.removeItem(e),!await this.cache.containsKey(e)}async clearKeystore(){this.cache.clearInMemory();try{return await this.cache.clearPersistent(),!0}catch(e){return e instanceof Error?this.logger.error(`Clearing keystore failed with error: ${e.message}`):this.logger.error("Clearing keystore failed with unknown error"),!1}}async signJwt(e,n,r,o){var y;const i=(y=this.performanceClient)==null?void 0:y.startMeasurement(_.CryptoOptsSignJwt,o),s=await this.cache.getItem(n);if(!s)throw te(ud);const a=await Qc(s.publicKey),c=Vf(a),l=Ks(JSON.stringify({kid:n})),u=sd.getShrHeaderString({...r==null?void 0:r.header,alg:a.alg,kid:l}),d=Ks(u);e.cnf={jwk:JSON.parse(c)};const h=Ks(JSON.stringify(e)),f=`${d}.${h}`,g=new TextEncoder().encode(f),m=await _k(s.privateKey,g),C=gc(new Uint8Array(m)),T=`${f}.${C}`;return i&&i.end({success:!0}),T}async hashString(e){return Cv(e)}}fi.POP_KEY_USAGES=["sign","verify"];fi.EXTRACTABLE=!0;function Vf(t){return JSON.stringify(t,Object.keys(t).sort())}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Vk{constructor(){if(!window.localStorage)throw md(pd)}getItem(e){return window.localStorage.getItem(e)}setItem(e,n){window.localStorage.setItem(e,n)}removeItem(e){window.localStorage.removeItem(e)}getKeys(){return Object.keys(window.localStorage)}containsKey(e){return window.localStorage.hasOwnProperty(e)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Gk{constructor(){if(!window.sessionStorage)throw md(pd)}getItem(e){return window.sessionStorage.getItem(e)}setItem(e,n){window.sessionStorage.setItem(e,n)}removeItem(e){window.sessionStorage.removeItem(e)}getKeys(){return Object.keys(window.sessionStorage)}containsKey(e){return window.sessionStorage.hasOwnProperty(e)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function bv(t,e){if(!e)return null;try{return gn.parseRequestState(t,e).libraryState.meta}catch{throw j(li)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const zk=24*60*60*1e3;class Wk{getItem(e){const n=`${encodeURIComponent(e)}`,r=document.cookie.split(";");for(let o=0;o{const o=decodeURIComponent(r).trim().split("=");n.push(o[0])}),n}containsKey(e){return this.getKeys().includes(e)}}function Qk(t){const e=new Date;return new Date(e.getTime()+t*zk).toUTCString()}/*! @azure/msal-browser v3.30.0 2025-08-05 */class zl extends ui{constructor(e,n,r,o,i,s){super(e,r,o,i),this.cacheConfig=n,this.logger=o,this.internalStorage=new Gl,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupBrowserStorage(this.cacheConfig.temporaryCacheLocation),this.cookieStorage=new Wk,n.cacheMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps()),this.performanceClient=s}setupBrowserStorage(e){try{switch(e){case Bt.LocalStorage:return new Vk;case Bt.SessionStorage:return new Gk;case Bt.MemoryStorage:default:break}}catch(n){this.logger.error(n)}return this.cacheConfig.cacheLocation=Bt.MemoryStorage,new Gl}migrateCacheEntries(){const e=this.browserStorage.getItem(on.VERSION);e&&this.logger.info(`MSAL.js was last initialized with version ${e}`),e!==hi&&this.browserStorage.setItem(on.VERSION,hi);const n=`${P.CACHE_PREFIX}.${ft.ID_TOKEN}`,r=`${P.CACHE_PREFIX}.${ft.CLIENT_INFO}`,o=`${P.CACHE_PREFIX}.${ft.ERROR}`,i=`${P.CACHE_PREFIX}.${ft.ERROR_DESC}`,s=this.browserStorage.getItem(n),a=this.browserStorage.getItem(r),c=this.browserStorage.getItem(o),l=this.browserStorage.getItem(i),u=[s,a,c,l];[ft.ID_TOKEN,ft.CLIENT_INFO,ft.ERROR,ft.ERROR_DESC].forEach((h,f)=>{const p=u[f];p&&this.setTemporaryCache(h,p,!0)})}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");const e=this.cryptoImpl.createNewGuid(),n=this.getItem(on.ACCOUNT_KEYS),r=this.getItem(`${on.TOKEN_KEYS}.${this.clientId}`);if(n&&r){this.logger.verbose("BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration.");return}this.browserStorage.getKeys().forEach(i=>{if(this.isCredentialKey(i)){const s=this.getItem(i);if(s){const a=this.validateAndParseJson(s);if(a&&a.hasOwnProperty("credentialType"))switch(a.credentialType){case Ce.ID_TOKEN:if(Tf(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,Ce.ID_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${i}`);break;case Ce.ACCESS_TOKEN:case Ce.ACCESS_TOKEN_WITH_AUTH_SCHEME:if(Af(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,Ce.ACCESS_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${i}`);break;case Ce.REFRESH_TOKEN:if(Ef(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,Ce.REFRESH_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${i}`);break}}}if(this.isAccountKey(i)){const s=this.getItem(i);if(s){const a=this.validateAndParseJson(s);a&&dt.isAccountEntity(a)&&(this.logger.trace("BrowserCacheManager:createKeyMaps - account found, saving key to account key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${i} found, saving key to account key map`),this.addAccountKeyToMap(i,e))}}})}validateAndParseJson(e){try{const n=JSON.parse(e);return n&&typeof n=="object"?n:null}catch{return null}}getItem(e){return this.browserStorage.getItem(e)}setItem(e,n,r){let o=[];for(let s=0;s<=20;s++)try{this.browserStorage.setItem(e,n),s>0&&this.removeAccessTokenKeys(o.slice(0,s),r);break}catch(a){const c=Oy(a);if(c.errorCode===Zu&&s<20){if(o.length||(e===`${on.TOKEN_KEYS}.${this.clientId}`?o=JSON.parse(n).accessToken:o=this.getTokenKeys().accessToken),o.length<=s)throw c;this.removeAccessToken(o[s],r,!1)}else throw c}}getAccount(e,n,r){this.logger.trace("BrowserCacheManager.getAccount called");const o=this.getCachedAccountEntity(e,n);return this.updateOutdatedCachedAccount(e,o,n,r)}getCachedAccountEntity(e,n){const r=this.getItem(e);if(!r)return this.removeAccountKeyFromMap(e,n),null;const o=this.validateAndParseJson(r);return!o||!dt.isAccountEntity(o)?null:ui.toObject(new dt,o)}setAccount(e,n){this.logger.trace("BrowserCacheManager.setAccount called");const r=e.generateAccountKey();e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),n),this.addAccountKeyToMap(r,n)}getAccountKeys(){this.logger.trace("BrowserCacheManager.getAccountKeys called");const e=this.getItem(on.ACCOUNT_KEYS);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}addAccountKeyToMap(e,n){this.logger.trace("BrowserCacheManager.addAccountKeyToMap called"),this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${e}`);const r=this.getAccountKeys();r.indexOf(e)===-1?(r.push(e),this.setItem(on.ACCOUNT_KEYS,JSON.stringify(r),n),this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key added")):this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key already exists in map")}removeAccountKeyFromMap(e,n){this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap called"),this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${e}`);const r=this.getAccountKeys(),o=r.indexOf(e);if(o>-1){if(r.splice(o,1),r.length===0){this.removeItem(on.ACCOUNT_KEYS);return}else this.setItem(on.ACCOUNT_KEYS,JSON.stringify(r),n);this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")}else this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap key not found in existing map")}async removeAccount(e,n){super.removeAccount(e,n),this.removeAccountKeyFromMap(e,n)}removeOutdatedAccount(e,n){this.removeItem(e),this.removeAccountKeyFromMap(e,n)}removeIdToken(e,n){super.removeIdToken(e,n),this.removeTokenKey(e,Ce.ID_TOKEN,n)}removeAccessToken(e,n,r=!0){var o;super.removeAccessToken(e,n),(o=this.performanceClient)==null||o.incrementFields({accessTokensRemoved:1},n),r&&this.removeTokenKey(e,Ce.ACCESS_TOKEN,n)}removeAccessTokenKeys(e,n){this.logger.trace("removeAccessTokenKey called");const r=this.getTokenKeys();let o=0;if(e.forEach(i=>{const s=r.accessToken.indexOf(i);s>-1&&(r.accessToken.splice(s,1),o++)}),o>0){this.logger.info(`removed ${o} accessToken keys from tokenKeys map`),this.setTokenKeys(r,n);return}}removeRefreshToken(e,n){super.removeRefreshToken(e,n),this.removeTokenKey(e,Ce.REFRESH_TOKEN,n)}getTokenKeys(){this.logger.trace("BrowserCacheManager.getTokenKeys called");const e=this.getItem(`${on.TOKEN_KEYS}.${this.clientId}`);if(e){const n=this.validateAndParseJson(e);if(n&&n.hasOwnProperty("idToken")&&n.hasOwnProperty("accessToken")&&n.hasOwnProperty("refreshToken"))return n;this.logger.error("BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.")}else this.logger.verbose("BrowserCacheManager.getTokenKeys - No token keys found");return{idToken:[],accessToken:[],refreshToken:[]}}setTokenKeys(e,n){if(e.idToken.length===0&&e.accessToken.length===0&&e.refreshToken.length===0){this.removeItem(`${on.TOKEN_KEYS}.${this.clientId}`);return}else this.setItem(`${on.TOKEN_KEYS}.${this.clientId}`,JSON.stringify(e),n)}addTokenKey(e,n,r){this.logger.trace("BrowserCacheManager addTokenKey called");const o=this.getTokenKeys();switch(n){case Ce.ID_TOKEN:o.idToken.indexOf(e)===-1&&(this.logger.info("BrowserCacheManager: addTokenKey - idToken added to map"),o.idToken.push(e));break;case Ce.ACCESS_TOKEN:const i=o.accessToken.indexOf(e);i!==-1&&o.accessToken.splice(i,1),this.logger.trace(`access token ${i===-1?"added to":"updated in"} map`),o.accessToken.push(e);break;case Ce.REFRESH_TOKEN:o.refreshToken.indexOf(e)===-1&&(this.logger.info("BrowserCacheManager: addTokenKey - refreshToken added to map"),o.refreshToken.push(e));break;default:throw this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${n}`),j(Ll)}this.setTokenKeys(o,r)}removeTokenKey(e,n,r,o=this.getTokenKeys()){switch(this.logger.trace("BrowserCacheManager removeTokenKey called"),n){case Ce.ID_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${e} from map`);const i=o.idToken.indexOf(e);i>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - idToken removed from map"),o.idToken.splice(i,1)):this.logger.info("BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.");break;case Ce.ACCESS_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${e} from map`);const s=o.accessToken.indexOf(e);s>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - accessToken removed from map"),o.accessToken.splice(s,1)):this.logger.info("BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.");break;case Ce.REFRESH_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${e} from map`);const a=o.refreshToken.indexOf(e);a>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken removed from map"),o.refreshToken.splice(a,1)):this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.");break;default:throw this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invalid. CredentialType: ${n}`),j(Ll)}this.setTokenKeys(o,r)}getIdTokenCredential(e,n){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeIdToken(e,n),null;const o=this.validateAndParseJson(r);return!o||!Tf(o)?(this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getIdTokenCredential: cache hit"),o)}setIdTokenCredential(e,n){this.logger.trace("BrowserCacheManager.setIdTokenCredential called");const r=Bo(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),n),this.addTokenKey(r,Ce.ID_TOKEN,n)}getAccessTokenCredential(e,n){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,Ce.ACCESS_TOKEN,n),null;const o=this.validateAndParseJson(r);return!o||!Af(o)?(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: cache hit"),o)}setAccessTokenCredential(e,n){this.logger.trace("BrowserCacheManager.setAccessTokenCredential called");const r=Bo(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),n),this.addTokenKey(r,Ce.ACCESS_TOKEN,n)}getRefreshTokenCredential(e,n){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,Ce.REFRESH_TOKEN,n),null;const o=this.validateAndParseJson(r);return!o||!Ef(o)?(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: cache hit"),o)}setRefreshTokenCredential(e,n){this.logger.trace("BrowserCacheManager.setRefreshTokenCredential called");const r=Bo(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),n),this.addTokenKey(r,Ce.REFRESH_TOKEN,n)}getAppMetadata(e){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null;const r=this.validateAndParseJson(n);return!r||!HR(e,r)?(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),r)}setAppMetadata(e,n){this.logger.trace("BrowserCacheManager.setAppMetadata called");const r=UR(e);this.setItem(r,JSON.stringify(e),n)}getServerTelemetry(e){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null;const r=this.validateAndParseJson(n);return!r||!DR(e,r)?(this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getServerTelemetry: cache hit"),r)}setServerTelemetry(e,n,r){this.logger.trace("BrowserCacheManager.setServerTelemetry called"),this.setItem(e,JSON.stringify(n),r)}getAuthorityMetadata(e){const n=this.internalStorage.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getAuthorityMetadata: called, no cache hit"),null;const r=this.validateAndParseJson(n);return r&&BR(e,r)?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),r):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter(n=>this.isAuthorityMetadata(n))}setWrapperMetadata(e,n){this.internalStorage.setItem(Fs.WRAPPER_SKU,e),this.internalStorage.setItem(Fs.WRAPPER_VER,n)}getWrapperMetadata(){const e=this.internalStorage.getItem(Fs.WRAPPER_SKU)||P.EMPTY_STRING,n=this.internalStorage.getItem(Fs.WRAPPER_VER)||P.EMPTY_STRING;return[e,n]}setAuthorityMetadata(e,n){this.logger.trace("BrowserCacheManager.setAuthorityMetadata called"),this.internalStorage.setItem(e,JSON.stringify(n))}getActiveAccount(e){const n=this.generateCacheKey(ft.ACTIVE_ACCOUNT_FILTERS),r=this.getItem(n);if(!r){this.logger.trace("BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema");const i=this.generateCacheKey(ft.ACTIVE_ACCOUNT),s=this.getItem(i);if(!s)return this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null;const a=this.getAccountInfoFilteredBy({localAccountId:s},e);return a?(this.logger.trace("BrowserCacheManager.getActiveAccount: Legacy active account cache schema found"),this.logger.trace("BrowserCacheManager.getActiveAccount: Adding active account filters cache schema"),this.setActiveAccount(a,e),a):null}const o=this.validateAndParseJson(r);return o?(this.logger.trace("BrowserCacheManager.getActiveAccount: Active account filters schema found"),this.getAccountInfoFilteredBy({homeAccountId:o.homeAccountId,localAccountId:o.localAccountId,tenantId:o.tenantId},e)):(this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null)}setActiveAccount(e,n){const r=this.generateCacheKey(ft.ACTIVE_ACCOUNT_FILTERS),o=this.generateCacheKey(ft.ACTIVE_ACCOUNT);if(e){this.logger.verbose("setActiveAccount: Active account set");const i={homeAccountId:e.homeAccountId,localAccountId:e.localAccountId,tenantId:e.tenantId,lastUpdatedAt:Date.now().toString()};this.setItem(r,JSON.stringify(i),n),this.setItem(o,e.localAccountId,n)}else this.logger.verbose("setActiveAccount: No account passed, active account not set"),this.browserStorage.removeItem(r),this.browserStorage.removeItem(o)}getThrottlingCache(e){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null;const r=this.validateAndParseJson(n);return!r||!LR(e,r)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),r)}setThrottlingCache(e,n,r){this.logger.trace("BrowserCacheManager.setThrottlingCache called"),this.setItem(e,JSON.stringify(n),r)}getTemporaryCache(e,n){const r=n?this.generateCacheKey(e):e;if(this.cacheConfig.storeAuthStateInCookie){const i=this.cookieStorage.getItem(r);if(i)return this.logger.trace("BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"),i}const o=this.temporaryCacheStorage.getItem(r);if(!o){if(this.cacheConfig.cacheLocation===Bt.LocalStorage){const i=this.browserStorage.getItem(r);if(i)return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage"),i}return this.logger.trace("BrowserCacheManager.getTemporaryCache: No cache item found in local storage"),null}return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item returned"),o}setTemporaryCache(e,n,r){const o=r?this.generateCacheKey(e):e;this.temporaryCacheStorage.setItem(o,n),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"),this.cookieStorage.setItem(o,n,void 0,this.cacheConfig.secureCookies))}removeItem(e){this.browserStorage.removeItem(e)}removeTemporaryItem(e){this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.cookieStorage.removeItem(e))}getKeys(){return this.browserStorage.getKeys()}async clear(e){await this.removeAllAccounts(e),this.removeAppMetadata(e),this.temporaryCacheStorage.getKeys().forEach(n=>{(n.indexOf(P.CACHE_PREFIX)!==-1||n.indexOf(this.clientId)!==-1)&&this.removeTemporaryItem(n)}),this.browserStorage.getKeys().forEach(n=>{(n.indexOf(P.CACHE_PREFIX)!==-1||n.indexOf(this.clientId)!==-1)&&this.browserStorage.removeItem(n)}),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e,n){e.addQueueMeasurement(_.ClearTokensAndKeysWithClaims,n);const r=this.getTokenKeys();let o=0;r.accessToken.forEach(i=>{const s=this.getAccessTokenCredential(i,n);s!=null&&s.requestedClaimsHash&&i.includes(s.requestedClaimsHash.toLowerCase())&&(this.removeAccessToken(i,n),o++)}),o>0&&this.logger.warning(`${o} access tokens with claims in the cache keys have been removed from the cache.`)}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):pn.startsWith(e,P.CACHE_PREFIX)||pn.startsWith(e,ft.ADAL_ID_TOKEN)?e:`${P.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){const{libraryState:{id:n}}=gn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${Be.AUTHORITY}.${n}`)}generateNonceKey(e){const{libraryState:{id:n}}=gn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${Be.NONCE_IDTOKEN}.${n}`)}generateStateKey(e){const{libraryState:{id:n}}=gn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${Be.REQUEST_STATE}.${n}`)}getCachedAuthority(e){const n=this.generateStateKey(e),r=this.getTemporaryCache(n);if(!r)return null;const o=this.generateAuthorityKey(r);return this.getTemporaryCache(o)}updateCacheEntries(e,n,r,o,i){this.logger.trace("BrowserCacheManager.updateCacheEntries called");const s=this.generateStateKey(e);this.setTemporaryCache(s,e,!1);const a=this.generateNonceKey(e);this.setTemporaryCache(a,n,!1);const c=this.generateAuthorityKey(e);if(this.setTemporaryCache(c,r,!1),i){const l={credential:i.homeAccountId,type:Jt.HOME_ACCOUNT_ID};this.setTemporaryCache(Be.CCS_CREDENTIAL,JSON.stringify(l),!0)}else if(o){const l={credential:o,type:Jt.UPN};this.setTemporaryCache(Be.CCS_CREDENTIAL,JSON.stringify(l),!0)}}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.temporaryCacheStorage.getKeys().forEach(n=>{n.indexOf(e)!==-1&&this.removeTemporaryItem(n)}),this.removeTemporaryItem(this.generateStateKey(e)),this.removeTemporaryItem(this.generateNonceKey(e)),this.removeTemporaryItem(this.generateAuthorityKey(e))),this.removeTemporaryItem(this.generateCacheKey(Be.REQUEST_PARAMS)),this.removeTemporaryItem(this.generateCacheKey(Be.ORIGIN_URI)),this.removeTemporaryItem(this.generateCacheKey(Be.URL_HASH)),this.removeTemporaryItem(this.generateCacheKey(Be.CORRELATION_ID)),this.removeTemporaryItem(this.generateCacheKey(Be.CCS_CREDENTIAL)),this.removeTemporaryItem(this.generateCacheKey(Be.NATIVE_REQUEST)),this.setInteractionInProgress(!1)}cleanRequestByState(e){if(this.logger.trace("BrowserCacheManager.cleanRequestByState called"),e){const n=this.generateStateKey(e),r=this.temporaryCacheStorage.getItem(n);this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r||P.EMPTY_STRING)}}cleanRequestByInteractionType(e){this.logger.trace("BrowserCacheManager.cleanRequestByInteractionType called"),this.temporaryCacheStorage.getKeys().forEach(n=>{if(n.indexOf(Be.REQUEST_STATE)===-1)return;const r=this.temporaryCacheStorage.getItem(n);if(!r)return;const o=bv(this.cryptoImpl,r);o&&o.interactionType===e&&(this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r))}),this.setInteractionInProgress(!1)}cacheCodeRequest(e){this.logger.trace("BrowserCacheManager.cacheCodeRequest called");const n=hd(JSON.stringify(e));this.setTemporaryCache(Be.REQUEST_PARAMS,n,!0)}getCachedRequest(e){this.logger.trace("BrowserCacheManager.getCachedRequest called");const n=this.getTemporaryCache(Be.REQUEST_PARAMS,!0);if(!n)throw te(Xy);let r;try{r=JSON.parse($n(n))}catch(o){throw this.logger.errorPii(`Attempted to parse: ${n}`),this.logger.error(`Parsing cached token request threw with error: ${o}`),te(Zy)}if(this.removeTemporaryItem(this.generateCacheKey(Be.REQUEST_PARAMS)),!r.authority){const o=this.generateAuthorityKey(e),i=this.getTemporaryCache(o);if(!i)throw te(ld);r.authority=i}return r}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");const e=this.getTemporaryCache(Be.NATIVE_REQUEST,!0);if(!e)return this.logger.trace("BrowserCacheManager.getCachedNativeRequest: No cached native request found"),null;const n=this.validateAndParseJson(e);return n||(this.logger.error("BrowserCacheManager.getCachedNativeRequest: Unable to parse native request"),null)}isInteractionInProgress(e){const n=this.getInteractionInProgress();return e?n===this.clientId:!!n}getInteractionInProgress(){const e=`${P.CACHE_PREFIX}.${Be.INTERACTION_STATUS_KEY}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){const n=`${P.CACHE_PREFIX}.${Be.INTERACTION_STATUS_KEY}`;if(e){if(this.getInteractionInProgress())throw te(jy);this.setTemporaryCache(n,this.clientId,!1)}else!e&&this.getInteractionInProgress()===this.clientId&&this.removeTemporaryItem(n)}getLegacyLoginHint(){const e=this.getTemporaryCache(ft.ADAL_ID_TOKEN);e&&(this.browserStorage.removeItem(ft.ADAL_ID_TOKEN),this.logger.verbose("Cached ADAL id token retrieved."));const n=this.getTemporaryCache(ft.ID_TOKEN,!0);n&&(this.browserStorage.removeItem(this.generateCacheKey(ft.ID_TOKEN)),this.logger.verbose("Cached MSAL.js v1 id token retrieved"));const r=n||e;if(r){const o=bo(r,$n);if(o.preferred_username)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint"),o.preferred_username;if(o.upn)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint"),o.upn;this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.")}return null}updateCredentialCacheKey(e,n,r){const o=Bo(n);if(e!==o){const i=this.getItem(e);if(i)return this.browserStorage.removeItem(e),this.setItem(o,i,r),this.logger.verbose(`Updated an outdated ${n.credentialType} cache key`),o;this.logger.error(`Attempted to update an outdated ${n.credentialType} cache key but no item matching the outdated key was found in storage`)}return e}async hydrateCache(e,n){var a,c,l;const r=sc((a=e.account)==null?void 0:a.homeAccountId,(c=e.account)==null?void 0:c.environment,e.idToken,this.clientId,e.tenantId);let o;n.claims&&(o=await this.cryptoImpl.hashString(n.claims));const i=ac((l=e.account)==null?void 0:l.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?e.expiresOn.getTime()/1e3:0,e.extExpiresOn?e.extExpiresOn.getTime()/1e3:0,$n,void 0,e.tokenType,void 0,n.sshKid,n.claims,o),s={idToken:r,accessToken:i};return this.saveCacheRecord(s,e.correlationId)}async saveCacheRecord(e,n,r){try{await super.saveCacheRecord(e,n,r)}catch(o){if(o instanceof zo&&this.performanceClient&&n)try{const i=this.getTokenKeys();this.performanceClient.addFields({cacheRtCount:i.refreshToken.length,cacheIdCount:i.idToken.length,cacheAtCount:i.accessToken.length},n)}catch{}throw o}}}const Yk=(t,e)=>{const n={cacheLocation:Bt.MemoryStorage,temporaryCacheLocation:Bt.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};return new zl(t,n,fa,e)};/*! @azure/msal-browser v3.30.0 2025-08-05 */function Jk(t,e,n,r,o){return t.verbose("getAllAccounts called"),n?e.getAllAccounts(r,o):[]}function Xk(t,e,n,r){if(e.trace("getAccount called"),Object.keys(t).length===0)return e.warning("getAccount: No accountFilter provided"),null;const o=n.getAccountInfoFilteredBy(t,r);return o?(e.verbose("getAccount: Account matching provided filter found, returning"),o):(e.verbose("getAccount: No matching account found, returning null"),null)}function Zk(t,e,n,r){if(e.trace("getAccountByUsername called"),!t)return e.warning("getAccountByUsername: No username provided"),null;const o=n.getAccountInfoFilteredBy({username:t},r);return o?(e.verbose("getAccountByUsername: Account matching username found, returning"),e.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${t}`),o):(e.verbose("getAccountByUsername: No matching account found, returning null"),null)}function eP(t,e,n,r){if(e.trace("getAccountByHomeId called"),!t)return e.warning("getAccountByHomeId: No homeAccountId provided"),null;const o=n.getAccountInfoFilteredBy({homeAccountId:t},r);return o?(e.verbose("getAccountByHomeId: Account matching homeAccountId found, returning"),e.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${t}`),o):(e.verbose("getAccountByHomeId: No matching account found, returning null"),null)}function tP(t,e,n,r){if(e.trace("getAccountByLocalId called"),!t)return e.warning("getAccountByLocalId: No localAccountId provided"),null;const o=n.getAccountInfoFilteredBy({localAccountId:t},r);return o?(e.verbose("getAccountByLocalId: Account matching localAccountId found, returning"),e.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${t}`),o):(e.verbose("getAccountByLocalId: No matching account found, returning null"),null)}function nP(t,e,n){e.setActiveAccount(t,n)}function rP(t,e){return t.getActiveAccount(e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const me={INITIALIZE_START:"msal:initializeStart",INITIALIZE_END:"msal:initializeEnd",ACCOUNT_ADDED:"msal:accountAdded",ACCOUNT_REMOVED:"msal:accountRemoved",ACTIVE_ACCOUNT_CHANGED:"msal:activeAccountChanged",LOGIN_START:"msal:loginStart",LOGIN_SUCCESS:"msal:loginSuccess",LOGIN_FAILURE:"msal:loginFailure",ACQUIRE_TOKEN_START:"msal:acquireTokenStart",ACQUIRE_TOKEN_SUCCESS:"msal:acquireTokenSuccess",ACQUIRE_TOKEN_FAILURE:"msal:acquireTokenFailure",ACQUIRE_TOKEN_NETWORK_START:"msal:acquireTokenFromNetworkStart",SSO_SILENT_START:"msal:ssoSilentStart",SSO_SILENT_SUCCESS:"msal:ssoSilentSuccess",SSO_SILENT_FAILURE:"msal:ssoSilentFailure",ACQUIRE_TOKEN_BY_CODE_START:"msal:acquireTokenByCodeStart",ACQUIRE_TOKEN_BY_CODE_SUCCESS:"msal:acquireTokenByCodeSuccess",ACQUIRE_TOKEN_BY_CODE_FAILURE:"msal:acquireTokenByCodeFailure",HANDLE_REDIRECT_START:"msal:handleRedirectStart",HANDLE_REDIRECT_END:"msal:handleRedirectEnd",POPUP_OPENED:"msal:popupOpened",LOGOUT_START:"msal:logoutStart",LOGOUT_SUCCESS:"msal:logoutSuccess",LOGOUT_FAILURE:"msal:logoutFailure",LOGOUT_END:"msal:logoutEnd",RESTORE_FROM_BFCACHE:"msal:restoreFromBFCache"};/*! @azure/msal-browser v3.30.0 2025-08-05 */class oP{constructor(e){this.eventCallbacks=new Map,this.logger=e||new Kr({})}addEventCallback(e,n,r){if(typeof window<"u"){const o=r||Dk();return this.eventCallbacks.has(o)?(this.logger.error(`Event callback with id: ${o} is already registered. Please provide a unique id or remove the existing callback and try again.`),null):(this.eventCallbacks.set(o,[e,n||[]]),this.logger.verbose(`Event callback registered with id: ${o}`),o)}return null}removeEventCallback(e){this.eventCallbacks.delete(e),this.logger.verbose(`Event callback ${e} removed.`)}emitEvent(e,n,r,o){if(typeof window<"u"){const i={eventType:e,interactionType:n||null,payload:r||null,error:o||null,timestamp:Date.now()};this.eventCallbacks.forEach(([s,a],c)=>{(a.length===0||a.includes(e))&&(this.logger.verbose(`Emitting event to callback ${c}: ${e}`),s.apply(null,[i]))})}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class _v{constructor(e,n,r,o,i,s,a,c,l){this.config=e,this.browserStorage=n,this.browserCrypto=r,this.networkClient=this.config.system.networkClient,this.eventHandler=i,this.navigationClient=s,this.nativeMessageHandler=c,this.correlationId=l||jn(),this.logger=o.clone(Qt.MSAL_SKU,hi,this.correlationId),this.performanceClient=a}async clearCacheOnLogout(e){if(e){dt.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(this.correlationId),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null,this.correlationId));try{await this.browserStorage.removeAccount(dt.generateAccountCacheKey(e),this.correlationId),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch{this.logger.error("Account provided in logout request was not found. Local cache unchanged.")}}else try{this.logger.verbose("No account provided in logout request, clearing all cache items.",this.correlationId),await this.browserStorage.clear(this.correlationId),await this.browserCrypto.clearKeystore()}catch{this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}getRedirectUri(e){this.logger.verbose("getRedirectUri called");const n=e||this.config.auth.redirectUri;return Oe.getAbsoluteUrl(n,ir())}initializeServerTelemetryManager(e,n){this.logger.verbose("initializeServerTelemetryManager called");const r={clientId:this.config.auth.clientId,correlationId:this.correlationId,apiId:e,forceRefresh:n||!1,wrapperSKU:this.browserStorage.getWrapperMetadata()[0],wrapperVer:this.browserStorage.getWrapperMetadata()[1]};return new es(r,this.browserStorage)}async getDiscoveredAuthority(e){const{account:n}=e,r=e.requestExtraQueryParameters&&e.requestExtraQueryParameters.hasOwnProperty("instance_aware")?e.requestExtraQueryParameters.instance_aware:void 0;this.performanceClient.addQueueMeasurement(_.StandardInteractionClientGetDiscoveredAuthority,this.correlationId);const o={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},i=e.requestAuthority||this.config.auth.authority,s=r!=null&&r.length?r==="true":this.config.auth.instanceAware,a=n&&s?this.config.auth.authority.replace(Oe.getDomainFromUrl(i),n.environment):i,c=bt.generateAuthority(a,e.requestAzureCloudOptions||this.config.auth.azureCloudOptions),l=await G(xy,_.AuthorityFactoryCreateDiscoveredInstance,this.logger,this.performanceClient,this.correlationId)(c,this.config.system.networkClient,this.browserStorage,o,this.logger,this.correlationId,this.performanceClient);if(n&&!l.isAlias(n.environment))throw $e(by);return l}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const iP=32;async function sP(t,e,n){t.addQueueMeasurement(_.GeneratePkceCodes,n);const r=_o(aP,_.GenerateCodeVerifier,e,t,n)(t,e,n),o=await G(cP,_.GenerateCodeChallengeFromVerifier,e,t,n)(r,t,e,n);return{verifier:r,challenge:o}}function aP(t,e,n){try{const r=new Uint8Array(iP);return _o(Tk,_.GetRandomValues,e,t,n)(r),gc(r)}catch{throw te(ad)}}async function cP(t,e,n,r){e.addQueueMeasurement(_.GenerateCodeChallengeFromVerifier,r);try{const o=await G(vv,_.Sha256Digest,n,e,r)(t,e,r);return gc(new Uint8Array(o))}catch{throw te(ad)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function wd(t,e,n,r){n.addQueueMeasurement(_.InitializeBaseRequest,t.correlationId);const o=t.authority||e.auth.authority,i=[...t&&t.scopes||[]],s={...t,correlationId:t.correlationId,authority:o,scopes:i};if(!s.authenticationScheme)s.authenticationScheme=Fe.BEARER,r.verbose(`Authentication Scheme wasn't explicitly set in request, defaulting to "Bearer" request`);else{if(s.authenticationScheme===Fe.SSH){if(!t.sshJwk)throw $e(cc);if(!t.sshKid)throw $e(Ay)}r.verbose(`Authentication Scheme set to "${s.authenticationScheme}" as configured in Auth request`)}return e.cache.claimsBasedCachingEnabled&&t.claims&&!pn.isEmptyObj(t.claims)&&(s.requestedClaimsHash=await Cv(t.claims)),s}async function lP(t,e,n,r,o){r.addQueueMeasurement(_.InitializeSilentRequest,t.correlationId);const i=await G(wd,_.InitializeBaseRequest,o,r,t.correlationId)(t,n,r,o);return{...t,...i,account:e,forceRefresh:t.forceRefresh||!1}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class yi extends _v{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.correlationId);const n=await G(sP,_.GeneratePkceCodes,this.logger,this.performanceClient,this.correlationId)(this.performanceClient,this.logger,this.correlationId),r={...e,redirectUri:e.redirectUri,code:P.EMPTY_STRING,codeVerifier:n.verifier};return e.codeChallenge=n.challenge,e.codeChallengeMethod=P.S256_CODE_CHALLENGE_METHOD,r}initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e==null?void 0:e.correlationId);const n={correlationId:this.correlationId||jn(),...e};if(e)if(e.logoutHint)this.logger.verbose("logoutHint has already been set in logoutRequest");else if(e.account){const r=this.getLogoutHintFromIdTokenClaims(e.account);r&&(this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided"),n.logoutHint=r)}else this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");else this.logger.verbose("logoutHint will not be set since no logout request was configured");return!e||e.postLogoutRedirectUri!==null?e&&e.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request",n.correlationId),n.postLogoutRedirectUri=Oe.getAbsoluteUrl(e.postLogoutRedirectUri,ir())):this.config.auth.postLogoutRedirectUri===null?this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect",n.correlationId):this.config.auth.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to configured uri",n.correlationId),n.postLogoutRedirectUri=Oe.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,ir())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",n.correlationId),n.postLogoutRedirectUri=Oe.getAbsoluteUrl(ir(),ir())):this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri",n.correlationId),n}getLogoutHintFromIdTokenClaims(e){const n=e.idTokenClaims;if(n){if(n.login_hint)return n.login_hint;this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request")}else this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");return null}async createAuthCodeClient(e){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientCreateAuthCodeClient,this.correlationId);const n=await G(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e);return new Ly(n,this.performanceClient)}async getClientConfiguration(e){const{serverTelemetryManager:n,requestAuthority:r,requestAzureCloudOptions:o,requestExtraQueryParameters:i,account:s}=e;this.performanceClient.addQueueMeasurement(_.StandardInteractionClientGetClientConfiguration,this.correlationId);const a=await G(this.getDiscoveredAuthority.bind(this),_.StandardInteractionClientGetDiscoveredAuthority,this.logger,this.performanceClient,this.correlationId)({requestAuthority:r,requestAzureCloudOptions:o,requestExtraQueryParameters:i,account:s}),c=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:a,clientCapabilities:this.config.auth.clientCapabilities,redirectUri:this.config.auth.redirectUri},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:c.loggerCallback,piiLoggingEnabled:c.piiLoggingEnabled,logLevel:c.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:n,libraryInfo:{sku:Qt.MSAL_SKU,version:hi,cpu:P.EMPTY_STRING,os:P.EMPTY_STRING},telemetry:this.config.telemetry}}async initializeAuthorizationRequest(e,n){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientInitializeAuthorizationRequest,this.correlationId);const r=this.getRedirectUri(e.redirectUri),o={interactionType:n},i=gn.setRequestState(this.browserCrypto,e&&e.state||P.EMPTY_STRING,o),a={...await G(wd,_.InitializeBaseRequest,this.logger,this.performanceClient,this.correlationId)({...e,correlationId:this.correlationId},this.config,this.performanceClient,this.logger),redirectUri:r,state:i,nonce:e.nonce||jn(),responseMode:this.config.auth.OIDCOptions.serverResponseType};if(e.loginHint||e.sid)return a;const c=e.account||this.browserStorage.getActiveAccount(this.correlationId);if(c&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${c.homeAccountId}`,this.correlationId),a.account=c),!a.loginHint&&!c){const l=this.browserStorage.getLegacyLoginHint();l&&(a.loginHint=l)}return a}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const uP="ContentError",Sv="user_switch";/*! @azure/msal-browser v3.30.0 2025-08-05 */const dP="USER_INTERACTION_REQUIRED",hP="USER_CANCEL",fP="NO_NETWORK",pP="PERSISTENT_ERROR",gP="DISABLED",mP="ACCOUNT_UNAVAILABLE";/*! @azure/msal-browser v3.30.0 2025-08-05 */const yP=-2147186943,vP={[Sv]:"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again."};class Ln extends We{constructor(e,n,r){super(e,n),Object.setPrototypeOf(this,Ln.prototype),this.name="NativeAuthError",this.ext=r}}function Uo(t){if(t.ext&&t.ext.status&&(t.ext.status===pP||t.ext.status===gP)||t.ext&&t.ext.error&&t.ext.error===yP)return!0;switch(t.errorCode){case uP:return!0;default:return!1}}function Wl(t,e,n){if(n&&n.status)switch(n.status){case mP:return Fl(My);case dP:return new En(t,e);case hP:return te(wo);case fP:return te(Ca)}return new Ln(t,vP[t]||e,n)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Iv extends yi{async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentCacheClientAcquireToken,e.correlationId);const n=this.initializeServerTelemetryManager(ze.acquireTokenSilent_silentFlow),r=await G(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:n,requestAuthority:e.authority,requestAzureCloudOptions:e.azureCloudOptions,account:e.account}),o=new ek(r,this.performanceClient);this.logger.verbose("Silent auth client created");try{const s=(await G(o.acquireCachedToken.bind(o),_.SilentFlowClientAcquireCachedToken,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),s}catch(i){throw i instanceof Ts&&i.errorCode===ud&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),i}}logout(e){this.logger.verbose("logoutRedirect called");const n=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(n==null?void 0:n.account)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Wo extends _v{constructor(e,n,r,o,i,s,a,c,l,u,d,h){var p;super(e,n,r,o,i,s,c,l,h),this.apiId=a,this.accountId=u,this.nativeMessageHandler=l,this.nativeStorageManager=d,this.silentCacheClient=new Iv(e,this.nativeStorageManager,r,o,i,s,c,l,h),this.serverTelemetryManager=this.initializeServerTelemetryManager(this.apiId);const f=this.nativeMessageHandler.getExtensionId()===Ko.PREFERRED_EXTENSION_ID?"chrome":(p=this.nativeMessageHandler.getExtensionId())!=null&&p.length?"unknown":void 0;this.skus=es.makeExtraSkuString({libraryName:Qt.MSAL_SKU,libraryVersion:hi,extensionName:f,extensionVersion:this.nativeMessageHandler.getExtensionVersion()})}addRequestSKUs(e){e.extraParameters={...e.extraParameters,[UO]:this.skus}}async acquireToken(e){this.performanceClient.addQueueMeasurement(_.NativeInteractionClientAcquireToken,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");const n=this.performanceClient.startMeasurement(_.NativeInteractionClientAcquireToken,e.correlationId),r=qn();try{const o=await this.initializeNativeRequest(e);try{const l=await this.acquireTokensFromCache(this.accountId,o);return n.end({success:!0,isNativeBroker:!1,fromCache:!0}),l}catch{this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}const{...i}=o,s={method:ro.GetToken,request:i},a=await this.nativeMessageHandler.sendMessage(s),c=this.validateNativeResponse(a);return await this.handleNativeResponse(c,o,r).then(l=>(n.end({success:!0,isNativeBroker:!0,requestId:l.requestId}),this.serverTelemetryManager.clearNativeBrokerErrorCode(),l)).catch(l=>{throw n.end({success:!1,errorCode:l.errorCode,subErrorCode:l.subError,isNativeBroker:!0}),l})}catch(o){throw o instanceof Ln&&this.serverTelemetryManager.setNativeBrokerErrorCode(o.errorCode),o}}createSilentCacheRequest(e,n){return{authority:e.authority,correlationId:this.correlationId,scopes:rt.fromString(e.scope).asArray(),account:n,forceRefresh:!1}}async acquireTokensFromCache(e,n){if(!e)throw this.logger.warning("NativeInteractionClient:acquireTokensFromCache - No nativeAccountId provided"),j(Ml);const r=this.browserStorage.getBaseAccountInfo({nativeAccountId:e},n.correlationId);if(!r)throw j(Ml);try{const o=this.createSilentCacheRequest(n,r),i=await this.silentCacheClient.acquireToken(o),s={...r,idTokenClaims:i==null?void 0:i.idTokenClaims,idToken:i==null?void 0:i.idToken};return{...i,account:s}}catch(o){throw o}}async acquireTokenRedirect(e,n){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");const{...r}=e;delete r.onRedirectNavigate;const o=await this.initializeNativeRequest(r),i={method:ro.GetToken,request:o};try{const c=await this.nativeMessageHandler.sendMessage(i);this.validateNativeResponse(c)}catch(c){if(c instanceof Ln&&(this.serverTelemetryManager.setNativeBrokerErrorCode(c.errorCode),Uo(c)))throw c}this.browserStorage.setTemporaryCache(Be.NATIVE_REQUEST,JSON.stringify(o),!0);const s={apiId:ze.acquireTokenRedirect,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},a=this.config.auth.navigateToLoginRequestUrl?window.location.href:this.getRedirectUri(e.redirectUri);n.end({success:!0}),await this.navigationClient.navigateExternal(a,s)}async handleRedirectPromise(e,n){if(this.logger.trace("NativeInteractionClient - handleRedirectPromise called."),!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const r=this.browserStorage.getCachedNativeRequest();if(!r)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),e&&n&&(e==null||e.addFields({errorCode:"no_cached_request"},n)),null;const{prompt:o,...i}=r;o&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(Be.NATIVE_REQUEST));const s={method:ro.GetToken,request:i},a=qn();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");const c=await this.nativeMessageHandler.sendMessage(s);this.validateNativeResponse(c);const l=this.handleNativeResponse(c,i,a);this.browserStorage.setInteractionInProgress(!1);const u=await l;return this.serverTelemetryManager.clearNativeBrokerErrorCode(),u}catch(c){throw this.browserStorage.setInteractionInProgress(!1),c}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,n,r){var u;this.logger.trace("NativeInteractionClient - handleNativeResponse called.");const o=bo(e.id_token,$n),i=this.createHomeAccountIdentifier(e,o),s=(u=this.browserStorage.getAccountInfoFilteredBy({nativeAccountId:n.accountId},this.correlationId))==null?void 0:u.homeAccountId;if(i!==s&&e.account.id!==n.accountId)throw Wl(Sv);const a=await this.getDiscoveredAuthority({requestAuthority:n.authority}),c=od(this.browserStorage,a,i,$n,this.correlationId,o,e.client_info,void 0,o.tid,void 0,e.account.id,this.logger),l=await this.generateAuthenticationResult(e,n,o,c,a.canonicalAuthority,r);return this.cacheAccount(c),this.cacheNativeTokens(e,n,i,o,e.access_token,l.tenantId,r),l}createHomeAccountIdentifier(e,n){return dt.generateHomeAccountId(e.client_info||P.EMPTY_STRING,hn.Default,this.logger,this.browserCrypto,n)}generateScopes(e,n){return e.scope?rt.fromString(e.scope):rt.fromString(n.scope)}async generatePopAccessToken(e,n){if(n.tokenType===Fe.POP&&n.signPopToken){if(e.shr)return this.logger.trace("handleNativeServerResponse: SHR is enabled in native layer"),e.shr;const r=new di(this.browserCrypto),o={resourceRequestMethod:n.resourceRequestMethod,resourceRequestUri:n.resourceRequestUri,shrClaims:n.shrClaims,shrNonce:n.shrNonce};if(!n.keyId)throw j($u);return r.signPopToken(e.access_token,n.keyId,o)}else return e.access_token}async generateAuthenticationResult(e,n,r,o,i,s){const a=this.addTelemetryFromNativeResponse(e),c=e.scope?rt.fromString(e.scope):rt.fromString(n.scope),l=e.account.properties||{},u=l.UID||r.oid||r.sub||P.EMPTY_STRING,d=l.TenantId||r.tid||P.EMPTY_STRING,h=Ju(o.getAccountInfo(),void 0,r,e.id_token);h.nativeAccountId!==e.account.id&&(h.nativeAccountId=e.account.id);const f=await this.generatePopAccessToken(e,n),p=n.tokenType===Fe.POP?Fe.POP:Fe.BEARER;return{authority:i,uniqueId:u,tenantId:d,scopes:c.asArray(),account:h,idToken:e.id_token,idTokenClaims:r,accessToken:f,fromCache:a?this.isResponseFromCache(a):!1,expiresOn:new Date(Number(s+e.expires_in)*1e3),tokenType:p,correlationId:this.correlationId,state:e.state,fromNativeBroker:!0}}cacheAccount(e){this.browserStorage.setAccount(e,this.correlationId),this.browserStorage.removeAccountContext(e,this.correlationId).catch(n=>{this.logger.error(`Error occurred while removing account context from browser storage. ${n}`)})}cacheNativeTokens(e,n,r,o,i,s,a){const c=sc(r,n.authority,e.id_token||"",n.clientId,o.tid||""),l=n.tokenType===Fe.POP?P.SHR_NONCE_VALIDITY:(typeof e.expires_in=="string"?parseInt(e.expires_in,10):e.expires_in)||0,u=a+l,d=this.generateScopes(e,n),h=ac(r,n.authority,i,n.clientId,o.tid||s,d.printScopes(),u,0,$n,void 0,n.tokenType,void 0,n.keyId),f={idToken:c,accessToken:h};this.nativeStorageManager.saveCacheRecord(f,n.correlationId,n.storeInCache)}addTelemetryFromNativeResponse(e){const n=this.getMATSFromResponse(e);return n?(this.performanceClient.addFields({extensionId:this.nativeMessageHandler.getExtensionId(),extensionVersion:this.nativeMessageHandler.getExtensionVersion(),matsBrokerVersion:n.broker_version,matsAccountJoinOnStart:n.account_join_on_start,matsAccountJoinOnEnd:n.account_join_on_end,matsDeviceJoin:n.device_join,matsPromptBehavior:n.prompt_behavior,matsApiErrorCode:n.api_error_code,matsUiVisible:n.ui_visible,matsSilentCode:n.silent_code,matsSilentBiSubCode:n.silent_bi_sub_code,matsSilentMessage:n.silent_message,matsSilentStatus:n.silent_status,matsHttpStatus:n.http_status,matsHttpEventCount:n.http_event_count},this.correlationId),n):null}validateNativeResponse(e){if(e.hasOwnProperty("access_token")&&e.hasOwnProperty("id_token")&&e.hasOwnProperty("client_info")&&e.hasOwnProperty("account")&&e.hasOwnProperty("scope")&&e.hasOwnProperty("expires_in"))return e;throw Vm(Lu,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch{this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return typeof e.is_cached>"u"?(this.logger.verbose("NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false."),!1):!!e.is_cached}async initializeNativeRequest(e){this.logger.trace("NativeInteractionClient - initializeNativeRequest called");const n=e.authority||this.config.auth.authority;e.account&&await this.getDiscoveredAuthority({requestAuthority:n,requestAzureCloudOptions:e.azureCloudOptions,account:e.account});const r=new Oe(n);r.validateAsUri();const{scopes:o,...i}=e,s=new rt(o||[]);s.appendScopes(mi);const a=()=>{switch(this.apiId){case ze.ssoSilent:case ze.acquireTokenSilent_silentFlow:return this.logger.trace("initializeNativeRequest: silent request sets prompt to none"),gt.NONE}if(!e.prompt){this.logger.trace("initializeNativeRequest: prompt was not provided");return}switch(e.prompt){case gt.NONE:case gt.CONSENT:case gt.LOGIN:return this.logger.trace("initializeNativeRequest: prompt is compatible with native flow"),e.prompt;default:throw this.logger.trace(`initializeNativeRequest: prompt = ${e.prompt} is not compatible with native flow`),te(uv)}},c={...i,accountId:this.accountId,clientId:this.config.auth.clientId,authority:r.urlString,scope:s.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:a(),correlationId:this.correlationId,tokenType:e.authenticationScheme,windowTitleSubstring:document.title,extraParameters:{...e.extraQueryParameters,...e.tokenQueryParameters},extendedExpiryToken:!1,keyId:e.popKid};if(c.signPopToken&&e.popKid)throw te(hv);if(this.handleExtraBrokerParams(c),c.extraParameters=c.extraParameters||{},c.extraParameters.telemetry=Ko.MATS_TELEMETRY,e.authenticationScheme===Fe.POP){const l={resourceRequestUri:e.resourceRequestUri,resourceRequestMethod:e.resourceRequestMethod,shrClaims:e.shrClaims,shrNonce:e.shrNonce},u=new di(this.browserCrypto);let d;if(c.keyId)d=this.browserCrypto.base64UrlEncode(JSON.stringify({kid:c.keyId})),c.signPopToken=!1;else{const h=await G(u.generateCnf.bind(u),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(l,this.logger);d=h.reqCnfString,c.keyId=h.kid,c.signPopToken=!0}c.reqCnf=d}return this.addRequestSKUs(c),c}handleExtraBrokerParams(e){var i;const n=e.extraParameters&&e.extraParameters.hasOwnProperty(td)&&e.extraParameters.hasOwnProperty(Bl)&&e.extraParameters.hasOwnProperty(vo);if(!e.embeddedClientId&&!n)return;let r="";const o=e.redirectUri;e.embeddedClientId?(e.redirectUri=this.config.auth.redirectUri,r=e.embeddedClientId):e.extraParameters&&(e.redirectUri=e.extraParameters[Bl],r=e.extraParameters[vo]),e.extraParameters={child_client_id:r,child_redirect_uri:o},(i=this.performanceClient)==null||i.addFields({embeddedClientId:r,embeddedRedirectUri:o},e.correlationId)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Hn{constructor(e,n,r,o){this.logger=e,this.handshakeTimeoutMs=n,this.extensionId=o,this.resolvers=new Map,this.handshakeResolvers=new Map,this.messageChannel=new MessageChannel,this.windowListener=this.onWindowMessage.bind(this),this.performanceClient=r,this.handshakeEvent=r.startMeasurement(_.NativeMessageHandlerHandshake)}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");const n={channel:Ko.CHANNEL_ID,extensionId:this.extensionId,responseId:jn(),body:e};return this.logger.trace("NativeMessageHandler - Sending request to browser extension"),this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(n)}`),this.messageChannel.port1.postMessage(n),new Promise((r,o)=>{this.resolvers.set(n.responseId,{resolve:r,reject:o})})}static async createProvider(e,n,r){e.trace("NativeMessageHandler - createProvider called.");try{const o=new Hn(e,n,r,Ko.PREFERRED_EXTENSION_ID);return await o.sendHandshakeRequest(),o}catch{const i=new Hn(e,n,r);return await i.sendHandshakeRequest(),i}}async sendHandshakeRequest(){this.logger.trace("NativeMessageHandler - sendHandshakeRequest called."),window.addEventListener("message",this.windowListener,!1);const e={channel:Ko.CHANNEL_ID,extensionId:this.extensionId,responseId:jn(),body:{method:ro.HandshakeRequest}};return this.handshakeEvent.add({extensionId:this.extensionId,extensionHandshakeTimeoutMs:this.handshakeTimeoutMs}),this.messageChannel.port1.onmessage=n=>{this.onChannelMessage(n)},window.postMessage(e,window.origin,[this.messageChannel.port2]),new Promise((n,r)=>{this.handshakeResolvers.set(e.responseId,{resolve:n,reject:r}),this.timeoutId=window.setTimeout(()=>{window.removeEventListener("message",this.windowListener,!1),this.messageChannel.port1.close(),this.messageChannel.port2.close(),this.handshakeEvent.end({extensionHandshakeTimedOut:!0,success:!1}),r(te(av)),this.handshakeResolvers.delete(e.responseId)},this.handshakeTimeoutMs)})}onWindowMessage(e){if(this.logger.trace("NativeMessageHandler - onWindowMessage called"),e.source!==window)return;const n=e.data;if(!(!n.channel||n.channel!==Ko.CHANNEL_ID)&&!(n.extensionId&&n.extensionId!==this.extensionId)&&n.body.method===ro.HandshakeRequest){const r=this.handshakeResolvers.get(n.responseId);if(!r){this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${n.responseId}`);return}this.logger.verbose(n.extensionId?`Extension with id: ${n.extensionId} not installed`:"No extension installed"),clearTimeout(this.timeoutId),this.messageChannel.port1.close(),this.messageChannel.port2.close(),window.removeEventListener("message",this.windowListener,!1),this.handshakeEvent.end({success:!1,extensionInstalled:!1}),r.reject(te(cv))}}onChannelMessage(e){this.logger.trace("NativeMessageHandler - onChannelMessage called.");const n=e.data,r=this.resolvers.get(n.responseId),o=this.handshakeResolvers.get(n.responseId);try{const i=n.body.method;if(i===ro.Response){if(!r)return;const s=n.body.response;if(this.logger.trace("NativeMessageHandler - Received response from browser extension"),this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(s)}`),s.status!=="Success")r.reject(Wl(s.code,s.description,s.ext));else if(s.result)s.result.code&&s.result.description?r.reject(Wl(s.result.code,s.result.description,s.result.ext)):r.resolve(s.result);else throw Vm(Lu,"Event does not contain result.");this.resolvers.delete(n.responseId)}else if(i===ro.HandshakeResponse){if(!o){this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${n.responseId}`);return}clearTimeout(this.timeoutId),window.removeEventListener("message",this.windowListener,!1),this.extensionId=n.extensionId,this.extensionVersion=n.body.version,this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`),this.handshakeEvent.end({extensionInstalled:!0,success:!0}),o.resolve(),this.handshakeResolvers.delete(n.responseId)}}catch(i){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${i}`),this.logger.errorPii(`Unable to parse ${e}`),r?r.reject(i):o&&o.reject(i)}}getExtensionId(){return this.extensionId}getExtensionVersion(){return this.extensionVersion}static isNativeAvailable(e,n,r,o){if(n.trace("isNativeAvailable called"),!e.system.allowNativeBroker)return n.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false"),!1;if(!r)return n.trace("isNativeAvailable: WAM extension provider is not initialized, returning false"),!1;if(o)switch(o){case Fe.BEARER:case Fe.POP:return n.trace("isNativeAvailable: authenticationScheme is supported, returning true"),!0;default:return n.trace("isNativeAvailable: authenticationScheme is not supported, returning false"),!1}return!0}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Ad{constructor(e,n,r,o,i){this.authModule=e,this.browserStorage=n,this.authCodeRequest=r,this.logger=o,this.performanceClient=i}async handleCodeResponse(e,n){this.performanceClient.addQueueMeasurement(_.HandleCodeResponse,n.correlationId);let r;try{r=this.authModule.handleFragmentResponse(e,n.state)}catch(o){throw o instanceof $r&&o.subError===wo?te(wo):o}return G(this.handleCodeResponseFromServer.bind(this),_.HandleCodeResponseFromServer,this.logger,this.performanceClient,n.correlationId)(r,n)}async handleCodeResponseFromServer(e,n,r=!0){if(this.performanceClient.addQueueMeasurement(_.HandleCodeResponseFromServer,n.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await G(this.authModule.updateAuthority.bind(this.authModule),_.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,n.correlationId)(e.cloud_instance_host_name,n.correlationId),r&&(e.nonce=n.nonce||void 0),e.state=n.state,e.client_info)this.authCodeRequest.clientInfo=e.client_info;else{const i=this.createCcsCredentials(n);i&&(this.authCodeRequest.ccsCredential=i)}return await G(this.authModule.acquireToken.bind(this.authModule),_.AuthClientAcquireToken,this.logger,this.performanceClient,n.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:Jt.HOME_ACCOUNT_ID}:e.loginHint?{credential:e.loginHint,type:Jt.UPN}:null}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function Rv(t,e,n){const r=ma(t);if(!r)throw Sy(t)?(n.error(`A ${e} is present in the iframe but it does not contain known properties. It's likely that the ${e} has been replaced by code running on the redirectUri page.`),n.errorPii(`The ${e} detected is: ${t}`),te(Ky)):(n.error(`The request has returned to the redirectUri but a ${e} is not present. It's likely that the ${e} has been removed or the page has been redirected by code running on the redirectUri page.`),te(Fy));return r}function CP(t,e,n){if(!t.state)throw te(cd);const r=bv(e,t.state);if(!r)throw te($y);if(r.interactionType!==n)throw te(qy)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class wP extends yi{constructor(e,n,r,o,i,s,a,c,l,u){super(e,n,r,o,i,s,a,l,u),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=c}acquireToken(e){try{const r={popupName:this.generatePopupName(e.scopes||mi,e.authority||this.config.auth.authority),popupWindowAttributes:e.popupWindowAttributes||{},popupWindowParent:e.popupWindowParent??window};return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true, acquiring token"),this.acquireTokenPopupAsync(e,r)):(this.logger.verbose("asyncPopup set to false, opening popup before acquiring token"),r.popup=this.openSizedPopup("about:blank",r),this.acquireTokenPopupAsync(e,r))}catch(n){return Promise.reject(n)}}logout(e){try{this.logger.verbose("logoutPopup called");const n=this.initializeLogoutRequest(e),r={popupName:this.generateLogoutPopupName(n),popupWindowAttributes:(e==null?void 0:e.popupWindowAttributes)||{},popupWindowParent:(e==null?void 0:e.popupWindowParent)??window},o=e&&e.authority,i=e&&e.mainWindowRedirectUri;return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true"),this.logoutPopupAsync(n,r,o,i)):(this.logger.verbose("asyncPopup set to false, opening popup"),r.popup=this.openSizedPopup("about:blank",r),this.logoutPopupAsync(n,r,o,i))}catch(n){return Promise.reject(n)}}async acquireTokenPopupAsync(e,n){var i;this.logger.verbose("acquireTokenPopupAsync called");const r=this.initializeServerTelemetryManager(ze.acquireTokenPopup),o=await G(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,ce.Popup);Ev(o.authority);try{const s=await G(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(o),a=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:o.authority,requestAzureCloudOptions:o.azureCloudOptions,requestExtraQueryParameters:o.extraQueryParameters,account:o.account}),c=Hn.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);let l;c&&(l=this.performanceClient.startMeasurement(_.FetchAccountIdWithNativeBroker,e.correlationId));const u=await a.getAuthCodeUrl({...o,nativeBroker:c}),d=new Ad(a,this.browserStorage,s,this.logger,this.performanceClient),h=this.initiateAuthRequest(u,n);this.eventHandler.emitEvent(me.POPUP_OPENED,ce.Popup,{popupWindow:h},null);const f=await this.monitorPopupForHash(h,n.popupWindowParent),p=_o(Rv,_.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(f,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(Dn.removeThrottle(this.browserStorage,this.config.auth.clientId,s),p.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),l&&l.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw te(As);const m=new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,p.accountId,this.nativeStorage,o.correlationId),{userRequestState:C}=gn.parseRequestState(this.browserCrypto,o.state);return await m.acquireToken({...o,state:C,prompt:void 0})}return await d.handleCodeResponse(p,o)}catch(s){throw(i=n.popup)==null||i.close(),s instanceof We&&(s.setCorrelationId(this.correlationId),r.cacheFailedRequest(s)),s}}async logoutPopupAsync(e,n,r,o){var s,a,c,l;this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(me.LOGOUT_START,ce.Popup,e);const i=this.initializeServerTelemetryManager(ze.logoutPopup);try{await this.clearCacheOnLogout(e.account);const u=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:i,requestAuthority:r,account:e.account||void 0});try{u.authority.endSessionEndpoint}catch{if((s=e.account)!=null&&s.homeAccountId&&e.postLogoutRedirectUri&&u.authority.protocolMode===ar.OIDC){if(this.browserStorage.removeAccount((a=e.account)==null?void 0:a.homeAccountId,this.correlationId),this.eventHandler.emitEvent(me.LOGOUT_SUCCESS,ce.Popup,e),o){const f={apiId:ze.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},p=Oe.getAbsoluteUrl(o,ir());await this.navigationClient.navigateInternal(p,f)}(c=n.popup)==null||c.close();return}}const d=u.getLogoutUri(e);this.eventHandler.emitEvent(me.LOGOUT_SUCCESS,ce.Popup,e);const h=this.openPopup(d,n);if(this.eventHandler.emitEvent(me.POPUP_OPENED,ce.Popup,{popupWindow:h},null),await this.monitorPopupForHash(h,n.popupWindowParent).catch(()=>{}),o){const f={apiId:ze.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},p=Oe.getAbsoluteUrl(o,ir());this.logger.verbose("Redirecting main window to url specified in the request"),this.logger.verbosePii(`Redirecting main window to: ${p}`),await this.navigationClient.navigateInternal(p,f)}else this.logger.verbose("No main window navigation requested")}catch(u){throw(l=n.popup)==null||l.close(),u instanceof We&&(u.setCorrelationId(this.correlationId),i.cacheFailedRequest(u)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(me.LOGOUT_FAILURE,ce.Popup,null,u),this.eventHandler.emitEvent(me.LOGOUT_END,ce.Popup),u}this.eventHandler.emitEvent(me.LOGOUT_END,ce.Popup)}initiateAuthRequest(e,n){if(e)return this.logger.infoPii(`Navigate to: ${e}`),this.openPopup(e,n);throw this.logger.error("Navigate url is empty"),te(hc)}monitorPopupForHash(e,n){return new Promise((r,o)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");const i=setInterval(()=>{if(e.closed){this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(i),o(te(wo));return}let s="";try{s=e.location.href}catch{}if(!s||s==="about:blank")return;clearInterval(i);let a="";const c=this.config.auth.OIDCOptions.serverResponseType;e&&(c===ws.QUERY?a=e.location.search:a=e.location.hash),this.logger.verbose("PopupHandler.monitorPopupForHash - popup window is on same origin as caller"),r(a)},this.config.system.pollIntervalMilliseconds)}).finally(()=>{this.cleanPopup(e,n)})}openPopup(e,n){try{let r;if(n.popup?(r=n.popup,this.logger.verbosePii(`Navigating popup window to: ${e}`),r.location.assign(e)):typeof n.popup>"u"&&(this.logger.verbosePii(`Opening popup window to: ${e}`),r=this.openSizedPopup(e,n)),!r)throw te(Gy);return r.focus&&r.focus(),this.currentWindow=r,n.popupWindowParent.addEventListener("beforeunload",this.unloadWindow),r}catch(r){throw this.logger.error("error opening popup "+r.message),this.browserStorage.setInteractionInProgress(!1),te(Vy)}}openSizedPopup(e,{popupName:n,popupWindowAttributes:r,popupWindowParent:o}){var f,p,g,m;const i=o.screenLeft?o.screenLeft:o.screenX,s=o.screenTop?o.screenTop:o.screenY,a=o.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,c=o.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;let l=(f=r.popupSize)==null?void 0:f.width,u=(p=r.popupSize)==null?void 0:p.height,d=(g=r.popupPosition)==null?void 0:g.top,h=(m=r.popupPosition)==null?void 0:m.left;return(!l||l<0||l>a)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),l=Qt.POPUP_WIDTH),(!u||u<0||u>c)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),u=Qt.POPUP_HEIGHT),(!d||d<0||d>c)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),d=Math.max(0,c/2-Qt.POPUP_HEIGHT/2+s)),(!h||h<0||h>a)&&(this.logger.verbose("Default popup window left position used. Window left not configured or invalid."),h=Math.max(0,a/2-Qt.POPUP_WIDTH/2+i)),o.open(e,n,`width=${l}, height=${u}, top=${d}, left=${h}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(ce.Popup),this.currentWindow&&this.currentWindow.close(),e.preventDefault()}cleanPopup(e,n){e.close(),n.removeEventListener("beforeunload",this.unloadWindow),this.browserStorage.setInteractionInProgress(!1)}generatePopupName(e,n){return`${Qt.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${e.join("-")}.${n}.${this.correlationId}`}generateLogoutPopupName(e){const n=e.account&&e.account.homeAccountId;return`${Qt.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${n}.${this.correlationId}`}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Gf{constructor(e,n,r,o,i){this.authModule=e,this.browserStorage=n,this.authCodeRequest=r,this.logger=o,this.performanceClient=i}async initiateAuthRequest(e,n){if(this.logger.verbose("RedirectHandler.initiateAuthRequest called"),e){n.redirectStartPage&&(this.logger.verbose("RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page"),this.browserStorage.setTemporaryCache(Be.ORIGIN_URI,n.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(Be.CORRELATION_ID,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);const r={apiId:ze.acquireTokenRedirect,timeout:n.redirectTimeout,noHistory:!1};if(typeof n.onRedirectNavigate=="function")if(this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback"),n.onRedirectNavigate(e)!==!1){this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating"),await n.navigationClient.navigateExternal(e,r);return}else{this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation");return}else{this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url"),await n.navigationClient.navigateExternal(e,r);return}}else throw this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty"),te(hc)}async handleCodeResponse(e,n){this.logger.verbose("RedirectHandler.handleCodeResponse called"),this.browserStorage.setInteractionInProgress(!1);const r=this.browserStorage.generateStateKey(n),o=this.browserStorage.getTemporaryCache(r);if(!o)throw j(ha,"Cached State");let i;try{i=this.authModule.handleFragmentResponse(e,o)}catch(l){throw l instanceof $r&&l.subError===wo?te(wo):l}const s=this.browserStorage.generateNonceKey(o),a=this.browserStorage.getTemporaryCache(s);if(this.authCodeRequest.code=i.code,i.cloud_instance_host_name&&await G(this.authModule.updateAuthority.bind(this.authModule),_.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(i.cloud_instance_host_name,this.authCodeRequest.correlationId),i.nonce=a||void 0,i.state=o,i.client_info)this.authCodeRequest.clientInfo=i.client_info;else{const l=this.checkCcsCredentials();l&&(this.authCodeRequest.ccsCredential=l)}const c=await this.authModule.acquireToken(this.authCodeRequest,i);return this.browserStorage.cleanRequestByState(n),c}checkCcsCredentials(){const e=this.browserStorage.getTemporaryCache(Be.CCS_CREDENTIAL,!0);if(e)try{return JSON.parse(e)}catch{this.authModule.logger.error("Cache credential could not be parsed"),this.authModule.logger.errorPii(`Cache credential could not be parsed: ${e}`)}return null}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function AP(){if(typeof window>"u"||typeof window.performance>"u"||typeof window.performance.getEntriesByType!="function")return;const t=window.performance.getEntriesByType("navigation"),e=t.length?t[0]:void 0;return e==null?void 0:e.type}class TP extends yi{constructor(e,n,r,o,i,s,a,c,l,u){super(e,n,r,o,i,s,a,l,u),this.nativeStorage=c}async acquireToken(e){const n=await G(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,ce.Redirect);this.browserStorage.updateCacheEntries(n.state,n.nonce,n.authority,n.loginHint||"",n.account||null);const r=this.initializeServerTelemetryManager(ze.acquireTokenRedirect),o=i=>{i.persisted&&(this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache."),this.browserStorage.cleanRequestByState(n.state),this.eventHandler.emitEvent(me.RESTORE_FROM_BFCACHE,ce.Redirect))};try{const i=await G(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(n),s=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:n.authority,requestAzureCloudOptions:n.azureCloudOptions,requestExtraQueryParameters:n.extraQueryParameters,account:n.account}),a=new Gf(s,this.browserStorage,i,this.logger,this.performanceClient),c=await s.getAuthCodeUrl({...n,nativeBroker:Hn.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),l=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${l}`),window.addEventListener("pageshow",o),await a.initiateAuthRequest(c,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:l,onRedirectNavigate:e.onRedirectNavigate||this.config.auth.onRedirectNavigate})}catch(i){throw i instanceof We&&(i.setCorrelationId(this.correlationId),r.cacheFailedRequest(i)),window.removeEventListener("pageshow",o),this.browserStorage.cleanRequestByState(n.state),i}}async handleRedirectPromise(e="",n){const r=this.initializeServerTelemetryManager(ze.handleRedirectPromise);try{if(!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const[o,i]=this.getRedirectResponse(e||"");if(!o)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(ce.Redirect),AP()!=="back_forward"?n.event.errorCode="no_server_response":this.logger.verbose("Back navigation event detected. Muting no_server_response error"),null;const s=this.browserStorage.getTemporaryCache(Be.ORIGIN_URI,!0)||P.EMPTY_STRING,a=Oe.removeHashFromUrl(s),c=Oe.removeHashFromUrl(window.location.href);if(a===c&&this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("Current page is loginRequestUrl, handling response"),s.indexOf("#")>-1&&Ok(s),await this.handleResponse(o,r);if(this.config.auth.navigateToLoginRequestUrl){if(!yd()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(Be.URL_HASH,i,!0);const l={apiId:ze.handleRedirectPromise,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0};let u=!0;if(!s||s==="null"){const d=Pk();this.browserStorage.setTemporaryCache(Be.ORIGIN_URI,d,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),u=await this.navigationClient.navigateInternal(d,l)}else this.logger.verbose(`Navigating to loginRequestUrl: ${s}`),u=await this.navigationClient.navigateInternal(s,l);if(!u)return await this.handleResponse(o,r)}}else return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(o,r);return null}catch(o){throw o instanceof We&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),this.browserStorage.cleanRequestByInteractionType(ce.Redirect),o}}getRedirectResponse(e){this.logger.verbose("getRedirectResponseHash called");let n=e;n||(this.config.auth.OIDCOptions.serverResponseType===ws.QUERY?n=window.location.search:n=window.location.hash);let r=ma(n);if(r){try{CP(r,this.browserCrypto,ce.Redirect)}catch(i){return i instanceof We&&this.logger.error(`Interaction type validation failed due to ${i.errorCode}: ${i.errorMessage}`),[null,""]}return Rk(window),this.logger.verbose("Hash contains known properties, returning response hash"),[r,n]}const o=this.browserStorage.getTemporaryCache(Be.URL_HASH,!0);return this.browserStorage.removeItem(this.browserStorage.generateCacheKey(Be.URL_HASH)),o&&(r=ma(o),r)?(this.logger.verbose("Hash does not contain known properties, returning cached hash"),[r,o]):[null,""]}async handleResponse(e,n){const r=e.state;if(!r)throw te(cd);const o=this.browserStorage.getCachedRequest(r);if(this.logger.verbose("handleResponse called, retrieved cached request"),e.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw te(As);const c=new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,o.correlationId),{userRequestState:l}=gn.parseRequestState(this.browserCrypto,r);return c.acquireToken({...o,state:l,prompt:void 0}).finally(()=>{this.browserStorage.cleanRequestByState(r)})}const i=this.browserStorage.getCachedAuthority(r);if(!i)throw te(ld);const s=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:n,requestAuthority:i});return Dn.removeThrottle(this.browserStorage,this.config.auth.clientId,o),new Gf(s,this.browserStorage,o,this.logger,this.performanceClient).handleCodeResponse(e,r)}async logout(e){var o,i;this.logger.verbose("logoutRedirect called");const n=this.initializeLogoutRequest(e),r=this.initializeServerTelemetryManager(ze.logout);try{this.eventHandler.emitEvent(me.LOGOUT_START,ce.Redirect,e),await this.clearCacheOnLogout(n.account);const s={apiId:ze.logout,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},a=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:e&&e.authority,requestExtraQueryParameters:e==null?void 0:e.extraQueryParameters,account:e&&e.account||void 0});if(a.authority.protocolMode===ar.OIDC)try{a.authority.endSessionEndpoint}catch{if((o=n.account)!=null&&o.homeAccountId){this.browserStorage.removeAccount((i=n.account)==null?void 0:i.homeAccountId,this.correlationId),this.eventHandler.emitEvent(me.LOGOUT_SUCCESS,ce.Redirect,n);return}}const c=a.getLogoutUri(n);if(this.eventHandler.emitEvent(me.LOGOUT_SUCCESS,ce.Redirect,n),e&&typeof e.onRedirectNavigate=="function")if(e.onRedirectNavigate(c)!==!1){this.logger.verbose("Logout onRedirectNavigate did not return false, navigating"),this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(c,s);return}else this.browserStorage.setInteractionInProgress(!1),this.logger.verbose("Logout onRedirectNavigate returned false, stopping navigation");else{this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(c,s);return}}catch(s){throw s instanceof We&&(s.setCorrelationId(this.correlationId),r.cacheFailedRequest(s)),this.eventHandler.emitEvent(me.LOGOUT_FAILURE,ce.Redirect,null,s),this.eventHandler.emitEvent(me.LOGOUT_END,ce.Redirect),s}this.eventHandler.emitEvent(me.LOGOUT_END,ce.Redirect)}getRedirectStartPage(e){const n=e||window.location.href;return Oe.getAbsoluteUrl(n,ir())}}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function EP(t,e,n,r,o){if(e.addQueueMeasurement(_.SilentHandlerInitiateAuthRequest,r),!t)throw n.info("Navigate url is empty"),te(hc);return o?G(_P,_.SilentHandlerLoadFrame,n,e,r)(t,o,e,r):_o(SP,_.SilentHandlerLoadFrameSync,n,e,r)(t)}async function bP(t,e,n,r,o,i,s){return r.addQueueMeasurement(_.SilentHandlerMonitorIframeForHash,i),new Promise((a,c)=>{e{window.clearInterval(u),c(te(zy))},e),u=window.setInterval(()=>{let d="";const h=t.contentWindow;try{d=h?h.location.href:""}catch{}if(!d||d==="about:blank")return;let f="";h&&(s===ws.QUERY?f=h.location.search:f=h.location.hash),window.clearTimeout(l),window.clearInterval(u),a(f)},n)}).finally(()=>{_o(IP,_.RemoveHiddenIframe,o,r,i)(t)})}function _P(t,e,n,r){return n.addQueueMeasurement(_.SilentHandlerLoadFrame,r),new Promise((o,i)=>{const s=Ov();window.setTimeout(()=>{if(!s){i("Unable to load iframe");return}s.src=t,o(s)},e)})}function SP(t){const e=Ov();return e.src=t,e}function Ov(){const t=document.createElement("iframe");return t.className="msalSilentIframe",t.style.visibility="hidden",t.style.position="absolute",t.style.width=t.style.height="0",t.style.border="0",t.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),document.body.appendChild(t),t}function IP(t){document.body===t.parentNode&&document.body.removeChild(t)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class RP extends yi{constructor(e,n,r,o,i,s,a,c,l,u,d){super(e,n,r,o,i,s,c,u,d),this.apiId=a,this.nativeStorage=l}async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentIframeClientAcquireToken,e.correlationId),!e.loginHint&&!e.sid&&(!e.account||!e.account.username)&&this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");const n={...e};n.prompt?n.prompt!==gt.NONE&&n.prompt!==gt.NO_SESSION&&(this.logger.warning(`SilentIframeClient. Replacing invalid prompt ${n.prompt} with ${gt.NONE}`),n.prompt=gt.NONE):n.prompt=gt.NONE;const r=await G(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(n,ce.Silent);Ev(r.authority);const o=this.initializeServerTelemetryManager(this.apiId);let i;try{return i=await G(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:o,requestAuthority:r.authority,requestAzureCloudOptions:r.azureCloudOptions,requestExtraQueryParameters:r.extraQueryParameters,account:r.account}),await G(this.silentTokenHelper.bind(this),_.SilentIframeClientTokenHelper,this.logger,this.performanceClient,e.correlationId)(i,r)}catch(s){if(s instanceof We&&(s.setCorrelationId(this.correlationId),o.cacheFailedRequest(s)),!i||!(s instanceof We)||s.errorCode!==Qt.INVALID_GRANT_ERROR)throw s;this.performanceClient.addFields({retryError:s.errorCode},this.correlationId);const a=await G(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(n,ce.Silent);return await G(this.silentTokenHelper.bind(this),_.SilentIframeClientTokenHelper,this.logger,this.performanceClient,this.correlationId)(i,a)}}logout(){return Promise.reject(te(fc))}async silentTokenHelper(e,n){const r=n.correlationId;this.performanceClient.addQueueMeasurement(_.SilentIframeClientTokenHelper,r);const o=await G(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,r)(n),i=await G(e.getAuthCodeUrl.bind(e),_.GetAuthCodeUrl,this.logger,this.performanceClient,r)({...n,nativeBroker:Hn.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,n.authenticationScheme)}),s=new Ad(e,this.browserStorage,o,this.logger,this.performanceClient),a=await G(EP,_.SilentHandlerInitiateAuthRequest,this.logger,this.performanceClient,r)(i,this.performanceClient,this.logger,r,this.config.system.navigateFrameWait),c=this.config.auth.OIDCOptions.serverResponseType,l=await G(bP,_.SilentHandlerMonitorIframeForHash,this.logger,this.performanceClient,r)(a,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,r,c),u=_o(Rv,_.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(l,c,this.logger);if(u.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw te(As);const d=new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,u.accountId,this.browserStorage,r),{userRequestState:h}=gn.parseRequestState(this.browserCrypto,n.state);return G(d.acquireToken.bind(d),_.NativeInteractionClientAcquireToken,this.logger,this.performanceClient,r)({...n,state:h,prompt:n.prompt||gt.NONE})}return G(s.handleCodeResponse.bind(s),_.HandleCodeResponse,this.logger,this.performanceClient,r)(u,n)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class OP extends yi{async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentRefreshClientAcquireToken,e.correlationId);const n=await G(wd,_.InitializeBaseRequest,this.logger,this.performanceClient,e.correlationId)(e,this.config,this.performanceClient,this.logger),r={...e,...n};e.redirectUri&&(r.redirectUri=this.getRedirectUri(e.redirectUri));const o=this.initializeServerTelemetryManager(ze.acquireTokenSilent_silentFlow),i=await this.createRefreshTokenClient({serverTelemetryManager:o,authorityUrl:r.authority,azureCloudOptions:r.azureCloudOptions,account:r.account});return G(i.acquireTokenByRefreshToken.bind(i),_.RefreshTokenClientAcquireTokenByRefreshToken,this.logger,this.performanceClient,e.correlationId)(r).catch(s=>{throw s.setCorrelationId(this.correlationId),o.cacheFailedRequest(s),s})}logout(){return Promise.reject(te(fc))}async createRefreshTokenClient(e){const n=await G(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:e.serverTelemetryManager,requestAuthority:e.authorityUrl,requestAzureCloudOptions:e.azureCloudOptions,requestExtraQueryParameters:e.extraQueryParameters,account:e.account});return new Kl(n,this.performanceClient)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class kP{constructor(e,n,r,o){this.isBrowserEnvironment=typeof window<"u",this.config=e,this.storage=n,this.logger=r,this.cryptoObj=o}loadExternalTokens(e,n,r){if(!this.isBrowserEnvironment)throw te(pc);const o=e.correlationId||jn(),i=n.id_token?bo(n.id_token,$n):void 0,s={protocolMode:this.config.auth.protocolMode,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},a=e.authority?new bt(bt.generateAuthority(e.authority,e.azureCloudOptions),this.config.system.networkClient,this.storage,s,this.logger,e.correlationId||jn()):void 0,c=this.loadAccount(e,r.clientInfo||n.client_info||"",o,i,a),l=this.loadIdToken(n,c.homeAccountId,c.environment,c.realm,o),u=this.loadAccessToken(e,n,c.homeAccountId,c.environment,c.realm,r,o),d=this.loadRefreshToken(n,c.homeAccountId,c.environment,o);return this.generateAuthenticationResult(e,{account:c,idToken:l,accessToken:u,refreshToken:d},i,a)}loadAccount(e,n,r,o,i){if(this.logger.verbose("TokenCache - loading account"),e.account){const l=dt.createFromAccountInfo(e.account);return this.storage.setAccount(l,r),l}else if(!i||!n&&!o)throw this.logger.error("TokenCache - if an account is not provided on the request, authority and either clientInfo or idToken must be provided instead."),te(nv);const s=dt.generateHomeAccountId(n,i.authorityType,this.logger,this.cryptoObj,o),a=o==null?void 0:o.tid,c=od(this.storage,i,s,$n,r,o,n,i.hostnameAndPort,a,void 0,void 0,this.logger);return this.storage.setAccount(c,r),c}loadIdToken(e,n,r,o,i){if(!e.id_token)return this.logger.verbose("TokenCache - no id token found in response"),null;this.logger.verbose("TokenCache - loading id token");const s=sc(n,r,e.id_token,this.config.auth.clientId,o);return this.storage.setIdTokenCredential(s,i),s}loadAccessToken(e,n,r,o,i,s,a){if(n.access_token)if(n.expires_in){if(!n.scope&&(!e.scopes||!e.scopes.length))return this.logger.error("TokenCache - scopes not specified in the request or response. Cannot add token to the cache."),null}else return this.logger.error("TokenCache - no expiration set on the access token. Cannot add it to the cache."),null;else return this.logger.verbose("TokenCache - no access token found in response"),null;this.logger.verbose("TokenCache - loading access token");const c=n.scope?rt.fromString(n.scope):new rt(e.scopes),l=s.expiresOn||n.expires_in+new Date().getTime()/1e3,u=s.extendedExpiresOn||(n.ext_expires_in||n.expires_in)+new Date().getTime()/1e3,d=ac(r,o,n.access_token,this.config.auth.clientId,i,c.printScopes(),l,u,$n);return this.storage.setAccessTokenCredential(d,a),d}loadRefreshToken(e,n,r,o){if(!e.refresh_token)return this.logger.verbose("TokenCache - no refresh token found in response"),null;this.logger.verbose("TokenCache - loading refresh token");const i=uy(n,r,e.refresh_token,this.config.auth.clientId,e.foci,void 0,e.refresh_token_expires_in);return this.storage.setRefreshTokenCredential(i,o),i}generateAuthenticationResult(e,n,r,o){var u,d,h;let i="",s=[],a=null,c;n!=null&&n.accessToken&&(i=n.accessToken.secret,s=rt.fromString(n.accessToken.target).asArray(),a=new Date(Number(n.accessToken.expiresOn)*1e3),c=new Date(Number(n.accessToken.extendedExpiresOn)*1e3));const l=n.account;return{authority:o?o.canonicalAuthority:"",uniqueId:n.account.localAccountId,tenantId:n.account.realm,scopes:s,account:l.getAccountInfo(),idToken:((u=n.idToken)==null?void 0:u.secret)||"",idTokenClaims:r||{},accessToken:i,fromCache:!0,expiresOn:a,correlationId:e.correlationId||"",requestId:"",extExpiresOn:c,familyId:((d=n.refreshToken)==null?void 0:d.familyId)||"",tokenType:((h=n==null?void 0:n.accessToken)==null?void 0:h.tokenType)||"",state:e.state||"",cloudGraphHostName:l.cloudGraphHostName||"",msGraphHost:l.msGraphHost||"",fromNativeBroker:!1}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class PP extends Ly{constructor(e){super(e),this.includeRedirectUri=!1}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class NP extends yi{constructor(e,n,r,o,i,s,a,c,l,u){super(e,n,r,o,i,s,c,l,u),this.apiId=a}async acquireToken(e){if(!e.code)throw te(rv);const n=await G(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(e,ce.Silent),r=this.initializeServerTelemetryManager(this.apiId);try{const o={...n,code:e.code},i=await G(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:r,requestAuthority:n.authority,requestAzureCloudOptions:n.azureCloudOptions,requestExtraQueryParameters:n.extraQueryParameters,account:n.account}),s=new PP(i);this.logger.verbose("Auth code client created");const a=new Ad(s,this.browserStorage,o,this.logger,this.performanceClient);return await G(a.handleCodeResponseFromServer.bind(a),_.HandleCodeResponseFromServer,this.logger,this.performanceClient,e.correlationId)({code:e.code,msgraph_host:e.msGraphHost,cloud_graph_host_name:e.cloudGraphHostName,cloud_instance_host_name:e.cloudInstanceHostName},n,!1)}catch(o){throw o instanceof We&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),o}}logout(){return Promise.reject(te(fc))}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function Sn(t){const e=t==null?void 0:t.idTokenClaims;if(e!=null&&e.tfp||e!=null&&e.acr)return"B2C";if(e!=null&&e.tid){if((e==null?void 0:e.tid)==="9188040d-6c67-4c5b-b112-36a304b66dad")return"MSA"}else return;return"AAD"}function $s(t,e){try{vd(t)}catch(n){throw e.end({success:!1},n),n}}class mc{constructor(e){this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.isBrowserEnvironment(),this.config=e.getConfig(),this.initialized=!1,this.logger=this.operatingContext.getLogger(),this.networkClient=this.config.system.networkClient,this.navigationClient=this.config.system.navigationClient,this.redirectResponse=new Map,this.hybridAuthCodeResponses=new Map,this.performanceClient=this.config.telemetry.client,this.browserCrypto=this.isBrowserEnvironment?new fi(this.logger,this.performanceClient):fa,this.eventHandler=new oP(this.logger),this.browserStorage=this.isBrowserEnvironment?new zl(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,jO(this.config.auth),this.performanceClient):Yk(this.config.auth.clientId,this.logger);const n={cacheLocation:Bt.MemoryStorage,temporaryCacheLocation:Bt.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};this.nativeInternalStorage=new zl(this.config.auth.clientId,n,this.browserCrypto,this.logger,void 0,this.performanceClient),this.tokenCache=new kP(this.config,this.browserStorage,this.logger,this.browserCrypto),this.activeSilentTokenRequests=new Map,this.trackPageVisibility=this.trackPageVisibility.bind(this),this.trackPageVisibilityWithMeasurement=this.trackPageVisibilityWithMeasurement.bind(this),this.listeningToStorageEvents=!1,this.handleAccountCacheChange=this.handleAccountCacheChange.bind(this)}static async createController(e,n){const r=new mc(e);return await r.initialize(n),r}trackPageVisibility(e){e&&(this.logger.info("Perf: Visibility change detected"),this.performanceClient.incrementFields({visibilityChangeCount:1},e))}async initialize(e){if(this.logger.trace("initialize called"),this.initialized){this.logger.info("initialize has already been called, exiting early.");return}if(!this.isBrowserEnvironment){this.logger.info("in non-browser environment, exiting early."),this.initialized=!0,this.eventHandler.emitEvent(me.INITIALIZE_END);return}const n=(e==null?void 0:e.correlationId)||this.getRequestCorrelationId(),r=this.config.system.allowNativeBroker,o=this.performanceClient.startMeasurement(_.InitializeClientApplication,n);if(this.eventHandler.emitEvent(me.INITIALIZE_START),r)try{this.nativeExtensionProvider=await Hn.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(i){this.logger.verbose(i)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await G(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),_.ClearTokensAndKeysWithClaims,this.logger,this.performanceClient,n)(this.performanceClient,n)),this.initialized=!0,this.eventHandler.emitEvent(me.INITIALIZE_END),o.end({allowNativeBroker:r,success:!0})}async handleRedirectPromise(e){if(this.logger.verbose("handleRedirectPromise called"),Tv(this.initialized),this.isBrowserEnvironment){const n=e||"";let r=this.redirectResponse.get(n);return typeof r>"u"?(r=this.handleRedirectPromiseInternal(e),this.redirectResponse.set(n,r),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise")):this.logger.verbose("handleRedirectPromise has been called previously, returning the result from the first call"),r}return this.logger.verbose("handleRedirectPromise returns null, not browser environment"),null}async handleRedirectPromiseInternal(e){const n=this.getAllAccounts(),r=this.browserStorage.getCachedNativeRequest(),o=r&&Hn.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e,i=o?r==null?void 0:r.correlationId:this.browserStorage.getTemporaryCache(Be.CORRELATION_ID,!0)||"",s=this.performanceClient.startMeasurement(_.AcquireTokenRedirect,i);this.eventHandler.emitEvent(me.HANDLE_REDIRECT_START,ce.Redirect);let a;if(o&&this.nativeExtensionProvider){this.logger.trace("handleRedirectPromise - acquiring token from native platform");const c=new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.handleRedirectPromise,this.performanceClient,this.nativeExtensionProvider,r.accountId,this.nativeInternalStorage,r.correlationId);a=G(c.handleRedirectPromise.bind(c),_.HandleNativeRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(this.performanceClient,s.event.correlationId)}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");const c=this.createRedirectClient(i);a=G(c.handleRedirectPromise.bind(c),_.HandleRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(e,s)}return a.then(c=>(c?(n.length{const l=c;throw n.length>0?this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_FAILURE,ce.Redirect,null,l):this.eventHandler.emitEvent(me.LOGIN_FAILURE,ce.Redirect,null,l),this.eventHandler.emitEvent(me.HANDLE_REDIRECT_END,ce.Redirect),s.end({success:!1},l),c})}async acquireTokenRedirect(e){const n=this.getRequestCorrelationId(e);this.logger.verbose("acquireTokenRedirect called",n);const r=this.performanceClient.startMeasurement(_.AcquireTokenPreRedirect,n);r.add({accountType:Sn(e.account),scenarioId:e.scenarioId});const o=e.onRedirectNavigate;if(o)e.onRedirectNavigate=s=>{const a=typeof o=="function"?o(s):void 0;return a!==!1?r.end({success:!0}):r.discard(),a};else{const s=this.config.auth.onRedirectNavigate;this.config.auth.onRedirectNavigate=a=>{const c=typeof s=="function"?s(a):void 0;return c!==!1?r.end({success:!0}):r.discard(),c}}const i=this.getAllAccounts().length>0;try{$f(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),i?this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_START,ce.Redirect,e):this.eventHandler.emitEvent(me.LOGIN_START,ce.Redirect,e);let s;return this.nativeExtensionProvider&&this.canUseNative(e)?s=new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.acquireTokenRedirect,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,n).acquireTokenRedirect(e,r).catch(c=>{if(c instanceof Ln&&Uo(c))return this.nativeExtensionProvider=void 0,this.createRedirectClient(n).acquireToken(e);if(c instanceof En)return this.logger.verbose("acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createRedirectClient(n).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),c}):s=this.createRedirectClient(n).acquireToken(e),await s}catch(s){throw r.end({success:!1},s),i?this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_FAILURE,ce.Redirect,null,s):this.eventHandler.emitEvent(me.LOGIN_FAILURE,ce.Redirect,null,s),s}}acquireTokenPopup(e){const n=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement(_.AcquireTokenPopup,n);r.add({scenarioId:e.scenarioId,accountType:Sn(e.account)});try{this.logger.verbose("acquireTokenPopup called",n),$s(this.initialized,r),this.browserStorage.setInteractionInProgress(!0)}catch(s){return Promise.reject(s)}const o=this.getAllAccounts();o.length>0?this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_START,ce.Popup,e):this.eventHandler.emitEvent(me.LOGIN_START,ce.Popup,e);let i;return this.canUseNative(e)?i=this.acquireTokenNative({...e,correlationId:n},ze.acquireTokenPopup).then(s=>(this.browserStorage.setInteractionInProgress(!1),r.end({success:!0,isNativeBroker:!0,accountType:Sn(s.account)}),s)).catch(s=>{if(s instanceof Ln&&Uo(s))return this.nativeExtensionProvider=void 0,this.createPopupClient(n).acquireToken(e);if(s instanceof En)return this.logger.verbose("acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createPopupClient(n).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),s}):i=this.createPopupClient(n).acquireToken(e),i.then(s=>(o.length(o.length>0?this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_FAILURE,ce.Popup,null,s):this.eventHandler.emitEvent(me.LOGIN_FAILURE,ce.Popup,null,s),r.end({success:!1},s),Promise.reject(s)))}trackPageVisibilityWithMeasurement(){const e=this.ssoSilentMeasurement||this.acquireTokenByCodeAsyncMeasurement;e&&(this.logger.info("Perf: Visibility change detected in ",e.event.name),e.increment({visibilityChangeCount:1}))}async ssoSilent(e){var i,s;const n=this.getRequestCorrelationId(e),r={...e,prompt:e.prompt,correlationId:n};this.ssoSilentMeasurement=this.performanceClient.startMeasurement(_.SsoSilent,n),(i=this.ssoSilentMeasurement)==null||i.add({scenarioId:e.scenarioId,accountType:Sn(e.account)}),$s(this.initialized,this.ssoSilentMeasurement),(s=this.ssoSilentMeasurement)==null||s.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),this.logger.verbose("ssoSilent called",n),this.eventHandler.emitEvent(me.SSO_SILENT_START,ce.Silent,r);let o;return this.canUseNative(r)?o=this.acquireTokenNative(r,ze.ssoSilent).catch(a=>{if(a instanceof Ln&&Uo(a))return this.nativeExtensionProvider=void 0,this.createSilentIframeClient(r.correlationId).acquireToken(r);throw a}):o=this.createSilentIframeClient(r.correlationId).acquireToken(r),o.then(a=>{var c;return this.eventHandler.emitEvent(me.SSO_SILENT_SUCCESS,ce.Silent,a),(c=this.ssoSilentMeasurement)==null||c.end({success:!0,isNativeBroker:a.fromNativeBroker,accessTokenSize:a.accessToken.length,idTokenSize:a.idToken.length,accountType:Sn(a.account)}),a}).catch(a=>{var c;throw this.eventHandler.emitEvent(me.SSO_SILENT_FAILURE,ce.Silent,null,a),(c=this.ssoSilentMeasurement)==null||c.end({success:!1},a),a}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenByCode(e){const n=this.getRequestCorrelationId(e);this.logger.trace("acquireTokenByCode called",n);const r=this.performanceClient.startMeasurement(_.AcquireTokenByCode,n);$s(this.initialized,r),this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_BY_CODE_START,ce.Silent,e),r.add({scenarioId:e.scenarioId});try{if(e.code&&e.nativeAccountId)throw te(iv);if(e.code){const o=e.code;let i=this.hybridAuthCodeResponses.get(o);return i?(this.logger.verbose("Existing acquireTokenByCode request found",n),r.discard()):(this.logger.verbose("Initiating new acquireTokenByCode request",n),i=this.acquireTokenByCodeAsync({...e,correlationId:n}).then(s=>(this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_BY_CODE_SUCCESS,ce.Silent,s),this.hybridAuthCodeResponses.delete(o),r.end({success:!0,isNativeBroker:s.fromNativeBroker,accessTokenSize:s.accessToken.length,idTokenSize:s.idToken.length,accountType:Sn(s.account)}),s)).catch(s=>{throw this.hybridAuthCodeResponses.delete(o),this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_BY_CODE_FAILURE,ce.Silent,null,s),r.end({success:!1},s),s}),this.hybridAuthCodeResponses.set(o,i)),await i}else if(e.nativeAccountId)if(this.canUseNative(e,e.nativeAccountId)){const o=await this.acquireTokenNative({...e,correlationId:n},ze.acquireTokenByCode,e.nativeAccountId).catch(i=>{throw i instanceof Ln&&Uo(i)&&(this.nativeExtensionProvider=void 0),i});return r.end({accountType:Sn(o.account),success:!0}),o}else throw te(sv);else throw te(ov)}catch(o){throw this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_BY_CODE_FAILURE,ce.Silent,null,o),r.end({success:!1},o),o}}async acquireTokenByCodeAsync(e){var o;return this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement(_.AcquireTokenByCodeAsync,e.correlationId),(o=this.acquireTokenByCodeAsyncMeasurement)==null||o.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),await this.createSilentAuthCodeClient(e.correlationId).acquireToken(e).then(i=>{var s;return(s=this.acquireTokenByCodeAsyncMeasurement)==null||s.end({success:!0,fromCache:i.fromCache,isNativeBroker:i.fromNativeBroker}),i}).catch(i=>{var s;throw(s=this.acquireTokenByCodeAsyncMeasurement)==null||s.end({success:!1},i),i}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenFromCache(e,n){switch(this.performanceClient.addQueueMeasurement(_.AcquireTokenFromCache,e.correlationId),n){case jt.Default:case jt.AccessToken:case jt.AccessTokenAndRefreshToken:const r=this.createSilentCacheClient(e.correlationId);return G(r.acquireToken.bind(r),_.SilentCacheClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw j(or)}}async acquireTokenByRefreshToken(e,n){switch(this.performanceClient.addQueueMeasurement(_.AcquireTokenByRefreshToken,e.correlationId),n){case jt.Default:case jt.AccessTokenAndRefreshToken:case jt.RefreshToken:case jt.RefreshTokenAndNetwork:const r=this.createSilentRefreshClient(e.correlationId);return G(r.acquireToken.bind(r),_.SilentRefreshClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw j(or)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(_.AcquireTokenBySilentIframe,e.correlationId);const n=this.createSilentIframeClient(e.correlationId);return G(n.acquireToken.bind(n),_.SilentIframeClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e)}async logout(e){const n=this.getRequestCorrelationId(e);return this.logger.warning("logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.",n),this.logoutRedirect({correlationId:n,...e})}async logoutRedirect(e){const n=this.getRequestCorrelationId(e);return $f(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),this.createRedirectClient(n).logout(e)}logoutPopup(e){try{const n=this.getRequestCorrelationId(e);return vd(this.initialized),this.browserStorage.setInteractionInProgress(!0),this.createPopupClient(n).logout(e)}catch(n){return Promise.reject(n)}}async clearCache(e){if(!this.isBrowserEnvironment){this.logger.info("in non-browser environment, returning early.");return}const n=this.getRequestCorrelationId(e);return this.createSilentCacheClient(n).logout(e)}getAllAccounts(e){const n=this.getRequestCorrelationId();return Jk(this.logger,this.browserStorage,this.isBrowserEnvironment,n,e)}getAccount(e){const n=this.getRequestCorrelationId();return Xk(e,this.logger,this.browserStorage,n)}getAccountByUsername(e){const n=this.getRequestCorrelationId();return Zk(e,this.logger,this.browserStorage,n)}getAccountByHomeId(e){const n=this.getRequestCorrelationId();return eP(e,this.logger,this.browserStorage,n)}getAccountByLocalId(e){const n=this.getRequestCorrelationId();return tP(e,this.logger,this.browserStorage,n)}setActiveAccount(e){const n=this.getRequestCorrelationId();nP(e,this.browserStorage,n)}getActiveAccount(){const e=this.getRequestCorrelationId();return rP(this.browserStorage,e)}async hydrateCache(e,n){this.logger.verbose("hydrateCache called");const r=dt.createFromAccountInfo(e.account,e.cloudGraphHostName,e.msGraphHost);return this.browserStorage.setAccount(r,e.correlationId),e.fromNativeBroker?(this.logger.verbose("Response was from native broker, storing in-memory"),this.nativeInternalStorage.hydrateCache(e,n)):this.browserStorage.hydrateCache(e,n)}async acquireTokenNative(e,n,r){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw te(As);return new Wo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,n,this.performanceClient,this.nativeExtensionProvider,r||this.getNativeAccountId(e),this.nativeInternalStorage,e.correlationId).acquireToken(e)}canUseNative(e,n){if(this.logger.trace("canUseNative called"),!Hn.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme))return this.logger.trace("canUseNative: isNativeAvailable returned false, returning false"),!1;if(e.prompt)switch(e.prompt){case gt.NONE:case gt.CONSENT:case gt.LOGIN:this.logger.trace("canUseNative: prompt is compatible with native flow");break;default:return this.logger.trace(`canUseNative: prompt = ${e.prompt} is not compatible with native flow, returning false`),!1}return!n&&!this.getNativeAccountId(e)?(this.logger.trace("canUseNative: nativeAccountId is not available, returning false"),!1):!0}getNativeAccountId(e){const n=e.account||this.getAccount({loginHint:e.loginHint,sid:e.sid})||this.getActiveAccount();return n&&n.nativeAccountId||""}createPopupClient(e){return new wP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new TP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentIframeClient(e){return new RP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.ssoSilent,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new Iv(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentRefreshClient(e){return new OP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentAuthCodeClient(e){return new NP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,ze.acquireTokenByCode,this.performanceClient,this.nativeExtensionProvider,e)}addEventCallback(e,n){return this.eventHandler.addEventCallback(e,n)}removeEventCallback(e){this.eventHandler.removeEventCallback(e)}addPerformanceCallback(e){return Av(),this.performanceClient.addPerformanceCallback(e)}removePerformanceCallback(e){return this.performanceClient.removePerformanceCallback(e)}enableAccountStorageEvents(){typeof window>"u"||(this.listeningToStorageEvents?this.logger.verbose("Account storage listener already registered."):(this.logger.verbose("Adding account storage listener."),this.listeningToStorageEvents=!0,window.addEventListener("storage",this.handleAccountCacheChange)))}disableAccountStorageEvents(){typeof window>"u"||(this.listeningToStorageEvents?(this.logger.verbose("Removing account storage listener."),window.removeEventListener("storage",this.handleAccountCacheChange),this.listeningToStorageEvents=!1):this.logger.verbose("No account storage listener registered."))}handleAccountCacheChange(e){var n;try{(n=e.key)!=null&&n.includes(ft.ACTIVE_ACCOUNT_FILTERS)&&this.eventHandler.emitEvent(me.ACTIVE_ACCOUNT_CHANGED);const r=e.newValue||e.oldValue;if(!r)return;const o=JSON.parse(r);if(typeof o!="object"||!dt.isAccountEntity(o))return;const s=ui.toObject(new dt,o).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.eventHandler.emitEvent(me.ACCOUNT_ADDED,void 0,s)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.eventHandler.emitEvent(me.ACCOUNT_REMOVED,void 0,s))}catch{return}}getTokenCache(){return this.tokenCache}getLogger(){return this.logger}setLogger(e){this.logger=e}initializeWrapperLibrary(e,n){this.browserStorage.setWrapperMetadata(e,n)}setNavigationClient(e){this.navigationClient=e}getConfiguration(){return this.config}getPerformanceClient(){return this.performanceClient}isBrowserEnv(){return this.isBrowserEnvironment}getRequestCorrelationId(e){return e!=null&&e.correlationId?e.correlationId:this.isBrowserEnvironment?jn():P.EMPTY_STRING}async loginRedirect(e){const n=this.getRequestCorrelationId(e);return this.logger.verbose("loginRedirect called",n),this.acquireTokenRedirect({correlationId:n,...e||Bf})}loginPopup(e){const n=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",n),this.acquireTokenPopup({correlationId:n,...e||Bf})}async acquireTokenSilent(e){const n=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement(_.AcquireTokenSilent,n);r.add({cacheLookupPolicy:e.cacheLookupPolicy,scenarioId:e.scenarioId}),$s(this.initialized,r),this.logger.verbose("acquireTokenSilent called",n);const o=e.account||this.getActiveAccount();if(!o)throw te(Jy);r.add({accountType:Sn(o)});const i={clientId:this.config.auth.clientId,authority:e.authority||P.EMPTY_STRING,scopes:e.scopes,homeAccountIdentifier:o.homeAccountId,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid,shrOptions:e.shrOptions},s=JSON.stringify(i),a=this.activeSilentTokenRequests.get(s);if(typeof a>"u"){this.logger.verbose("acquireTokenSilent called for the first time, storing active request",n);const c=G(this.acquireTokenSilentAsync.bind(this),_.AcquireTokenSilentAsync,this.logger,this.performanceClient,n)({...e,correlationId:n},o).then(l=>(this.activeSilentTokenRequests.delete(s),r.end({success:!0,fromCache:l.fromCache,isNativeBroker:l.fromNativeBroker,cacheLookupPolicy:e.cacheLookupPolicy,accessTokenSize:l.accessToken.length,idTokenSize:l.idToken.length}),l)).catch(l=>{throw this.activeSilentTokenRequests.delete(s),r.end({success:!1},l),l});return this.activeSilentTokenRequests.set(s,c),{...await c,state:e.state}}else return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",n),r.discard(),{...await a,state:e.state}}async acquireTokenSilentAsync(e,n){const r=()=>this.trackPageVisibility(e.correlationId);this.performanceClient.addQueueMeasurement(_.AcquireTokenSilentAsync,e.correlationId),this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_START,ce.Silent,e),e.correlationId&&this.performanceClient.incrementFields({visibilityChangeCount:0},e.correlationId),document.addEventListener("visibilitychange",r);const o=await G(lP,_.InitializeSilentRequest,this.logger,this.performanceClient,e.correlationId)(e,n,this.config,this.performanceClient,this.logger),i=e.cacheLookupPolicy||jt.Default;return this.acquireTokenSilentNoIframe(o,i).catch(async a=>{if(xP(a,i))if(this.activeIframeRequest)if(i!==jt.Skip){const[l,u]=this.activeIframeRequest;this.logger.verbose(`Iframe request is already in progress, awaiting resolution for request with correlationId: ${u}`,o.correlationId);const d=this.performanceClient.startMeasurement(_.AwaitConcurrentIframe,o.correlationId);d.add({awaitIframeCorrelationId:u});const h=await l;if(d.end({success:h}),h)return this.logger.verbose(`Parallel iframe request with correlationId: ${u} succeeded. Retrying cache and/or RT redemption`,o.correlationId),this.acquireTokenSilentNoIframe(o,i);throw this.logger.info(`Iframe request with correlationId: ${u} failed. Interaction is required.`),a}else return this.logger.warning("Another iframe request is currently in progress and CacheLookupPolicy is set to Skip. This may result in degraded performance and/or reliability for both calls. Please consider changing the CacheLookupPolicy to take advantage of request queuing and token cache.",o.correlationId),G(this.acquireTokenBySilentIframe.bind(this),_.AcquireTokenBySilentIframe,this.logger,this.performanceClient,o.correlationId)(o);else{let l;return this.activeIframeRequest=[new Promise(u=>{l=u}),o.correlationId],this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",o.correlationId),G(this.acquireTokenBySilentIframe.bind(this),_.AcquireTokenBySilentIframe,this.logger,this.performanceClient,o.correlationId)(o).then(u=>(l(!0),u)).catch(u=>{throw l(!1),u}).finally(()=>{this.activeIframeRequest=void 0})}else throw a}).then(a=>(this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_SUCCESS,ce.Silent,a),e.correlationId&&this.performanceClient.addFields({fromCache:a.fromCache,isNativeBroker:a.fromNativeBroker},e.correlationId),a)).catch(a=>{throw this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_FAILURE,ce.Silent,null,a),a}).finally(()=>{document.removeEventListener("visibilitychange",r)})}async acquireTokenSilentNoIframe(e,n){return Hn.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme)&&e.account.nativeAccountId?(this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform"),this.acquireTokenNative(e,ze.acquireTokenSilent_silentFlow).catch(async r=>{throw r instanceof Ln&&Uo(r)?(this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow"),this.nativeExtensionProvider=void 0,j(or)):r})):(this.logger.verbose("acquireTokenSilent - attempting to acquire token from web flow"),G(this.acquireTokenFromCache.bind(this),_.AcquireTokenFromCache,this.logger,this.performanceClient,e.correlationId)(e,n).catch(r=>{if(n===jt.AccessToken)throw r;return this.eventHandler.emitEvent(me.ACQUIRE_TOKEN_NETWORK_START,ce.Silent,e),G(this.acquireTokenByRefreshToken.bind(this),_.AcquireTokenByRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,n)}))}}function xP(t,e){const n=!(t instanceof En&&t.subError!==dc),r=t.errorCode===Qt.INVALID_GRANT_ERROR||t.errorCode===or,o=n&&r||t.errorCode===va||t.errorCode===rd,i=pk.includes(e);return o&&i}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function MP(t,e){const n=new Ao(t);return await n.initialize(),mc.createController(n,e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Td{static async createPublicClientApplication(e){const n=await MP(e);return new Td(e,n)}constructor(e,n){this.controller=n||new mc(new Ao(e))}async initialize(e){return this.controller.initialize(e)}async acquireTokenPopup(e){return this.controller.acquireTokenPopup(e)}acquireTokenRedirect(e){return this.controller.acquireTokenRedirect(e)}acquireTokenSilent(e){return this.controller.acquireTokenSilent(e)}acquireTokenByCode(e){return this.controller.acquireTokenByCode(e)}addEventCallback(e,n){return this.controller.addEventCallback(e,n)}removeEventCallback(e){return this.controller.removeEventCallback(e)}addPerformanceCallback(e){return this.controller.addPerformanceCallback(e)}removePerformanceCallback(e){return this.controller.removePerformanceCallback(e)}enableAccountStorageEvents(){this.controller.enableAccountStorageEvents()}disableAccountStorageEvents(){this.controller.disableAccountStorageEvents()}getAccount(e){return this.controller.getAccount(e)}getAccountByHomeId(e){return this.controller.getAccountByHomeId(e)}getAccountByLocalId(e){return this.controller.getAccountByLocalId(e)}getAccountByUsername(e){return this.controller.getAccountByUsername(e)}getAllAccounts(e){return this.controller.getAllAccounts(e)}handleRedirectPromise(e){return this.controller.handleRedirectPromise(e)}loginPopup(e){return this.controller.loginPopup(e)}loginRedirect(e){return this.controller.loginRedirect(e)}logout(e){return this.controller.logout(e)}logoutRedirect(e){return this.controller.logoutRedirect(e)}logoutPopup(e){return this.controller.logoutPopup(e)}ssoSilent(e){return this.controller.ssoSilent(e)}getTokenCache(){return this.controller.getTokenCache()}getLogger(){return this.controller.getLogger()}setLogger(e){this.controller.setLogger(e)}setActiveAccount(e){this.controller.setActiveAccount(e)}getActiveAccount(){return this.controller.getActiveAccount()}initializeWrapperLibrary(e,n){return this.controller.initializeWrapperLibrary(e,n)}setNavigationClient(e){this.controller.setNavigationClient(e)}getConfiguration(){return this.controller.getConfiguration()}async hydrateCache(e,n){return this.controller.hydrateCache(e,n)}clearCache(e){return this.controller.clearCache(e)}}const Aa=new Td({auth:{clientId:"9079054c-9620-4757-a256-23413042f1ef",authority:"https://login.microsoftonline.com/e519c2e6-bc6d-4fdf-8d9c-923c2f002385",redirectUri:"https://optical-dev.oliver.solutions/cc-dashboard/"},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1}}),DP=["openid","profile","email"];async function LP(){await Aa.initialize(),await Aa.handleRedirectPromise()}const kv=wA("auth",()=>{const t=J(null),e=J(null),n=J(!1),r=J(null),o=Q(()=>t.value!==null),i=Q(()=>{var u;return((u=e.value)==null?void 0:u.role)==="admin"});async function s(){var u,d;n.value=!0,r.value=null;try{const f=(await Aa.loginPopup({scopes:DP})).idToken,p=await ua.post("/api/auth/microsoft",{id_token:f});t.value=p.data.access_token,await c()}catch(h){const f=h;throw r.value=((d=(u=f.response)==null?void 0:u.data)==null?void 0:d.detail)??f.message??"Login failed",h}finally{n.value=!1}}async function a(){t.value=null,e.value=null;try{await Aa.clearCache()}catch{}}async function c(){const u=await ua.get("/api/auth/me");e.value=u.data}function l(){return t.value}return{token:t,user:e,loading:n,error:r,isAuthenticated:o,isAdmin:i,loginWithMicrosoft:s,logout:a,fetchMe:c,getToken:l}}),UP=[{path:"/login",name:"login",component:()=>Ht(()=>import("./LoginView-DmmhvYTb.js"),__vite__mapDeps([0,1,2])),meta:{public:!0}},{path:"/",component:()=>Ht(()=>import("./AppLayout-CNLTau4W.js"),[]),children:[{path:"",name:"dashboard",component:()=>Ht(()=>import("./DashboardView-Cl3r92sM.js"),__vite__mapDeps([3,4,1,2,5,6,7,8,9,10,11,12,13,14]))},{path:"calendar",name:"calendar",component:()=>Ht(()=>import("./CalendarView-B0jfXKKY.js"),__vite__mapDeps([15,4,2,6,7,16,17,9,13,18,19,20,21,22,23,14,24,25]))},{path:"tasks",name:"tasks",component:()=>Ht(()=>import("./TasksView-D8TRKoOC.js"),__vite__mapDeps([26,13,20,21,6,7,2,22,23,14,12,27]))},{path:"omg",name:"omg",component:()=>Ht(()=>import("./OmgView-BM5Lo3rq.js"),__vite__mapDeps([28,21,6,7,2,22,23,24,9,12,27,29,30]))},{path:"projects",name:"projects",component:()=>Ht(()=>import("./ProjectsView-lK4Qdm9A.js"),__vite__mapDeps([31,4,1,2,11,9,7,16,27,6,32]))},{path:"projects/:id/:date?",name:"project-detail",component:()=>Ht(()=>import("./ProjectDetailView-DmKhTvpx.js"),__vite__mapDeps([33,4,1,2,5,8,22,6,7,27,12,29,9,10]))},{path:"live",name:"live",component:()=>Ht(()=>import("./LiveView-Drr7Q-W3.js"),__vite__mapDeps([34,1,2,6,7,8,27,9,32]))},{path:"reports",name:"reports",component:()=>Ht(()=>import("./ReportsView-b-OOza6x.js"),__vite__mapDeps([35,1,2,19,6,7,16,27,29,9,36,18,37]))},{path:"keys",name:"keys",component:()=>Ht(()=>import("./KeysView-x4Ow5p_D.js"),__vite__mapDeps([38,39,1,2,6,7,21,22,24,9,27,30]))},{path:"devops",name:"devops",component:()=>Ht(()=>import("./DevopsView-O5QaTl8f.js"),__vite__mapDeps([40,14,1,2,5,6,7,22,27,16,12,41,24,9]))},{path:"settings",name:"settings",component:()=>Ht(()=>import("./SettingsView-Dx5EOob_.js"),__vite__mapDeps([42,14,1,2,5,22,6,7,17,9,36,41,24]))},{path:"admin",name:"admin",component:()=>Ht(()=>import("./AdminView-CBzT_n85.js"),__vite__mapDeps([43,39,1,2,19,7])),meta:{adminOnly:!0}}]},{path:"/:pathMatch(.*)*",redirect:"/"}],Ql=AS({history:Z_("/cc-dashboard/"),routes:UP});Ql.beforeEach((t,e,n)=>{const r=kv();if(t.meta.public){n();return}if(!r.isAuthenticated){n({name:"login",query:{redirect:t.fullPath}});return}if(t.meta.adminOnly&&!r.isAdmin){n({name:"dashboard"});return}n()});LP().then(()=>{const t=dA(f_),e=pA();t.use(e),t.use(Ql),t.use(tT);const n=kv();lR(()=>n.getToken(),()=>{n.logout(),Ql.push({name:"login"})}),t.mount("#app")});export{ZP as $,vn as A,wA as B,Qi as C,ua as D,KP as E,nt as F,To as G,PC as H,gC as I,s0 as J,VP as K,c0 as L,n0 as M,r0 as N,t0 as O,GP as P,QP as Q,mS as R,o0 as S,FP as T,a0 as U,WP as V,i0 as W,JP as X,XP as Y,YP as Z,Ht as _,Cn as a,zP as a0,fo as a1,BP as b,Xe as c,ye as d,Pe as e,l0 as f,u0 as g,I as h,er as i,Q as j,fe as k,Zr as l,Ke as m,Gt as n,Y as o,le as p,ta as q,nl as r,J as s,Ho as t,kv as u,VC as v,se as w,ut as x,Fa as y,Fn as z}; diff --git a/src/static/assets/index-CukCWBzu.css b/src/static/assets/index-CukCWBzu.css deleted file mode 100644 index d486a8e..0000000 --- a/src/static/assets/index-CukCWBzu.css +++ /dev/null @@ -1 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 220 33% 96%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 25 95% 53%;--primary-foreground: 0 0% 100%;--secondary: 200 85% 50%;--secondary-foreground: 0 0% 100%;--muted: 220 20% 93%;--muted-foreground: 215 20% 48%;--accent: 25 100% 96%;--accent-foreground: 25 95% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 20% 88%;--input: 220 20% 88%;--ring: 25 95% 53%;--radius: .75rem;--success: 142 71% 45%;--warning: 38 92% 50%}.dark{--background: 226 49% 8%;--foreground: 220 40% 92%;--card: 220 44% 10%;--card-foreground: 220 40% 92%;--popover: 220 44% 12%;--popover-foreground: 220 40% 92%;--primary: 25 95% 60%;--primary-foreground: 226 49% 8%;--secondary: 200 85% 55%;--secondary-foreground: 226 49% 8%;--muted: 220 30% 14%;--muted-foreground: 220 12% 52%;--accent: 220 30% 14%;--accent-foreground: 220 40% 92%;--destructive: 0 72% 51%;--destructive-foreground: 220 40% 98%;--border: 220 28% 17%;--input: 220 28% 17%;--ring: 25 95% 60%;--success: 158 64% 52%;--warning: 38 92% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"rlig" 1,"calt" 1;-webkit-font-smoothing:antialiased}.tabular-nums,[data-value],.kpi-value{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c2c9d6;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#9da8be}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-right-1{right:-.25rem}.-right-4{right:-1rem}.-top-1{top:-.25rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[700px\]{min-width:700px}.max-w-2xl{max-width:42rem}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-s-resize{cursor:s-resize}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_1fr_140px_80px\]{grid-template-columns:1fr 1fr 140px 80px}.grid-cols-\[1fr_auto_auto_auto_auto\]{grid-template-columns:1fr auto auto auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/20{border-color:hsl(var(--border) / .2)}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/80{border-color:#e2e8f0cc}.border-transparent{border-color:transparent}.border-t-blue-400{--tw-border-opacity: 1;border-top-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-t-emerald-400{--tw-border-opacity: 1;border-top-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-t-orange-400{--tw-border-opacity: 1;border-top-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.border-t-slate-300{--tw-border-opacity: 1;border-top-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/20{background-color:#f59e0b33}.bg-background{background-color:hsl(var(--background))}.bg-black\/60{background-color:#0009}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/20{background-color:hsl(var(--destructive) / .2)}.bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-50\/60{background-color:#fff7ed99}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/70{background-color:hsl(var(--primary) / .7)}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/80{background-color:hsl(var(--secondary) / .8)}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/60{background-color:#f8fafc99}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[hsl\(var\(--success\)\)\]{color:hsl(var(--success))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/80{color:hsl(var(--primary) / .8)}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-emerald-200{--tw-shadow-color: #a7f3d0;--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-200{--tw-shadow-color: #fed7aa;--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-100\/60{--tw-shadow-color: rgb(241 245 249 / .6);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-border{--tw-ring-color: hsl(var(--border))}.ring-primary\/15{--tw-ring-color: hsl(var(--primary) / .15)}.ring-primary\/25{--tw-ring-color: hsl(var(--primary) / .25)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.glass-card{background:#ffffffb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.85);box-shadow:0 1px 3px #0000000f,0 8px 32px #0000000f}.panel-glow{box-shadow:0 1px 3px #0000000f,0 8px 32px #0000000f;border:1px solid rgba(255,255,255,.9)}.dark .panel-glow{box-shadow:0 0 0 1px hsl(var(--border)),0 4px 24px -4px #05080f99;border-color:hsl(var(--border))}.panel-glow-hover:hover{box-shadow:0 4px 24px #f973161f,0 1px 3px #0000000f;border-color:#f9731640;transition:all .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.last\:border-0:last-child{border-width:0px}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground) / .3)}.hover\:border-orange-200:hover{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive) / .2)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/10:hover{background-color:hsl(var(--muted) / .1)}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-orange-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/30:hover{background-color:hsl(var(--primary) / .3)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-orange-500:hover{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary\/60:hover{color:hsl(var(--primary) / .6)}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color: hsl(var(--primary))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:border-primary{border-color:hsl(var(--primary))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}@media (min-width: 640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/src/static/assets/index-DMlmI4VG.js b/src/static/assets/index-DMlmI4VG.js deleted file mode 100644 index 7922a96..0000000 --- a/src/static/assets/index-DMlmI4VG.js +++ /dev/null @@ -1,44 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-C-vqc_8I.js","assets/CardContent.vue_vue_type_script_setup_true_lang-B5oRrbOE.js","assets/utils-7WVCegLb.js","assets/DashboardView-Bti8TEyl.js","assets/dashboard-BOPmT7C3.js","assets/CardTitle.vue_vue_type_script_setup_true_lang-DTHgMm4V.js","assets/Progress.vue_vue_type_script_setup_true_lang-uYpKT42D.js","assets/Button.vue_vue_type_script_setup_true_lang-B00Be5tl.js","assets/Spinner.vue_vue_type_script_setup_true_lang-CxhsEqE4.js","assets/tasks-DzAUejbm.js","assets/devops-roMxSiNP.js","assets/CalendarView-sdfXfQnJ.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Badge.vue_vue_type_script_setup_true_lang-B0XCy3Qk.js","assets/TaskForm.vue_vue_type_script_setup_true_lang-BoqpXAj3.js","assets/Dialog.vue_vue_type_script_setup_true_lang-C0H3A6cL.js","assets/Input.vue_vue_type_script_setup_true_lang-TcALPBvs.js","assets/Textarea.vue_vue_type_script_setup_true_lang-C35Jie1W.js","assets/CalendarView-bLogQo28.css","assets/TasksView-BcEx816y.js","assets/OmgView-BUhFe1Nr.js","assets/ProjectsView-CYG4IJ0Z.js","assets/ProjectDetailView-Dma43hMY.js","assets/LiveView-DV3cgmZQ.js","assets/ReportsView-DoPgiT4O.js","assets/ReportsView-CMpy2coK.css","assets/KeysView-mYE9ed0x.js","assets/admin-DvZ7jcBF.js","assets/DevopsView-CBi4sEOM.js","assets/DevopsConnectForm.vue_vue_type_script_setup_true_lang-BvWJzMSh.js","assets/SettingsView-BxaKLvvc.js","assets/AdminView-CRFaWZRG.js"])))=>i.map(i=>d[i]); -var zl=n=>{throw TypeError(n)};var sa=(n,e,t)=>e.has(n)||zl("Cannot "+t);var k=(n,e,t)=>(sa(n,e,"read from private field"),t?t.call(n):e.get(n)),ye=(n,e,t)=>e.has(n)?zl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),se=(n,e,t,r)=>(sa(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),lt=(n,e,t)=>(sa(n,e,"access private method"),t);var Pi=(n,e,t,r)=>({set _(o){se(n,e,o,t)},get _(){return k(n,e,r)}});(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function t(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=t(o);fetch(o.href,i)}})();/** -* @vue/shared v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function kc(n){const e=Object.create(null);for(const t of n.split(","))e[t]=1;return t=>t in e}const Me={},oo=[],wn=()=>{},dh=()=>!1,ws=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),_s=n=>n.startsWith("onUpdate:"),ot=Object.assign,Oc=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},dm=Object.prototype.hasOwnProperty,be=(n,e)=>dm.call(n,e),ne=Array.isArray,io=n=>yi(n)==="[object Map]",hh=n=>yi(n)==="[object Set]",Ql=n=>yi(n)==="[object Date]",ue=n=>typeof n=="function",Le=n=>typeof n=="string",jt=n=>typeof n=="symbol",Ie=n=>n!==null&&typeof n=="object",fh=n=>(Ie(n)||ue(n))&&ue(n.then)&&ue(n.catch),gh=Object.prototype.toString,yi=n=>gh.call(n),hm=n=>yi(n).slice(8,-1),ph=n=>yi(n)==="[object Object]",bs=n=>Le(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,jo=kc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Is=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},fm=/-\w/g,Rt=Is(n=>n.replace(fm,e=>e.slice(1).toUpperCase())),gm=/\B([A-Z])/g,gr=Is(n=>n.replace(gm,"-$1").toLowerCase()),Ss=Is(n=>n.charAt(0).toUpperCase()+n.slice(1)),aa=Is(n=>n?`on${Ss(n)}`:""),vn=(n,e)=>!Object.is(n,e),zi=(n,...e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,writable:r,value:t})},Pc=n=>{const e=parseFloat(n);return isNaN(e)?n:e},pm=n=>{const e=Le(n)?Number(n):NaN;return isNaN(e)?n:e};let Wl;const Rs=()=>Wl||(Wl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lr(n){if(ne(n)){const e={};for(let t=0;t{if(t){const r=t.split(ym);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function Ht(n){let e="";if(Le(n))e=n;else if(ne(n))for(let t=0;t!!(n&&n.__v_isRef===!0),Fo=n=>Le(n)?n:n==null?"":ne(n)||Ie(n)&&(n.toString===gh||!ue(n.toString))?Ch(n)?Fo(n.value):JSON.stringify(n,vh,2):String(n),vh=(n,e)=>Ch(e)?vh(n,e.value):io(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[r,o],i)=>(t[ca(r,i)+" =>"]=o,t),{})}:hh(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>ca(t))}:jt(e)?ca(e):Ie(e)&&!ne(e)&&!ph(e)?String(e):e,ca=(n,e="")=>{var t;return jt(n)?`Symbol(${(t=n.description)!=null?t:e})`:n};/** -* @vue/reactivity v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let nt;class Th{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&nt&&(nt.active?(this.parent=nt,this.index=(nt.scopes||(nt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(nt===this)nt=this.prevScope;else{let e=nt;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,r;for(t=0,r=this.effects.length;t0)return;if(Vo){let e=Vo;for(Vo=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let n;for(;Go;){let e=Go;for(Go=void 0;e;){const t=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(r){n||(n=r)}e=t}}if(n)throw n}function Ih(n){for(let e=n.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Sh(n){let e,t=n.depsTail,r=t;for(;r;){const o=r.prevDep;r.version===-1?(r===t&&(t=o),Dc(r),_m(r)):e=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}n.deps=e,n.depsTail=t}function Ma(n){for(let e=n.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Rh(e.dep.computed)||e.dep.version!==e.version))return!0;return!!n._dirty}function Rh(n){if(n.flags&4&&!(n.flags&16)||(n.flags&=-17,n.globalVersion===ni)||(n.globalVersion=ni,!n.isSSR&&n.flags&128&&(!n.deps&&!n._dirty||!Ma(n))))return;n.flags|=2;const e=n.dep,t=De,r=en;De=n,en=!0;try{Ih(n);const o=n.fn(n._value);(e.version===0||vn(o,n._value))&&(n.flags|=128,n._value=o,e.version++)}catch(o){throw e.version++,o}finally{De=t,en=r,Sh(n),n.flags&=-3}}function Dc(n,e=!1){const{dep:t,prevSub:r,nextSub:o}=n;if(r&&(r.nextSub=o,n.prevSub=void 0),o&&(o.prevSub=r,n.nextSub=void 0),t.subs===n&&(t.subs=r,!r&&t.computed)){t.computed.flags&=-5;for(let i=t.computed.deps;i;i=i.nextDep)Dc(i,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function _m(n){const{prevDep:e,nextDep:t}=n;e&&(e.nextDep=t,n.prevDep=void 0),t&&(t.prevDep=e,n.nextDep=void 0)}let en=!0;const kh=[];function $n(){kh.push(en),en=!1}function jn(){const n=kh.pop();en=n===void 0?!0:n}function Jl(n){const{cleanup:e}=n;if(n.cleanup=void 0,e){const t=De;De=void 0;try{e()}finally{De=t}}}let ni=0;class bm{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Lc{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!De||!en||De===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==De)t=this.activeLink=new bm(De,this),De.deps?(t.prevDep=De.depsTail,De.depsTail.nextDep=t,De.depsTail=t):De.deps=De.depsTail=t,Oh(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const r=t.nextDep;r.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=r),t.prevDep=De.depsTail,t.nextDep=void 0,De.depsTail.nextDep=t,De.depsTail=t,De.deps===t&&(De.deps=r)}return t}trigger(e){this.version++,ni++,this.notify(e)}notify(e){Mc();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{xc()}}}function Oh(n){if(n.dep.sc++,n.sub.flags&4){const e=n.dep.computed;if(e&&!n.dep.subs){e.flags|=20;for(let r=e.deps;r;r=r.nextDep)Oh(r)}const t=n.dep.subs;t!==n&&(n.prevSub=t,t&&(t.nextSub=n)),n.dep.subs=n}}const es=new WeakMap,Mr=Symbol(""),xa=Symbol(""),ri=Symbol("");function mt(n,e,t){if(en&&De){let r=es.get(n);r||es.set(n,r=new Map);let o=r.get(t);o||(r.set(t,o=new Lc),o.map=r,o.key=t),o.track()}}function Ln(n,e,t,r,o,i){const s=es.get(n);if(!s){ni++;return}const a=c=>{c&&c.trigger()};if(Mc(),e==="clear")s.forEach(a);else{const c=ne(n),l=c&&bs(t);if(c&&t==="length"){const u=Number(r);s.forEach((d,h)=>{(h==="length"||h===ri||!jt(h)&&h>=u)&&a(d)})}else switch((t!==void 0||s.has(void 0))&&a(s.get(t)),l&&a(s.get(ri)),e){case"add":c?l&&a(s.get("length")):(a(s.get(Mr)),io(n)&&a(s.get(xa)));break;case"delete":c||(a(s.get(Mr)),io(n)&&a(s.get(xa)));break;case"set":io(n)&&a(s.get(Mr));break}}xc()}function Im(n,e){const t=es.get(n);return t&&t.get(e)}function jr(n){const e=Ae(n);return e===n?e:(mt(e,"iterate",ri),$t(n)?e:e.map(rn))}function ks(n){return mt(n=Ae(n),"iterate",ri),n}function yn(n,e){return Gn(n)?To(Kn(n)?rn(e):e):rn(e)}const Sm={__proto__:null,[Symbol.iterator](){return ua(this,Symbol.iterator,n=>yn(this,n))},concat(...n){return jr(this).concat(...n.map(e=>ne(e)?jr(e):e))},entries(){return ua(this,"entries",n=>(n[1]=yn(this,n[1]),n))},every(n,e){return Sn(this,"every",n,e,void 0,arguments)},filter(n,e){return Sn(this,"filter",n,e,t=>t.map(r=>yn(this,r)),arguments)},find(n,e){return Sn(this,"find",n,e,t=>yn(this,t),arguments)},findIndex(n,e){return Sn(this,"findIndex",n,e,void 0,arguments)},findLast(n,e){return Sn(this,"findLast",n,e,t=>yn(this,t),arguments)},findLastIndex(n,e){return Sn(this,"findLastIndex",n,e,void 0,arguments)},forEach(n,e){return Sn(this,"forEach",n,e,void 0,arguments)},includes(...n){return da(this,"includes",n)},indexOf(...n){return da(this,"indexOf",n)},join(n){return jr(this).join(n)},lastIndexOf(...n){return da(this,"lastIndexOf",n)},map(n,e){return Sn(this,"map",n,e,void 0,arguments)},pop(){return Mo(this,"pop")},push(...n){return Mo(this,"push",n)},reduce(n,...e){return Xl(this,"reduce",n,e)},reduceRight(n,...e){return Xl(this,"reduceRight",n,e)},shift(){return Mo(this,"shift")},some(n,e){return Sn(this,"some",n,e,void 0,arguments)},splice(...n){return Mo(this,"splice",n)},toReversed(){return jr(this).toReversed()},toSorted(n){return jr(this).toSorted(n)},toSpliced(...n){return jr(this).toSpliced(...n)},unshift(...n){return Mo(this,"unshift",n)},values(){return ua(this,"values",n=>yn(this,n))}};function ua(n,e,t){const r=ks(n),o=r[e]();return r!==n&&!$t(n)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.done||(i.value=t(i.value)),i}),o}const Rm=Array.prototype;function Sn(n,e,t,r,o,i){const s=ks(n),a=s!==n&&!$t(n),c=s[e];if(c!==Rm[e]){const d=c.apply(n,i);return a?rn(d):d}let l=t;s!==n&&(a?l=function(d,h){return t.call(this,yn(n,d),h,n)}:t.length>2&&(l=function(d,h){return t.call(this,d,h,n)}));const u=c.call(s,l,r);return a&&o?o(u):u}function Xl(n,e,t,r){const o=ks(n),i=o!==n&&!$t(n);let s=t,a=!1;o!==n&&(i?(a=r.length===0,s=function(l,u,d){return a&&(a=!1,l=yn(n,l)),t.call(this,l,yn(n,u),d,n)}):t.length>3&&(s=function(l,u,d){return t.call(this,l,u,d,n)}));const c=o[e](s,...r);return a?yn(n,c):c}function da(n,e,t){const r=Ae(n);mt(r,"iterate",ri);const o=r[e](...t);return(o===-1||o===!1)&&Os(t[0])?(t[0]=Ae(t[0]),r[e](...t)):o}function Mo(n,e,t=[]){$n(),Mc();const r=Ae(n)[e].apply(n,t);return xc(),jn(),r}const km=kc("__proto__,__v_isRef,__isVue"),Ph=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(jt));function Om(n){jt(n)||(n=String(n));const e=Ae(this);return mt(e,"has",n),e.hasOwnProperty(n)}class Nh{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,r){if(t==="__v_skip")return e.__v_skip;const o=this._isReadonly,i=this._isShallow;if(t==="__v_isReactive")return!o;if(t==="__v_isReadonly")return o;if(t==="__v_isShallow")return i;if(t==="__v_raw")return r===(o?i?Bm:Lh:i?Dh:xh).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const s=ne(e);if(!o){let c;if(s&&(c=Sm[t]))return c;if(t==="hasOwnProperty")return Om}const a=Reflect.get(e,t,qe(e)?e:r);if((jt(t)?Ph.has(t):km(t))||(o||mt(e,"get",t),i))return a;if(qe(a)){const c=s&&bs(t)?a:a.value;return o&&Ie(c)?La(c):c}return Ie(a)?o?La(a):Ci(a):a}}class Mh extends Nh{constructor(e=!1){super(!1,e)}set(e,t,r,o){let i=e[t];const s=ne(e)&&bs(t);if(!this._isShallow){const l=Gn(i);if(!$t(r)&&!Gn(r)&&(i=Ae(i),r=Ae(r)),!s&&qe(i)&&!qe(r))return l||(i.value=r),!0}const a=s?Number(t)n,Ni=n=>Reflect.getPrototypeOf(n);function Dm(n,e,t){return function(...r){const o=this.__v_raw,i=Ae(o),s=io(i),a=n==="entries"||n===Symbol.iterator&&s,c=n==="keys"&&s,l=o[n](...r),u=t?Da:e?To:rn;return!e&&mt(i,"iterate",c?xa:Mr),ot(Object.create(l),{next(){const{value:d,done:h}=l.next();return h?{value:d,done:h}:{value:a?[u(d[0]),u(d[1])]:u(d),done:h}}})}}function Mi(n){return function(...e){return n==="delete"?!1:n==="clear"?void 0:this}}function Lm(n,e){const t={get(o){const i=this.__v_raw,s=Ae(i),a=Ae(o);n||(vn(o,a)&&mt(s,"get",o),mt(s,"get",a));const{has:c}=Ni(s),l=e?Da:n?To:rn;if(c.call(s,o))return l(i.get(o));if(c.call(s,a))return l(i.get(a));i!==s&&i.get(o)},get size(){const o=this.__v_raw;return!n&&mt(Ae(o),"iterate",Mr),o.size},has(o){const i=this.__v_raw,s=Ae(i),a=Ae(o);return n||(vn(o,a)&&mt(s,"has",o),mt(s,"has",a)),o===a?i.has(o):i.has(o)||i.has(a)},forEach(o,i){const s=this,a=s.__v_raw,c=Ae(a),l=e?Da:n?To:rn;return!n&&mt(c,"iterate",Mr),a.forEach((u,d)=>o.call(i,l(u),l(d),s))}};return ot(t,n?{add:Mi("add"),set:Mi("set"),delete:Mi("delete"),clear:Mi("clear")}:{add(o){const i=Ae(this),s=Ni(i),a=Ae(o),c=!e&&!$t(o)&&!Gn(o)?a:o;return s.has.call(i,c)||vn(o,c)&&s.has.call(i,o)||vn(a,c)&&s.has.call(i,a)||(i.add(c),Ln(i,"add",c,c)),this},set(o,i){!e&&!$t(i)&&!Gn(i)&&(i=Ae(i));const s=Ae(this),{has:a,get:c}=Ni(s);let l=a.call(s,o);l||(o=Ae(o),l=a.call(s,o));const u=c.call(s,o);return s.set(o,i),l?vn(i,u)&&Ln(s,"set",o,i):Ln(s,"add",o,i),this},delete(o){const i=Ae(this),{has:s,get:a}=Ni(i);let c=s.call(i,o);c||(o=Ae(o),c=s.call(i,o)),a&&a.call(i,o);const l=i.delete(o);return c&&Ln(i,"delete",o,void 0),l},clear(){const o=Ae(this),i=o.size!==0,s=o.clear();return i&&Ln(o,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(o=>{t[o]=Dm(o,n,e)}),t}function Uc(n,e){const t=Lm(n,e);return(r,o,i)=>o==="__v_isReactive"?!n:o==="__v_isReadonly"?n:o==="__v_raw"?r:Reflect.get(be(t,o)&&o in r?t:r,o,i)}const Um={get:Uc(!1,!1)},Hm={get:Uc(!1,!0)},Fm={get:Uc(!0,!1)};const xh=new WeakMap,Dh=new WeakMap,Lh=new WeakMap,Bm=new WeakMap;function Km(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qm(n){return n.__v_skip||!Object.isExtensible(n)?0:Km(hm(n))}function Ci(n){return Gn(n)?n:Hc(n,!1,Nm,Um,xh)}function Uh(n){return Hc(n,!1,xm,Hm,Dh)}function La(n){return Hc(n,!0,Mm,Fm,Lh)}function Hc(n,e,t,r,o){if(!Ie(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const i=qm(n);if(i===0)return n;const s=o.get(n);if(s)return s;const a=new Proxy(n,i===2?r:t);return o.set(n,a),a}function Kn(n){return Gn(n)?Kn(n.__v_raw):!!(n&&n.__v_isReactive)}function Gn(n){return!!(n&&n.__v_isReadonly)}function $t(n){return!!(n&&n.__v_isShallow)}function Os(n){return n?!!n.__v_raw:!1}function Ae(n){const e=n&&n.__v_raw;return e?Ae(e):n}function Fc(n){return!be(n,"__v_skip")&&Object.isExtensible(n)&&mh(n,"__v_skip",!0),n}const rn=n=>Ie(n)?Ci(n):n,To=n=>Ie(n)?La(n):n;function qe(n){return n?n.__v_isRef===!0:!1}function Oe(n){return Hh(n,!1)}function $m(n){return Hh(n,!0)}function Hh(n,e){return qe(n)?n:new jm(n,e)}class jm{constructor(e,t){this.dep=new Lc,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Ae(e),this._value=t?e:rn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,r=this.__v_isShallow||$t(e)||Gn(e);e=r?e:Ae(e),vn(e,t)&&(this._rawValue=e,this._value=r?e:rn(e),this.dep.trigger())}}function dt(n){return qe(n)?n.value:n}const Gm={get:(n,e,t)=>e==="__v_raw"?n:dt(Reflect.get(n,e,t)),set:(n,e,t,r)=>{const o=n[e];return qe(o)&&!qe(t)?(o.value=t,!0):Reflect.set(n,e,t,r)}};function Fh(n){return Kn(n)?n:new Proxy(n,Gm)}function Vm(n){const e=ne(n)?new Array(n.length):{};for(const t in n)e[t]=Qm(n,t);return e}class zm{constructor(e,t,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=jt(t)?t:String(t),this._raw=Ae(e);let o=!0,i=e;if(!ne(e)||jt(this._key)||!bs(this._key))do o=!Os(i)||$t(i);while(o&&(i=i.__v_raw));this._shallow=o}get value(){let e=this._object[this._key];return this._shallow&&(e=dt(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&qe(this._raw[this._key])){const t=this._object[this._key];if(qe(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return Im(this._raw,this._key)}}function Qm(n,e,t){return new zm(n,e,t)}class Wm{constructor(e,t,r){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Lc(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ni-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&De!==this)return bh(this,!0),!0}get value(){const e=this.dep.track();return Rh(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Ym(n,e,t=!1){let r,o;return ue(n)?r=n:(r=n.get,o=n.set),new Wm(r,o,t)}const xi={},ts=new WeakMap;let vr;function Jm(n,e=!1,t=vr){if(t){let r=ts.get(t);r||ts.set(t,r=[]),r.push(n)}}function Xm(n,e,t=Me){const{immediate:r,deep:o,once:i,scheduler:s,augmentJob:a,call:c}=t,l=T=>o?T:$t(T)||o===!1||o===0?Un(T,1):Un(T);let u,d,h,f,C=!1,p=!1;if(qe(n)?(d=()=>n.value,C=$t(n)):Kn(n)?(d=()=>l(n),C=!0):ne(n)?(p=!0,C=n.some(T=>Kn(T)||$t(T)),d=()=>n.map(T=>{if(qe(T))return T.value;if(Kn(T))return l(T);if(ue(T))return c?c(T,2):T()})):ue(n)?e?d=c?()=>c(n,2):n:d=()=>{if(h){$n();try{h()}finally{jn()}}const T=vr;vr=u;try{return c?c(n,3,[f]):n(f)}finally{vr=T}}:d=wn,e&&o){const T=d,N=o===!0?1/0:o;d=()=>Un(T(),N)}const v=Eh(),E=()=>{u.stop(),v&&v.active&&Oc(v.effects,u)};if(i&&e){const T=e;e=(...N)=>{T(...N),E()}}let b=p?new Array(n.length).fill(xi):xi;const y=T=>{if(!(!(u.flags&1)||!u.dirty&&!T))if(e){const N=u.run();if(o||C||(p?N.some((z,B)=>vn(z,b[B])):vn(N,b))){h&&h();const z=vr;vr=u;try{const B=[N,b===xi?void 0:p&&b[0]===xi?[]:b,f];b=N,c?c(e,3,B):e(...B)}finally{vr=z}}}else u.run()};return a&&a(y),u=new wh(d),u.scheduler=s?()=>s(y,!1):y,f=T=>Jm(T,!1,u),h=u.onStop=()=>{const T=ts.get(u);if(T){if(c)c(T,4);else for(const N of T)N();ts.delete(u)}},e?r?y(!0):b=u.run():s?s(y.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function Un(n,e=1/0,t){if(e<=0||!Ie(n)||n.__v_skip||(t=t||new Map,(t.get(n)||0)>=e))return n;if(t.set(n,e),e--,qe(n))Un(n.value,e,t);else if(ne(n))for(let r=0;r{Un(r,e,t)});else if(ph(n)){for(const r in n)Un(n[r],e,t);for(const r of Object.getOwnPropertySymbols(n))Object.prototype.propertyIsEnumerable.call(n,r)&&Un(n[r],e,t)}return n}/** -* @vue/runtime-core v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function vi(n,e,t,r){try{return r?n(...r):n()}catch(o){Ps(o,e,t)}}function on(n,e,t,r){if(ue(n)){const o=vi(n,e,t,r);return o&&fh(o)&&o.catch(i=>{Ps(i,e,t)}),o}if(ne(n)){const o=[];for(let i=0;i>>1,o=It[r],i=oi(o);i=oi(t)?It.push(n):It.splice(ey(e),0,n),n.flags|=1,Kh()}}function Kh(){ns||(ns=Bh.then($h))}function ty(n){ne(n)?so.push(...n):tr&&n.id===-1?tr.splice(Qr+1,0,n):n.flags&1||(so.push(n),n.flags|=1),Kh()}function Zl(n,e,t=hn+1){for(;toi(t)-oi(r));if(so.length=0,tr){tr.push(...e);return}for(tr=e,Qr=0;Qrn.id==null?n.flags&2?-1:1/0:n.id;function $h(n){try{for(hn=0;hn{r._d&&as(-1);const i=rs(e);let s;try{s=n(...o)}finally{rs(i),r._d&&as(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function YI(n,e){if(ht===null)return n;const t=Us(ht),r=n.dirs||(n.dirs=[]);for(let o=0;o1)return t&&ue(e)?e.call(r&&r.proxy):e}}function ny(){return!!(Ls()||Dr)}const ry=Symbol.for("v-scx"),oy=()=>Yt(ry);function eo(n,e){return Kc(n,null,e)}function xr(n,e,t){return Kc(n,e,t)}function Kc(n,e,t=Me){const{immediate:r,deep:o,flush:i,once:s}=t,a=ot({},t),c=e&&r||!e&&i!=="post";let l;if(ci){if(i==="sync"){const f=oy();l=f.__watcherHandles||(f.__watcherHandles=[])}else if(!c){const f=()=>{};return f.stop=wn,f.resume=wn,f.pause=wn,f}}const u=vt;a.call=(f,C,p)=>on(f,u,C,p);let d=!1;i==="post"?a.scheduler=f=>{wt(f,u&&u.suspense)}:i!=="sync"&&(d=!0,a.scheduler=(f,C)=>{C?f():Bc(f)}),a.augmentJob=f=>{e&&(f.flags|=4),d&&(f.flags|=2,u&&(f.id=u.uid,f.i=u))};const h=Xm(n,e,a);return ci&&(l?l.push(h):c&&h()),h}function iy(n,e,t){const r=this.proxy,o=Le(n)?n.includes(".")?Gh(r,n):()=>r[n]:n.bind(r,r);let i;ue(e)?i=e:(i=e.handler,t=e);const s=Ai(this),a=Kc(o,i.bind(r),t);return s(),a}function Gh(n,e){const t=e.split(".");return()=>{let r=n;for(let o=0;on.__isTeleport,Er=n=>n&&(n.disabled||n.disabled===""),sy=n=>n&&(n.defer||n.defer===""),eu=n=>typeof SVGElement<"u"&&n instanceof SVGElement,tu=n=>typeof MathMLElement=="function"&&n instanceof MathMLElement,Ua=(n,e)=>{const t=n&&n.to;return Le(t)?e?e(t):null:t},ay={name:"Teleport",__isTeleport:!0,process(n,e,t,r,o,i,s,a,c,l){const{mc:u,pc:d,pbc:h,o:{insert:f,querySelector:C,createText:p,createComment:v,parentNode:E}}=l,b=Er(e.props);let{dynamicChildren:y}=e;const T=(B,F,O)=>{B.shapeFlag&16&&u(B.children,F,O,o,i,s,a,c)},N=(B=e)=>{const F=Er(B.props),O=B.target=Ua(B.props,C),Q=Ha(O,B,p,f);O&&(s!=="svg"&&eu(O)?s="svg":s!=="mathml"&&tu(O)&&(s="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(O),F||(T(B,O,Q),Bo(B,!1)))},z=B=>{const F=()=>{if(Jn.get(B)===F){if(Jn.delete(B),Er(B.props)){const O=E(B.el)||t;T(B,O,B.anchor),Bo(B,!0)}N(B)}};Jn.set(B,F),wt(F,i)};if(n==null){const B=e.el=p(""),F=e.anchor=p("");if(f(B,t,r),f(F,t,r),sy(e.props)||i&&i.pendingBranch){z(e);return}b&&(T(e,t,F),Bo(e,!0)),N()}else{e.el=n.el;const B=e.anchor=n.anchor,F=Jn.get(n);if(F){F.flags|=8,Jn.delete(n),z(e);return}e.targetStart=n.targetStart;const O=e.target=n.target,Q=e.targetAnchor=n.targetAnchor,Z=Er(n.props),$=Z?t:O,ce=Z?B:Q;if(s==="svg"||eu(O)?s="svg":(s==="mathml"||tu(O))&&(s="mathml"),y?(h(n.dynamicChildren,y,$,o,i,s,a),Gc(n,e,!0)):c||d(n,e,$,ce,o,i,s,a,!1),b)Z?e.props&&n.props&&e.props.to!==n.props.to&&(e.props.to=n.props.to):Di(e,t,B,l,1);else if((e.props&&e.props.to)!==(n.props&&n.props.to)){const fe=e.target=Ua(e.props,C);fe&&Di(e,fe,null,l,0)}else Z&&Di(e,O,Q,l,1);Bo(e,b)}},remove(n,e,t,{um:r,o:{remove:o}},i){const{shapeFlag:s,children:a,anchor:c,targetStart:l,targetAnchor:u,target:d,props:h}=n;let f=i||!Er(h);const C=Jn.get(n);if(C&&(C.flags|=8,Jn.delete(n),f=!1),d&&(o(l),o(u)),i&&o(c),s&16)for(let p=0;p{n.isMounted=!0}),qc(()=>{n.isUnmounting=!0}),n}const Gt=[Function,Array],Qh={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Gt,onEnter:Gt,onAfterEnter:Gt,onEnterCancelled:Gt,onBeforeLeave:Gt,onLeave:Gt,onAfterLeave:Gt,onLeaveCancelled:Gt,onBeforeAppear:Gt,onAppear:Gt,onAfterAppear:Gt,onAppearCancelled:Gt},Wh=n=>{const e=n.subTree;return e.component?Wh(e.component):e},uy={name:"BaseTransition",props:Qh,setup(n,{slots:e}){const t=Ls(),r=ly();return()=>{const o=e.default&&Xh(e.default(),!0),i=o&&o.length?Yh(o):t.subTree?Ar():void 0;if(!i)return;const s=Ae(n),{mode:a}=s;if(r.isLeaving)return ha(i);const c=nu(i);if(!c)return ha(i);let l=Fa(c,s,r,t,d=>l=d);c.type!==Ct&&ii(c,l);let u=t.subTree&&nu(t.subTree);if(u&&u.type!==Ct&&!wr(u,c)&&Wh(t).type!==Ct){let d=Fa(u,s,r,t);if(ii(u,d),a==="out-in"&&c.type!==Ct)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,t.job.flags&8||t.update(),delete d.afterLeave,u=void 0},ha(i);a==="in-out"&&c.type!==Ct?d.delayLeave=(h,f,C)=>{const p=Jh(r,u);p[String(u.key)]=u,h[fn]=()=>{f(),h[fn]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{C(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function Yh(n){let e=n[0];if(n.length>1){for(const t of n)if(t.type!==Ct){e=t;break}}return e}const dy=uy;function Jh(n,e){const{leavingVNodes:t}=n;let r=t.get(e.type);return r||(r=Object.create(null),t.set(e.type,r)),r}function Fa(n,e,t,r,o){const{appear:i,mode:s,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:f,onAfterLeave:C,onLeaveCancelled:p,onBeforeAppear:v,onAppear:E,onAfterAppear:b,onAppearCancelled:y}=e,T=String(n.key),N=Jh(t,n),z=(O,Q)=>{O&&on(O,r,9,Q)},B=(O,Q)=>{const Z=Q[1];z(O,Q),ne(O)?O.every($=>$.length<=1)&&Z():O.length<=1&&Z()},F={mode:s,persisted:a,beforeEnter(O){let Q=c;if(!t.isMounted)if(i)Q=v||c;else return;O[fn]&&O[fn](!0);const Z=N[T];Z&&wr(n,Z)&&Z.el[fn]&&Z.el[fn](),z(Q,[O])},enter(O){if(N[T]===n)return;let Q=l,Z=u,$=d;if(!t.isMounted)if(i)Q=E||l,Z=b||u,$=y||d;else return;let ce=!1;O[xo]=Be=>{ce||(ce=!0,Be?z($,[O]):z(Z,[O]),F.delayedLeave&&F.delayedLeave(),O[xo]=void 0)};const fe=O[xo].bind(null,!1);Q?B(Q,[O,fe]):fe()},leave(O,Q){const Z=String(n.key);if(O[xo]&&O[xo](!0),t.isUnmounting)return Q();z(h,[O]);let $=!1;O[fn]=fe=>{$||($=!0,Q(),fe?z(p,[O]):z(C,[O]),O[fn]=void 0,N[Z]===n&&delete N[Z])};const ce=O[fn].bind(null,!1);N[Z]=n,f?B(f,[O,ce]):ce()},clone(O){const Q=Fa(O,e,t,r,o);return o&&o(Q),Q}};return F}function ha(n){if(Ns(n))return n=dr(n),n.children=null,n}function nu(n){if(!Ns(n))return zh(n.type)&&n.children?Yh(n.children):n;if(n.component)return n.component.subTree;const{shapeFlag:e,children:t}=n;if(t){if(e&16)return t[0];if(e&32&&ue(t.default))return t.default()}}function ii(n,e){n.shapeFlag&6&&n.component?(n.transition=e,ii(n.component.subTree,e)):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function Xh(n,e=!1,t){let r=[],o=0;for(let i=0;i1)for(let i=0;izo(p,e&&(ne(e)?e[v]:e),t,r,o));return}if(ao(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&zo(n,e,t,r.component.subTree);return}const i=r.shapeFlag&4?Us(r.component):r.el,s=o?null:i,{i:a,r:c}=n,l=e&&e.r,u=a.refs===Me?a.refs={}:a.refs,d=a.setupState,h=Ae(d),f=d===Me?dh:p=>ru(u,p)?!1:be(h,p),C=(p,v)=>!(v&&ru(u,v));if(l!=null&&l!==c){if(ou(e),Le(l))u[l]=null,f(l)&&(d[l]=null);else if(qe(l)){const p=e;C(l,p.k)&&(l.value=null),p.k&&(u[p.k]=null)}}if(ue(c))vi(c,a,12,[s,u]);else{const p=Le(c),v=qe(c);if(p||v){const E=()=>{if(n.f){const b=p?f(c)?d[c]:u[c]:C()||!n.k?c.value:u[n.k];if(o)ne(b)&&Oc(b,i);else if(ne(b))b.includes(i)||b.push(i);else if(p)u[c]=[i],f(c)&&(d[c]=u[c]);else{const y=[i];C(c,n.k)&&(c.value=y),n.k&&(u[n.k]=y)}}else p?(u[c]=s,f(c)&&(d[c]=s)):v&&(C(c,n.k)&&(c.value=s),n.k&&(u[n.k]=s))};if(s){const b=()=>{E(),os.delete(n)};b.id=-1,os.set(n,b),wt(b,t)}else ou(n),E()}}}function ou(n){const e=os.get(n);e&&(e.flags|=8,os.delete(n))}Rs().requestIdleCallback;Rs().cancelIdleCallback;const ao=n=>!!n.type.__asyncLoader,Ns=n=>n.type.__isKeepAlive;function hy(n,e){ef(n,"a",e)}function fy(n,e){ef(n,"da",e)}function ef(n,e,t=vt){const r=n.__wdc||(n.__wdc=()=>{let o=t;for(;o;){if(o.isDeactivated)return;o=o.parent}return n()});if(Ms(e,r,t),t){let o=t.parent;for(;o&&o.parent;)Ns(o.parent.vnode)&&gy(r,e,t,o),o=o.parent}}function gy(n,e,t,r){const o=Ms(e,n,r,!0);tf(()=>{Oc(r[e],o)},t)}function Ms(n,e,t=vt,r=!1){if(t){const o=t[n]||(t[n]=[]),i=e.__weh||(e.__weh=(...s)=>{$n();const a=Ai(t),c=on(e,t,n,s);return a(),jn(),c});return r?o.unshift(i):o.push(i),i}}const Vn=n=>(e,t=vt)=>{(!ci||n==="sp")&&Ms(n,(...r)=>e(...r),t)},py=Vn("bm"),is=Vn("m"),my=Vn("bu"),yy=Vn("u"),qc=Vn("bum"),tf=Vn("um"),Cy=Vn("sp"),vy=Vn("rtg"),Ty=Vn("rtc");function Ay(n,e=vt){Ms("ec",n,e)}const nf="components";function Ey(n,e){return of(nf,n,!0,e)||n}const rf=Symbol.for("v-ndc");function Do(n){return Le(n)?of(nf,n,!1)||n:n||rf}function of(n,e,t=!0,r=!1){const o=ht||vt;if(o){const i=o.type;{const a=sC(i,!1);if(a&&(a===e||a===Rt(e)||a===Ss(Rt(e))))return i}const s=iu(o[n]||i[n],e)||iu(o.appContext[n],e);return!s&&r?i:s}}function iu(n,e){return n&&(n[e]||n[Rt(e)]||n[Ss(Rt(e))])}function Ba(n,e,t,r){let o;const i=t,s=ne(n);if(s||Le(n)){const a=s&&Kn(n);let c=!1,l=!1;a&&(c=!$t(n),l=Gn(n),n=ks(n)),o=new Array(n.length);for(let u=0,d=n.length;ue(a,c,void 0,i));else{const a=Object.keys(n);o=new Array(a.length);for(let c=0,l=a.length;c0;return e!=="default"&&(t.name=e),Ee(),Hn(We,null,[Ge("slot",t,r&&r())],l?-2:64)}let i=n[e];i&&i._c&&(i._d=!1),Ee();const s=i&&sf(i(t)),a=t.key||s&&s.key,c=Hn(We,{key:(a&&!jt(a)?a:`_${e}`)+(!s&&r?"_fb":"")},s||(r?r():[]),s&&n._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function sf(n){return n.some(e=>ai(e)?!(e.type===Ct||e.type===We&&!sf(e.children)):!0)?n:null}const Ka=n=>n?bf(n)?Us(n):Ka(n.parent):null,Qo=ot(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Ka(n.parent),$root:n=>Ka(n.root),$host:n=>n.ce,$emit:n=>n.emit,$options:n=>cf(n),$forceUpdate:n=>n.f||(n.f=()=>{Bc(n.update)}),$nextTick:n=>n.n||(n.n=Ti.bind(n.proxy)),$watch:n=>iy.bind(n)}),fa=(n,e)=>n!==Me&&!n.__isScriptSetup&&be(n,e),wy={get({_:n},e){if(e==="__v_skip")return!0;const{ctx:t,setupState:r,data:o,props:i,accessCache:s,type:a,appContext:c}=n;if(e[0]!=="$"){const h=s[e];if(h!==void 0)switch(h){case 1:return r[e];case 2:return o[e];case 4:return t[e];case 3:return i[e]}else{if(fa(r,e))return s[e]=1,r[e];if(o!==Me&&be(o,e))return s[e]=2,o[e];if(be(i,e))return s[e]=3,i[e];if(t!==Me&&be(t,e))return s[e]=4,t[e];qa&&(s[e]=0)}}const l=Qo[e];let u,d;if(l)return e==="$attrs"&&mt(n.attrs,"get",""),l(n);if((u=a.__cssModules)&&(u=u[e]))return u;if(t!==Me&&be(t,e))return s[e]=4,t[e];if(d=c.config.globalProperties,be(d,e))return d[e]},set({_:n},e,t){const{data:r,setupState:o,ctx:i}=n;return fa(o,e)?(o[e]=t,!0):r!==Me&&be(r,e)?(r[e]=t,!0):be(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(i[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:r,appContext:o,props:i,type:s}},a){let c;return!!(t[a]||n!==Me&&a[0]!=="$"&&be(n,a)||fa(e,a)||be(i,a)||be(r,a)||be(Qo,a)||be(o.config.globalProperties,a)||(c=s.__cssModules)&&c[a])},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:be(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function _y(){return by().attrs}function by(n){const e=Ls();return e.setupContext||(e.setupContext=Sf(e))}function su(n){return ne(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}let qa=!0;function Iy(n){const e=cf(n),t=n.proxy,r=n.ctx;qa=!1,e.beforeCreate&&au(e.beforeCreate,n,"bc");const{data:o,computed:i,methods:s,watch:a,provide:c,inject:l,created:u,beforeMount:d,mounted:h,beforeUpdate:f,updated:C,activated:p,deactivated:v,beforeDestroy:E,beforeUnmount:b,destroyed:y,unmounted:T,render:N,renderTracked:z,renderTriggered:B,errorCaptured:F,serverPrefetch:O,expose:Q,inheritAttrs:Z,components:$,directives:ce,filters:fe}=e;if(l&&Sy(l,r,null),s)for(const ie in s){const he=s[ie];ue(he)&&(r[ie]=he.bind(t))}if(o){const ie=o.call(t,t);Ie(ie)&&(n.data=Ci(ie))}if(qa=!0,i)for(const ie in i){const he=i[ie],Se=ue(he)?he.bind(t,t):ue(he.get)?he.get.bind(t,t):wn,Pe=!ue(he)&&ue(he.set)?he.set.bind(t):wn,Qe=Te({get:Se,set:Pe});Object.defineProperty(r,ie,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:Ze=>Qe.value=Ze})}if(a)for(const ie in a)af(a[ie],r,t,ie);if(c){const ie=ue(c)?c.call(t):c;Reflect.ownKeys(ie).forEach(he=>{Qi(he,ie[he])})}u&&au(u,n,"c");function pe(ie,he){ne(he)?he.forEach(Se=>ie(Se.bind(t))):he&&ie(he.bind(t))}if(pe(py,d),pe(is,h),pe(my,f),pe(yy,C),pe(hy,p),pe(fy,v),pe(Ay,F),pe(Ty,z),pe(vy,B),pe(qc,b),pe(tf,T),pe(Cy,O),ne(Q))if(Q.length){const ie=n.exposed||(n.exposed={});Q.forEach(he=>{Object.defineProperty(ie,he,{get:()=>t[he],set:Se=>t[he]=Se,enumerable:!0})})}else n.exposed||(n.exposed={});N&&n.render===wn&&(n.render=N),Z!=null&&(n.inheritAttrs=Z),$&&(n.components=$),ce&&(n.directives=ce),O&&Zh(n)}function Sy(n,e,t=wn){ne(n)&&(n=$a(n));for(const r in n){const o=n[r];let i;Ie(o)?"default"in o?i=Yt(o.from||r,o.default,!0):i=Yt(o.from||r):i=Yt(o),qe(i)?Object.defineProperty(e,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):e[r]=i}}function au(n,e,t){on(ne(n)?n.map(r=>r.bind(e.proxy)):n.bind(e.proxy),e,t)}function af(n,e,t,r){let o=r.includes(".")?Gh(t,r):()=>t[r];if(Le(n)){const i=e[n];ue(i)&&xr(o,i)}else if(ue(n))xr(o,n.bind(t));else if(Ie(n))if(ne(n))n.forEach(i=>af(i,e,t,r));else{const i=ue(n.handler)?n.handler.bind(t):e[n.handler];ue(i)&&xr(o,i,n)}}function cf(n){const e=n.type,{mixins:t,extends:r}=e,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=n.appContext,a=i.get(e);let c;return a?c=a:!o.length&&!t&&!r?c=e:(c={},o.length&&o.forEach(l=>ss(c,l,s,!0)),ss(c,e,s)),Ie(e)&&i.set(e,c),c}function ss(n,e,t,r=!1){const{mixins:o,extends:i}=e;i&&ss(n,i,t,!0),o&&o.forEach(s=>ss(n,s,t,!0));for(const s in e)if(!(r&&s==="expose")){const a=Ry[s]||t&&t[s];n[s]=a?a(n[s],e[s]):e[s]}return n}const Ry={data:cu,props:lu,emits:lu,methods:Ko,computed:Ko,beforeCreate:Et,created:Et,beforeMount:Et,mounted:Et,beforeUpdate:Et,updated:Et,beforeDestroy:Et,beforeUnmount:Et,destroyed:Et,unmounted:Et,activated:Et,deactivated:Et,errorCaptured:Et,serverPrefetch:Et,components:Ko,directives:Ko,watch:Oy,provide:cu,inject:ky};function cu(n,e){return e?n?function(){return ot(ue(n)?n.call(this,this):n,ue(e)?e.call(this,this):e)}:e:n}function ky(n,e){return Ko($a(n),$a(e))}function $a(n){if(ne(n)){const e={};for(let t=0;te==="modelValue"||e==="model-value"?n.modelModifiers:n[`${e}Modifiers`]||n[`${Rt(e)}Modifiers`]||n[`${gr(e)}Modifiers`];function xy(n,e,...t){if(n.isUnmounted)return;const r=n.vnode.props||Me;let o=t;const i=e.startsWith("update:"),s=i&&My(r,e.slice(7));s&&(s.trim&&(o=t.map(u=>Le(u)?u.trim():u)),s.number&&(o=t.map(Pc)));let a,c=r[a=aa(e)]||r[a=aa(Rt(e))];!c&&i&&(c=r[a=aa(gr(e))]),c&&on(c,n,6,o);const l=r[a+"Once"];if(l){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,on(l,n,6,o)}}const Dy=new WeakMap;function uf(n,e,t=!1){const r=t?Dy:e.emitsCache,o=r.get(n);if(o!==void 0)return o;const i=n.emits;let s={},a=!1;if(!ue(n)){const c=l=>{const u=uf(l,e,!0);u&&(a=!0,ot(s,u))};!t&&e.mixins.length&&e.mixins.forEach(c),n.extends&&c(n.extends),n.mixins&&n.mixins.forEach(c)}return!i&&!a?(Ie(n)&&r.set(n,null),null):(ne(i)?i.forEach(c=>s[c]=null):ot(s,i),Ie(n)&&r.set(n,s),s)}function xs(n,e){return!n||!ws(e)?!1:(e=e.slice(2).replace(/Once$/,""),be(n,e[0].toLowerCase()+e.slice(1))||be(n,gr(e))||be(n,e))}function uu(n){const{type:e,vnode:t,proxy:r,withProxy:o,propsOptions:[i],slots:s,attrs:a,emit:c,render:l,renderCache:u,props:d,data:h,setupState:f,ctx:C,inheritAttrs:p}=n,v=rs(n);let E,b;try{if(t.shapeFlag&4){const T=o||r,N=T;E=Cn(l.call(N,T,u,d,f,h,C)),b=a}else{const T=e;E=Cn(T.length>1?T(d,{attrs:a,slots:s,emit:c}):T(d,null)),b=e.props?a:Ly(a)}}catch(T){Wo.length=0,Ps(T,n,1),E=Ge(Ct)}let y=E;if(b&&p!==!1){const T=Object.keys(b),{shapeFlag:N}=y;T.length&&N&7&&(i&&T.some(_s)&&(b=Uy(b,i)),y=dr(y,b,!1,!0))}return t.dirs&&(y=dr(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(t.dirs):t.dirs),t.transition&&ii(y,t.transition),E=y,rs(v),E}const Ly=n=>{let e;for(const t in n)(t==="class"||t==="style"||ws(t))&&((e||(e={}))[t]=n[t]);return e},Uy=(n,e)=>{const t={};for(const r in n)(!_s(r)||!(r.slice(9)in e))&&(t[r]=n[r]);return t};function Hy(n,e,t){const{props:r,children:o,component:i}=n,{props:s,children:a,patchFlag:c}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&c>=0){if(c&1024)return!0;if(c&16)return r?du(r,s,l):!!s;if(c&8){const u=e.dynamicProps;for(let d=0;dObject.create(hf),gf=n=>Object.getPrototypeOf(n)===hf;function By(n,e,t,r=!1){const o={},i=ff();n.propsDefaults=Object.create(null),pf(n,e,o,i);for(const s in n.propsOptions[0])s in o||(o[s]=void 0);t?n.props=r?o:Uh(o):n.type.props?n.props=o:n.props=i,n.attrs=i}function Ky(n,e,t,r){const{props:o,attrs:i,vnode:{patchFlag:s}}=n,a=Ae(o),[c]=n.propsOptions;let l=!1;if((r||s>0)&&!(s&16)){if(s&8){const u=n.vnode.dynamicProps;for(let d=0;d{c=!0;const[h,f]=mf(d,e,!0);ot(s,h),f&&a.push(...f)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!i&&!c)return Ie(n)&&r.set(n,oo),oo;if(ne(i))for(let u=0;un==="_"||n==="_ctx"||n==="$stable",jc=n=>ne(n)?n.map(Cn):[Cn(n)],$y=(n,e,t)=>{if(e._n)return e;const r=Tr((...o)=>jc(e(...o)),t);return r._c=!1,r},yf=(n,e,t)=>{const r=n._ctx;for(const o in n){if($c(o))continue;const i=n[o];if(ue(i))e[o]=$y(o,i,r);else if(i!=null){const s=jc(i);e[o]=()=>s}}},Cf=(n,e)=>{const t=jc(e);n.slots.default=()=>t},vf=(n,e,t)=>{for(const r in e)(t||!$c(r))&&(n[r]=e[r])},jy=(n,e,t)=>{const r=n.slots=ff();if(n.vnode.shapeFlag&32){const o=e._;o?(vf(r,e,t),t&&mh(r,"_",o,!0)):yf(e,r)}else e&&Cf(n,e)},Gy=(n,e,t)=>{const{vnode:r,slots:o}=n;let i=!0,s=Me;if(r.shapeFlag&32){const a=e._;a?t&&a===1?i=!1:vf(o,e,t):(i=!e.$stable,yf(e,o)),s=e}else e&&(Cf(n,e),s={default:1});if(i)for(const a in o)!$c(a)&&s[a]==null&&delete o[a]},wt=Yy;function Vy(n){return zy(n)}function zy(n,e){const t=Rs();t.__VUE__=!0;const{insert:r,remove:o,patchProp:i,createElement:s,createText:a,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:h,setScopeId:f=wn,insertStaticContent:C}=n,p=(g,m,A,P=null,x=null,M=null,G=void 0,j=null,K=!!m.dynamicChildren)=>{if(g===m)return;g&&!wr(g,m)&&(P=I(g),Ze(g,x,M,!0),g=null),m.patchFlag===-2&&(K=!1,m.dynamicChildren=null);const{type:L,ref:te,shapeFlag:V}=m;switch(L){case Ds:v(g,m,A,P);break;case Ct:E(g,m,A,P);break;case Wi:g==null&&b(m,A,P,G);break;case We:$(g,m,A,P,x,M,G,j,K);break;default:V&1?N(g,m,A,P,x,M,G,j,K):V&6?ce(g,m,A,P,x,M,G,j,K):(V&64||V&128)&&L.process(g,m,A,P,x,M,G,j,K,W)}te!=null&&x?zo(te,g&&g.ref,M,m||g,!m):te==null&&g&&g.ref!=null&&zo(g.ref,null,M,g,!0)},v=(g,m,A,P)=>{if(g==null)r(m.el=a(m.children),A,P);else{const x=m.el=g.el;m.children!==g.children&&l(x,m.children)}},E=(g,m,A,P)=>{g==null?r(m.el=c(m.children||""),A,P):m.el=g.el},b=(g,m,A,P)=>{[g.el,g.anchor]=C(g.children,m,A,P,g.el,g.anchor)},y=({el:g,anchor:m},A,P)=>{let x;for(;g&&g!==m;)x=h(g),r(g,A,P),g=x;r(m,A,P)},T=({el:g,anchor:m})=>{let A;for(;g&&g!==m;)A=h(g),o(g),g=A;o(m)},N=(g,m,A,P,x,M,G,j,K)=>{if(m.type==="svg"?G="svg":m.type==="math"&&(G="mathml"),g==null)z(m,A,P,x,M,G,j,K);else{const L=g.el&&g.el._isVueCE?g.el:null;try{L&&L._beginPatch(),O(g,m,x,M,G,j,K)}finally{L&&L._endPatch()}}},z=(g,m,A,P,x,M,G,j)=>{let K,L;const{props:te,shapeFlag:V,transition:X,dirs:re}=g;if(K=g.el=s(g.type,M,te&&te.is,te),V&8?u(K,g.children):V&16&&F(g.children,K,null,P,x,ga(g,M),G,j),re&&pr(g,null,P,"created"),B(K,g,g.scopeId,G,P),te){for(const we in te)we!=="value"&&!jo(we)&&i(K,we,null,te[we],M,P);"value"in te&&i(K,"value",null,te.value,M),(L=te.onVnodeBeforeMount)&&un(L,P,g)}re&&pr(g,null,P,"beforeMount");const Ce=Qy(x,X);Ce&&X.beforeEnter(K),r(K,m,A),((L=te&&te.onVnodeMounted)||Ce||re)&&wt(()=>{try{L&&un(L,P,g),Ce&&X.enter(K),re&&pr(g,null,P,"mounted")}finally{}},x)},B=(g,m,A,P,x)=>{if(A&&f(g,A),P)for(let M=0;M{for(let L=K;L{const j=m.el=g.el;let{patchFlag:K,dynamicChildren:L,dirs:te}=m;K|=g.patchFlag&16;const V=g.props||Me,X=m.props||Me;let re;if(A&&mr(A,!1),(re=X.onVnodeBeforeUpdate)&&un(re,A,m,g),te&&pr(m,g,A,"beforeUpdate"),A&&mr(A,!0),(V.innerHTML&&X.innerHTML==null||V.textContent&&X.textContent==null)&&u(j,""),L?Q(g.dynamicChildren,L,j,A,P,ga(m,x),M):G||he(g,m,j,null,A,P,ga(m,x),M,!1),K>0){if(K&16)Z(j,V,X,A,x);else if(K&2&&V.class!==X.class&&i(j,"class",null,X.class,x),K&4&&i(j,"style",V.style,X.style,x),K&8){const Ce=m.dynamicProps;for(let we=0;we{re&&un(re,A,m,g),te&&pr(m,g,A,"updated")},P)},Q=(g,m,A,P,x,M,G)=>{for(let j=0;j{if(m!==A){if(m!==Me)for(const M in m)!jo(M)&&!(M in A)&&i(g,M,m[M],null,x,P);for(const M in A){if(jo(M))continue;const G=A[M],j=m[M];G!==j&&M!=="value"&&i(g,M,j,G,x,P)}"value"in A&&i(g,"value",m.value,A.value,x)}},$=(g,m,A,P,x,M,G,j,K)=>{const L=m.el=g?g.el:a(""),te=m.anchor=g?g.anchor:a("");let{patchFlag:V,dynamicChildren:X,slotScopeIds:re}=m;re&&(j=j?j.concat(re):re),g==null?(r(L,A,P),r(te,A,P),F(m.children||[],A,te,x,M,G,j,K)):V>0&&V&64&&X&&g.dynamicChildren&&g.dynamicChildren.length===X.length?(Q(g.dynamicChildren,X,A,x,M,G,j),(m.key!=null||x&&m===x.subTree)&&Gc(g,m,!0)):he(g,m,A,te,x,M,G,j,K)},ce=(g,m,A,P,x,M,G,j,K)=>{m.slotScopeIds=j,g==null?m.shapeFlag&512?x.ctx.activate(m,A,P,G,K):fe(m,A,P,x,M,G,K):Be(g,m,K)},fe=(g,m,A,P,x,M,G)=>{const j=g.component=nC(g,P,x);if(Ns(g)&&(j.ctx.renderer=W),rC(j,!1,G),j.asyncDep){if(x&&x.registerDep(j,pe,G),!g.el){const K=j.subTree=Ge(Ct);E(null,K,m,A),g.placeholder=K.el}}else pe(j,g,m,A,x,M,G)},Be=(g,m,A)=>{const P=m.component=g.component;if(Hy(g,m,A))if(P.asyncDep&&!P.asyncResolved){ie(P,m,A);return}else P.next=m,P.update();else m.el=g.el,P.vnode=m},pe=(g,m,A,P,x,M,G)=>{const j=()=>{if(g.isMounted){let{next:V,bu:X,u:re,parent:Ce,vnode:we}=g;{const xt=Tf(g);if(xt){V&&(V.el=we.el,ie(g,V,G)),xt.asyncDep.then(()=>{wt(()=>{g.isUnmounted||L()},x)});return}}let Re=V,$e;mr(g,!1),V?(V.el=we.el,ie(g,V,G)):V=we,X&&zi(X),($e=V.props&&V.props.onVnodeBeforeUpdate)&&un($e,Ce,V,we),mr(g,!0);const Xe=uu(g),Mt=g.subTree;g.subTree=Xe,p(Mt,Xe,d(Mt.el),I(Mt),g,x,M),V.el=Xe.el,Re===null&&Fy(g,Xe.el),re&&wt(re,x),($e=V.props&&V.props.onVnodeUpdated)&&wt(()=>un($e,Ce,V,we),x)}else{let V;const{el:X,props:re}=m,{bm:Ce,m:we,parent:Re,root:$e,type:Xe}=g,Mt=ao(m);mr(g,!1),Ce&&zi(Ce),!Mt&&(V=re&&re.onVnodeBeforeMount)&&un(V,Re,m),mr(g,!0);{$e.ce&&$e.ce._hasShadowRoot()&&$e.ce._injectChildStyle(Xe,g.parent?g.parent.type:void 0);const xt=g.subTree=uu(g);p(null,xt,A,P,g,x,M),m.el=xt.el}if(we&&wt(we,x),!Mt&&(V=re&&re.onVnodeMounted)){const xt=m;wt(()=>un(V,Re,xt),x)}(m.shapeFlag&256||Re&&ao(Re.vnode)&&Re.vnode.shapeFlag&256)&&g.a&&wt(g.a,x),g.isMounted=!0,m=A=P=null}};g.scope.on();const K=g.effect=new wh(j);g.scope.off();const L=g.update=K.run.bind(K),te=g.job=K.runIfDirty.bind(K);te.i=g,te.id=g.uid,K.scheduler=()=>Bc(te),mr(g,!0),L()},ie=(g,m,A)=>{m.component=g;const P=g.vnode.props;g.vnode=m,g.next=null,Ky(g,m.props,P,A),Gy(g,m.children,A),$n(),Zl(g),jn()},he=(g,m,A,P,x,M,G,j,K=!1)=>{const L=g&&g.children,te=g?g.shapeFlag:0,V=m.children,{patchFlag:X,shapeFlag:re}=m;if(X>0){if(X&128){Pe(L,V,A,P,x,M,G,j,K);return}else if(X&256){Se(L,V,A,P,x,M,G,j,K);return}}re&8?(te&16&&de(L,x,M),V!==L&&u(A,V)):te&16?re&16?Pe(L,V,A,P,x,M,G,j,K):de(L,x,M,!0):(te&8&&u(A,""),re&16&&F(V,A,P,x,M,G,j,K))},Se=(g,m,A,P,x,M,G,j,K)=>{g=g||oo,m=m||oo;const L=g.length,te=m.length,V=Math.min(L,te);let X;for(X=0;Xte?de(g,x,M,!0,!1,V):F(m,A,P,x,M,G,j,K,V)},Pe=(g,m,A,P,x,M,G,j,K)=>{let L=0;const te=m.length;let V=g.length-1,X=te-1;for(;L<=V&&L<=X;){const re=g[L],Ce=m[L]=K?xn(m[L]):Cn(m[L]);if(wr(re,Ce))p(re,Ce,A,null,x,M,G,j,K);else break;L++}for(;L<=V&&L<=X;){const re=g[V],Ce=m[X]=K?xn(m[X]):Cn(m[X]);if(wr(re,Ce))p(re,Ce,A,null,x,M,G,j,K);else break;V--,X--}if(L>V){if(L<=X){const re=X+1,Ce=reX)for(;L<=V;)Ze(g[L],x,M,!0),L++;else{const re=L,Ce=L,we=new Map;for(L=Ce;L<=X;L++){const et=m[L]=K?xn(m[L]):Cn(m[L]);et.key!=null&&we.set(et.key,L)}let Re,$e=0;const Xe=X-Ce+1;let Mt=!1,xt=0;const zn=new Array(Xe);for(L=0;L=Xe){Ze(et,x,M,!0);continue}let ft;if(et.key!=null)ft=we.get(et.key);else for(Re=Ce;Re<=X;Re++)if(zn[Re-Ce]===0&&wr(et,m[Re])){ft=Re;break}ft===void 0?Ze(et,x,M,!0):(zn[ft-Ce]=L+1,ft>=xt?xt=ft:Mt=!0,p(et,m[ft],A,null,x,M,G,j,K),$e++)}const Qn=Mt?Wy(zn):oo;for(Re=Qn.length-1,L=Xe-1;L>=0;L--){const et=Ce+L,ft=m[et],Gl=m[et+1],Vl=et+1{const{el:M,type:G,transition:j,children:K,shapeFlag:L}=g;if(L&6){Qe(g.component.subTree,m,A,P);return}if(L&128){g.suspense.move(m,A,P);return}if(L&64){G.move(g,m,A,W);return}if(G===We){r(M,m,A);for(let V=0;Vj.enter(M),x);else{const{leave:V,delayLeave:X,afterLeave:re}=j,Ce=()=>{g.ctx.isUnmounted?o(M):r(M,m,A)},we=()=>{M._isLeaving&&M[fn](!0),V(M,()=>{Ce(),re&&re()})};X?X(M,Ce,we):we()}else r(M,m,A)},Ze=(g,m,A,P=!1,x=!1)=>{const{type:M,props:G,ref:j,children:K,dynamicChildren:L,shapeFlag:te,patchFlag:V,dirs:X,cacheIndex:re,memo:Ce}=g;if(V===-2&&(x=!1),j!=null&&($n(),zo(j,null,A,g,!0),jn()),re!=null&&(m.renderCache[re]=void 0),te&256){m.ctx.deactivate(g);return}const we=te&1&&X,Re=!ao(g);let $e;if(Re&&($e=G&&G.onVnodeBeforeUnmount)&&un($e,m,g),te&6)S(g.component,A,P);else{if(te&128){g.suspense.unmount(A,P);return}we&&pr(g,null,m,"beforeUnmount"),te&64?g.type.remove(g,m,A,W,P):L&&!L.hasOnce&&(M!==We||V>0&&V&64)?de(L,m,A,!1,!0):(M===We&&V&384||!x&&te&16)&&de(K,m,A),P&&Ue(g)}const Xe=Ce!=null&&re==null;(Re&&($e=G&&G.onVnodeUnmounted)||we||Xe)&&wt(()=>{$e&&un($e,m,g),we&&pr(g,null,m,"unmounted"),Xe&&(g.el=null)},A)},Ue=g=>{const{type:m,el:A,anchor:P,transition:x}=g;if(m===We){ct(A,P);return}if(m===Wi){T(g);return}const M=()=>{o(A),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(g.shapeFlag&1&&x&&!x.persisted){const{leave:G,delayLeave:j}=x,K=()=>G(A,M);j?j(g.el,M,K):K()}else M()},ct=(g,m)=>{let A;for(;g!==m;)A=h(g),o(g),g=A;o(m)},S=(g,m,A)=>{const{bum:P,scope:x,job:M,subTree:G,um:j,m:K,a:L}=g;fu(K),fu(L),P&&zi(P),x.stop(),M&&(M.flags|=8,Ze(G,g,m,A)),j&&wt(j,m),wt(()=>{g.isUnmounted=!0},m)},de=(g,m,A,P=!1,x=!1,M=0)=>{for(let G=M;G{if(g.shapeFlag&6)return I(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const m=h(g.anchor||g.el),A=m&&m[Vh];return A?h(A):m};let D=!1;const U=(g,m,A)=>{let P;g==null?m._vnode&&(Ze(m._vnode,null,null,!0),P=m._vnode.component):p(m._vnode||null,g,m,null,null,null,A),m._vnode=g,D||(D=!0,Zl(P),qh(),D=!1)},W={p,um:Ze,m:Qe,r:Ue,mt:fe,mc:F,pc:he,pbc:Q,n:I,o:n};return{render:U,hydrate:void 0,createApp:Ny(U)}}function ga({type:n,props:e},t){return t==="svg"&&n==="foreignObject"||t==="mathml"&&n==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:t}function mr({effect:n,job:e},t){t?(n.flags|=32,e.flags|=4):(n.flags&=-33,e.flags&=-5)}function Qy(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function Gc(n,e,t=!1){const r=n.children,o=e.children;if(ne(r)&&ne(o))for(let i=0;i>1,n[t[a]]0&&(e[r]=t[i-1]),t[i]=r)}}for(i=t.length,s=t[i-1];i-- >0;)t[i]=s,s=e[s];return t}function Tf(n){const e=n.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Tf(e)}function fu(n){if(n)for(let e=0;en.__isSuspense;function Yy(n,e){e&&e.pendingBranch?ne(n)?e.effects.push(...n):e.effects.push(n):ty(n)}const We=Symbol.for("v-fgt"),Ds=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Wi=Symbol.for("v-stc"),Wo=[];let Kt=null;function Ee(n=!1){Wo.push(Kt=n?null:[])}function Jy(){Wo.pop(),Kt=Wo[Wo.length-1]||null}let si=1;function as(n,e=!1){si+=n,n<0&&Kt&&e&&(Kt.hasOnce=!0)}function wf(n){return n.dynamicChildren=si>0?Kt||oo:null,Jy(),si>0&&Kt&&Kt.push(n),n}function je(n,e,t,r,o,i){return wf(sn(n,e,t,r,o,i,!0))}function Hn(n,e,t,r,o){return wf(Ge(n,e,t,r,o,!0))}function ai(n){return n?n.__v_isVNode===!0:!1}function wr(n,e){return n.type===e.type&&n.key===e.key}const _f=({key:n})=>n??null,Yi=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Le(n)||qe(n)||ue(n)?{i:ht,r:n,k:e,f:!!t}:n:null);function sn(n,e=null,t=null,r=0,o=null,i=n===We?0:1,s=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&_f(e),ref:e&&Yi(e),scopeId:jh,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ht};return a?(Vc(c,t),i&128&&n.normalize(c)):t&&(c.shapeFlag|=Le(t)?8:16),si>0&&!s&&Kt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Kt.push(c),c}const Ge=Xy;function Xy(n,e=null,t=null,r=0,o=null,i=!1){if((!n||n===rf)&&(n=Ct),ai(n)){const a=dr(n,e,!0);return t&&Vc(a,t),si>0&&!i&&Kt&&(a.shapeFlag&6?Kt[Kt.indexOf(n)]=a:Kt.push(a)),a.patchFlag=-2,a}if(aC(n)&&(n=n.__vccOpts),e){e=Zy(e);let{class:a,style:c}=e;a&&!Le(a)&&(e.class=Ht(a)),Ie(c)&&(Os(c)&&!ne(c)&&(c=ot({},c)),e.style=lr(c))}const s=Le(n)?1:Ef(n)?128:zh(n)?64:Ie(n)?4:ue(n)?2:0;return sn(n,e,t,r,o,s,i,!0)}function Zy(n){return n?Os(n)||gf(n)?ot({},n):n:null}function dr(n,e,t=!1,r=!1){const{props:o,ref:i,patchFlag:s,children:a,transition:c}=n,l=e?Yo(o||{},e):o,u={__v_isVNode:!0,__v_skip:!0,type:n.type,props:l,key:l&&_f(l),ref:e&&e.ref?t&&i?ne(i)?i.concat(Yi(e)):[i,Yi(e)]:Yi(e):i,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:a,target:n.target,targetStart:n.targetStart,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==We?s===-1?16:s|16:s,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:c,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&dr(n.ssContent),ssFallback:n.ssFallback&&dr(n.ssFallback),placeholder:n.placeholder,el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return c&&r&&ii(u,c.clone(u)),u}function Ga(n=" ",e=0){return Ge(Ds,null,n,e)}function XI(n,e){const t=Ge(Wi,null,n);return t.staticCount=e,t}function Ar(n="",e=!1){return e?(Ee(),Hn(Ct,null,n)):Ge(Ct,null,n)}function Cn(n){return n==null||typeof n=="boolean"?Ge(Ct):ne(n)?Ge(We,null,n.slice()):ai(n)?xn(n):Ge(Ds,null,String(n))}function xn(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:dr(n)}function Vc(n,e){let t=0;const{shapeFlag:r}=n;if(e==null)e=null;else if(ne(e))t=16;else if(typeof e=="object")if(r&65){const o=e.default;o&&(o._c&&(o._d=!1),Vc(n,o()),o._c&&(o._d=!0));return}else{t=32;const o=e._;!o&&!gf(e)?e._ctx=ht:o===3&&ht&&(ht.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else ue(e)?(e={default:e,_ctx:ht},t=32):(e=String(e),r&64?(t=16,e=[Ga(e)]):t=8);n.children=e,n.shapeFlag|=t}function Yo(...n){const e={};for(let t=0;tvt||ht;let cs,Va;{const n=Rs(),e=(t,r)=>{let o;return(o=n[t])||(o=n[t]=[]),o.push(r),i=>{o.length>1?o.forEach(s=>s(i)):o[0](i)}};cs=e("__VUE_INSTANCE_SETTERS__",t=>vt=t),Va=e("__VUE_SSR_SETTERS__",t=>ci=t)}const Ai=n=>{const e=vt;return cs(n),n.scope.on(),()=>{n.scope.off(),cs(e)}},gu=()=>{vt&&vt.scope.off(),cs(null)};function bf(n){return n.vnode.shapeFlag&4}let ci=!1;function rC(n,e=!1,t=!1){e&&Va(e);const{props:r,children:o}=n.vnode,i=bf(n);By(n,r,i,e),jy(n,o,t||e);const s=i?oC(n,e):void 0;return e&&Va(!1),s}function oC(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=new Proxy(n.ctx,wy);const{setup:r}=t;if(r){$n();const o=n.setupContext=r.length>1?Sf(n):null,i=Ai(n),s=vi(r,n,0,[n.props,o]),a=fh(s);if(jn(),i(),(a||n.sp)&&!ao(n)&&Zh(n),a){if(s.then(gu,gu),e)return s.then(c=>{pu(n,c)}).catch(c=>{Ps(c,n,0)});n.asyncDep=s}else pu(n,s)}else If(n)}function pu(n,e,t){ue(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:Ie(e)&&(n.setupState=Fh(e)),If(n)}function If(n,e,t){const r=n.type;n.render||(n.render=r.render||wn);{const o=Ai(n);$n();try{Iy(n)}finally{jn(),o()}}}const iC={get(n,e){return mt(n,"get",""),n[e]}};function Sf(n){const e=t=>{n.exposed=t||{}};return{attrs:new Proxy(n.attrs,iC),slots:n.slots,emit:n.emit,expose:e}}function Us(n){return n.exposed?n.exposeProxy||(n.exposeProxy=new Proxy(Fh(Fc(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in Qo)return Qo[t](n)},has(e,t){return t in e||t in Qo}})):n.proxy}function sC(n,e=!0){return ue(n)?n.displayName||n.name:n.name||e&&n.__name}function aC(n){return ue(n)&&"__vccOpts"in n}const Te=(n,e)=>Ym(n,e,ci);function zc(n,e,t){try{as(-1);const r=arguments.length;return r===2?Ie(e)&&!ne(e)?ai(e)?Ge(n,null,[e]):Ge(n,e):Ge(n,null,e):(r>3?t=Array.prototype.slice.call(arguments,2):r===3&&ai(t)&&(t=[t]),Ge(n,e,t))}finally{as(1)}}const cC="3.5.34";/** -* @vue/runtime-dom v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let za;const mu=typeof window<"u"&&window.trustedTypes;if(mu)try{za=mu.createPolicy("vue",{createHTML:n=>n})}catch{}const Rf=za?n=>za.createHTML(n):n=>n,lC="http://www.w3.org/2000/svg",uC="http://www.w3.org/1998/Math/MathML",Nn=typeof document<"u"?document:null,yu=Nn&&Nn.createElement("template"),dC={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,r)=>{const o=e==="svg"?Nn.createElementNS(lC,n):e==="mathml"?Nn.createElementNS(uC,n):t?Nn.createElement(n,{is:t}):Nn.createElement(n);return n==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:n=>Nn.createTextNode(n),createComment:n=>Nn.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>Nn.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,r,o,i){const s=t?t.previousSibling:e.lastChild;if(o&&(o===i||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),t),!(o===i||!(o=o.nextSibling)););else{yu.innerHTML=Rf(r==="svg"?`${n}`:r==="mathml"?`${n}`:n);const a=yu.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,t)}return[s?s.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},Wn="transition",Lo="animation",li=Symbol("_vtc"),kf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},hC=ot({},Qh,kf),fC=n=>(n.displayName="Transition",n.props=hC,n),ZI=fC((n,{slots:e})=>zc(dy,gC(n),e)),yr=(n,e=[])=>{ne(n)?n.forEach(t=>t(...e)):n&&n(...e)},Cu=n=>n?ne(n)?n.some(e=>e.length>1):n.length>1:!1;function gC(n){const e={};for(const $ in n)$ in kf||(e[$]=n[$]);if(n.css===!1)return e;const{name:t="v",type:r,duration:o,enterFromClass:i=`${t}-enter-from`,enterActiveClass:s=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:c=i,appearActiveClass:l=s,appearToClass:u=a,leaveFromClass:d=`${t}-leave-from`,leaveActiveClass:h=`${t}-leave-active`,leaveToClass:f=`${t}-leave-to`}=n,C=pC(o),p=C&&C[0],v=C&&C[1],{onBeforeEnter:E,onEnter:b,onEnterCancelled:y,onLeave:T,onLeaveCancelled:N,onBeforeAppear:z=E,onAppear:B=b,onAppearCancelled:F=y}=e,O=($,ce,fe,Be)=>{$._enterCancelled=Be,Cr($,ce?u:a),Cr($,ce?l:s),fe&&fe()},Q=($,ce)=>{$._isLeaving=!1,Cr($,d),Cr($,f),Cr($,h),ce&&ce()},Z=$=>(ce,fe)=>{const Be=$?B:b,pe=()=>O(ce,$,fe);yr(Be,[ce,pe]),vu(()=>{Cr(ce,$?c:i),Rn(ce,$?u:a),Cu(Be)||Tu(ce,r,p,pe)})};return ot(e,{onBeforeEnter($){yr(E,[$]),Rn($,i),Rn($,s)},onBeforeAppear($){yr(z,[$]),Rn($,c),Rn($,l)},onEnter:Z(!1),onAppear:Z(!0),onLeave($,ce){$._isLeaving=!0;const fe=()=>Q($,ce);Rn($,d),$._enterCancelled?(Rn($,h),wu($)):(wu($),Rn($,h)),vu(()=>{$._isLeaving&&(Cr($,d),Rn($,f),Cu(T)||Tu($,r,v,fe))}),yr(T,[$,fe])},onEnterCancelled($){O($,!1,void 0,!0),yr(y,[$])},onAppearCancelled($){O($,!0,void 0,!0),yr(F,[$])},onLeaveCancelled($){Q($),yr(N,[$])}})}function pC(n){if(n==null)return null;if(Ie(n))return[pa(n.enter),pa(n.leave)];{const e=pa(n);return[e,e]}}function pa(n){return pm(n)}function Rn(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[li]||(n[li]=new Set)).add(e)}function Cr(n,e){e.split(/\s+/).forEach(r=>r&&n.classList.remove(r));const t=n[li];t&&(t.delete(e),t.size||(n[li]=void 0))}function vu(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let mC=0;function Tu(n,e,t,r){const o=n._endId=++mC,i=()=>{o===n._endId&&r()};if(t!=null)return setTimeout(i,t);const{type:s,timeout:a,propCount:c}=yC(n,e);if(!s)return r();const l=s+"end";let u=0;const d=()=>{n.removeEventListener(l,h),i()},h=f=>{f.target===n&&++u>=c&&d()};setTimeout(()=>{u(t[C]||"").split(", "),o=r(`${Wn}Delay`),i=r(`${Wn}Duration`),s=Au(o,i),a=r(`${Lo}Delay`),c=r(`${Lo}Duration`),l=Au(a,c);let u=null,d=0,h=0;e===Wn?s>0&&(u=Wn,d=s,h=i.length):e===Lo?l>0&&(u=Lo,d=l,h=c.length):(d=Math.max(s,l),u=d>0?s>l?Wn:Lo:null,h=u?u===Wn?i.length:c.length:0);const f=u===Wn&&/\b(?:transform|all)(?:,|$)/.test(r(`${Wn}Property`).toString());return{type:u,timeout:d,propCount:h,hasTransform:f}}function Au(n,e){for(;n.lengthEu(t)+Eu(n[r])))}function Eu(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function wu(n){return(n?n.ownerDocument:document).body.offsetHeight}function CC(n,e,t){const r=n[li];r&&(e=(e?[e,...r]:[...r]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const _u=Symbol("_vod"),vC=Symbol("_vsh"),TC=Symbol(""),AC=/(?:^|;)\s*display\s*:/;function EC(n,e,t){const r=n.style,o=Le(t);let i=!1;if(t&&!o){if(e)if(Le(e))for(const s of e.split(";")){const a=s.slice(0,s.indexOf(":")).trim();t[a]==null&&qo(r,a,"")}else for(const s in e)t[s]==null&&qo(r,s,"");for(const s in t){s==="display"&&(i=!0);const a=t[s];a!=null?_C(n,s,!Le(e)&&e?e[s]:void 0,a)||qo(r,s,a):qo(r,s,"")}}else if(o){if(e!==t){const s=r[TC];s&&(t+=";"+s),r.cssText=t,i=AC.test(t)}}else e&&n.removeAttribute("style");_u in n&&(n[_u]=i?r.display:"",n[vC]&&(r.display="none"))}const bu=/\s*!important$/;function qo(n,e,t){if(ne(t))t.forEach(r=>qo(n,e,r));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const r=wC(n,e);bu.test(t)?n.setProperty(gr(r),t.replace(bu,""),"important"):n[r]=t}}const Iu=["Webkit","Moz","ms"],ma={};function wC(n,e){const t=ma[e];if(t)return t;let r=Rt(e);if(r!=="filter"&&r in n)return ma[e]=r;r=Ss(r);for(let o=0;oya||(RC.then(()=>ya=0),ya=Date.now());function OC(n,e){const t=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=t.attached)return;on(PC(r,t.value),e,5,[r])};return t.value=n,t.attached=kC(),t}function PC(n,e){if(ne(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(r=>o=>!o._stopped&&r&&r(o))}else return e}const Nu=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,NC=(n,e,t,r,o,i)=>{const s=o==="svg";e==="class"?CC(n,r,s):e==="style"?EC(n,t,r):ws(e)?_s(e)||IC(n,e,t,r,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):MC(n,e,r,s))?(ku(n,e,r),!n.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&Ru(n,e,r,s,i,e!=="value")):n._isVueCE&&(xC(n,e)||n._def.__asyncLoader&&(/[A-Z]/.test(e)||!Le(r)))?ku(n,Rt(e),r,i,e):(e==="true-value"?n._trueValue=r:e==="false-value"&&(n._falseValue=r),Ru(n,e,r,s))};function MC(n,e,t,r){if(r)return!!(e==="innerHTML"||e==="textContent"||e in n&&Nu(e)&&ue(t));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&n.tagName==="IFRAME"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const o=n.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Nu(e)&&Le(t)?!1:e in n}function xC(n,e){const t=n._def.props;if(!t)return!1;const r=Rt(e);return Array.isArray(t)?t.some(o=>Rt(o)===r):Object.keys(t).some(o=>Rt(o)===r)}const Mu=n=>{const e=n.props["onUpdate:modelValue"]||!1;return ne(e)?t=>zi(e,t):e};function DC(n){n.target.composing=!0}function xu(n){const e=n.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Ca=Symbol("_assign");function Du(n,e,t){return e&&(n=n.trim()),t&&(n=Pc(n)),n}const eS={created(n,{modifiers:{lazy:e,trim:t,number:r}},o){n[Ca]=Mu(o);const i=r||o.props&&o.props.type==="number";Wr(n,e?"change":"input",s=>{s.target.composing||n[Ca](Du(n.value,t,i))}),(t||i)&&Wr(n,"change",()=>{n.value=Du(n.value,t,i)}),e||(Wr(n,"compositionstart",DC),Wr(n,"compositionend",xu),Wr(n,"change",xu))},mounted(n,{value:e}){n.value=e??""},beforeUpdate(n,{value:e,oldValue:t,modifiers:{lazy:r,trim:o,number:i}},s){if(n[Ca]=Mu(s),n.composing)return;const a=(i||n.type==="number")&&!/^0\d/.test(n.value)?Pc(n.value):n.value,c=e??"";if(a===c)return;const l=n.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===n&&n.type!=="range"&&(r&&e===t||o&&n.value.trim()===c)||(n.value=c)}},LC=["ctrl","shift","alt","meta"],UC={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>LC.some(t=>n[`${t}Key`]&&!e.includes(t))},tS=(n,e)=>{if(!n)return n;const t=n._withMods||(n._withMods={}),r=e.join(".");return t[r]||(t[r]=(o,...i)=>{for(let s=0;s{const t=n._withKeys||(n._withKeys={}),r=e.join(".");return t[r]||(t[r]=o=>{if(!("key"in o))return;const i=gr(o.key);if(e.some(s=>s===i||HC[s]===i))return n(o)})},FC=ot({patchProp:NC},dC);let Lu;function BC(){return Lu||(Lu=Vy(FC))}const KC=(...n)=>{const e=BC().createApp(...n),{mount:t}=e;return e.mount=r=>{const o=$C(r);if(!o)return;const i=e._component;!ue(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const s=t(o,!1,qC(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},e};function qC(n){if(n instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&n instanceof MathMLElement)return"mathml"}function $C(n){return Le(n)?document.querySelector(n):n}/*! - * pinia v2.3.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Of;const Hs=n=>Of=n,Pf=Symbol();function Qa(n){return n&&typeof n=="object"&&Object.prototype.toString.call(n)==="[object Object]"&&typeof n.toJSON!="function"}var Jo;(function(n){n.direct="direct",n.patchObject="patch object",n.patchFunction="patch function"})(Jo||(Jo={}));function jC(){const n=Ah(!0),e=n.run(()=>Oe({}));let t=[],r=[];const o=Fc({install(i){Hs(o),o._a=i,i.provide(Pf,o),i.config.globalProperties.$pinia=o,r.forEach(s=>t.push(s)),r=[]},use(i){return this._a?t.push(i):r.push(i),this},_p:t,_a:null,_e:n,_s:new Map,state:e});return o}const Nf=()=>{};function Uu(n,e,t,r=Nf){n.push(e);const o=()=>{const i=n.indexOf(e);i>-1&&(n.splice(i,1),r())};return!t&&Eh()&&wm(o),o}function Gr(n,...e){n.slice().forEach(t=>{t(...e)})}const GC=n=>n(),Hu=Symbol(),va=Symbol();function Wa(n,e){n instanceof Map&&e instanceof Map?e.forEach((t,r)=>n.set(r,t)):n instanceof Set&&e instanceof Set&&e.forEach(n.add,n);for(const t in e){if(!e.hasOwnProperty(t))continue;const r=e[t],o=n[t];Qa(o)&&Qa(r)&&n.hasOwnProperty(t)&&!qe(r)&&!Kn(r)?n[t]=Wa(o,r):n[t]=r}return n}const VC=Symbol();function zC(n){return!Qa(n)||!n.hasOwnProperty(VC)}const{assign:Xn}=Object;function QC(n){return!!(qe(n)&&n.effect)}function WC(n,e,t,r){const{state:o,actions:i,getters:s}=e,a=t.state.value[n];let c;function l(){a||(t.state.value[n]=o?o():{});const u=Vm(t.state.value[n]);return Xn(u,i,Object.keys(s||{}).reduce((d,h)=>(d[h]=Fc(Te(()=>{Hs(t);const f=t._s.get(n);return s[h].call(f,f)})),d),{}))}return c=Mf(n,l,e,t,r,!0),c}function Mf(n,e,t={},r,o,i){let s;const a=Xn({actions:{}},t),c={deep:!0};let l,u,d=[],h=[],f;const C=r.state.value[n];!i&&!C&&(r.state.value[n]={});let p;function v(F){let O;l=u=!1,typeof F=="function"?(F(r.state.value[n]),O={type:Jo.patchFunction,storeId:n,events:f}):(Wa(r.state.value[n],F),O={type:Jo.patchObject,payload:F,storeId:n,events:f});const Q=p=Symbol();Ti().then(()=>{p===Q&&(l=!0)}),u=!0,Gr(d,O,r.state.value[n])}const E=i?function(){const{state:O}=t,Q=O?O():{};this.$patch(Z=>{Xn(Z,Q)})}:Nf;function b(){s.stop(),d=[],h=[],r._s.delete(n)}const y=(F,O="")=>{if(Hu in F)return F[va]=O,F;const Q=function(){Hs(r);const Z=Array.from(arguments),$=[],ce=[];function fe(ie){$.push(ie)}function Be(ie){ce.push(ie)}Gr(h,{args:Z,name:Q[va],store:N,after:fe,onError:Be});let pe;try{pe=F.apply(this&&this.$id===n?this:N,Z)}catch(ie){throw Gr(ce,ie),ie}return pe instanceof Promise?pe.then(ie=>(Gr($,ie),ie)).catch(ie=>(Gr(ce,ie),Promise.reject(ie))):(Gr($,pe),pe)};return Q[Hu]=!0,Q[va]=O,Q},T={_p:r,$id:n,$onAction:Uu.bind(null,h),$patch:v,$reset:E,$subscribe(F,O={}){const Q=Uu(d,F,O.detached,()=>Z()),Z=s.run(()=>xr(()=>r.state.value[n],$=>{(O.flush==="sync"?u:l)&&F({storeId:n,type:Jo.direct,events:f},$)},Xn({},c,O)));return Q},$dispose:b},N=Ci(T);r._s.set(n,N);const B=(r._a&&r._a.runWithContext||GC)(()=>r._e.run(()=>(s=Ah()).run(()=>e({action:y}))));for(const F in B){const O=B[F];if(qe(O)&&!QC(O)||Kn(O))i||(C&&zC(O)&&(qe(O)?O.value=C[F]:Wa(O,C[F])),r.state.value[n][F]=O);else if(typeof O=="function"){const Q=y(O,F);B[F]=Q,a.actions[F]=O}}return Xn(N,B),Xn(Ae(N),B),Object.defineProperty(N,"$state",{get:()=>r.state.value[n],set:F=>{v(O=>{Xn(O,F)})}}),r._p.forEach(F=>{Xn(N,s.run(()=>F({store:N,app:r._a,pinia:r,options:a})))}),C&&i&&t.hydrate&&t.hydrate(N.$state,C),l=!0,u=!0,N}/*! #__NO_SIDE_EFFECTS__ */function YC(n,e,t){let r,o;const i=typeof e=="function";typeof n=="string"?(r=n,o=i?t:e):(o=n,r=n.id);function s(a,c){const l=ny();return a=a||(l?Yt(Pf,null):null),a&&Hs(a),a=Of,a._s.has(r)||(i?Mf(r,e,o,a):WC(r,o,a)),a._s.get(r)}return s.$id=r,s}var Fs=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Sr,rr,uo,nh,JC=(nh=class extends Fs{constructor(){super();ye(this,Sr);ye(this,rr);ye(this,uo);se(this,uo,e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}})}onSubscribe(){k(this,rr)||this.setEventListener(k(this,uo))}onUnsubscribe(){var e;this.hasListeners()||((e=k(this,rr))==null||e.call(this),se(this,rr,void 0))}setEventListener(e){var t;se(this,uo,e),(t=k(this,rr))==null||t.call(this),se(this,rr,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){k(this,Sr)!==e&&(se(this,Sr,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){var e;return typeof k(this,Sr)=="boolean"?k(this,Sr):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},Sr=new WeakMap,rr=new WeakMap,uo=new WeakMap,nh),xf=new JC,XC={setTimeout:(n,e)=>setTimeout(n,e),clearTimeout:n=>clearTimeout(n),setInterval:(n,e)=>setInterval(n,e),clearInterval:n=>clearInterval(n)},or,Rc,rh,ZC=(rh=class{constructor(){ye(this,or,XC);ye(this,Rc,!1)}setTimeoutProvider(n){se(this,or,n)}setTimeout(n,e){return k(this,or).setTimeout(n,e)}clearTimeout(n){k(this,or).clearTimeout(n)}setInterval(n,e){return k(this,or).setInterval(n,e)}clearInterval(n){k(this,or).clearInterval(n)}},or=new WeakMap,Rc=new WeakMap,rh),Ya=new ZC;function ev(n){setTimeout(n,0)}var Df=typeof window>"u"||"Deno"in globalThis;function Jt(){}function tv(n,e){return typeof n=="function"?n(e):n}function nv(n){return typeof n=="number"&&n>=0&&n!==1/0}function rv(n,e){return Math.max(n+(e||0)-Date.now(),0)}function Ja(n,e){return typeof n=="function"?n(e):n}function ov(n,e){return typeof n=="function"?n(e):n}function Fu(n,e){const{type:t="all",exact:r,fetchStatus:o,predicate:i,queryKey:s,stale:a}=n;if(s){if(r){if(e.queryHash!==Qc(s,e.options))return!1}else if(!di(e.queryKey,s))return!1}if(t!=="all"){const c=e.isActive();if(t==="active"&&!c||t==="inactive"&&c)return!1}return!(typeof a=="boolean"&&e.isStale()!==a||o&&o!==e.state.fetchStatus||i&&!i(e))}function Bu(n,e){const{exact:t,status:r,predicate:o,mutationKey:i}=n;if(i){if(!e.options.mutationKey)return!1;if(t){if(ui(e.options.mutationKey)!==ui(i))return!1}else if(!di(e.options.mutationKey,i))return!1}return!(r&&e.state.status!==r||o&&!o(e))}function Qc(n,e){return((e==null?void 0:e.queryKeyHashFn)||ui)(n)}function ui(n){return JSON.stringify(n,(e,t)=>Xa(t)?Object.keys(t).sort().reduce((r,o)=>(r[o]=t[o],r),{}):t)}function di(n,e){return n===e?!0:typeof n!=typeof e?!1:n&&e&&typeof n=="object"&&typeof e=="object"?Object.keys(e).every(t=>di(n[t],e[t])):!1}var iv=Object.prototype.hasOwnProperty;function Lf(n,e,t=0){if(n===e)return n;if(t>500)return e;const r=Ku(n)&&Ku(e);if(!r&&!(Xa(n)&&Xa(e)))return e;const i=(r?n:Object.keys(n)).length,s=r?e:Object.keys(e),a=s.length,c=r?new Array(a):{};let l=0;for(let u=0;u{Ya.setTimeout(e,n)})}function av(n,e,t){return typeof t.structuralSharing=="function"?t.structuralSharing(n,e):t.structuralSharing!==!1?Lf(n,e):e}function cv(n,e,t=0){const r=[...n,e];return t&&r.length>t?r.slice(1):r}function lv(n,e,t=0){const r=[e,...n];return t&&r.length>t?r.slice(0,-1):r}var Wc=Symbol();function Uf(n,e){return!n.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!n.queryFn||n.queryFn===Wc?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function uv(n,e,t){let r=!1,o;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(o??(o=e()),r||(r=!0,o.aborted?t():o.addEventListener("abort",t,{once:!0})),o)}),n}var Hf=(()=>{let n=()=>Df;return{isServer(){return n()},setIsServer(e){n=e}}})();function dv(){let n,e;const t=new Promise((o,i)=>{n=o,e=i});t.status="pending",t.catch(()=>{});function r(o){Object.assign(t,o),delete t.resolve,delete t.reject}return t.resolve=o=>{r({status:"fulfilled",value:o}),n(o)},t.reject=o=>{r({status:"rejected",reason:o}),e(o)},t}var hv=ev;function fv(){let n=[],e=0,t=a=>{a()},r=a=>{a()},o=hv;const i=a=>{e?n.push(a):o(()=>{t(a)})},s=()=>{const a=n;n=[],a.length&&o(()=>{r(()=>{a.forEach(c=>{t(c)})})})};return{batch:a=>{let c;e++;try{c=a()}finally{e--,e||s()}return c},batchCalls:a=>(...c)=>{i(()=>{a(...c)})},schedule:i,setNotifyFunction:a=>{t=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{o=a}}}var St=fv(),ho,ir,fo,oh,gv=(oh=class extends Fs{constructor(){super();ye(this,ho,!0);ye(this,ir);ye(this,fo);se(this,fo,e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}})}onSubscribe(){k(this,ir)||this.setEventListener(k(this,fo))}onUnsubscribe(){var e;this.hasListeners()||((e=k(this,ir))==null||e.call(this),se(this,ir,void 0))}setEventListener(e){var t;se(this,fo,e),(t=k(this,ir))==null||t.call(this),se(this,ir,e(this.setOnline.bind(this)))}setOnline(e){k(this,ho)!==e&&(se(this,ho,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return k(this,ho)}},ho=new WeakMap,ir=new WeakMap,fo=new WeakMap,oh),ls=new gv;function pv(n){return Math.min(1e3*2**n,3e4)}function Ff(n){return(n??"online")==="online"?ls.isOnline():!0}var Za=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function Bf(n){let e=!1,t=0,r;const o=dv(),i=()=>o.status!=="pending",s=p=>{var v;if(!i()){const E=new Za(p);h(E),(v=n.onCancel)==null||v.call(n,E)}},a=()=>{e=!0},c=()=>{e=!1},l=()=>xf.isFocused()&&(n.networkMode==="always"||ls.isOnline())&&n.canRun(),u=()=>Ff(n.networkMode)&&n.canRun(),d=p=>{i()||(r==null||r(),o.resolve(p))},h=p=>{i()||(r==null||r(),o.reject(p))},f=()=>new Promise(p=>{var v;r=E=>{(i()||l())&&p(E)},(v=n.onPause)==null||v.call(n)}).then(()=>{var p;r=void 0,i()||(p=n.onContinue)==null||p.call(n)}),C=()=>{if(i())return;let p;const v=t===0?n.initialPromise:void 0;try{p=v??n.fn()}catch(E){p=Promise.reject(E)}Promise.resolve(p).then(d).catch(E=>{var z;if(i())return;const b=n.retry??(Hf.isServer()?0:3),y=n.retryDelay??pv,T=typeof y=="function"?y(t,E):y,N=b===!0||typeof b=="number"&&tl()?void 0:f()).then(()=>{e?h(E):C()})})};return{promise:o,status:()=>o.status,cancel:s,continue:()=>(r==null||r(),o),cancelRetry:a,continueRetry:c,canStart:u,start:()=>(u()?C():f().then(C),o)}}var Rr,ih,Kf=(ih=class{constructor(){ye(this,Rr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),nv(this.gcTime)&&se(this,Rr,Ya.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(Hf.isServer()?1/0:5*60*1e3))}clearGcTimeout(){k(this,Rr)!==void 0&&(Ya.clearTimeout(k(this,Rr)),se(this,Rr,void 0))}},Rr=new WeakMap,ih);function mv(n){return{onFetch:(e,t)=>{var u,d,h,f,C;const r=e.options,o=(h=(d=(u=e.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:h.direction,i=((f=e.state.data)==null?void 0:f.pages)||[],s=((C=e.state.data)==null?void 0:C.pageParams)||[];let a={pages:[],pageParams:[]},c=0;const l=async()=>{let p=!1;const v=y=>{uv(y,()=>e.signal,()=>p=!0)},E=Uf(e.options,e.fetchOptions),b=async(y,T,N)=>{if(p)return Promise.reject(e.signal.reason);if(T==null&&y.pages.length)return Promise.resolve(y);const B=(()=>{const Z={client:e.client,queryKey:e.queryKey,pageParam:T,direction:N?"backward":"forward",meta:e.options.meta};return v(Z),Z})(),F=await E(B),{maxPages:O}=e.options,Q=N?lv:cv;return{pages:Q(y.pages,F,O),pageParams:Q(y.pageParams,T,O)}};if(o&&i.length){const y=o==="backward",T=y?yv:$u,N={pages:i,pageParams:s},z=T(r,N);a=await b(N,z,y)}else{const y=n??i.length;do{const T=c===0?s[0]??r.initialPageParam:$u(r,a);if(c>0&&T==null)break;a=await b(a,T),c++}while(c{var p,v;return(v=(p=e.options).persister)==null?void 0:v.call(p,l,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},t)}:e.fetchFn=l}}}function $u(n,{pages:e,pageParams:t}){const r=e.length-1;return e.length>0?n.getNextPageParam(e[r],e,t[r],t):void 0}function yv(n,{pages:e,pageParams:t}){var r;return e.length>0?(r=n.getPreviousPageParam)==null?void 0:r.call(n,e[0],e,t[0],t):void 0}var go,kr,po,Qt,Or,st,gi,Pr,Ft,qf,Pn,sh,Cv=(sh=class extends Kf{constructor(e){super();ye(this,Ft);ye(this,go);ye(this,kr);ye(this,po);ye(this,Qt);ye(this,Or);ye(this,st);ye(this,gi);ye(this,Pr);se(this,Pr,!1),se(this,gi,e.defaultOptions),this.setOptions(e.options),this.observers=[],se(this,Or,e.client),se(this,Qt,k(this,Or).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,se(this,kr,Gu(this.options)),this.state=e.state??k(this,kr),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return k(this,go)}get promise(){var e;return(e=k(this,st))==null?void 0:e.promise}setOptions(e){if(this.options={...k(this,gi),...e},e!=null&&e._type&&se(this,go,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Gu(this.options);t.data!==void 0&&(this.setState(ju(t.data,t.dataUpdatedAt)),se(this,kr,t))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&k(this,Qt).remove(this)}setData(e,t){const r=av(this.state.data,e,this.options);return lt(this,Ft,Pn).call(this,{data:r,type:"success",dataUpdatedAt:t==null?void 0:t.updatedAt,manual:t==null?void 0:t.manual}),r}setState(e){lt(this,Ft,Pn).call(this,{type:"setState",state:e})}cancel(e){var r,o;const t=(r=k(this,st))==null?void 0:r.promise;return(o=k(this,st))==null||o.cancel(e),t?t.then(Jt).catch(Jt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return k(this,kr)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>ov(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Wc||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Ja(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!rv(this.state.dataUpdatedAt,e)}onFocus(){var t;const e=this.observers.find(r=>r.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(t=k(this,st))==null||t.continue()}onOnline(){var t;const e=this.observers.find(r=>r.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(t=k(this,st))==null||t.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),k(this,Qt).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(k(this,st)&&(k(this,Pr)||lt(this,Ft,qf).call(this)?k(this,st).cancel({revert:!0}):k(this,st).cancelRetry()),this.scheduleGc()),k(this,Qt).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||lt(this,Ft,Pn).call(this,{type:"invalidate"})}async fetch(e,t){var l,u,d,h,f,C,p,v,E,b,y;if(this.state.fetchStatus!=="idle"&&((l=k(this,st))==null?void 0:l.status())!=="rejected"){if(this.state.data!==void 0&&(t!=null&&t.cancelRefetch))this.cancel({silent:!0});else if(k(this,st))return k(this,st).continueRetry(),k(this,st).promise}if(e&&this.setOptions(e),!this.options.queryFn){const T=this.observers.find(N=>N.options.queryFn);T&&this.setOptions(T.options)}const r=new AbortController,o=T=>{Object.defineProperty(T,"signal",{enumerable:!0,get:()=>(se(this,Pr,!0),r.signal)})},i=()=>{const T=Uf(this.options,t),z=(()=>{const B={client:k(this,Or),queryKey:this.queryKey,meta:this.meta};return o(B),B})();return se(this,Pr,!1),this.options.persister?this.options.persister(T,z,this):T(z)},a=(()=>{const T={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:k(this,Or),state:this.state,fetchFn:i};return o(T),T})(),c=k(this,go)==="infinite"?mv(this.options.pages):this.options.behavior;c==null||c.onFetch(a,this),se(this,po,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=a.fetchOptions)==null?void 0:u.meta))&<(this,Ft,Pn).call(this,{type:"fetch",meta:(d=a.fetchOptions)==null?void 0:d.meta}),se(this,st,Bf({initialPromise:t==null?void 0:t.initialPromise,fn:a.fetchFn,onCancel:T=>{T instanceof Za&&T.revert&&this.setState({...k(this,po),fetchStatus:"idle"}),r.abort()},onFail:(T,N)=>{lt(this,Ft,Pn).call(this,{type:"failed",failureCount:T,error:N})},onPause:()=>{lt(this,Ft,Pn).call(this,{type:"pause"})},onContinue:()=>{lt(this,Ft,Pn).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const T=await k(this,st).start();if(T===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(T),(f=(h=k(this,Qt).config).onSuccess)==null||f.call(h,T,this),(p=(C=k(this,Qt).config).onSettled)==null||p.call(C,T,this.state.error,this),T}catch(T){if(T instanceof Za){if(T.silent)return k(this,st).promise;if(T.revert){if(this.state.data===void 0)throw T;return this.state.data}}throw lt(this,Ft,Pn).call(this,{type:"error",error:T}),(E=(v=k(this,Qt).config).onError)==null||E.call(v,T,this),(y=(b=k(this,Qt).config).onSettled)==null||y.call(b,this.state.data,T,this),T}finally{this.scheduleGc()}}},go=new WeakMap,kr=new WeakMap,po=new WeakMap,Qt=new WeakMap,Or=new WeakMap,st=new WeakMap,gi=new WeakMap,Pr=new WeakMap,Ft=new WeakSet,qf=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Pn=function(e){const t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...vv(r.data,this.options),fetchMeta:e.meta??null};case"success":const o={...r,...ju(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return se(this,po,e.manual?o:void 0),o;case"error":const i=e.error;return{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),St.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),k(this,Qt).notify({query:this,type:"updated",action:e})})},sh);function vv(n,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ff(e.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function ju(n,e){return{data:n,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Gu(n){const e=typeof n.initialData=="function"?n.initialData():n.initialData,t=e!==void 0,r=t?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:t?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:t?"success":"pending",fetchStatus:"idle"}}var pi,gn,gt,Nr,pn,Zn,ah,Tv=(ah=class extends Kf{constructor(e){super();ye(this,pn);ye(this,pi);ye(this,gn);ye(this,gt);ye(this,Nr);se(this,pi,e.client),this.mutationId=e.mutationId,se(this,gt,e.mutationCache),se(this,gn,[]),this.state=e.state||Av(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){k(this,gn).includes(e)||(k(this,gn).push(e),this.clearGcTimeout(),k(this,gt).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){se(this,gn,k(this,gn).filter(t=>t!==e)),this.scheduleGc(),k(this,gt).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){k(this,gn).length||(this.state.status==="pending"?this.scheduleGc():k(this,gt).remove(this))}continue(){var e;return((e=k(this,Nr))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var s,a,c,l,u,d,h,f,C,p,v,E,b,y,T,N,z,B;const t=()=>{lt(this,pn,Zn).call(this,{type:"continue"})},r={client:k(this,pi),meta:this.options.meta,mutationKey:this.options.mutationKey};se(this,Nr,Bf({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(F,O)=>{lt(this,pn,Zn).call(this,{type:"failed",failureCount:F,error:O})},onPause:()=>{lt(this,pn,Zn).call(this,{type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>k(this,gt).canRun(this)}));const o=this.state.status==="pending",i=!k(this,Nr).canStart();try{if(o)t();else{lt(this,pn,Zn).call(this,{type:"pending",variables:e,isPaused:i}),k(this,gt).config.onMutate&&await k(this,gt).config.onMutate(e,this,r);const O=await((a=(s=this.options).onMutate)==null?void 0:a.call(s,e,r));O!==this.state.context&<(this,pn,Zn).call(this,{type:"pending",context:O,variables:e,isPaused:i})}const F=await k(this,Nr).start();return await((l=(c=k(this,gt).config).onSuccess)==null?void 0:l.call(c,F,e,this.state.context,this,r)),await((d=(u=this.options).onSuccess)==null?void 0:d.call(u,F,e,this.state.context,r)),await((f=(h=k(this,gt).config).onSettled)==null?void 0:f.call(h,F,null,this.state.variables,this.state.context,this,r)),await((p=(C=this.options).onSettled)==null?void 0:p.call(C,F,null,e,this.state.context,r)),lt(this,pn,Zn).call(this,{type:"success",data:F}),F}catch(F){try{await((E=(v=k(this,gt).config).onError)==null?void 0:E.call(v,F,e,this.state.context,this,r))}catch(O){Promise.reject(O)}try{await((y=(b=this.options).onError)==null?void 0:y.call(b,F,e,this.state.context,r))}catch(O){Promise.reject(O)}try{await((N=(T=k(this,gt).config).onSettled)==null?void 0:N.call(T,void 0,F,this.state.variables,this.state.context,this,r))}catch(O){Promise.reject(O)}try{await((B=(z=this.options).onSettled)==null?void 0:B.call(z,void 0,F,e,this.state.context,r))}catch(O){Promise.reject(O)}throw lt(this,pn,Zn).call(this,{type:"error",error:F}),F}finally{k(this,gt).runNext(this)}}},pi=new WeakMap,gn=new WeakMap,gt=new WeakMap,Nr=new WeakMap,pn=new WeakSet,Zn=function(e){const t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),St.batch(()=>{k(this,gn).forEach(r=>{r.onMutationUpdate(e)}),k(this,gt).notify({mutation:this,type:"updated",action:e})})},ah);function Av(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Dn,Xt,mi,ch,$f=(ch=class extends Fs{constructor(t={}){super();ye(this,Dn);ye(this,Xt);ye(this,mi);this.config=t,se(this,Dn,new Set),se(this,Xt,new Map),se(this,mi,0)}build(t,r,o){const i=new Tv({client:t,mutationCache:this,mutationId:++Pi(this,mi)._,options:t.defaultMutationOptions(r),state:o});return this.add(i),i}add(t){k(this,Dn).add(t);const r=Li(t);if(typeof r=="string"){const o=k(this,Xt).get(r);o?o.push(t):k(this,Xt).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if(k(this,Dn).delete(t)){const r=Li(t);if(typeof r=="string"){const o=k(this,Xt).get(r);if(o)if(o.length>1){const i=o.indexOf(t);i!==-1&&o.splice(i,1)}else o[0]===t&&k(this,Xt).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=Li(t);if(typeof r=="string"){const o=k(this,Xt).get(r),i=o==null?void 0:o.find(s=>s.state.status==="pending");return!i||i===t}else return!0}runNext(t){var o;const r=Li(t);if(typeof r=="string"){const i=(o=k(this,Xt).get(r))==null?void 0:o.find(s=>s!==t&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){St.batch(()=>{k(this,Dn).forEach(t=>{this.notify({type:"removed",mutation:t})}),k(this,Dn).clear(),k(this,Xt).clear()})}getAll(){return Array.from(k(this,Dn))}find(t){const r={exact:!0,...t};return this.getAll().find(o=>Bu(r,o))}findAll(t={}){return this.getAll().filter(r=>Bu(t,r))}notify(t){St.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return St.batch(()=>Promise.all(t.map(r=>r.continue().catch(Jt))))}},Dn=new WeakMap,Xt=new WeakMap,mi=new WeakMap,ch);function Li(n){var e;return(e=n.options.scope)==null?void 0:e.id}var mn,lh,jf=(lh=class extends Fs{constructor(t={}){super();ye(this,mn);this.config=t,se(this,mn,new Map)}build(t,r,o){const i=r.queryKey,s=r.queryHash??Qc(i,r);let a=this.get(s);return a||(a=new Cv({client:t,queryKey:i,queryHash:s,options:t.defaultQueryOptions(r),state:o,defaultOptions:t.getQueryDefaults(i)}),this.add(a)),a}add(t){k(this,mn).has(t.queryHash)||(k(this,mn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=k(this,mn).get(t.queryHash);r&&(t.destroy(),r===t&&k(this,mn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){St.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return k(this,mn).get(t)}getAll(){return[...k(this,mn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(o=>Fu(r,o))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(o=>Fu(t,o)):r}notify(t){St.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){St.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){St.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},mn=new WeakMap,lh),Ve,sr,ar,mo,yo,cr,Co,vo,uh,Ev=(uh=class{constructor(e={}){ye(this,Ve);ye(this,sr);ye(this,ar);ye(this,mo);ye(this,yo);ye(this,cr);ye(this,Co);ye(this,vo);se(this,Ve,e.queryCache||new jf),se(this,sr,e.mutationCache||new $f),se(this,ar,e.defaultOptions||{}),se(this,mo,new Map),se(this,yo,new Map),se(this,cr,0)}mount(){Pi(this,cr)._++,k(this,cr)===1&&(se(this,Co,xf.subscribe(async e=>{e&&(await this.resumePausedMutations(),k(this,Ve).onFocus())})),se(this,vo,ls.subscribe(async e=>{e&&(await this.resumePausedMutations(),k(this,Ve).onOnline())})))}unmount(){var e,t;Pi(this,cr)._--,k(this,cr)===0&&((e=k(this,Co))==null||e.call(this),se(this,Co,void 0),(t=k(this,vo))==null||t.call(this),se(this,vo,void 0))}isFetching(e){return k(this,Ve).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return k(this,sr).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=k(this,Ve).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=k(this,Ve).build(this,t),o=r.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Ja(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(o))}getQueriesData(e){return k(this,Ve).findAll(e).map(({queryKey:t,state:r})=>{const o=r.data;return[t,o]})}setQueryData(e,t,r){const o=this.defaultQueryOptions({queryKey:e}),i=k(this,Ve).get(o.queryHash),s=i==null?void 0:i.state.data,a=tv(t,s);if(a!==void 0)return k(this,Ve).build(this,o).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return St.batch(()=>k(this,Ve).findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=k(this,Ve).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=k(this,Ve);St.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=k(this,Ve);return St.batch(()=>(r.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},o=St.batch(()=>k(this,Ve).findAll(e).map(i=>i.cancel(r)));return Promise.all(o).then(Jt).catch(Jt)}invalidateQueries(e,t={}){return St.batch(()=>(k(this,Ve).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},o=St.batch(()=>k(this,Ve).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,r);return r.throwOnError||(s=s.catch(Jt)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(o).then(Jt)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=k(this,Ve).build(this,t);return r.isStaleByTime(Ja(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Jt).catch(Jt)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Jt).catch(Jt)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return ls.isOnline()?k(this,sr).resumePausedMutations():Promise.resolve()}getQueryCache(){return k(this,Ve)}getMutationCache(){return k(this,sr)}getDefaultOptions(){return k(this,ar)}setDefaultOptions(e){se(this,ar,e)}setQueryDefaults(e,t){k(this,mo).set(ui(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...k(this,mo).values()],r={};return t.forEach(o=>{di(e,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(e,t){k(this,yo).set(ui(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...k(this,yo).values()],r={};return t.forEach(o=>{di(e,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...k(this,ar).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Qc(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Wc&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...k(this,ar).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){k(this,Ve).clear(),k(this,sr).clear()}},Ve=new WeakMap,sr=new WeakMap,ar=new WeakMap,mo=new WeakMap,yo=new WeakMap,cr=new WeakMap,Co=new WeakMap,vo=new WeakMap,uh),wv="VUE_QUERY_CLIENT";function _v(n){const e=n?`:${n}`:"";return`${wv}${e}`}function ec(n,e,t="",r=0){if(e){const o=e(n,t,r);if(o===void 0&&qe(n)||o!==void 0)return o}if(Array.isArray(n))return n.map((o,i)=>ec(o,e,String(i),r+1));if(typeof n=="object"&&Iv(n)){const o=Object.entries(n).map(([i,s])=>[i,ec(s,e,i,r+1)]);return Object.fromEntries(o)}return n}function bv(n,e){return ec(n,e)}function me(n,e=!1){return bv(n,(t,r,o)=>{if(o===1&&r==="queryKey")return me(t,!0);if(e&&Sv(t))return me(t(),e);if(qe(t))return me(dt(t),e)})}function Iv(n){if(Object.prototype.toString.call(n)!=="[object Object]")return!1;const e=Object.getPrototypeOf(n);return e===null||e===Object.prototype}function Sv(n){return typeof n=="function"}var Rv=class extends jf{find(n){return super.find(me(n))}findAll(n={}){return super.findAll(me(n))}},kv=class extends $f{find(n){return super.find(me(n))}findAll(n={}){return super.findAll(me(n))}},Ov=class extends Ev{constructor(n={}){const e={defaultOptions:n.defaultOptions,queryCache:n.queryCache||new Rv,mutationCache:n.mutationCache||new kv};super(e),this.isRestoring=Oe(!1)}isFetching(n={}){return super.isFetching(me(n))}isMutating(n={}){return super.isMutating(me(n))}getQueryData(n){return super.getQueryData(me(n))}ensureQueryData(n){return super.ensureQueryData(me(n))}getQueriesData(n){return super.getQueriesData(me(n))}setQueryData(n,e,t={}){return super.setQueryData(me(n),e,me(t))}setQueriesData(n,e,t={}){return super.setQueriesData(me(n),e,me(t))}getQueryState(n){return super.getQueryState(me(n))}removeQueries(n={}){return super.removeQueries(me(n))}resetQueries(n={},e={}){return super.resetQueries(me(n),me(e))}cancelQueries(n={},e={}){return super.cancelQueries(me(n),me(e))}invalidateQueries(n={},e={}){const t=me(n),r=me(e);if(super.invalidateQueries({...t,refetchType:"none"},r),t.refetchType==="none")return Promise.resolve();const o={...t,type:t.refetchType??t.type??"active"};return Ti().then(()=>super.refetchQueries(o,r))}refetchQueries(n={},e={}){return super.refetchQueries(me(n),me(e))}fetchQuery(n){return super.fetchQuery(me(n))}prefetchQuery(n){return super.prefetchQuery(me(n))}fetchInfiniteQuery(n){return super.fetchInfiniteQuery(me(n))}prefetchInfiniteQuery(n){return super.prefetchInfiniteQuery(me(n))}setDefaultOptions(n){super.setDefaultOptions(me(n))}setQueryDefaults(n,e){super.setQueryDefaults(me(n),me(e))}getQueryDefaults(n){return super.getQueryDefaults(me(n))}setMutationDefaults(n,e){super.setMutationDefaults(me(n),me(e))}getMutationDefaults(n){return super.getMutationDefaults(me(n))}},Pv={install:(n,e={})=>{const t=_v(e.queryClientKey);let r;if("queryClient"in e&&e.queryClient)r=e.queryClient;else{const s="queryClientConfig"in e?e.queryClientConfig:void 0;r=new Ov(s)}Df||r.mount();let o=()=>{};if(e.clientPersister){r.isRestoring&&(r.isRestoring.value=!0);const[s,a]=e.clientPersister(r);o=s,a.then(()=>{var c;r.isRestoring&&(r.isRestoring.value=!1),(c=e.clientPersisterOnSuccess)==null||c.call(e,r)})}const i=()=>{r.unmount(),o()};if(n.onUnmount)n.onUnmount(i);else{const s=n.unmount;n.unmount=function(){i(),s()}}n.provide(t,r)}},Nv=Object.defineProperty,Mv=(n,e,t)=>e in n?Nv(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,At=(n,e,t)=>Mv(n,typeof e!="symbol"?e+"":e,t);function xv(n){if(typeof document>"u")return;function e(){let t=document.head||document.getElementsByTagName("head")[0];if(!t)return;let r=document.createElement("style");r.type="text/css",t.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}xv(":where([data-sonner-toaster][dir=ltr]),:where(html[dir=ltr]){--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}:where([data-sonner-toaster][dir=rtl]),:where(html[dir=rtl]){--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted=true]){transform:translateY(-10px)}@media (hover:none) and (pointer:coarse){:where([data-sonner-toaster][data-lifted=true]){transform:none}}:where([data-sonner-toaster][data-x-position=right]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position=left]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position=center]){left:50%;transform:translateX(-50%)}:where([data-sonner-toaster][data-y-position=top]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position=bottom]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled=true]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}:where([data-sonner-toast][data-y-position=top]){top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position=bottom]){bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise=true]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme=dark]) :where([data-cancel]){background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}:where([data-sonner-toast]) :where([data-disabled=true]){cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping=true])::before{content:'';position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position=top][data-swiping=true])::before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position=bottom][data-swiping=true])::before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping=false][data-removed=true])::before{content:'';position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast])::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted=true]){--y:translateY(0);opacity:1}:where([data-sonner-toast][data-expanded=false][data-front=false]){--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded=false][data-front=false][data-styled=true])>*{opacity:0}:where([data-sonner-toast][data-visible=false]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted=true][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]){--y:translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]){--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed=true][data-front=false])::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{from{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;--mobile-offset:16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 91%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 91%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 91%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 100%, 12%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 12%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let tc=0;class Dv{constructor(){At(this,"subscribers"),At(this,"toasts"),At(this,"subscribe",e=>(this.subscribers.push(e),()=>{const t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)})),At(this,"publish",e=>{this.subscribers.forEach(t=>t(e))}),At(this,"addToast",e=>{this.publish(e),this.toasts=[...this.toasts,e]}),At(this,"create",e=>{var t;const{message:r,...o}=e,i=typeof e.id=="number"||e.id&&((t=e.id)==null?void 0:t.length)>0?e.id:tc++,s=this.toasts.find(c=>c.id===i),a=e.dismissible===void 0?!0:e.dismissible;return s?this.toasts=this.toasts.map(c=>c.id===i?(this.publish({...c,...e,id:i,title:r}),{...c,...e,id:i,dismissible:a,title:r}):c):this.addToast({title:r,...o,dismissible:a,id:i}),i}),At(this,"dismiss",e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(r=>r({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e)),At(this,"message",(e,t)=>this.create({...t,message:e,type:"default"})),At(this,"error",(e,t)=>this.create({...t,type:"error",message:e})),At(this,"success",(e,t)=>this.create({...t,type:"success",message:e})),At(this,"info",(e,t)=>this.create({...t,type:"info",message:e})),At(this,"warning",(e,t)=>this.create({...t,type:"warning",message:e})),At(this,"loading",(e,t)=>this.create({...t,type:"loading",message:e})),At(this,"promise",(e,t)=>{if(!t)return;let r;t.loading!==void 0&&(r=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));const o=e instanceof Promise?e:e();let i=r!==void 0,s;const a=o.then(async l=>{if(s=["resolve",l],Uv(l)&&!l.ok){i=!1;const u=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,d=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:r,type:"error",message:u,description:d})}else if(t.success!==void 0){i=!1;const u=typeof t.success=="function"?await t.success(l):t.success,d=typeof t.description=="function"?await t.description(l):t.description;this.create({id:r,type:"success",message:u,description:d})}}).catch(async l=>{if(s=["reject",l],t.error!==void 0){i=!1;const u=typeof t.error=="function"?await t.error(l):t.error,d=typeof t.description=="function"?await t.description(l):t.description;this.create({id:r,type:"error",message:u,description:d})}}).finally(()=>{var l;i&&(this.dismiss(r),r=void 0),(l=t.finally)==null||l.call(t)}),c=()=>new Promise((l,u)=>a.then(()=>s[0]==="reject"?u(s[1]):l(s[1])).catch(u));return typeof r!="string"&&typeof r!="number"?{unwrap:c}:Object.assign(r,{unwrap:c})}),At(this,"custom",(e,t)=>{const r=(t==null?void 0:t.id)||tc++;return this.publish({component:e,id:r,...t}),r}),this.subscribers=[],this.toasts=[]}}const Ut=new Dv;function Lv(n,e){const t=(e==null?void 0:e.id)||tc++;return Ut.create({message:n,id:t,type:"default",...e}),t}const Uv=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",Hv=Lv,Fv=()=>Ut.toasts,sS=Object.assign(Hv,{success:Ut.success,info:Ut.info,warning:Ut.warning,error:Ut.error,custom:Ut.custom,message:Ut.message,promise:Ut.promise,dismiss:Ut.dismiss,loading:Ut.loading},{getHistory:Fv});function Ui(n){return n.label!==void 0}function Bv(){const n=Oe(!1);return eo(()=>{const e=()=>{n.value=document.hidden};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)}),{isDocumentHidden:n}}const Kv=["aria-live","data-rich-colors","data-styled","data-mounted","data-promise","data-removed","data-visible","data-y-position","data-x-position","data-index","data-front","data-swiping","data-dismissible","data-type","data-invert","data-swipe-out","data-expanded"],qv=["aria-label","data-disabled"],$v=4e3,jv=20,Gv=200,Vv=ko({__name:"Toast",props:{toast:{},toasts:{},index:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},pauseWhenPageIsHidden:{type:Boolean},cn:{type:Function},defaultRichColors:{type:Boolean}},emits:["update:heights","removeToast"],setup(n,{emit:e}){const t=n,r=e,o=Oe(!1),i=Oe(!1),s=Oe(!1),a=Oe(!1),c=Oe(!1),l=Oe(0),u=Oe(0),d=Oe(t.toast.duration||t.duration||$v),h=Oe(null),f=Oe(null),C=Te(()=>t.index===0),p=Te(()=>t.index+1<=t.visibleToasts),v=Te(()=>t.toast.type),E=Te(()=>t.toast.dismissible!==!1),b=Te(()=>t.toast.class||""),y=Te(()=>t.descriptionClass||""),T=t.toast.style||{},N=Te(()=>t.heights.findIndex(S=>S.toastId===t.toast.id)||0),z=Te(()=>t.toast.closeButton??t.closeButton),B=Oe(0),F=Oe(0),O=Oe(null),Q=Te(()=>t.position.split("-")),Z=Te(()=>Q.value[0]),$=Te(()=>Q.value[1]),ce=Te(()=>typeof t.toast.title!="string"),fe=Te(()=>typeof t.toast.description!="string"),Be=Te(()=>t.heights.reduce((S,de,I)=>I>=N.value?S:S+de.height,0)),pe=Bv(),ie=Te(()=>t.toast.invert||t.invert),he=Te(()=>v.value==="loading"),Se=Te(()=>N.value*t.gap+Be.value||0);is(()=>{if(!o.value)return;const S=f.value,de=S==null?void 0:S.style.height;S.style.height="auto";const I=S.getBoundingClientRect().height;S.style.height=de,u.value=I;let D;t.heights.find(U=>U.toastId===t.toast.id)?D=t.heights.map(U=>U.toastId===t.toast.id?{...U,height:I}:U):D=[{toastId:t.toast.id,height:I,position:t.toast.position},...t.heights],r("update:heights",D)});function Pe(){i.value=!0,l.value=Se.value;const S=t.heights.filter(de=>de.toastId!==t.toast.id);r("update:heights",S),setTimeout(()=>{r("removeToast",t.toast)},Gv)}function Qe(){var S,de;if(he.value||!E.value)return{};Pe(),(de=(S=t.toast).onDismiss)==null||de.call(S,t.toast)}function Ze(S){he.value||!E.value||(h.value=new Date,l.value=Se.value,S.target.setPointerCapture(S.pointerId),S.target.tagName!=="BUTTON"&&(s.value=!0,O.value={x:S.clientX,y:S.clientY}))}function Ue(){var S,de,I,D,U;if(a.value||!E)return;O.value=null;const W=Number(((S=f.value)==null?void 0:S.style.getPropertyValue("--swipe-amount").replace("px",""))||0),le=new Date().getTime()-((de=h.value)==null?void 0:de.getTime()),g=Math.abs(W)/le;if(Math.abs(W)>=jv||g>.11){l.value=Se.value,(D=(I=t.toast).onDismiss)==null||D.call(I,t.toast),Pe(),a.value=!0,c.value=!1;return}(U=f.value)==null||U.style.setProperty("--swipe-amount","0px"),s.value=!1}function ct(S){var de,I;if(!O.value||!E.value)return;const D=S.clientY-O.value.y,U=((de=window.getSelection())==null?void 0:de.toString().length)>0,W=Z.value==="top"?Math.min(0,D):Math.max(0,D);Math.abs(W)>0&&(c.value=!0),!U&&((I=f.value)==null||I.style.setProperty("--swipe-amount",`${W}px`))}return eo(S=>{if(t.toast.promise&&v.value==="loading"||t.toast.duration===1/0||t.toast.type==="loading")return;let de;const I=()=>{if(F.value{d.value!==1/0&&(B.value=new Date().getTime(),de=setTimeout(()=>{var U,W;(W=(U=t.toast).onAutoClose)==null||W.call(U,t.toast),Pe()},d.value))};t.expanded||t.interacting||t.pauseWhenPageIsHidden&&pe?I():D(),S(()=>{clearTimeout(de)})}),xr(()=>t.toast.delete,()=>{t.toast.delete&&Pe()},{deep:!0}),is(()=>{if(o.value=!0,f.value){const S=f.value.getBoundingClientRect().height;u.value=S;const de=[{toastId:t.toast.id,height:S,position:t.toast.position},...t.heights];r("update:heights",de)}}),qc(()=>{if(f.value){const S=t.heights.filter(de=>de.toastId!==t.toast.id);r("update:heights",S)}}),(S,de)=>{var I,D,U,W,le,g,m,A,P,x,M,G,j,K,L,te,V,X,re,Ce,we,Re,$e,Xe,Mt,xt,zn;return Ee(),je("li",{ref_key:"toastRef",ref:f,"aria-live":S.toast.important?"assertive":"polite","aria-atomic":"true",role:"status",tabindex:"0","data-sonner-toast":"true",class:Ht(S.cn(t.class,b.value,(I=S.classes)==null?void 0:I.toast,(D=S.toast.classes)==null?void 0:D.toast,(U=S.classes)==null?void 0:U[v.value],(le=(W=S.toast)==null?void 0:W.classes)==null?void 0:le[v.value])),"data-rich-colors":S.toast.richColors??S.defaultRichColors,"data-styled":!(S.toast.component||(g=S.toast)!=null&&g.unstyled||S.unstyled),"data-mounted":o.value,"data-promise":!!S.toast.promise,"data-removed":i.value,"data-visible":p.value,"data-y-position":Z.value,"data-x-position":$.value,"data-index":S.index,"data-front":C.value,"data-swiping":s.value,"data-dismissible":E.value,"data-type":v.value,"data-invert":ie.value,"data-swipe-out":a.value,"data-expanded":!!(S.expanded||S.expandByDefault&&o.value),style:lr({"--index":S.index,"--toasts-before":S.index,"--z-index":S.toasts.length-S.index,"--offset":`${i.value?l.value:Se.value}px`,"--initial-height":S.expandByDefault?"auto":`${u.value}px`,...S.style,...dt(T)}),onPointerdown:Ze,onPointerup:Ue,onPointermove:ct},[z.value&&!S.toast.component?(Ee(),je("button",{key:0,"aria-label":S.closeButtonAriaLabel||"Close toast","data-disabled":he.value,"data-close-button":"true",class:Ht(S.cn((m=S.classes)==null?void 0:m.closeButton,(P=(A=S.toast)==null?void 0:A.classes)==null?void 0:P.closeButton)),onClick:Qe},[(x=S.icons)!=null&&x.close?(Ee(),Hn(Do((M=S.icons)==null?void 0:M.close),{key:0})):Wt(S.$slots,"close-icon",{key:1})],10,qv)):Ar("",!0),S.toast.component?(Ee(),Hn(Do(S.toast.component),Yo({key:1},S.toast.componentProps,{onCloseToast:Qe}),null,16)):(Ee(),je(We,{key:2},[v.value!=="default"||S.toast.icon||S.toast.promise?(Ee(),je("div",{key:0,"data-icon":"",class:Ht(S.cn((G=S.classes)==null?void 0:G.icon,(K=(j=S.toast)==null?void 0:j.classes)==null?void 0:K.icon))},[S.toast.icon?(Ee(),Hn(Do(S.toast.icon),{key:0})):(Ee(),je(We,{key:1},[v.value==="loading"?Wt(S.$slots,"loading-icon",{key:0}):v.value==="success"?Wt(S.$slots,"success-icon",{key:1}):v.value==="error"?Wt(S.$slots,"error-icon",{key:2}):v.value==="warning"?Wt(S.$slots,"warning-icon",{key:3}):v.value==="info"?Wt(S.$slots,"info-icon",{key:4}):Ar("",!0)],64))],2)):Ar("",!0),sn("div",{"data-content":"",class:Ht(S.cn((L=S.classes)==null?void 0:L.content,(V=(te=S.toast)==null?void 0:te.classes)==null?void 0:V.content))},[sn("div",{"data-title":"",class:Ht(S.cn((X=S.classes)==null?void 0:X.title,(re=S.toast.classes)==null?void 0:re.title))},[ce.value?(Ee(),Hn(Do(S.toast.title),Yl(Yo({key:0},S.toast.componentProps)),null,16)):(Ee(),je(We,{key:1},[Ga(Fo(S.toast.title),1)],64))],2),S.toast.description?(Ee(),je("div",{key:0,"data-description":"",class:Ht(S.cn(S.descriptionClass,y.value,(Ce=S.classes)==null?void 0:Ce.description,(we=S.toast.classes)==null?void 0:we.description))},[fe.value?(Ee(),Hn(Do(S.toast.description),Yl(Yo({key:0},S.toast.componentProps)),null,16)):(Ee(),je(We,{key:1},[Ga(Fo(S.toast.description),1)],64))],2)):Ar("",!0)],2),S.toast.cancel?(Ee(),je("button",{key:1,style:lr(S.toast.cancelButtonStyle||S.cancelButtonStyle),class:Ht(S.cn((Re=S.classes)==null?void 0:Re.cancelButton,($e=S.toast.classes)==null?void 0:$e.cancelButton)),"data-button":"","data-cancel":"",onClick:de[0]||(de[0]=Qn=>{var et,ft;dt(Ui)(S.toast.cancel)&&E.value&&((ft=(et=S.toast.cancel).onClick)==null||ft.call(et,Qn),Pe())})},Fo(dt(Ui)(S.toast.cancel)?(Xe=S.toast.cancel)==null?void 0:Xe.label:S.toast.cancel),7)):Ar("",!0),S.toast.action?(Ee(),je("button",{key:2,style:lr(S.toast.actionButtonStyle||S.actionButtonStyle),class:Ht(S.cn((Mt=S.classes)==null?void 0:Mt.actionButton,(xt=S.toast.classes)==null?void 0:xt.actionButton)),"data-button":"","data-action":"",onClick:de[1]||(de[1]=Qn=>{var et,ft;dt(Ui)(S.toast.action)&&(Qn.defaultPrevented||((ft=(et=S.toast.action).onClick)==null||ft.call(et,Qn),!Qn.defaultPrevented&&Pe()))})},Fo(dt(Ui)(S.toast.action)?(zn=S.toast.action)==null?void 0:zn.label:S.toast.action),7)):Ar("",!0)],64))],46,Kv)}}}),Ei=(n,e)=>{const t=n.__vccOpts||n;for(const[r,o]of e)t[r]=o;return t},zv={},Qv={xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stoke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function Wv(n,e){return Ee(),je("svg",Qv,e[0]||(e[0]=[sn("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),sn("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)]))}const Yv=Ei(zv,[["render",Wv]]),Jv=["data-visible"],Xv={class:"sonner-spinner"},Zv=ko({__name:"Loader",props:{visible:{type:Boolean}},setup(n){const e=Array(12).fill(0);return(t,r)=>(Ee(),je("div",{class:"sonner-loading-wrapper","data-visible":t.visible},[sn("div",Xv,[(Ee(!0),je(We,null,Ba(dt(e),o=>(Ee(),je("div",{key:`spinner-bar-${o}`,class:"sonner-loading-bar"}))),128))])],8,Jv))}}),eT={},tT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function nT(n,e){return Ee(),je("svg",tT,e[0]||(e[0]=[sn("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"},null,-1)]))}const rT=Ei(eT,[["render",nT]]),oT={},iT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function sT(n,e){return Ee(),je("svg",iT,e[0]||(e[0]=[sn("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z","clip-rule":"evenodd"},null,-1)]))}const aT=Ei(oT,[["render",sT]]),cT={},lT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"};function uT(n,e){return Ee(),je("svg",lT,e[0]||(e[0]=[sn("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z","clip-rule":"evenodd"},null,-1)]))}const dT=Ei(cT,[["render",uT]]),hT={},fT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function gT(n,e){return Ee(),je("svg",fT,e[0]||(e[0]=[sn("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"},null,-1)]))}const pT=Ei(hT,[["render",gT]]),mT=["aria-label"],yT=["dir","data-theme","data-rich-colors","data-y-position","data-x-position","data-lifted"],CT=3,Vu="32px",vT=356,TT=14,AT=typeof window<"u"&&typeof document<"u";function ET(...n){return n.filter(Boolean).join(" ")}const wT=ko({name:"Toaster",inheritAttrs:!1,__name:"Toaster",props:{invert:{type:Boolean,default:!1},theme:{default:"light"},position:{default:"bottom-right"},hotkey:{default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:TT},visibleToasts:{default:CT},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{default:()=>({})},offset:{default:Vu},dir:{default:"auto"},icons:{},containerAriaLabel:{default:"Notifications"},pauseWhenPageIsHidden:{type:Boolean,default:!1},cn:{type:Function,default:ET}},setup(n){const e=n;function t(){if(typeof window>"u"||typeof document>"u")return"ltr";const y=document.documentElement.getAttribute("dir");return y==="auto"||!y?window.getComputedStyle(document.documentElement).direction:y}const r=_y(),o=Oe([]),i=Te(()=>(y,T)=>o.value.filter(N=>!N.position&&T===0||N.position===y)),s=Te(()=>{const y=o.value.filter(T=>T.position).map(T=>T.position);return y.length>0?Array.from(new Set([e.position].concat(y))):[e.position]}),a=Oe([]),c=Oe(!1),l=Oe(!1),u=Oe(e.theme!=="system"?e.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),d=Oe(null),h=Oe(null),f=Oe(!1),C=e.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function p(y){var T;(T=o.value.find(N=>N.id===y.id))!=null&&T.delete||Ut.dismiss(y.id),o.value=o.value.filter(({id:N})=>N!==y.id)}function v(y){var T,N;f.value&&!((N=(T=y.currentTarget)==null?void 0:T.contains)!=null&&N.call(T,y.relatedTarget))&&(f.value=!1,h.value&&(h.value.focus({preventScroll:!0}),h.value=null))}function E(y){y.target instanceof HTMLElement&&y.target.dataset.dismissible==="false"||f.value||(f.value=!0,h.value=y.relatedTarget)}function b(y){y.target&&y.target instanceof HTMLElement&&y.target.dataset.dismissible==="false"||(l.value=!0)}return eo(y=>{const T=Ut.subscribe(N=>{if(N.dismiss){o.value=o.value.map(z=>z.id===N.id?{...z,delete:!0}:z);return}Ti(()=>{const z=o.value.findIndex(B=>B.id===N.id);z!==-1?o.value=[...o.value.slice(0,z),{...o.value[z],...N},...o.value.slice(z+1)]:o.value=[N,...o.value]})});y(T)}),xr(()=>e.theme,y=>{if(y!=="system"){u.value=y;return}if(y==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?u.value="dark":u.value="light"),typeof window>"u")return;const T=window.matchMedia("(prefers-color-scheme: dark)");try{T.addEventListener("change",({matches:N})=>{N?u.value="dark":u.value="light"})}catch{T.addListener(({matches:N})=>{try{N?u.value="dark":u.value="light"}catch(z){console.error(z)}})}}),eo(()=>{d.value&&h.value&&(h.value.focus({preventScroll:!0}),h.value=null,f.value=!1)}),eo(()=>{o.value.length<=1&&(c.value=!1)}),eo(y=>{function T(N){const z=e.hotkey.every(O=>N[O]||N.code===O),B=Array.isArray(d.value)?d.value[0]:d.value;z&&(c.value=!0,B==null||B.focus());const F=document.activeElement===d.value||(B==null?void 0:B.contains(document.activeElement));N.code==="Escape"&&F&&(c.value=!1)}AT&&(document.addEventListener("keydown",T),y(()=>{document.removeEventListener("keydown",T)}))}),(y,T)=>(Ee(),je("section",{"aria-label":`${y.containerAriaLabel} ${dt(C)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(Ee(!0),je(We,null,Ba(s.value,(N,z)=>{var B;return Ee(),je("ol",Yo({key:N,ref_for:!0,ref_key:"listRef",ref:d,"data-sonner-toaster":"",class:e.class,dir:y.dir==="auto"?t():y.dir,tabIndex:-1,"data-theme":y.theme,"data-rich-colors":y.richColors,"data-y-position":N.split("-")[0],"data-x-position":N.split("-")[1],"data-lifted":c.value&&o.value.length>1&&!y.expand,style:{"--front-toast-height":`${(B=a.value[0])==null?void 0:B.height}px`,"--offset":typeof y.offset=="number"?`${y.offset}px`:y.offset||Vu,"--width":`${vT}px`,"--gap":`${y.gap}px`,...y.style,...dt(r).style}},y.$attrs,{onBlur:v,onFocus:E,onMouseenter:T[1]||(T[1]=()=>c.value=!0),onMousemove:T[2]||(T[2]=()=>c.value=!0),onMouseleave:T[3]||(T[3]=()=>{l.value||(c.value=!1)}),onPointerdown:b,onPointerup:T[4]||(T[4]=()=>l.value=!1)}),[(Ee(!0),je(We,null,Ba(i.value(N,z),(F,O)=>{var Q,Z,$,ce,fe,Be,pe,ie,he;return Ee(),Hn(Vv,{key:F.id,heights:a.value.filter(Se=>Se.position===F.position),icons:y.icons,index:O,toast:F,defaultRichColors:y.richColors,duration:((Q=y.toastOptions)==null?void 0:Q.duration)??y.duration,class:Ht(((Z=y.toastOptions)==null?void 0:Z.class)??""),descriptionClass:($=y.toastOptions)==null?void 0:$.descriptionClass,invert:y.invert,visibleToasts:y.visibleToasts,closeButton:((ce=y.toastOptions)==null?void 0:ce.closeButton)??y.closeButton,interacting:l.value,position:N,style:lr((fe=y.toastOptions)==null?void 0:fe.style),unstyled:(Be=y.toastOptions)==null?void 0:Be.unstyled,classes:(pe=y.toastOptions)==null?void 0:pe.classes,cancelButtonStyle:(ie=y.toastOptions)==null?void 0:ie.cancelButtonStyle,actionButtonStyle:(he=y.toastOptions)==null?void 0:he.actionButtonStyle,toasts:o.value.filter(Se=>Se.position===F.position),expandByDefault:y.expand,gap:y.gap,expanded:c.value,pauseWhenPageIsHidden:y.pauseWhenPageIsHidden,cn:y.cn,"onUpdate:heights":T[0]||(T[0]=Se=>{a.value=Se}),onRemoveToast:p},{"close-icon":Tr(()=>[Wt(y.$slots,"close-icon",{},()=>[Ge(Yv)])]),"loading-icon":Tr(()=>[Wt(y.$slots,"loading-icon",{},()=>[Ge(Zv,{visible:F.type==="loading"},null,8,["visible"])])]),"success-icon":Tr(()=>[Wt(y.$slots,"success-icon",{},()=>[Ge(rT)])]),"error-icon":Tr(()=>[Wt(y.$slots,"error-icon",{},()=>[Ge(pT)])]),"warning-icon":Tr(()=>[Wt(y.$slots,"warning-icon",{},()=>[Ge(dT)])]),"info-icon":Tr(()=>[Wt(y.$slots,"info-icon",{},()=>[Ge(aT)])]),_:2},1032,["heights","icons","index","toast","defaultRichColors","duration","class","descriptionClass","invert","visibleToasts","closeButton","interacting","position","style","unstyled","classes","cancelButtonStyle","actionButtonStyle","toasts","expandByDefault","gap","expanded","pauseWhenPageIsHidden","cn"])}),128))],16,yT)}),128))],8,mT))}}),_T=ko({__name:"App",setup(n){return(e,t)=>{const r=Ey("RouterView");return Ee(),je(We,null,[Ge(r),Ge(dt(wT),{position:"top-right","toast-options":{style:{background:"hsl(var(--card))",color:"hsl(var(--card-foreground))",border:"1px solid hsl(var(--border))"}}})],64)}}}),bT="modulepreload",IT=function(n){return"/cc-dashboard/static/"+n},zu={},Ot=function(e,t,r){let o=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),a=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=Promise.allSettled(t.map(c=>{if(c=IT(c),c in zu)return;zu[c]=!0;const l=c.endsWith(".css"),u=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":bT,l||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),l)return new Promise((h,f)=>{d.addEventListener("load",h),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(s){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s}return o.then(s=>{for(const a of s||[])a.status==="rejected"&&i(a.reason);return e().catch(i)})};/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const Yr=typeof document<"u";function Gf(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function ST(n){return n.__esModule||n[Symbol.toStringTag]==="Module"||n.default&&Gf(n.default)}const _e=Object.assign;function Ta(n,e){const t={};for(const r in e){const o=e[r];t[r]=an(o)?o.map(n):n(o)}return t}const Xo=()=>{},an=Array.isArray;function Qu(n,e){const t={};for(const r in n)t[r]=r in e?e[r]:n[r];return t}const Vf=/#/g,RT=/&/g,kT=/\//g,OT=/=/g,PT=/\?/g,zf=/\+/g,NT=/%5B/g,MT=/%5D/g,Qf=/%5E/g,xT=/%60/g,Wf=/%7B/g,DT=/%7C/g,Yf=/%7D/g,LT=/%20/g;function Yc(n){return n==null?"":encodeURI(""+n).replace(DT,"|").replace(NT,"[").replace(MT,"]")}function UT(n){return Yc(n).replace(Wf,"{").replace(Yf,"}").replace(Qf,"^")}function nc(n){return Yc(n).replace(zf,"%2B").replace(LT,"+").replace(Vf,"%23").replace(RT,"%26").replace(xT,"`").replace(Wf,"{").replace(Yf,"}").replace(Qf,"^")}function HT(n){return nc(n).replace(OT,"%3D")}function FT(n){return Yc(n).replace(Vf,"%23").replace(PT,"%3F")}function BT(n){return FT(n).replace(kT,"%2F")}function hi(n){if(n==null)return null;try{return decodeURIComponent(""+n)}catch{}return""+n}const KT=/\/$/,qT=n=>n.replace(KT,"");function Aa(n,e,t="/"){let r,o={},i="",s="";const a=e.indexOf("#");let c=e.indexOf("?");return c=a>=0&&c>a?-1:c,c>=0&&(r=e.slice(0,c),i=e.slice(c,a>0?a:e.length),o=n(i.slice(1))),a>=0&&(r=r||e.slice(0,a),s=e.slice(a,e.length)),r=VT(r??e,t),{fullPath:r+i+s,path:r,query:o,hash:hi(s)}}function $T(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function Wu(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function jT(n,e,t){const r=e.matched.length-1,o=t.matched.length-1;return r>-1&&r===o&&Ao(e.matched[r],t.matched[o])&&Jf(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function Ao(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function Jf(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(var t in n)if(!GT(n[t],e[t]))return!1;return!0}function GT(n,e){return an(n)?Yu(n,e):an(e)?Yu(e,n):(n==null?void 0:n.valueOf())===(e==null?void 0:e.valueOf())}function Yu(n,e){return an(e)?n.length===e.length&&n.every((t,r)=>t===e[r]):n.length===1&&n[0]===e}function VT(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),r=n.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let i=t.length-1,s,a;for(s=0;s1&&i--;else break;return t.slice(0,i).join("/")+"/"+r.slice(s).join("/")}const Yn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let rc=function(n){return n.pop="pop",n.push="push",n}({}),Ea=function(n){return n.back="back",n.forward="forward",n.unknown="",n}({});function zT(n){if(!n)if(Yr){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),qT(n)}const QT=/^[^#]+#/;function WT(n,e){return n.replace(QT,"#")+e}function YT(n,e){const t=document.documentElement.getBoundingClientRect(),r=n.getBoundingClientRect();return{behavior:e.behavior,left:r.left-t.left-(e.left||0),top:r.top-t.top-(e.top||0)}}const Bs=()=>({left:window.scrollX,top:window.scrollY});function JT(n){let e;if("el"in n){const t=n.el,r=typeof t=="string"&&t.startsWith("#"),o=typeof t=="string"?r?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!o)return;e=YT(o,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function Ju(n,e){return(history.state?history.state.position-e:-1)+n}const oc=new Map;function XT(n,e){oc.set(n,e)}function ZT(n){const e=oc.get(n);return oc.delete(n),e}function eA(n){return typeof n=="string"||n&&typeof n=="object"}function Xf(n){return typeof n=="string"||typeof n=="symbol"}let ze=function(n){return n[n.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",n[n.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",n[n.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",n[n.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",n[n.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",n}({});const Zf=Symbol("");ze.MATCHER_NOT_FOUND+"",ze.NAVIGATION_GUARD_REDIRECT+"",ze.NAVIGATION_ABORTED+"",ze.NAVIGATION_CANCELLED+"",ze.NAVIGATION_DUPLICATED+"";function Eo(n,e){return _e(new Error,{type:n,[Zf]:!0},e)}function kn(n,e){return n instanceof Error&&Zf in n&&(e==null||!!(n.type&e))}const tA=["params","query","hash"];function nA(n){if(typeof n=="string")return n;if(n.path!=null)return n.path;const e={};for(const t of tA)t in n&&(e[t]=n[t]);return JSON.stringify(e,null,2)}function rA(n){const e={};if(n===""||n==="?")return e;const t=(n[0]==="?"?n.slice(1):n).split("&");for(let r=0;ro&&nc(o)):[r&&nc(r)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+t,o!=null&&(e+="="+o))})}return e}function oA(n){const e={};for(const t in n){const r=n[t];r!==void 0&&(e[t]=an(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return e}const iA=Symbol(""),Zu=Symbol(""),Ks=Symbol(""),Jc=Symbol(""),ic=Symbol("");function Uo(){let n=[];function e(r){return n.push(r),()=>{const o=n.indexOf(r);o>-1&&n.splice(o,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function nr(n,e,t,r,o,i=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,c)=>{const l=h=>{h===!1?c(Eo(ze.NAVIGATION_ABORTED,{from:t,to:e})):h instanceof Error?c(h):eA(h)?c(Eo(ze.NAVIGATION_GUARD_REDIRECT,{from:e,to:h})):(s&&r.enterCallbacks[o]===s&&typeof h=="function"&&s.push(h),a())},u=i(()=>n.call(r&&r.instances[o],e,t,l));let d=Promise.resolve(u);n.length<3&&(d=d.then(l)),d.catch(h=>c(h))})}function wa(n,e,t,r,o=i=>i()){const i=[];for(const s of n)for(const a in s.components){let c=s.components[a];if(!(e!=="beforeRouteEnter"&&!s.instances[a]))if(Gf(c)){const l=(c.__vccOpts||c)[e];l&&i.push(nr(l,t,r,s,a,o))}else{let l=c();i.push(()=>l.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${s.path}"`);const d=ST(u)?u.default:u;s.mods[a]=u,s.components[a]=d;const h=(d.__vccOpts||d)[e];return h&&nr(h,t,r,s,a,o)()}))}}return i}function sA(n,e){const t=[],r=[],o=[],i=Math.max(e.matched.length,n.matched.length);for(let s=0;sAo(l,a))?r.push(a):t.push(a));const c=n.matched[s];c&&(e.matched.find(l=>Ao(l,c))||o.push(c))}return[t,r,o]}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let aA=()=>location.protocol+"//"+location.host;function eg(n,e){const{pathname:t,search:r,hash:o}=e,i=n.indexOf("#");if(i>-1){let s=o.includes(n.slice(i))?n.slice(i).length:1,a=o.slice(s);return a[0]!=="/"&&(a="/"+a),Wu(a,"")}return Wu(t,n)+r+o}function cA(n,e,t,r){let o=[],i=[],s=null;const a=({state:h})=>{const f=eg(n,location),C=t.value,p=e.value;let v=0;if(h){if(t.value=f,e.value=h,s&&s===C){s=null;return}v=p?h.position-p.position:0}else r(f);o.forEach(E=>{E(t.value,C,{delta:v,type:rc.pop,direction:v?v>0?Ea.forward:Ea.back:Ea.unknown})})};function c(){s=t.value}function l(h){o.push(h);const f=()=>{const C=o.indexOf(h);C>-1&&o.splice(C,1)};return i.push(f),f}function u(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(_e({},h.state,{scroll:Bs()}),"")}}function d(){for(const h of i)h();i=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:l,destroy:d}}function ed(n,e,t,r=!1,o=!1){return{back:n,current:e,forward:t,replaced:r,position:window.history.length,scroll:o?Bs():null}}function lA(n){const{history:e,location:t}=window,r={value:eg(n,t)},o={value:e.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function i(c,l,u){const d=n.indexOf("#"),h=d>-1?(t.host&&document.querySelector("base")?n:n.slice(d))+c:aA()+n+c;try{e[u?"replaceState":"pushState"](l,"",h),o.value=l}catch(f){console.error(f),t[u?"replace":"assign"](h)}}function s(c,l){i(c,_e({},e.state,ed(o.value.back,c,o.value.forward,!0),l,{position:o.value.position}),!0),r.value=c}function a(c,l){const u=_e({},o.value,e.state,{forward:c,scroll:Bs()});i(u.current,u,!0),i(c,_e({},ed(r.value,c,null),{position:u.position+1},l),!1),r.value=c}return{location:r,state:o,push:a,replace:s}}function uA(n){n=zT(n);const e=lA(n),t=cA(n,e.state,e.location,e.replace);function r(i,s=!0){s||t.pauseListeners(),history.go(i)}const o=_e({location:"",base:n,go:r,createHref:WT.bind(null,n)},e,t);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}let _r=function(n){return n[n.Static=0]="Static",n[n.Param=1]="Param",n[n.Group=2]="Group",n}({});var tt=function(n){return n[n.Static=0]="Static",n[n.Param=1]="Param",n[n.ParamRegExp=2]="ParamRegExp",n[n.ParamRegExpEnd=3]="ParamRegExpEnd",n[n.EscapeNext=4]="EscapeNext",n}(tt||{});const dA={type:_r.Static,value:""},hA=/[a-zA-Z0-9_]/;function fA(n){if(!n)return[[]];if(n==="/")return[[dA]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(f){throw new Error(`ERR (${t})/"${l}": ${f}`)}let t=tt.Static,r=t;const o=[];let i;function s(){i&&o.push(i),i=[]}let a=0,c,l="",u="";function d(){l&&(t===tt.Static?i.push({type:_r.Static,value:l}):t===tt.Param||t===tt.ParamRegExp||t===tt.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:_r.Param,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function h(){l+=c}for(;ae.length?e.length===1&&e[0]===_t.Static+_t.Segment?1:-1:0}function tg(n,e){let t=0;const r=n.score,o=e.score;for(;t0&&e[e.length-1]<0}const CA={strict:!1,end:!0,sensitive:!1};function vA(n,e,t){const r=mA(fA(n.path),t),o=_e(r,{record:n,parent:e,children:[],alias:[]});return e&&!o.record.aliasOf==!e.record.aliasOf&&e.children.push(o),o}function TA(n,e){const t=[],r=new Map;e=Qu(CA,e);function o(d){return r.get(d)}function i(d,h,f){const C=!f,p=od(d);p.aliasOf=f&&f.record;const v=Qu(e,d),E=[p];if("alias"in d){const T=typeof d.alias=="string"?[d.alias]:d.alias;for(const N of T)E.push(od(_e({},p,{components:f?f.record.components:p.components,path:N,aliasOf:f?f.record:p})))}let b,y;for(const T of E){const{path:N}=T;if(h&&N[0]!=="/"){const z=h.record.path,B=z[z.length-1]==="/"?"":"/";T.path=h.record.path+(N&&B+N)}if(b=vA(T,h,v),f?f.alias.push(b):(y=y||b,y!==b&&y.alias.push(b),C&&d.name&&!id(b)&&s(d.name)),ng(b)&&c(b),p.children){const z=p.children;for(let B=0;B{s(y)}:Xo}function s(d){if(Xf(d)){const h=r.get(d);h&&(r.delete(d),t.splice(t.indexOf(h),1),h.children.forEach(s),h.alias.forEach(s))}else{const h=t.indexOf(d);h>-1&&(t.splice(h,1),d.record.name&&r.delete(d.record.name),d.children.forEach(s),d.alias.forEach(s))}}function a(){return t}function c(d){const h=wA(d,t);t.splice(h,0,d),d.record.name&&!id(d)&&r.set(d.record.name,d)}function l(d,h){let f,C={},p,v;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw Eo(ze.MATCHER_NOT_FOUND,{location:d});v=f.record.name,C=_e(rd(h.params,f.keys.filter(y=>!y.optional).concat(f.parent?f.parent.keys.filter(y=>y.optional):[]).map(y=>y.name)),d.params&&rd(d.params,f.keys.map(y=>y.name))),p=f.stringify(C)}else if(d.path!=null)p=d.path,f=t.find(y=>y.re.test(p)),f&&(C=f.parse(p),v=f.record.name);else{if(f=h.name?r.get(h.name):t.find(y=>y.re.test(h.path)),!f)throw Eo(ze.MATCHER_NOT_FOUND,{location:d,currentLocation:h});v=f.record.name,C=_e({},h.params,d.params),p=f.stringify(C)}const E=[];let b=f;for(;b;)E.unshift(b.record),b=b.parent;return{name:v,path:p,params:C,matched:E,meta:EA(E)}}n.forEach(d=>i(d));function u(){t.length=0,r.clear()}return{addRoute:i,resolve:l,removeRoute:s,clearRoutes:u,getRoutes:a,getRecordMatcher:o}}function rd(n,e){const t={};for(const r of e)r in n&&(t[r]=n[r]);return t}function od(n){const e={path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:n.aliasOf,beforeEnter:n.beforeEnter,props:AA(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function AA(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const r in n.components)e[r]=typeof t=="object"?t[r]:t;return e}function id(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function EA(n){return n.reduce((e,t)=>_e(e,t.meta),{})}function wA(n,e){let t=0,r=e.length;for(;t!==r;){const i=t+r>>1;tg(n,e[i])<0?r=i:t=i+1}const o=_A(n);return o&&(r=e.lastIndexOf(o,r-1)),r}function _A(n){let e=n;for(;e=e.parent;)if(ng(e)&&tg(n,e)===0)return e}function ng({record:n}){return!!(n.name||n.components&&Object.keys(n.components).length||n.redirect)}function sd(n){const e=Yt(Ks),t=Yt(Jc),r=Te(()=>{const c=dt(n.to);return e.resolve(c)}),o=Te(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],d=t.matched;if(!u||!d.length)return-1;const h=d.findIndex(Ao.bind(null,u));if(h>-1)return h;const f=ad(c[l-2]);return l>1&&ad(u)===f&&d[d.length-1].path!==f?d.findIndex(Ao.bind(null,c[l-2])):h}),i=Te(()=>o.value>-1&&kA(t.params,r.value.params)),s=Te(()=>o.value>-1&&o.value===t.matched.length-1&&Jf(t.params,r.value.params));function a(c={}){if(RA(c)){const l=e[dt(n.replace)?"replace":"push"](dt(n.to)).catch(Xo);return n.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:r,href:Te(()=>r.value.href),isActive:i,isExactActive:s,navigate:a}}function bA(n){return n.length===1?n[0]:n}const IA=ko({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:sd,setup(n,{slots:e}){const t=Ci(sd(n)),{options:r}=Yt(Ks),o=Te(()=>({[cd(n.activeClass,r.linkActiveClass,"router-link-active")]:t.isActive,[cd(n.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const i=e.default&&bA(e.default(t));return n.custom?i:zc("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:o.value},i)}}}),SA=IA;function RA(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function kA(n,e){for(const t in e){const r=e[t],o=n[t];if(typeof r=="string"){if(r!==o)return!1}else if(!an(o)||o.length!==r.length||r.some((i,s)=>i.valueOf()!==o[s].valueOf()))return!1}return!0}function ad(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const cd=(n,e,t)=>n??e??t,OA=ko({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const r=Yt(ic),o=Te(()=>n.route||r.value),i=Yt(Zu,0),s=Te(()=>{let l=dt(i);const{matched:u}=o.value;let d;for(;(d=u[l])&&!d.components;)l++;return l}),a=Te(()=>o.value.matched[s.value]);Qi(Zu,Te(()=>s.value+1)),Qi(iA,a),Qi(ic,o);const c=Oe();return xr(()=>[c.value,a.value,n.name],([l,u,d],[h,f,C])=>{u&&(u.instances[d]=l,f&&f!==u&&l&&l===h&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!Ao(u,f)||!h)&&(u.enterCallbacks[d]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=n.name,d=a.value,h=d&&d.components[u];if(!h)return ld(t.default,{Component:h,route:l});const f=d.props[u],C=f?f===!0?l.params:typeof f=="function"?f(l):f:null,v=zc(h,_e({},C,e,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(d.instances[u]=null)},ref:c}));return ld(t.default,{Component:v,route:l})||v}}});function ld(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const PA=OA;function NA(n){const e=TA(n.routes,n),t=n.parseQuery||rA,r=n.stringifyQuery||Xu,o=n.history,i=Uo(),s=Uo(),a=Uo(),c=$m(Yn);let l=Yn;Yr&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Ta.bind(null,I=>""+I),d=Ta.bind(null,BT),h=Ta.bind(null,hi);function f(I,D){let U,W;return Xf(I)?(U=e.getRecordMatcher(I),W=D):W=I,e.addRoute(W,U)}function C(I){const D=e.getRecordMatcher(I);D&&e.removeRoute(D)}function p(){return e.getRoutes().map(I=>I.record)}function v(I){return!!e.getRecordMatcher(I)}function E(I,D){if(D=_e({},D||c.value),typeof I=="string"){const A=Aa(t,I,D.path),P=e.resolve({path:A.path},D),x=o.createHref(A.fullPath);return _e(A,P,{params:h(P.params),hash:hi(A.hash),redirectedFrom:void 0,href:x})}let U;if(I.path!=null)U=_e({},I,{path:Aa(t,I.path,D.path).path});else{const A=_e({},I.params);for(const P in A)A[P]==null&&delete A[P];U=_e({},I,{params:d(A)}),D.params=d(D.params)}const W=e.resolve(U,D),le=I.hash||"";W.params=u(h(W.params));const g=$T(r,_e({},I,{hash:UT(le),path:W.path})),m=o.createHref(g);return _e({fullPath:g,hash:le,query:r===Xu?oA(I.query):I.query||{}},W,{redirectedFrom:void 0,href:m})}function b(I){return typeof I=="string"?Aa(t,I,c.value.path):_e({},I)}function y(I,D){if(l!==I)return Eo(ze.NAVIGATION_CANCELLED,{from:D,to:I})}function T(I){return B(I)}function N(I){return T(_e(b(I),{replace:!0}))}function z(I,D){const U=I.matched[I.matched.length-1];if(U&&U.redirect){const{redirect:W}=U;let le=typeof W=="function"?W(I,D):W;return typeof le=="string"&&(le=le.includes("?")||le.includes("#")?le=b(le):{path:le},le.params={}),_e({query:I.query,hash:I.hash,params:le.path!=null?{}:I.params},le)}}function B(I,D){const U=l=E(I),W=c.value,le=I.state,g=I.force,m=I.replace===!0,A=z(U,W);if(A)return B(_e(b(A),{state:typeof A=="object"?_e({},le,A.state):le,force:g,replace:m}),D||U);const P=U;P.redirectedFrom=D;let x;return!g&&jT(r,W,U)&&(x=Eo(ze.NAVIGATION_DUPLICATED,{to:P,from:W}),Qe(W,W,!0,!1)),(x?Promise.resolve(x):Q(P,W)).catch(M=>kn(M)?kn(M,ze.NAVIGATION_GUARD_REDIRECT)?M:Pe(M):he(M,P,W)).then(M=>{if(M){if(kn(M,ze.NAVIGATION_GUARD_REDIRECT))return B(_e({replace:m},b(M.to),{state:typeof M.to=="object"?_e({},le,M.to.state):le,force:g}),D||P)}else M=$(P,W,!0,m,le);return Z(P,W,M),M})}function F(I,D){const U=y(I,D);return U?Promise.reject(U):Promise.resolve()}function O(I){const D=ct.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(I):I()}function Q(I,D){let U;const[W,le,g]=sA(I,D);U=wa(W.reverse(),"beforeRouteLeave",I,D);for(const A of W)A.leaveGuards.forEach(P=>{U.push(nr(P,I,D))});const m=F.bind(null,I,D);return U.push(m),de(U).then(()=>{U=[];for(const A of i.list())U.push(nr(A,I,D));return U.push(m),de(U)}).then(()=>{U=wa(le,"beforeRouteUpdate",I,D);for(const A of le)A.updateGuards.forEach(P=>{U.push(nr(P,I,D))});return U.push(m),de(U)}).then(()=>{U=[];for(const A of g)if(A.beforeEnter)if(an(A.beforeEnter))for(const P of A.beforeEnter)U.push(nr(P,I,D));else U.push(nr(A.beforeEnter,I,D));return U.push(m),de(U)}).then(()=>(I.matched.forEach(A=>A.enterCallbacks={}),U=wa(g,"beforeRouteEnter",I,D,O),U.push(m),de(U))).then(()=>{U=[];for(const A of s.list())U.push(nr(A,I,D));return U.push(m),de(U)}).catch(A=>kn(A,ze.NAVIGATION_CANCELLED)?A:Promise.reject(A))}function Z(I,D,U){a.list().forEach(W=>O(()=>W(I,D,U)))}function $(I,D,U,W,le){const g=y(I,D);if(g)return g;const m=D===Yn,A=Yr?history.state:{};U&&(W||m?o.replace(I.fullPath,_e({scroll:m&&A&&A.scroll},le)):o.push(I.fullPath,le)),c.value=I,Qe(I,D,U,m),Pe()}let ce;function fe(){ce||(ce=o.listen((I,D,U)=>{if(!S.listening)return;const W=E(I),le=z(W,S.currentRoute.value);if(le){B(_e(le,{replace:!0,force:!0}),W).catch(Xo);return}l=W;const g=c.value;Yr&&XT(Ju(g.fullPath,U.delta),Bs()),Q(W,g).catch(m=>kn(m,ze.NAVIGATION_ABORTED|ze.NAVIGATION_CANCELLED)?m:kn(m,ze.NAVIGATION_GUARD_REDIRECT)?(B(_e(b(m.to),{force:!0}),W).then(A=>{kn(A,ze.NAVIGATION_ABORTED|ze.NAVIGATION_DUPLICATED)&&!U.delta&&U.type===rc.pop&&o.go(-1,!1)}).catch(Xo),Promise.reject()):(U.delta&&o.go(-U.delta,!1),he(m,W,g))).then(m=>{m=m||$(W,g,!1),m&&(U.delta&&!kn(m,ze.NAVIGATION_CANCELLED)?o.go(-U.delta,!1):U.type===rc.pop&&kn(m,ze.NAVIGATION_ABORTED|ze.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),Z(W,g,m)}).catch(Xo)}))}let Be=Uo(),pe=Uo(),ie;function he(I,D,U){Pe(I);const W=pe.list();return W.length?W.forEach(le=>le(I,D,U)):console.error(I),Promise.reject(I)}function Se(){return ie&&c.value!==Yn?Promise.resolve():new Promise((I,D)=>{Be.add([I,D])})}function Pe(I){return ie||(ie=!I,fe(),Be.list().forEach(([D,U])=>I?U(I):D()),Be.reset()),I}function Qe(I,D,U,W){const{scrollBehavior:le}=n;if(!Yr||!le)return Promise.resolve();const g=!U&&ZT(Ju(I.fullPath,0))||(W||!U)&&history.state&&history.state.scroll||null;return Ti().then(()=>le(I,D,g)).then(m=>m&&JT(m)).catch(m=>he(m,I,D))}const Ze=I=>o.go(I);let Ue;const ct=new Set,S={currentRoute:c,listening:!0,addRoute:f,removeRoute:C,clearRoutes:e.clearRoutes,hasRoute:v,getRoutes:p,resolve:E,options:n,push:T,replace:N,go:Ze,back:()=>Ze(-1),forward:()=>Ze(1),beforeEach:i.add,beforeResolve:s.add,afterEach:a.add,onError:pe.add,isReady:Se,install(I){I.component("RouterLink",SA),I.component("RouterView",PA),I.config.globalProperties.$router=S,Object.defineProperty(I.config.globalProperties,"$route",{enumerable:!0,get:()=>dt(c)}),Yr&&!Ue&&c.value===Yn&&(Ue=!0,T(o.location).catch(W=>{}));const D={};for(const W in Yn)Object.defineProperty(D,W,{get:()=>c.value[W],enumerable:!0});I.provide(Ks,S),I.provide(Jc,Uh(D)),I.provide(ic,c);const U=I.unmount;ct.add(I),I.unmount=function(){ct.delete(I),ct.size<1&&(l=Yn,ce&&ce(),ce=null,c.value=Yn,Ue=!1,ie=!1),U()}}};function de(I){return I.reduce((D,U)=>D.then(()=>O(U)),Promise.resolve())}return S}function aS(){return Yt(Ks)}function cS(n){return Yt(Jc)}function rg(n,e){return function(){return n.apply(e,arguments)}}const{toString:MA}=Object.prototype,{getPrototypeOf:qs}=Object,{iterator:$s,toStringTag:og}=Symbol,js=(n=>e=>{const t=MA.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),ln=n=>(n=n.toLowerCase(),e=>js(e)===n),Gs=n=>e=>typeof e===n,{isArray:Oo}=Array,wo=Gs("undefined");function wi(n){return n!==null&&!wo(n)&&n.constructor!==null&&!wo(n.constructor)&&Nt(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const ig=ln("ArrayBuffer");function xA(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&ig(n.buffer),e}const DA=Gs("string"),Nt=Gs("function"),sg=Gs("number"),_i=n=>n!==null&&typeof n=="object",LA=n=>n===!0||n===!1,Ji=n=>{if(js(n)!=="object")return!1;const e=qs(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(og in n)&&!($s in n)},UA=n=>{if(!_i(n)||wi(n))return!1;try{return Object.keys(n).length===0&&Object.getPrototypeOf(n)===Object.prototype}catch{return!1}},HA=ln("Date"),FA=ln("File"),BA=n=>!!(n&&typeof n.uri<"u"),KA=n=>n&&typeof n.getParts<"u",qA=ln("Blob"),$A=ln("FileList"),jA=n=>_i(n)&&Nt(n.pipe);function GA(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const ud=GA(),dd=typeof ud.FormData<"u"?ud.FormData:void 0,VA=n=>{if(!n)return!1;if(dd&&n instanceof dd)return!0;const e=qs(n);if(!e||e===Object.prototype||!Nt(n.append))return!1;const t=js(n);return t==="formdata"||t==="object"&&Nt(n.toString)&&n.toString()==="[object FormData]"},zA=ln("URLSearchParams"),[QA,WA,YA,JA]=["ReadableStream","Request","Response","Headers"].map(ln),XA=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function bi(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,o;if(typeof n!="object"&&(n=[n]),Oo(n))for(r=0,o=n.length;r0;)if(o=t[r],e===o.toLowerCase())return o;return null}const br=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,cg=n=>!wo(n)&&n!==br;function sc(...n){const{caseless:e,skipUndefined:t}=cg(this)&&this||{},r={},o=(i,s)=>{if(s==="__proto__"||s==="constructor"||s==="prototype")return;const a=e&&ag(r,s)||s,c=ac(r,a)?r[a]:void 0;Ji(c)&&Ji(i)?r[a]=sc(c,i):Ji(i)?r[a]=sc({},i):Oo(i)?r[a]=i.slice():(!t||!wo(i))&&(r[a]=i)};for(let i=0,s=n.length;i(bi(e,(o,i)=>{t&&Nt(o)?Object.defineProperty(n,i,{__proto__:null,value:rg(o,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(n,i,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),n),eE=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),tE=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),Object.defineProperty(n.prototype,"constructor",{__proto__:null,value:n,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(n,"super",{__proto__:null,value:e.prototype}),t&&Object.assign(n.prototype,t)},nE=(n,e,t,r)=>{let o,i,s;const a={};if(e=e||{},n==null)return e;do{for(o=Object.getOwnPropertyNames(n),i=o.length;i-- >0;)s=o[i],(!r||r(s,n,e))&&!a[s]&&(e[s]=n[s],a[s]=!0);n=t!==!1&&qs(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},rE=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},oE=n=>{if(!n)return null;if(Oo(n))return n;let e=n.length;if(!sg(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},iE=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&qs(Uint8Array)),sE=(n,e)=>{const r=(n&&n[$s]).call(n);let o;for(;(o=r.next())&&!o.done;){const i=o.value;e.call(n,i[0],i[1])}},aE=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},cE=ln("HTMLFormElement"),lE=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,o){return r.toUpperCase()+o}),ac=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),uE=ln("RegExp"),lg=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};bi(t,(o,i)=>{let s;(s=e(o,i,n))!==!1&&(r[i]=s||o)}),Object.defineProperties(n,r)},dE=n=>{lg(n,(e,t)=>{if(Nt(n)&&["arguments","caller","callee"].includes(t))return!1;const r=n[t];if(Nt(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},hE=(n,e)=>{const t={},r=o=>{o.forEach(i=>{t[i]=!0})};return Oo(n)?r(n):r(String(n).split(e)),t},fE=()=>{},gE=(n,e)=>n!=null&&Number.isFinite(n=+n)?n:e;function pE(n){return!!(n&&Nt(n.append)&&n[og]==="FormData"&&n[$s])}const mE=n=>{const e=new Array(10),t=(r,o)=>{if(_i(r)){if(e.indexOf(r)>=0)return;if(wi(r))return r;if(!("toJSON"in r)){e[o]=r;const i=Oo(r)?[]:{};return bi(r,(s,a)=>{const c=t(s,o+1);!wo(c)&&(i[a]=c)}),e[o]=void 0,i}}return r};return t(n,0)},yE=ln("AsyncFunction"),CE=n=>n&&(_i(n)||Nt(n))&&Nt(n.then)&&Nt(n.catch),ug=((n,e)=>n?setImmediate:e?((t,r)=>(br.addEventListener("message",({source:o,data:i})=>{o===br&&i===t&&r.length&&r.shift()()},!1),o=>{r.push(o),br.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Nt(br.postMessage)),vE=typeof queueMicrotask<"u"?queueMicrotask.bind(br):typeof process<"u"&&process.nextTick||ug,TE=n=>n!=null&&Nt(n[$s]),w={isArray:Oo,isArrayBuffer:ig,isBuffer:wi,isFormData:VA,isArrayBufferView:xA,isString:DA,isNumber:sg,isBoolean:LA,isObject:_i,isPlainObject:Ji,isEmptyObject:UA,isReadableStream:QA,isRequest:WA,isResponse:YA,isHeaders:JA,isUndefined:wo,isDate:HA,isFile:FA,isReactNativeBlob:BA,isReactNative:KA,isBlob:qA,isRegExp:uE,isFunction:Nt,isStream:jA,isURLSearchParams:zA,isTypedArray:iE,isFileList:$A,forEach:bi,merge:sc,extend:ZA,trim:XA,stripBOM:eE,inherits:tE,toFlatObject:nE,kindOf:js,kindOfTest:ln,endsWith:rE,toArray:oE,forEachEntry:sE,matchAll:aE,isHTMLForm:cE,hasOwnProperty:ac,hasOwnProp:ac,reduceDescriptors:lg,freezeMethods:dE,toObjectSet:hE,toCamelCase:lE,noop:fE,toFiniteNumber:gE,findKey:ag,global:br,isContextDefined:cg,isSpecCompliantForm:pE,toJSONObject:mE,isAsyncFn:yE,isThenable:CE,setImmediate:ug,asap:vE,isIterable:TE},AE=w.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),EE=n=>{const e={};let t,r,o;return n&&n.split(` -`).forEach(function(s){o=s.indexOf(":"),t=s.substring(0,o).trim().toLowerCase(),r=s.substring(o+1).trim(),!(!t||e[t]&&AE[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},hd=Symbol("internals"),wE=/[^\x09\x20-\x7E\x80-\xFF]/g;function _E(n){let e=0,t=n.length;for(;ee;){const r=n.charCodeAt(t-1);if(r!==9&&r!==32)break;t-=1}return e===0&&t===n.length?n:n.slice(e,t)}function Ho(n){return n&&String(n).trim().toLowerCase()}function bE(n){return _E(n.replace(wE,""))}function Xi(n){return n===!1||n==null?n:w.isArray(n)?n.map(Xi):bE(String(n))}function IE(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}const SE=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function _a(n,e,t,r,o){if(w.isFunction(r))return r.call(this,e,t);if(o&&(e=t),!!w.isString(e)){if(w.isString(r))return e.indexOf(r)!==-1;if(w.isRegExp(r))return r.test(e)}}function RE(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function kE(n,e){const t=w.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{__proto__:null,value:function(o,i,s){return this[r].call(this,e,o,i,s)},configurable:!0})})}let kt=class{constructor(e){e&&this.set(e)}set(e,t,r){const o=this;function i(a,c,l){const u=Ho(c);if(!u)throw new Error("header name must be a non-empty string");const d=w.findKey(o,u);(!d||o[d]===void 0||l===!0||l===void 0&&o[d]!==!1)&&(o[d||c]=Xi(a))}const s=(a,c)=>w.forEach(a,(l,u)=>i(l,u,c));if(w.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(w.isString(e)&&(e=e.trim())&&!SE(e))s(EE(e),t);else if(w.isObject(e)&&w.isIterable(e)){let a={},c,l;for(const u of e){if(!w.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(c=a[l])?w.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}s(a,t)}else e!=null&&i(t,e,r);return this}get(e,t){if(e=Ho(e),e){const r=w.findKey(this,e);if(r){const o=this[r];if(!t)return o;if(t===!0)return IE(o);if(w.isFunction(t))return t.call(this,o,r);if(w.isRegExp(t))return t.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ho(e),e){const r=w.findKey(this,e);return!!(r&&this[r]!==void 0&&(!t||_a(this,this[r],r,t)))}return!1}delete(e,t){const r=this;let o=!1;function i(s){if(s=Ho(s),s){const a=w.findKey(r,s);a&&(!t||_a(r,r[a],a,t))&&(delete r[a],o=!0)}}return w.isArray(e)?e.forEach(i):i(e),o}clear(e){const t=Object.keys(this);let r=t.length,o=!1;for(;r--;){const i=t[r];(!e||_a(this,this[i],i,e,!0))&&(delete this[i],o=!0)}return o}normalize(e){const t=this,r={};return w.forEach(this,(o,i)=>{const s=w.findKey(r,i);if(s){t[s]=Xi(o),delete t[i];return}const a=e?RE(i):String(i).trim();a!==i&&delete t[i],t[a]=Xi(o),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return w.forEach(this,(r,o)=>{r!=null&&r!==!1&&(t[o]=e&&w.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(o=>r.set(o)),r}static accessor(e){const r=(this[hd]=this[hd]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=Ho(s);r[a]||(kE(o,s),r[a]=!0)}return w.isArray(e)?e.forEach(i):i(e),this}};kt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);w.reduceDescriptors(kt.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(r){this[t]=r}}});w.freezeMethods(kt);const OE="[REDACTED ****]";function PE(n){if(w.hasOwnProp(n,"toJSON"))return!0;let e=Object.getPrototypeOf(n);for(;e&&e!==Object.prototype;){if(w.hasOwnProp(e,"toJSON"))return!0;e=Object.getPrototypeOf(e)}return!1}function NE(n,e){const t=new Set(e.map(i=>String(i).toLowerCase())),r=[],o=i=>{if(i===null||typeof i!="object"||w.isBuffer(i))return i;if(r.indexOf(i)!==-1)return;i instanceof kt&&(i=i.toJSON()),r.push(i);let s;if(w.isArray(i))s=[],i.forEach((a,c)=>{const l=o(a);w.isUndefined(l)||(s[c]=l)});else{if(!w.isPlainObject(i)&&PE(i))return r.pop(),i;s=Object.create(null);for(const[a,c]of Object.entries(i)){const l=t.has(a.toLowerCase())?OE:o(c);w.isUndefined(l)||(s[a]=l)}}return r.pop(),s};return o(n)}let J=class dg extends Error{static from(e,t,r,o,i,s){const a=new dg(e.message,t||e.code,r,o,i);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),s&&Object.assign(a,s),a}constructor(e,t,r,o,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),r&&(this.config=r),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){const e=this.config,t=e&&w.hasOwnProp(e,"redact")?e.redact:void 0,r=w.isArray(t)&&t.length>0?NE(e,t):w.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};J.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";J.ERR_BAD_OPTION="ERR_BAD_OPTION";J.ECONNABORTED="ECONNABORTED";J.ETIMEDOUT="ETIMEDOUT";J.ECONNREFUSED="ECONNREFUSED";J.ERR_NETWORK="ERR_NETWORK";J.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";J.ERR_DEPRECATED="ERR_DEPRECATED";J.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";J.ERR_BAD_REQUEST="ERR_BAD_REQUEST";J.ERR_CANCELED="ERR_CANCELED";J.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";J.ERR_INVALID_URL="ERR_INVALID_URL";J.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const ME=null;function cc(n){return w.isPlainObject(n)||w.isArray(n)}function hg(n){return w.endsWith(n,"[]")?n.slice(0,-2):n}function ba(n,e,t){return n?n.concat(e).map(function(o,i){return o=hg(o),!t&&i?"["+o+"]":o}).join(t?".":""):e}function xE(n){return w.isArray(n)&&!n.some(cc)}const DE=w.toFlatObject(w,{},null,function(e){return/^is[A-Z]/.test(e)});function Vs(n,e,t){if(!w.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=w.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,E){return!w.isUndefined(E[v])});const r=t.metaTokens,o=t.visitor||d,i=t.dots,s=t.indexes,a=t.Blob||typeof Blob<"u"&&Blob,c=t.maxDepth===void 0?100:t.maxDepth,l=a&&w.isSpecCompliantForm(e);if(!w.isFunction(o))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(w.isDate(p))return p.toISOString();if(w.isBoolean(p))return p.toString();if(!l&&w.isBlob(p))throw new J("Blob is not supported. Use a Buffer instead.");return w.isArrayBuffer(p)||w.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function d(p,v,E){let b=p;if(w.isReactNative(e)&&w.isReactNativeBlob(p))return e.append(ba(E,v,i),u(p)),!1;if(p&&!E&&typeof p=="object"){if(w.endsWith(v,"{}"))v=r?v:v.slice(0,-2),p=JSON.stringify(p);else if(w.isArray(p)&&xE(p)||(w.isFileList(p)||w.endsWith(v,"[]"))&&(b=w.toArray(p)))return v=hg(v),b.forEach(function(T,N){!(w.isUndefined(T)||T===null)&&e.append(s===!0?ba([v],N,i):s===null?v:v+"[]",u(T))}),!1}return cc(p)?!0:(e.append(ba(E,v,i),u(p)),!1)}const h=[],f=Object.assign(DE,{defaultVisitor:d,convertValue:u,isVisitable:cc});function C(p,v,E=0){if(!w.isUndefined(p)){if(E>c)throw new J("Object is too deeply nested ("+E+" levels). Max depth: "+c,J.ERR_FORM_DATA_DEPTH_EXCEEDED);if(h.indexOf(p)!==-1)throw Error("Circular reference detected in "+v.join("."));h.push(p),w.forEach(p,function(y,T){(!(w.isUndefined(y)||y===null)&&o.call(e,y,w.isString(T)?T.trim():T,v,f))===!0&&C(y,v?v.concat(T):[T],E+1)}),h.pop()}}if(!w.isObject(n))throw new TypeError("data must be an object");return C(n),e}function fd(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(n).replace(/[!'()~]|%20/g,function(r){return e[r]})}function Xc(n,e){this._pairs=[],n&&Vs(n,this,e)}const fg=Xc.prototype;fg.append=function(e,t){this._pairs.push([e,t])};fg.toString=function(e){const t=e?function(r){return e.call(this,r,fd)}:fd;return this._pairs.map(function(o){return t(o[0])+"="+t(o[1])},"").join("&")};function LE(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function gg(n,e,t){if(!e)return n;const r=t&&t.encode||LE,o=w.isFunction(t)?{serialize:t}:t,i=o&&o.serialize;let s;if(i?s=i(e,o):s=w.isURLSearchParams(e)?e.toString():new Xc(e,o).toString(r),s){const a=n.indexOf("#");a!==-1&&(n=n.slice(0,a)),n+=(n.indexOf("?")===-1?"?":"&")+s}return n}class gd{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){w.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Zc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},UE=typeof URLSearchParams<"u"?URLSearchParams:Xc,HE=typeof FormData<"u"?FormData:null,FE=typeof Blob<"u"?Blob:null,BE={isBrowser:!0,classes:{URLSearchParams:UE,FormData:HE,Blob:FE},protocols:["http","https","file","blob","url","data"]},el=typeof window<"u"&&typeof document<"u",lc=typeof navigator=="object"&&navigator||void 0,KE=el&&(!lc||["ReactNative","NativeScript","NS"].indexOf(lc.product)<0),qE=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$E=el&&window.location.href||"http://localhost",jE=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:el,hasStandardBrowserEnv:KE,hasStandardBrowserWebWorkerEnv:qE,navigator:lc,origin:$E},Symbol.toStringTag,{value:"Module"})),Tt={...jE,...BE};function GE(n,e){return Vs(n,new Tt.classes.URLSearchParams,{visitor:function(t,r,o,i){return Tt.isNode&&w.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function VE(n){return w.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function zE(n){const e={},t=Object.keys(n);let r;const o=t.length;let i;for(r=0;r=t.length;return s=!s&&w.isArray(o)?o.length:s,c?(w.hasOwnProp(o,s)?o[s]=w.isArray(o[s])?o[s].concat(r):[o[s],r]:o[s]=r,!a):((!o[s]||!w.isObject(o[s]))&&(o[s]=[]),e(t,r,o[s],i)&&w.isArray(o[s])&&(o[s]=zE(o[s])),!a)}if(w.isFormData(n)&&w.isFunction(n.entries)){const t={};return w.forEachEntry(n,(r,o)=>{e(VE(r),o,t,0)}),t}return null}const Vr=(n,e)=>n!=null&&w.hasOwnProp(n,e)?n[e]:void 0;function QE(n,e,t){if(w.isString(n))try{return(e||JSON.parse)(n),w.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Ii={transitional:Zc,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",o=r.indexOf("application/json")>-1,i=w.isObject(e);if(i&&w.isHTMLForm(e)&&(e=new FormData(e)),w.isFormData(e))return o?JSON.stringify(pg(e)):e;if(w.isArrayBuffer(e)||w.isBuffer(e)||w.isStream(e)||w.isFile(e)||w.isBlob(e)||w.isReadableStream(e))return e;if(w.isArrayBufferView(e))return e.buffer;if(w.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){const c=Vr(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return GE(e,c).toString();if((a=w.isFileList(e))||r.indexOf("multipart/form-data")>-1){const l=Vr(this,"env"),u=l&&l.FormData;return Vs(a?{"files[]":e}:e,u&&new u,c)}}return i||o?(t.setContentType("application/json",!1),QE(e)):e}],transformResponse:[function(e){const t=Vr(this,"transitional")||Ii.transitional,r=t&&t.forcedJSONParsing,o=Vr(this,"responseType"),i=o==="json";if(w.isResponse(e)||w.isReadableStream(e))return e;if(e&&w.isString(e)&&(r&&!o||i)){const a=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e,Vr(this,"parseReviver"))}catch(c){if(a)throw c.name==="SyntaxError"?J.from(c,J.ERR_BAD_RESPONSE,this,null,Vr(this,"response")):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Tt.classes.FormData,Blob:Tt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};w.forEach(["delete","get","head","post","put","patch","query"],n=>{Ii.headers[n]={}});function Ia(n,e){const t=this||Ii,r=e||t,o=kt.from(r.headers);let i=r.data;return w.forEach(n,function(a){i=a.call(t,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function mg(n){return!!(n&&n.__CANCEL__)}let Si=class extends J{constructor(e,t,r){super(e??"canceled",J.ERR_CANCELED,t,r),this.name="CanceledError",this.__CANCEL__=!0}};function yg(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new J("Request failed with status code "+t.status,t.status>=400&&t.status<500?J.ERR_BAD_REQUEST:J.ERR_BAD_RESPONSE,t.config,t.request,t))}function WE(n){const e=/^([-+\w]{1,25}):(?:\/\/)?/.exec(n);return e&&e[1]||""}function YE(n,e){n=n||10;const t=new Array(n),r=new Array(n);let o=0,i=0,s;return e=e!==void 0?e:1e3,function(c){const l=Date.now(),u=r[i];s||(s=l),t[o]=c,r[o]=l;let d=i,h=0;for(;d!==o;)h+=t[d++],d=d%n;if(o=(o+1)%n,o===i&&(i=(i+1)%n),l-s{t=u,o=null,i&&(clearTimeout(i),i=null),n(...l)};return[(...l)=>{const u=Date.now(),d=u-t;d>=r?s(l,u):(o=l,i||(i=setTimeout(()=>{i=null,s(o)},r-d)))},()=>o&&s(o)]}const us=(n,e,t=3)=>{let r=0;const o=YE(50,250);return JE(i=>{const s=i.loaded,a=i.lengthComputable?i.total:void 0,c=a!=null?Math.min(s,a):s,l=Math.max(0,c-r),u=o(l);r=Math.max(r,c);const d={loaded:c,total:a,progress:a?c/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a?(a-c)/u:void 0,event:i,lengthComputable:a!=null,[e?"download":"upload"]:!0};n(d)},t)},pd=(n,e)=>{const t=n!=null;return[r=>e[0]({lengthComputable:t,total:n,loaded:r}),e[1]]},md=n=>(...e)=>w.asap(()=>n(...e)),XE=Tt.hasStandardBrowserEnv?((n,e)=>t=>(t=new URL(t,Tt.origin),n.protocol===t.protocol&&n.host===t.host&&(e||n.port===t.port)))(new URL(Tt.origin),Tt.navigator&&/(msie|trident)/i.test(Tt.navigator.userAgent)):()=>!0,ZE=Tt.hasStandardBrowserEnv?{write(n,e,t,r,o,i,s){if(typeof document>"u")return;const a=[`${n}=${encodeURIComponent(e)}`];w.isNumber(t)&&a.push(`expires=${new Date(t).toUTCString()}`),w.isString(r)&&a.push(`path=${r}`),w.isString(o)&&a.push(`domain=${o}`),i===!0&&a.push("secure"),w.isString(s)&&a.push(`SameSite=${s}`),document.cookie=a.join("; ")},read(n){if(typeof document>"u")return null;const e=document.cookie.split(";");for(let t=0;tn instanceof kt?{...n}:n;function Ur(n,e){e=e||{};const t=Object.create(null);Object.defineProperty(t,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(l,u,d,h){return w.isPlainObject(l)&&w.isPlainObject(u)?w.merge.call({caseless:h},l,u):w.isPlainObject(u)?w.merge({},u):w.isArray(u)?u.slice():u}function o(l,u,d,h){if(w.isUndefined(u)){if(!w.isUndefined(l))return r(void 0,l,d,h)}else return r(l,u,d,h)}function i(l,u){if(!w.isUndefined(u))return r(void 0,u)}function s(l,u){if(w.isUndefined(u)){if(!w.isUndefined(l))return r(void 0,l)}else return r(void 0,u)}function a(l,u,d){if(w.hasOwnProp(e,d))return r(l,u);if(w.hasOwnProp(n,d))return r(void 0,l)}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,allowedSocketPaths:s,responseEncoding:s,validateStatus:a,headers:(l,u,d)=>o(yd(l),yd(u),d,!0)};return w.forEach(Object.keys({...n,...e}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const d=w.hasOwnProp(c,u)?c[u]:o,h=w.hasOwnProp(n,u)?n[u]:void 0,f=w.hasOwnProp(e,u)?e[u]:void 0,C=d(h,f,u);w.isUndefined(C)&&d!==a||(t[u]=C)}),t}const nw=["content-type","content-length"];function rw(n,e,t){if(t!=="content-only"){n.set(e);return}Object.entries(e).forEach(([r,o])=>{nw.includes(r.toLowerCase())&&n.set(r,o)})}const ow=n=>encodeURIComponent(n).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16))),vg=n=>{const e=Ur({},n),t=h=>w.hasOwnProp(e,h)?e[h]:void 0,r=t("data");let o=t("withXSRFToken");const i=t("xsrfHeaderName"),s=t("xsrfCookieName");let a=t("headers");const c=t("auth"),l=t("baseURL"),u=t("allowAbsoluteUrls"),d=t("url");if(e.headers=a=kt.from(a),e.url=gg(Cg(l,d,u),n.params,n.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?ow(c.password):""))),w.isFormData(r)&&(Tt.hasStandardBrowserEnv||Tt.hasStandardBrowserWebWorkerEnv?a.setContentType(void 0):w.isFunction(r.getHeaders)&&rw(a,r.getHeaders(),t("formDataHeaderPolicy"))),Tt.hasStandardBrowserEnv&&(w.isFunction(o)&&(o=o(e)),o===!0||o==null&&XE(e.url))){const f=i&&s&&ZE.read(s);f&&a.set(i,f)}return e},iw=typeof XMLHttpRequest<"u",sw=iw&&function(n){return new Promise(function(t,r){const o=vg(n);let i=o.data;const s=kt.from(o.headers).normalize();let{responseType:a,onUploadProgress:c,onDownloadProgress:l}=o,u,d,h,f,C;function p(){f&&f(),C&&C(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function E(){if(!v)return;const y=kt.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),N={data:!a||a==="text"||a==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:y,config:n,request:v};yg(function(B){t(B),p()},function(B){r(B),p()},N),v=null}"onloadend"in v?v.onloadend=E:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.startsWith("file:"))||setTimeout(E)},v.onabort=function(){v&&(r(new J("Request aborted",J.ECONNABORTED,n,v)),p(),v=null)},v.onerror=function(T){const N=T&&T.message?T.message:"Network Error",z=new J(N,J.ERR_NETWORK,n,v);z.event=T||null,r(z),p(),v=null},v.ontimeout=function(){let T=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const N=o.transitional||Zc;o.timeoutErrorMessage&&(T=o.timeoutErrorMessage),r(new J(T,N.clarifyTimeoutError?J.ETIMEDOUT:J.ECONNABORTED,n,v)),p(),v=null},i===void 0&&s.setContentType(null),"setRequestHeader"in v&&w.forEach(s.toJSON(),function(T,N){v.setRequestHeader(N,T)}),w.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),a&&a!=="json"&&(v.responseType=o.responseType),l&&([h,C]=us(l,!0),v.addEventListener("progress",h)),c&&v.upload&&([d,f]=us(c),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",f)),(o.cancelToken||o.signal)&&(u=y=>{v&&(r(!y||y.type?new Si(null,n,v):y),v.abort(),p(),v=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const b=WE(o.url);if(b&&!Tt.protocols.includes(b)){r(new J("Unsupported protocol "+b+":",J.ERR_BAD_REQUEST,n));return}v.send(i||null)})},aw=(n,e)=>{const{length:t}=n=n?n.filter(Boolean):[];if(e||t){let r=new AbortController,o;const i=function(l){if(!o){o=!0,a();const u=l instanceof Error?l:this.reason;r.abort(u instanceof J?u:new Si(u instanceof Error?u.message:u))}};let s=e&&setTimeout(()=>{s=null,i(new J(`timeout of ${e}ms exceeded`,J.ETIMEDOUT))},e);const a=()=>{n&&(s&&clearTimeout(s),s=null,n.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),n=null)};n.forEach(l=>l.addEventListener("abort",i));const{signal:c}=r;return c.unsubscribe=()=>w.asap(a),c}},cw=function*(n,e){let t=n.byteLength;if(t{const o=lw(n,e);let i=0,s,a=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:l,value:u}=await o.next();if(l){a(),c.close();return}let d=u.byteLength;if(t){let h=i+=d;t(h)}c.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(c){return a(c),o.return()}},{highWaterMark:2})};function dw(n){if(!n||typeof n!="string"||!n.startsWith("data:"))return 0;const e=n.indexOf(",");if(e<0)return 0;const t=n.slice(5,e),r=n.slice(e+1);if(/;base64/i.test(t)){let s=r.length;const a=r.length;for(let f=0;f=48&&C<=57||C>=65&&C<=70||C>=97&&C<=102)&&(p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)&&(s-=2,f+=2)}let c=0,l=a-1;const u=f=>f>=2&&r.charCodeAt(f-2)===37&&r.charCodeAt(f-1)===51&&(r.charCodeAt(f)===68||r.charCodeAt(f)===100);l>=0&&(r.charCodeAt(l)===61?(c++,l--):u(l)&&(c++,l-=3)),c===1&&l>=0&&(r.charCodeAt(l)===61||u(l))&&c++;const h=Math.floor(s/4)*3-(c||0);return h>0?h:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(r,"utf8");let i=0;for(let s=0,a=r.length;s=55296&&c<=56319&&s+1=56320&&l<=57343?(i+=4,s++):i+=3}else i+=3}return i}const tl="1.16.0",vd=64*1024,{isFunction:Hi}=w,Td=(n,...e)=>{try{return!!n(...e)}catch{return!1}},hw=n=>{const e=w.global??globalThis,{ReadableStream:t,TextEncoder:r}=e;n=w.merge.call({skipUndefined:!0},{Request:e.Request,Response:e.Response},n);const{fetch:o,Request:i,Response:s}=n,a=o?Hi(o):typeof fetch=="function",c=Hi(i),l=Hi(s);if(!a)return!1;const u=a&&Hi(t),d=a&&(typeof r=="function"?(E=>b=>E.encode(b))(new r):async E=>new Uint8Array(await new i(E).arrayBuffer())),h=c&&u&&Td(()=>{let E=!1;const b=new i(Tt.origin,{body:new t,method:"POST",get duplex(){return E=!0,"half"}}),y=b.headers.has("Content-Type");return b.body!=null&&b.body.cancel(),E&&!y}),f=l&&u&&Td(()=>w.isReadableStream(new s("").body)),C={stream:f&&(E=>E.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(E=>{!C[E]&&(C[E]=(b,y)=>{let T=b&&b[E];if(T)return T.call(b);throw new J(`Response type '${E}' is not supported`,J.ERR_NOT_SUPPORT,y)})});const p=async E=>{if(E==null)return 0;if(w.isBlob(E))return E.size;if(w.isSpecCompliantForm(E))return(await new i(Tt.origin,{method:"POST",body:E}).arrayBuffer()).byteLength;if(w.isArrayBufferView(E)||w.isArrayBuffer(E))return E.byteLength;if(w.isURLSearchParams(E)&&(E=E+""),w.isString(E))return(await d(E)).byteLength},v=async(E,b)=>{const y=w.toFiniteNumber(E.getContentLength());return y??p(b)};return async E=>{let{url:b,method:y,data:T,signal:N,cancelToken:z,timeout:B,onDownloadProgress:F,onUploadProgress:O,responseType:Q,headers:Z,withCredentials:$="same-origin",fetchOptions:ce,maxContentLength:fe,maxBodyLength:Be}=vg(E);const pe=w.isNumber(fe)&&fe>-1,ie=w.isNumber(Be)&&Be>-1;let he=o||fetch;Q=Q?(Q+"").toLowerCase():"text";let Se=aw([N,z&&z.toAbortSignal()],B),Pe=null;const Qe=Se&&Se.unsubscribe&&(()=>{Se.unsubscribe()});let Ze;try{if(pe&&typeof b=="string"&&b.startsWith("data:")&&dw(b)>fe)throw new J("maxContentLength size of "+fe+" exceeded",J.ERR_BAD_RESPONSE,E,Pe);if(ie&&y!=="get"&&y!=="head"){const D=await v(Z,T);if(typeof D=="number"&&isFinite(D)&&D>Be)throw new J("Request body larger than maxBodyLength limit",J.ERR_BAD_REQUEST,E,Pe)}if(O&&h&&y!=="get"&&y!=="head"&&(Ze=await v(Z,T))!==0){let D=new i(b,{method:"POST",body:T,duplex:"half"}),U;if(w.isFormData(T)&&(U=D.headers.get("content-type"))&&Z.setContentType(U),D.body){const[W,le]=pd(Ze,us(md(O)));T=Cd(D.body,vd,W,le)}}w.isString($)||($=$?"include":"omit");const Ue=c&&"credentials"in i.prototype;if(w.isFormData(T)){const D=Z.getContentType();D&&/^multipart\/form-data/i.test(D)&&!/boundary=/i.test(D)&&Z.delete("content-type")}Z.set("User-Agent","axios/"+tl,!1);const ct={...ce,signal:Se,method:y.toUpperCase(),headers:Z.normalize().toJSON(),body:T,duplex:"half",credentials:Ue?$:void 0};Pe=c&&new i(b,ct);let S=await(c?he(Pe,ce):he(b,ct));if(pe){const D=w.toFiniteNumber(S.headers.get("content-length"));if(D!=null&&D>fe)throw new J("maxContentLength size of "+fe+" exceeded",J.ERR_BAD_RESPONSE,E,Pe)}const de=f&&(Q==="stream"||Q==="response");if(f&&S.body&&(F||pe||de&&Qe)){const D={};["status","statusText","headers"].forEach(A=>{D[A]=S[A]});const U=w.toFiniteNumber(S.headers.get("content-length")),[W,le]=F&&pd(U,us(md(F),!0))||[];let g=0;const m=A=>{if(pe&&(g=A,g>fe))throw new J("maxContentLength size of "+fe+" exceeded",J.ERR_BAD_RESPONSE,E,Pe);W&&W(A)};S=new s(Cd(S.body,vd,m,()=>{le&&le(),Qe&&Qe()}),D)}Q=Q||"text";let I=await C[w.findKey(C,Q)||"text"](S,E);if(pe&&!f&&!de){let D;if(I!=null&&(typeof I.byteLength=="number"?D=I.byteLength:typeof I.size=="number"?D=I.size:typeof I=="string"&&(D=typeof r=="function"?new r().encode(I).byteLength:I.length)),typeof D=="number"&&D>fe)throw new J("maxContentLength size of "+fe+" exceeded",J.ERR_BAD_RESPONSE,E,Pe)}return!de&&Qe&&Qe(),await new Promise((D,U)=>{yg(D,U,{data:I,headers:kt.from(S.headers),status:S.status,statusText:S.statusText,config:E,request:Pe})})}catch(Ue){if(Qe&&Qe(),Se&&Se.aborted&&Se.reason instanceof J){const ct=Se.reason;throw ct.config=E,Pe&&(ct.request=Pe),Ue!==ct&&(ct.cause=Ue),ct}throw Ue&&Ue.name==="TypeError"&&/Load failed|fetch/i.test(Ue.message)?Object.assign(new J("Network Error",J.ERR_NETWORK,E,Pe,Ue&&Ue.response),{cause:Ue.cause||Ue}):J.from(Ue,Ue&&Ue.code,E,Pe,Ue&&Ue.response)}}},fw=new Map,Tg=n=>{let e=n&&n.env||{};const{fetch:t,Request:r,Response:o}=e,i=[r,o,t];let s=i.length,a=s,c,l,u=fw;for(;a--;)c=i[a],l=u.get(c),l===void 0&&u.set(c,l=a?new Map:hw(e)),u=l;return l};Tg();const nl={http:ME,xhr:sw,fetch:{get:Tg}};w.forEach(nl,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{__proto__:null,value:e})}catch{}Object.defineProperty(n,"adapterName",{__proto__:null,value:e})}});const Ad=n=>`- ${n}`,gw=n=>w.isFunction(n)||n===null||n===!1;function pw(n,e){n=w.isArray(n)?n:[n];const{length:t}=n;let r,o;const i={};for(let s=0;s`adapter ${c} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?s.length>1?`since : -`+s.map(Ad).join(` -`):" "+Ad(s[0]):"as no adapter specified";throw new J("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o}const Ag={getAdapter:pw,adapters:nl};function Sa(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new Si(null,n)}function Ed(n){return Sa(n),n.headers=kt.from(n.headers),n.data=Ia.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),Ag.getAdapter(n.adapter||Ii.adapter,n)(n).then(function(r){Sa(n),n.response=r;try{r.data=Ia.call(n,n.transformResponse,r)}finally{delete n.response}return r.headers=kt.from(r.headers),r},function(r){if(!mg(r)&&(Sa(n),r&&r.response)){n.response=r.response;try{r.response.data=Ia.call(n,n.transformResponse,r.response)}finally{delete n.response}r.response.headers=kt.from(r.response.headers)}return Promise.reject(r)})}const zs={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{zs[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const wd={};zs.transitional=function(e,t,r){function o(i,s){return"[Axios v"+tl+"] Transitional option '"+i+"'"+s+(r?". "+r:"")}return(i,s,a)=>{if(e===!1)throw new J(o(s," has been removed"+(t?" in "+t:"")),J.ERR_DEPRECATED);return t&&!wd[s]&&(wd[s]=!0,console.warn(o(s," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,s,a):!0}};zs.spelling=function(e){return(t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function mw(n,e,t){if(typeof n!="object")throw new J("options must be an object",J.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let o=r.length;for(;o-- >0;){const i=r[o],s=Object.prototype.hasOwnProperty.call(e,i)?e[i]:void 0;if(s){const a=n[i],c=a===void 0||s(a,i,n);if(c!==!0)throw new J("option "+i+" must be "+c,J.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new J("Unknown option "+i,J.ERR_BAD_OPTION)}}const Zi={assertOptions:mw,validators:zs},Vt=Zi.validators;let Lr=class{constructor(e){this.defaults=e||{},this.interceptors={request:new gd,response:new gd}}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=(()=>{if(!o.stack)return"";const s=o.stack.indexOf(` -`);return s===-1?"":o.stack.slice(s+1)})();try{if(!r.stack)r.stack=i;else if(i){const s=i.indexOf(` -`),a=s===-1?-1:i.indexOf(` -`,s+1),c=a===-1?"":i.slice(a+1);String(r.stack).endsWith(c)||(r.stack+=` -`+i)}}catch{}}throw r}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ur(this.defaults,t);const{transitional:r,paramsSerializer:o,headers:i}=t;r!==void 0&&Zi.assertOptions(r,{silentJSONParsing:Vt.transitional(Vt.boolean),forcedJSONParsing:Vt.transitional(Vt.boolean),clarifyTimeoutError:Vt.transitional(Vt.boolean),legacyInterceptorReqResOrdering:Vt.transitional(Vt.boolean)},!1),o!=null&&(w.isFunction(o)?t.paramsSerializer={serialize:o}:Zi.assertOptions(o,{encode:Vt.function,serialize:Vt.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Zi.assertOptions(t,{baseUrl:Vt.spelling("baseURL"),withXsrfToken:Vt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=i&&w.merge(i.common,i[t.method]);i&&w.forEach(["delete","get","head","post","put","patch","query","common"],C=>{delete i[C]}),t.headers=kt.concat(s,i);const a=[];let c=!0;this.interceptors.request.forEach(function(p){if(typeof p.runWhen=="function"&&p.runWhen(t)===!1)return;c=c&&p.synchronous;const v=t.transitional||Zc;v&&v.legacyInterceptorReqResOrdering?a.unshift(p.fulfilled,p.rejected):a.push(p.fulfilled,p.rejected)});const l=[];this.interceptors.response.forEach(function(p){l.push(p.fulfilled,p.rejected)});let u,d=0,h;if(!c){const C=[Ed.bind(this),void 0];for(C.unshift(...a),C.push(...l),h=C.length,u=Promise.resolve(t);d{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new Si(i,s,a),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=r=>{e.abort(r)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Eg(function(o){e=o}),cancel:e}}};function Cw(n){return function(t){return n.apply(null,t)}}function vw(n){return w.isObject(n)&&n.isAxiosError===!0}const uc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(uc).forEach(([n,e])=>{uc[e]=n});function wg(n){const e=new Lr(n),t=rg(Lr.prototype.request,e);return w.extend(t,Lr.prototype,e,{allOwnKeys:!0}),w.extend(t,e,null,{allOwnKeys:!0}),t.create=function(o){return wg(Ur(n,o))},t}const Je=wg(Ii);Je.Axios=Lr;Je.CanceledError=Si;Je.CancelToken=yw;Je.isCancel=mg;Je.VERSION=tl;Je.toFormData=Vs;Je.AxiosError=J;Je.Cancel=Je.CanceledError;Je.all=function(e){return Promise.all(e)};Je.spread=Cw;Je.isAxiosError=vw;Je.mergeConfig=Ur;Je.AxiosHeaders=kt;Je.formToJSON=n=>pg(w.isHTMLForm(n)?new FormData(n):n);Je.getAdapter=Ag.getAdapter;Je.HttpStatusCode=uc;Je.default=Je;const{Axios:hS,AxiosError:fS,CanceledError:gS,isCancel:pS,CancelToken:mS,VERSION:yS,all:CS,Cancel:vS,isAxiosError:TS,spread:AS,toFormData:ES,AxiosHeaders:wS,HttpStatusCode:_S,formToJSON:bS,getAdapter:IS,mergeConfig:SS,create:RS}=Je,ds=Je.create({baseURL:"/cc-dashboard",headers:{"Content-Type":"application/json"}});function Tw(n,e){ds.interceptors.request.use(t=>{const r=n();return r&&(t.headers.Authorization=`Bearer ${r}`),t}),ds.interceptors.response.use(t=>t,t=>{var r;return((r=t.response)==null?void 0:r.status)===401&&e(),Promise.reject(t)})}/*! @azure/msal-common v14.16.1 2025-08-05 */const R={LIBRARY_NAME:"MSAL.JS",SKU:"msal.js.common",CACHE_PREFIX:"msal",DEFAULT_AUTHORITY:"https://login.microsoftonline.com/common/",DEFAULT_AUTHORITY_HOST:"login.microsoftonline.com",DEFAULT_COMMON_TENANT:"common",ADFS:"adfs",DSTS:"dstsv2",AAD_INSTANCE_DISCOVERY_ENDPT:"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",CIAM_AUTH_URL:".ciamlogin.com",AAD_TENANT_DOMAIN_SUFFIX:".onmicrosoft.com",RESOURCE_DELIM:"|",NO_ACCOUNT:"NO_ACCOUNT",CLAIMS:"claims",CONSUMER_UTID:"9188040d-6c67-4c5b-b112-36a304b66dad",OPENID_SCOPE:"openid",PROFILE_SCOPE:"profile",OFFLINE_ACCESS_SCOPE:"offline_access",EMAIL_SCOPE:"email",CODE_RESPONSE_TYPE:"code",CODE_GRANT_TYPE:"authorization_code",RT_GRANT_TYPE:"refresh_token",FRAGMENT_RESPONSE_MODE:"fragment",S256_CODE_CHALLENGE_METHOD:"S256",URL_FORM_CONTENT_TYPE:"application/x-www-form-urlencoded;charset=utf-8",AUTHORIZATION_PENDING:"authorization_pending",NOT_DEFINED:"not_defined",EMPTY_STRING:"",NOT_APPLICABLE:"N/A",NOT_AVAILABLE:"Not Available",FORWARD_SLASH:"/",IMDS_ENDPOINT:"http://169.254.169.254/metadata/instance/compute/location",IMDS_VERSION:"2020-06-01",IMDS_TIMEOUT:2e3,AZURE_REGION_AUTO_DISCOVER_FLAG:"TryAutoDetect",REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX:"login.microsoft.com",KNOWN_PUBLIC_CLOUDS:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"],TOKEN_RESPONSE_TYPE:"token",ID_TOKEN_RESPONSE_TYPE:"id_token",SHR_NONCE_VALIDITY:240,INVALID_INSTANCE:"invalid_instance"},Fi={CLIENT_ERROR_RANGE_START:400,CLIENT_ERROR_RANGE_END:499,SERVER_ERROR_RANGE_START:500,SERVER_ERROR_RANGE_END:599},Po=[R.OPENID_SCOPE,R.PROFILE_SCOPE,R.OFFLINE_ACCESS_SCOPE],_d=[...Po,R.EMAIL_SCOPE],bt={CONTENT_TYPE:"Content-Type",CONTENT_LENGTH:"Content-Length",RETRY_AFTER:"Retry-After",CCS_HEADER:"X-AnchorMailbox",WWWAuthenticate:"WWW-Authenticate",AuthenticationInfo:"Authentication-Info",X_MS_REQUEST_ID:"x-ms-request-id",X_MS_HTTP_VERSION:"x-ms-httpver"},it={ID_TOKEN:"idtoken",CLIENT_INFO:"client.info",ADAL_ID_TOKEN:"adal.idtoken",ERROR:"error",ERROR_DESC:"error.description",ACTIVE_ACCOUNT:"active-account",ACTIVE_ACCOUNT_FILTERS:"active-account-filters"},ur={COMMON:"common",ORGANIZATIONS:"organizations",CONSUMERS:"consumers"},Bi={ACCESS_TOKEN:"access_token",XMS_CC:"xms_cc"},at={LOGIN:"login",SELECT_ACCOUNT:"select_account",CONSENT:"consent",NONE:"none",CREATE:"create",NO_SESSION:"no_session"},bd={PLAIN:"plain",S256:"S256"},Ri={QUERY:"query",FRAGMENT:"fragment"},Aw={...Ri},_g={AUTHORIZATION_CODE_GRANT:"authorization_code",REFRESH_TOKEN_GRANT:"refresh_token"},Ki={MSSTS_ACCOUNT_TYPE:"MSSTS",ADFS_ACCOUNT_TYPE:"ADFS",GENERIC_ACCOUNT_TYPE:"Generic"},yt={CACHE_KEY_SEPARATOR:"-",CLIENT_INFO_SEPARATOR:"."},ae={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},rl="appmetadata",Ew="client_info",Zo="1",hs={CACHE_KEY:"authority-metadata",REFRESH_TIME_SECONDS:3600*24},Dt={CONFIG:"config",CACHE:"cache",NETWORK:"network",HARDCODED_VALUES:"hardcoded_values"},ut={SCHEMA_VERSION:5,MAX_LAST_HEADER_BYTES:330,MAX_CACHED_ERRORS:50,CACHE_KEY:"server-telemetry",CATEGORY_SEPARATOR:"|",VALUE_SEPARATOR:",",OVERFLOW_TRUE:"1",OVERFLOW_FALSE:"0",UNKNOWN_ERROR:"unknown_error"},Ne={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},ei={DEFAULT_THROTTLE_TIME_SECONDS:60,DEFAULT_MAX_THROTTLE_TIME_SECONDS:3600,THROTTLING_PREFIX:"throttling",X_MS_LIB_CAPABILITY_VALUE:"retry-after, h429"},Id={INVALID_GRANT_ERROR:"invalid_grant",CLIENT_MISMATCH_ERROR:"client_mismatch"},Sd={username:"username",password:"password"},qi={httpSuccess:200,httpBadRequest:400},zr={FAILED_AUTO_DETECTION:"1",INTERNAL_CACHE:"2",ENVIRONMENT_VARIABLE:"3",IMDS:"4"},Ra={CONFIGURED_NO_AUTO_DETECTION:"2",AUTO_DETECTION_REQUESTED_SUCCESSFUL:"4",AUTO_DETECTION_REQUESTED_FAILED:"5"},er={NOT_APPLICABLE:"0",FORCE_REFRESH_OR_CLAIMS:"1",NO_CACHED_ACCESS_TOKEN:"2",CACHED_ACCESS_TOKEN_EXPIRED:"3",PROACTIVELY_REFRESHED:"4"},ww={Pop:"pop"},_w=300;/*! @azure/msal-common v14.16.1 2025-08-05 */const ol="unexpected_error",bw="post_request_failed";/*! @azure/msal-common v14.16.1 2025-08-05 */const Rd={[ol]:"Unexpected error in authentication.",[bw]:"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details."};class Fe extends Error{constructor(e,t,r){const o=t?`${e}: ${t}`:e;super(o),Object.setPrototypeOf(this,Fe.prototype),this.errorCode=e||R.EMPTY_STRING,this.errorMessage=t||R.EMPTY_STRING,this.subError=r||R.EMPTY_STRING,this.name="AuthError"}setCorrelationId(e){this.correlationId=e}}function bg(n,e){return new Fe(n,e?`${Rd[n]} ${e}`:Rd[n])}/*! @azure/msal-common v14.16.1 2025-08-05 */const il="client_info_decoding_error",Ig="client_info_empty_error",sl="token_parsing_error",Sg="null_or_empty_token",Mn="endpoints_resolution_error",Rg="network_error",kg="openid_config_error",Og="hash_not_deserialized",_o="invalid_state",Pg="state_mismatch",fs="state_not_found",Ng="nonce_mismatch",al="auth_time_not_found",Mg="max_age_transpired",Iw="multiple_matching_tokens",Sw="multiple_matching_accounts",xg="multiple_matching_appMetadata",Dg="request_cannot_be_made",Lg="cannot_remove_empty_scope",Ug="cannot_append_scopeset",dc="empty_input_scopeset",Rw="device_code_polling_cancelled",kw="device_code_expired",Ow="device_code_unknown_error",cl="no_account_in_silent_request",Hg="invalid_cache_record",ll="invalid_cache_environment",hc="no_account_found",fc="no_crypto_object",gc="unexpected_credential_type",Pw="invalid_assertion",Nw="invalid_client_credential",Fn="token_refresh_required",Mw="user_timeout_reached",Fg="token_claims_cnf_required_for_signedjwt",Bg="authorization_code_missing_from_server_response",xw="binding_key_not_removed",Kg="end_session_endpoint_not_supported",ul="key_id_missing",Dw="no_network_connectivity",Lw="user_canceled",Uw="missing_tenant_id_error",ge="method_not_implemented",Hw="nested_app_auth_bridge_disabled";/*! @azure/msal-common v14.16.1 2025-08-05 */const kd={[il]:"The client info could not be parsed/decoded correctly",[Ig]:"The client info was empty",[sl]:"Token cannot be parsed",[Sg]:"The token is null or empty",[Mn]:"Endpoints cannot be resolved",[Rg]:"Network request failed",[kg]:"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.",[Og]:"The hash parameters could not be deserialized",[_o]:"State was not the expected format",[Pg]:"State mismatch error",[fs]:"State not found",[Ng]:"Nonce mismatch error",[al]:"Max Age was requested and the ID token is missing the auth_time variable. auth_time is an optional claim and is not enabled by default - it must be enabled. See https://aka.ms/msaljs/optional-claims for more information.",[Mg]:"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.",[Iw]:"The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.",[Sw]:"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account",[xg]:"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata",[Dg]:"Token request cannot be made without authorization code or refresh token.",[Lg]:"Cannot remove null or empty scope from ScopeSet",[Ug]:"Cannot append ScopeSet",[dc]:"Empty input ScopeSet cannot be processed",[Rw]:"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.",[kw]:"Device code is expired.",[Ow]:"Device code stopped polling for unknown reasons.",[cl]:"Please pass an account object, silent flow is not supported without account information",[Hg]:"Cache record object was null or undefined.",[ll]:"Invalid environment when attempting to create cache entry",[hc]:"No account found in cache for given key.",[fc]:"No crypto object detected.",[gc]:"Unexpected credential type.",[Pw]:"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515",[Nw]:"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential",[Fn]:"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.",[Mw]:"User defined timeout for device code polling reached",[Fg]:"Cannot generate a POP jwt if the token_claims are not populated",[Bg]:"Server response does not contain an authorization code to proceed",[xw]:"Could not remove the credential's binding key from storage.",[Kg]:"The provided authority does not support logout",[ul]:"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.",[Dw]:"No network connectivity. Check your internet connection.",[Lw]:"User cancelled the flow.",[Uw]:"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.",[ge]:"This method has not been implemented",[Hw]:"The nested app auth bridge is disabled"};class Qs extends Fe{constructor(e,t){super(e,t?`${kd[e]}: ${t}`:kd[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,Qs.prototype)}}function H(n,e){return new Qs(n,e)}/*! @azure/msal-common v14.16.1 2025-08-05 */const gs={createNewGuid:()=>{throw H(ge)},base64Decode:()=>{throw H(ge)},base64Encode:()=>{throw H(ge)},base64UrlEncode:()=>{throw H(ge)},encodeKid:()=>{throw H(ge)},async getPublicKeyThumbprint(){throw H(ge)},async removeTokenBindingKey(){throw H(ge)},async clearKeystore(){throw H(ge)},async signJwt(){throw H(ge)},async hashString(){throw H(ge)}};/*! @azure/msal-common v14.16.1 2025-08-05 */var Ke;(function(n){n[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Info=2]="Info",n[n.Verbose=3]="Verbose",n[n.Trace=4]="Trace"})(Ke||(Ke={}));class hr{constructor(e,t,r){this.level=Ke.Info;const o=()=>{},i=e||hr.createDefaultLoggerOptions();this.localCallback=i.loggerCallback||o,this.piiLoggingEnabled=i.piiLoggingEnabled||!1,this.level=typeof i.logLevel=="number"?i.logLevel:Ke.Info,this.correlationId=i.correlationId||R.EMPTY_STRING,this.packageName=t||R.EMPTY_STRING,this.packageVersion=r||R.EMPTY_STRING}static createDefaultLoggerOptions(){return{loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:Ke.Info}}clone(e,t,r){return new hr({loggerCallback:this.localCallback,piiLoggingEnabled:this.piiLoggingEnabled,logLevel:this.level,correlationId:r||this.correlationId},e,t)}logMessage(e,t){if(t.logLevel>this.level||!this.piiLoggingEnabled&&t.containsPii)return;const i=`${`[${new Date().toUTCString()}] : [${t.correlationId||this.correlationId||""}]`} : ${this.packageName}@${this.packageVersion} : ${Ke[t.logLevel]} - ${e}`;this.executeCallback(t.logLevel,i,t.containsPii||!1)}executeCallback(e,t,r){this.localCallback&&this.localCallback(e,t,r)}error(e,t){this.logMessage(e,{logLevel:Ke.Error,containsPii:!1,correlationId:t||R.EMPTY_STRING})}errorPii(e,t){this.logMessage(e,{logLevel:Ke.Error,containsPii:!0,correlationId:t||R.EMPTY_STRING})}warning(e,t){this.logMessage(e,{logLevel:Ke.Warning,containsPii:!1,correlationId:t||R.EMPTY_STRING})}warningPii(e,t){this.logMessage(e,{logLevel:Ke.Warning,containsPii:!0,correlationId:t||R.EMPTY_STRING})}info(e,t){this.logMessage(e,{logLevel:Ke.Info,containsPii:!1,correlationId:t||R.EMPTY_STRING})}infoPii(e,t){this.logMessage(e,{logLevel:Ke.Info,containsPii:!0,correlationId:t||R.EMPTY_STRING})}verbose(e,t){this.logMessage(e,{logLevel:Ke.Verbose,containsPii:!1,correlationId:t||R.EMPTY_STRING})}verbosePii(e,t){this.logMessage(e,{logLevel:Ke.Verbose,containsPii:!0,correlationId:t||R.EMPTY_STRING})}trace(e,t){this.logMessage(e,{logLevel:Ke.Trace,containsPii:!1,correlationId:t||R.EMPTY_STRING})}tracePii(e,t){this.logMessage(e,{logLevel:Ke.Trace,containsPii:!0,correlationId:t||R.EMPTY_STRING})}isPiiLoggingEnabled(){return this.piiLoggingEnabled||!1}}/*! @azure/msal-common v14.16.1 2025-08-05 */const qg="@azure/msal-common",dl="14.16.1";/*! @azure/msal-common v14.16.1 2025-08-05 */const hl={None:"none"};/*! @azure/msal-common v14.16.1 2025-08-05 */function qr(n,e){const t=Fw(n);try{const r=e(t);return JSON.parse(r)}catch{throw H(sl)}}function Fw(n){if(!n)throw H(Sg);const t=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(n);if(!t||t.length<4)throw H(sl);return t[2]}function $g(n,e){if(e===0||Date.now()-3e5>n+e)throw H(Mg)}/*! @azure/msal-common v14.16.1 2025-08-05 */function bn(){return Math.round(new Date().getTime()/1e3)}function pc(n,e){const t=Number(n)||0;return bn()+e>t}function Bw(n){return Number(n)>bn()}/*! @azure/msal-common v14.16.1 2025-08-05 */function to(n){return[Kw(n),qw(n),$w(n),jw(n),Gw(n)].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}function Ws(n,e,t,r,o){return{credentialType:ae.ID_TOKEN,homeAccountId:n,environment:e,clientId:r,secret:t,realm:o}}function Ys(n,e,t,r,o,i,s,a,c,l,u,d,h,f,C){var v,E;const p={homeAccountId:n,credentialType:ae.ACCESS_TOKEN,secret:t,cachedAt:bn().toString(),expiresOn:s.toString(),extendedExpiresOn:a.toString(),environment:e,clientId:r,realm:o,target:i,tokenType:u||Ne.BEARER};if(d&&(p.userAssertionHash=d),l&&(p.refreshOn=l.toString()),f&&(p.requestedClaims=f,p.requestedClaimsHash=C),((v=p.tokenType)==null?void 0:v.toLowerCase())!==Ne.BEARER.toLowerCase())switch(p.credentialType=ae.ACCESS_TOKEN_WITH_AUTH_SCHEME,p.tokenType){case Ne.POP:const b=qr(t,c);if(!((E=b==null?void 0:b.cnf)!=null&&E.kid))throw H(Fg);p.keyId=b.cnf.kid;break;case Ne.SSH:p.keyId=h}return p}function jg(n,e,t,r,o,i,s){const a={credentialType:ae.REFRESH_TOKEN,homeAccountId:n,environment:e,clientId:r,secret:t};return i&&(a.userAssertionHash=i),o&&(a.familyId=o),s&&(a.expiresOn=s.toString()),a}function fl(n){return n.hasOwnProperty("homeAccountId")&&n.hasOwnProperty("environment")&&n.hasOwnProperty("credentialType")&&n.hasOwnProperty("clientId")&&n.hasOwnProperty("secret")}function Od(n){return n?fl(n)&&n.hasOwnProperty("realm")&&n.hasOwnProperty("target")&&(n.credentialType===ae.ACCESS_TOKEN||n.credentialType===ae.ACCESS_TOKEN_WITH_AUTH_SCHEME):!1}function Pd(n){return n?fl(n)&&n.hasOwnProperty("realm")&&n.credentialType===ae.ID_TOKEN:!1}function Nd(n){return n?fl(n)&&n.credentialType===ae.REFRESH_TOKEN:!1}function Kw(n){return[n.homeAccountId,n.environment].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}function qw(n){const e=n.credentialType===ae.REFRESH_TOKEN&&n.familyId||n.clientId;return[n.credentialType,e,n.realm||""].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}function $w(n){return(n.target||"").toLowerCase()}function jw(n){return(n.requestedClaimsHash||"").toLowerCase()}function Gw(n){return n.tokenType&&n.tokenType.toLowerCase()!==Ne.BEARER.toLowerCase()?n.tokenType.toLowerCase():""}function Vw(n,e){const t=n.indexOf(ut.CACHE_KEY)===0;let r=!0;return e&&(r=e.hasOwnProperty("failedRequests")&&e.hasOwnProperty("errors")&&e.hasOwnProperty("cacheHits")),t&&r}function zw(n,e){let t=!1;n&&(t=n.indexOf(ei.THROTTLING_PREFIX)===0);let r=!0;return e&&(r=e.hasOwnProperty("throttleTime")),t&&r}function Qw({environment:n,clientId:e}){return[rl,n,e].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}function Ww(n,e){return e?n.indexOf(rl)===0&&e.hasOwnProperty("clientId")&&e.hasOwnProperty("environment"):!1}function Yw(n,e){return e?n.indexOf(hs.CACHE_KEY)===0&&e.hasOwnProperty("aliases")&&e.hasOwnProperty("preferred_cache")&&e.hasOwnProperty("preferred_network")&&e.hasOwnProperty("canonical_authority")&&e.hasOwnProperty("authorization_endpoint")&&e.hasOwnProperty("token_endpoint")&&e.hasOwnProperty("issuer")&&e.hasOwnProperty("aliasesFromNetwork")&&e.hasOwnProperty("endpointsFromNetwork")&&e.hasOwnProperty("expiresAt")&&e.hasOwnProperty("jwks_uri"):!1}function Md(){return bn()+hs.REFRESH_TIME_SECONDS}function $i(n,e,t){n.authorization_endpoint=e.authorization_endpoint,n.token_endpoint=e.token_endpoint,n.end_session_endpoint=e.end_session_endpoint,n.issuer=e.issuer,n.endpointsFromNetwork=t,n.jwks_uri=e.jwks_uri}function ka(n,e,t){n.aliases=e.aliases,n.preferred_cache=e.preferred_cache,n.preferred_network=e.preferred_network,n.aliasesFromNetwork=t}function xd(n){return n.expiresAt<=bn()}/*! @azure/msal-common v14.16.1 2025-08-05 */const Gg="redirect_uri_empty",Jw="claims_request_parsing_error",Vg="authority_uri_insecure",$o="url_parse_error",zg="empty_url_error",Qg="empty_input_scopes_error",Wg="invalid_prompt_value",gl="invalid_claims",Yg="token_request_empty",Jg="logout_request_empty",Xg="invalid_code_challenge_method",pl="pkce_params_missing",ml="invalid_cloud_discovery_metadata",Zg="invalid_authority_metadata",ep="untrusted_authority",Js="missing_ssh_jwk",tp="missing_ssh_kid",Xw="missing_nonce_authentication_header",Zw="invalid_authentication_header",np="cannot_set_OIDCOptions",rp="cannot_allow_native_broker",op="authority_mismatch";/*! @azure/msal-common v14.16.1 2025-08-05 */const e_={[Gg]:"A redirect URI is required for all calls, and none has been set.",[Jw]:"Could not parse the given claims request object.",[Vg]:"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",[$o]:"URL could not be parsed into appropriate segments.",[zg]:"URL was empty or null.",[Qg]:"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",[Wg]:"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",[gl]:"Given claims parameter must be a stringified JSON object.",[Yg]:"Token request was empty and not found in cache.",[Jg]:"The logout request was null or undefined.",[Xg]:'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',[pl]:"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",[ml]:"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",[Zg]:"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",[ep]:"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",[Js]:"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",[tp]:"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",[Xw]:"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",[Zw]:"Invalid authentication header provided",[np]:"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",[rp]:"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",[op]:"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."};class yl extends Fe{constructor(e){super(e,e_[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,yl.prototype)}}function xe(n){return new yl(n)}/*! @azure/msal-common v14.16.1 2025-08-05 */class tn{static isEmptyObj(e){if(e)try{const t=JSON.parse(e);return Object.keys(t).length===0}catch{}return!0}static startsWith(e,t){return e.indexOf(t)===0}static endsWith(e,t){return e.length>=t.length&&e.lastIndexOf(t)===e.length-t.length}static queryStringToObject(e){const t={},r=e.split("&"),o=i=>decodeURIComponent(i.replace(/\+/g," "));return r.forEach(i=>{if(i.trim()){const[s,a]=i.split(/=(.+)/g,2);s&&a&&(t[o(s)]=o(a))}}),t}static trimArrayEntries(e){return e.map(t=>t.trim())}static removeEmptyStringsFromArray(e){return e.filter(t=>!!t)}static jsonParseHelper(e){try{return JSON.parse(e)}catch{return null}}static matchPattern(e,t){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(t)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class Ye{constructor(e){const t=e?tn.trimArrayEntries([...e]):[],r=t?tn.removeEmptyStringsFromArray(t):[];this.validateInputScopes(r),this.scopes=new Set,r.forEach(o=>this.scopes.add(o))}static fromString(e){const r=(e||R.EMPTY_STRING).split(" ");return new Ye(r)}static createSearchScopes(e){const t=new Ye(e);return t.containsOnlyOIDCScopes()?t.removeScope(R.OFFLINE_ACCESS_SCOPE):t.removeOIDCScopes(),t}validateInputScopes(e){if(!e||e.length<1)throw xe(Qg)}containsScope(e){const t=this.printScopesLowerCase().split(" "),r=new Ye(t);return e?r.scopes.has(e.toLowerCase()):!1}containsScopeSet(e){return!e||e.scopes.size<=0?!1:this.scopes.size>=e.scopes.size&&e.asArray().every(t=>this.containsScope(t))}containsOnlyOIDCScopes(){let e=0;return _d.forEach(t=>{this.containsScope(t)&&(e+=1)}),this.scopes.size===e}appendScope(e){e&&this.scopes.add(e.trim())}appendScopes(e){try{e.forEach(t=>this.appendScope(t))}catch{throw H(Ug)}}removeScope(e){if(!e)throw H(Lg);this.scopes.delete(e.trim())}removeOIDCScopes(){_d.forEach(e=>{this.scopes.delete(e)})}unionScopeSets(e){if(!e)throw H(dc);const t=new Set;return e.scopes.forEach(r=>t.add(r.toLowerCase())),this.scopes.forEach(r=>t.add(r.toLowerCase())),t}intersectingScopeSets(e){if(!e)throw H(dc);e.containsOnlyOIDCScopes()||e.removeOIDCScopes();const t=this.unionScopeSets(e),r=e.getScopeCount(),o=this.getScopeCount();return t.sizee.push(t)),e}printScopes(){return this.scopes?this.asArray().join(" "):R.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}/*! @azure/msal-common v14.16.1 2025-08-05 */function ps(n,e){if(!n)throw H(Ig);try{const t=e(n);return JSON.parse(t)}catch{throw H(il)}}function no(n){if(!n)throw H(il);const e=n.split(yt.CLIENT_INFO_SEPARATOR,2);return{uid:e[0],utid:e.length<2?R.EMPTY_STRING:e[1]}}/*! @azure/msal-common v14.16.1 2025-08-05 */function ms(n,e){return!!n&&!!e&&n===e.split(".")[1]}function Cl(n,e,t,r){if(r){const{oid:o,sub:i,tid:s,name:a,tfp:c,acr:l}=r,u=s||c||l||"";return{tenantId:u,localAccountId:o||i||"",name:a,isHomeTenant:ms(u,n)}}else return{tenantId:t,localAccountId:e,isHomeTenant:ms(t,n)}}function vl(n,e,t,r){let o=n;if(e){const{isHomeTenant:i,...s}=e;o={...n,...s}}if(t){const{isHomeTenant:i,...s}=Cl(n.homeAccountId,n.localAccountId,n.tenantId,t);return o={...o,...s,idTokenClaims:t,idToken:r},o}return o}/*! @azure/msal-common v14.16.1 2025-08-05 */const Zt={Default:0,Adfs:1,Dsts:2,Ciam:3};/*! @azure/msal-common v14.16.1 2025-08-05 */function ip(n){return n&&(n.tid||n.tfp||n.acr)||null}/*! @azure/msal-common v14.16.1 2025-08-05 */const qn={AAD:"AAD",OIDC:"OIDC"};/*! @azure/msal-common v14.16.1 2025-08-05 */class rt{generateAccountId(){return[this.homeAccountId,this.environment].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}generateAccountKey(){return rt.generateAccountCacheKey({homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId})}getAccountInfo(){return{homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId,name:this.name,nativeAccountId:this.nativeAccountId,authorityType:this.authorityType,tenantProfiles:new Map((this.tenantProfiles||[]).map(e=>[e.tenantId,e]))}}isSingleTenant(){return!this.tenantProfiles}static generateAccountCacheKey(e){const t=e.homeAccountId.split(".")[1];return[e.homeAccountId,e.environment||"",t||e.tenantId||""].join(yt.CACHE_KEY_SEPARATOR).toLowerCase()}static createAccount(e,t,r){var l,u,d,h,f,C;const o=new rt;t.authorityType===Zt.Adfs?o.authorityType=Ki.ADFS_ACCOUNT_TYPE:t.protocolMode===qn.AAD?o.authorityType=Ki.MSSTS_ACCOUNT_TYPE:o.authorityType=Ki.GENERIC_ACCOUNT_TYPE;let i;e.clientInfo&&r&&(i=ps(e.clientInfo,r)),o.clientInfo=e.clientInfo,o.homeAccountId=e.homeAccountId,o.nativeAccountId=e.nativeAccountId;const s=e.environment||t&&t.getPreferredCache();if(!s)throw H(ll);o.environment=s,o.realm=(i==null?void 0:i.utid)||ip(e.idTokenClaims)||"",o.localAccountId=(i==null?void 0:i.uid)||((l=e.idTokenClaims)==null?void 0:l.oid)||((u=e.idTokenClaims)==null?void 0:u.sub)||"";const a=((d=e.idTokenClaims)==null?void 0:d.preferred_username)||((h=e.idTokenClaims)==null?void 0:h.upn),c=(f=e.idTokenClaims)!=null&&f.emails?e.idTokenClaims.emails[0]:null;if(o.username=a||c||"",o.name=((C=e.idTokenClaims)==null?void 0:C.name)||"",o.cloudGraphHostName=e.cloudGraphHostName,o.msGraphHost=e.msGraphHost,e.tenantProfiles)o.tenantProfiles=e.tenantProfiles;else{const p=Cl(e.homeAccountId,o.localAccountId,o.realm,e.idTokenClaims);o.tenantProfiles=[p]}return o}static createFromAccountInfo(e,t,r){var i;const o=new rt;return o.authorityType=e.authorityType||Ki.GENERIC_ACCOUNT_TYPE,o.homeAccountId=e.homeAccountId,o.localAccountId=e.localAccountId,o.nativeAccountId=e.nativeAccountId,o.realm=e.tenantId,o.environment=e.environment,o.username=e.username,o.name=e.name,o.cloudGraphHostName=t,o.msGraphHost=r,o.tenantProfiles=Array.from(((i=e.tenantProfiles)==null?void 0:i.values())||[]),o}static generateHomeAccountId(e,t,r,o,i){if(!(t===Zt.Adfs||t===Zt.Dsts)){if(e)try{const s=ps(e,o.base64Decode);if(s.uid&&s.utid)return`${s.uid}.${s.utid}`}catch{}r.warning("No client info in response")}return(i==null?void 0:i.sub)||""}static isAccountEntity(e){return e?e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("realm")&&e.hasOwnProperty("localAccountId")&&e.hasOwnProperty("username")&&e.hasOwnProperty("authorityType"):!1}static accountInfoIsEqual(e,t,r){if(!e||!t)return!1;let o=!0;if(r){const i=e.idTokenClaims||{},s=t.idTokenClaims||{};o=i.iat===s.iat&&i.nonce===s.nonce}return e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username&&e.tenantId===t.tenantId&&e.environment===t.environment&&e.nativeAccountId===t.nativeAccountId&&o}}/*! @azure/msal-common v14.16.1 2025-08-05 */function sp(n){return n.startsWith("#/")?n.substring(2):n.startsWith("#")||n.startsWith("?")?n.substring(1):n}function ys(n){if(!n||n.indexOf("=")<0)return null;try{const e=sp(n),t=Object.fromEntries(new URLSearchParams(e));if(t.code||t.error||t.error_description||t.state)return t}catch{throw H(Og)}return null}/*! @azure/msal-common v14.16.1 2025-08-05 */class ve{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw xe(zg);e.includes("#")||(this._urlString=ve.canonicalizeUri(e))}static canonicalizeUri(e){if(e){let t=e.toLowerCase();return tn.endsWith(t,"?")?t=t.slice(0,-1):tn.endsWith(t,"?/")&&(t=t.slice(0,-2)),tn.endsWith(t,"/")||(t+="/"),t}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch{throw xe($o)}if(!e.HostNameAndPort||!e.PathSegments)throw xe($o);if(!e.Protocol||e.Protocol.toLowerCase()!=="https:")throw xe(Vg)}static appendQueryString(e,t){return t?e.indexOf("?")<0?`${e}?${t}`:`${e}&${t}`:e}static removeHashFromUrl(e){return ve.canonicalizeUri(e.split("#")[0])}replaceTenantPath(e){const t=this.getUrlComponents(),r=t.PathSegments;return e&&r.length!==0&&(r[0]===ur.COMMON||r[0]===ur.ORGANIZATIONS)&&(r[0]=e),ve.constructAuthorityUriFromObject(t)}getUrlComponents(){const e=RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"),t=this.urlString.match(e);if(!t)throw xe($o);const r={Protocol:t[1],HostNameAndPort:t[4],AbsolutePath:t[5],QueryString:t[7]};let o=r.AbsolutePath.split("/");return o=o.filter(i=>i&&i.length>0),r.PathSegments=o,r.QueryString&&r.QueryString.endsWith("/")&&(r.QueryString=r.QueryString.substring(0,r.QueryString.length-1)),r}static getDomainFromUrl(e){const t=RegExp("^([^:/?#]+://)?([^/?#]*)"),r=e.match(t);if(!r)throw xe($o);return r[2]}static getAbsoluteUrl(e,t){if(e[0]===R.FORWARD_SLASH){const o=new ve(t).getUrlComponents();return o.Protocol+"//"+o.HostNameAndPort+e}return e}static constructAuthorityUriFromObject(e){return new ve(e.Protocol+"//"+e.HostNameAndPort+"/"+e.PathSegments.join("/"))}static hashContainsKnownProperties(e){return!!ys(e)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const ap={endpointMetadata:{"login.microsoftonline.com":{token_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout"},"login.chinacloudapi.cn":{token_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",authorization_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout"},"login.microsoftonline.us":{token_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout"}},instanceDiscoveryMetadata:{metadata:[{preferred_network:"login.microsoftonline.com",preferred_cache:"login.windows.net",aliases:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{preferred_network:"login.partner.microsoftonline.cn",preferred_cache:"login.partner.microsoftonline.cn",aliases:["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{preferred_network:"login.microsoftonline.de",preferred_cache:"login.microsoftonline.de",aliases:["login.microsoftonline.de"]},{preferred_network:"login.microsoftonline.us",preferred_cache:"login.microsoftonline.us",aliases:["login.microsoftonline.us","login.usgovcloudapi.net"]},{preferred_network:"login-us.microsoftonline.com",preferred_cache:"login-us.microsoftonline.com",aliases:["login-us.microsoftonline.com"]}]}},Dd=ap.endpointMetadata,Tl=ap.instanceDiscoveryMetadata,cp=new Set;Tl.metadata.forEach(n=>{n.aliases.forEach(e=>{cp.add(e)})});function t_(n,e){var o;let t;const r=n.canonicalAuthority;if(r){const i=new ve(r).getUrlComponents().HostNameAndPort;t=Ld(i,(o=n.cloudDiscoveryMetadata)==null?void 0:o.metadata,Dt.CONFIG,e)||Ld(i,Tl.metadata,Dt.HARDCODED_VALUES,e)||n.knownAuthorities}return t||[]}function Ld(n,e,t,r){if(r==null||r.trace(`getAliasesFromMetadata called with source: ${t}`),n&&e){const o=Cs(e,n);if(o)return r==null||r.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${t}, returning aliases`),o.aliases;r==null||r.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${t}`)}return null}function n_(n){return Cs(Tl.metadata,n)}function Cs(n,e){for(let t=0;t1?r.sort(i=>i.idTokenClaims?-1:1)[0]:r.length===1?r[0]:null}getBaseAccountInfo(e,t){const r=this.getAccountsFilteredBy(e,t);return r.length>0?r[0].getAccountInfo():null}buildTenantProfiles(e,t,r){return e.flatMap(o=>this.getTenantProfilesFromAccountEntity(o,t,r==null?void 0:r.tenantId,r))}getTenantedAccountInfoByFilter(e,t,r,o,i){let s=null,a;if(i&&!this.tenantProfileMatchesFilter(r,i))return null;const c=this.getIdToken(e,o,t,r.tenantId);return c&&(a=qr(c.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(a,i))?null:(s=vl(e,r,a,c==null?void 0:c.secret),s)}getTenantProfilesFromAccountEntity(e,t,r,o){const i=e.getAccountInfo();let s=i.tenantProfiles||new Map;const a=this.getTokenKeys();if(r){const l=s.get(r);if(l)s=new Map([[r,l]]);else return[]}const c=[];return s.forEach(l=>{const u=this.getTenantedAccountInfoByFilter(i,a,l,t,o);u&&c.push(u)}),c}tenantProfileMatchesFilter(e,t){return!(t.localAccountId&&!this.matchLocalAccountIdFromTenantProfile(e,t.localAccountId)||t.name&&e.name!==t.name||t.isHomeTenant!==void 0&&e.isHomeTenant!==t.isHomeTenant)}idTokenClaimsMatchTenantProfileFilter(e,t){return!(t&&(t.localAccountId&&!this.matchLocalAccountIdFromTokenClaims(e,t.localAccountId)||t.loginHint&&!this.matchLoginHintFromTokenClaims(e,t.loginHint)||t.username&&!this.matchUsername(e.preferred_username,t.username)||t.name&&!this.matchName(e,t.name)||t.sid&&!this.matchSid(e,t.sid)))}async saveCacheRecord(e,t,r){var o;if(!e)throw H(Hg);try{e.account&&this.setAccount(e.account,t),e.idToken&&(r==null?void 0:r.idToken)!==!1&&this.setIdTokenCredential(e.idToken,t),e.accessToken&&(r==null?void 0:r.accessToken)!==!1&&await this.saveAccessToken(e.accessToken,t),e.refreshToken&&(r==null?void 0:r.refreshToken)!==!1&&this.setRefreshTokenCredential(e.refreshToken,t),e.appMetadata&&this.setAppMetadata(e.appMetadata,t)}catch(i){throw(o=this.commonLogger)==null||o.error("CacheManager.saveCacheRecord: failed"),i instanceof Fe?i:lp(i)}}async saveAccessToken(e,t){const r={clientId:e.clientId,credentialType:e.credentialType,environment:e.environment,homeAccountId:e.homeAccountId,realm:e.realm,tokenType:e.tokenType,requestedClaimsHash:e.requestedClaimsHash},o=this.getTokenKeys(),i=Ye.fromString(e.target);o.accessToken.forEach(s=>{if(!this.accessTokenKeyMatchesFilter(s,r,!1))return;const a=this.getAccessTokenCredential(s,t);a&&this.credentialMatchesFilter(a,r)&&Ye.fromString(a.target).intersectingScopeSets(i)&&this.removeAccessToken(s,t)}),this.setAccessTokenCredential(e,t)}getAccountsFilteredBy(e,t){const r=this.getAccountKeys(),o=[];return r.forEach(i=>{var l;if(!this.isAccountKey(i,e.homeAccountId))return;const s=this.getAccount(i,t,this.commonLogger);if(!s||e.homeAccountId&&!this.matchHomeAccountId(s,e.homeAccountId)||e.username&&!this.matchUsername(s.username,e.username)||e.environment&&!this.matchEnvironment(s,e.environment)||e.realm&&!this.matchRealm(s,e.realm)||e.nativeAccountId&&!this.matchNativeAccountId(s,e.nativeAccountId)||e.authorityType&&!this.matchAuthorityType(s,e.authorityType))return;const a={localAccountId:e==null?void 0:e.localAccountId,name:e==null?void 0:e.name},c=(l=s.tenantProfiles)==null?void 0:l.filter(u=>this.tenantProfileMatchesFilter(u,a));c&&c.length===0||o.push(s)}),o}isAccountKey(e,t,r){return!(e.split(yt.CACHE_KEY_SEPARATOR).length<3||t&&!e.toLowerCase().includes(t.toLowerCase())||r&&!e.toLowerCase().includes(r.toLowerCase()))}isCredentialKey(e){if(e.split(yt.CACHE_KEY_SEPARATOR).length<6)return!1;const t=e.toLowerCase();if(t.indexOf(ae.ID_TOKEN.toLowerCase())===-1&&t.indexOf(ae.ACCESS_TOKEN.toLowerCase())===-1&&t.indexOf(ae.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())===-1&&t.indexOf(ae.REFRESH_TOKEN.toLowerCase())===-1)return!1;if(t.indexOf(ae.REFRESH_TOKEN.toLowerCase())>-1){const r=`${ae.REFRESH_TOKEN}${yt.CACHE_KEY_SEPARATOR}${this.clientId}${yt.CACHE_KEY_SEPARATOR}`,o=`${ae.REFRESH_TOKEN}${yt.CACHE_KEY_SEPARATOR}${Zo}${yt.CACHE_KEY_SEPARATOR}`;if(t.indexOf(r.toLowerCase())===-1&&t.indexOf(o.toLowerCase())===-1)return!1}else if(t.indexOf(this.clientId.toLowerCase())===-1)return!1;return!0}credentialMatchesFilter(e,t){return!(t.clientId&&!this.matchClientId(e,t.clientId)||t.userAssertionHash&&!this.matchUserAssertionHash(e,t.userAssertionHash)||typeof t.homeAccountId=="string"&&!this.matchHomeAccountId(e,t.homeAccountId)||t.environment&&!this.matchEnvironment(e,t.environment)||t.realm&&!this.matchRealm(e,t.realm)||t.credentialType&&!this.matchCredentialType(e,t.credentialType)||t.familyId&&!this.matchFamilyId(e,t.familyId)||t.target&&!this.matchTarget(e,t.target)||(t.requestedClaimsHash||e.requestedClaimsHash)&&e.requestedClaimsHash!==t.requestedClaimsHash||e.credentialType===ae.ACCESS_TOKEN_WITH_AUTH_SCHEME&&(t.tokenType&&!this.matchTokenType(e,t.tokenType)||t.tokenType===Ne.SSH&&t.keyId&&!this.matchKeyId(e,t.keyId)))}getAppMetadataFilteredBy(e){const t=this.getKeys(),r={};return t.forEach(o=>{if(!this.isAppMetadata(o))return;const i=this.getAppMetadata(o);i&&(e.environment&&!this.matchEnvironment(i,e.environment)||e.clientId&&!this.matchClientId(i,e.clientId)||(r[o]=i))}),r}getAuthorityMetadataByAlias(e){const t=this.getAuthorityMetadataKeys();let r=null;return t.forEach(o=>{if(!this.isAuthorityMetadata(o)||o.indexOf(this.clientId)===-1)return;const i=this.getAuthorityMetadata(o);i&&i.aliases.indexOf(e)!==-1&&(r=i)}),r}async removeAllAccounts(e){const t=this.getAccountKeys(),r=[];t.forEach(o=>{r.push(this.removeAccount(o,e))}),await Promise.all(r)}async removeAccount(e,t){const r=this.getAccount(e,t,this.commonLogger);r&&(await this.removeAccountContext(r,t),this.removeItem(e,t))}async removeAccountContext(e,t){const r=this.getTokenKeys(),o=e.generateAccountId();r.idToken.forEach(i=>{i.indexOf(o)===0&&this.removeIdToken(i,t)}),r.accessToken.forEach(i=>{i.indexOf(o)===0&&this.removeAccessToken(i,t)}),r.refreshToken.forEach(i=>{i.indexOf(o)===0&&this.removeRefreshToken(i,t)}),this.getKeys().forEach(i=>{i.includes(o)&&this.removeItem(i,t)})}updateOutdatedCachedAccount(e,t,r,o){var i;if(t&&t.isSingleTenant()){(i=this.commonLogger)==null||i.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");const s=this.getAccountKeys().filter(d=>d.startsWith(t.homeAccountId)),a=[];s.forEach(d=>{const h=this.getCachedAccountEntity(d,r);h&&a.push(h)});const c=a.find(d=>ms(d.realm,d.homeAccountId))||a[0];c.tenantProfiles=a.map(d=>({tenantId:d.realm,localAccountId:d.localAccountId,name:d.name,isHomeTenant:ms(d.realm,d.homeAccountId)}));const l=bo.toObject(new rt,{...c}),u=l.generateAccountKey();return s.forEach(d=>{d!==u&&this.removeOutdatedAccount(e,r)}),this.setAccount(l,r),o==null||o.verbose("Updated an outdated account entity in the cache"),l}return t}removeAccessToken(e,t){const r=this.getAccessTokenCredential(e,t);if(this.removeItem(e,t),!r||r.credentialType.toLowerCase()!==ae.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()||r.tokenType!==Ne.POP)return;const o=r.keyId;o&&this.cryptoImpl.removeTokenBindingKey(o).catch(()=>{this.commonLogger.error("Binding key could not be removed")})}removeAppMetadata(e){return this.getKeys().forEach(r=>{this.isAppMetadata(r)&&this.removeItem(r,e)}),!0}readAccountFromCache(e,t){const r=rt.generateAccountCacheKey(e);return this.getAccount(r,t,this.commonLogger)}getIdToken(e,t,r,o,i){this.commonLogger.trace("CacheManager - getIdToken called");const s={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:ae.ID_TOKEN,clientId:this.clientId,realm:o},a=this.getIdTokensByFilter(s,t,r),c=a.size;if(c<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(c>1){let l=a;if(!o){const u=new Map;a.forEach((h,f)=>{h.realm===e.tenantId&&u.set(f,h)});const d=u.size;if(d<1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result"),a.values().next().value;if(d===1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile"),u.values().next().value;l=u}return this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them"),l.forEach((u,d)=>{this.removeIdToken(d,t)}),i&&t&&i.addFields({multiMatchedID:a.size},t),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),a.values().next().value}getIdTokensByFilter(e,t,r){const o=r&&r.idToken||this.getTokenKeys().idToken,i=new Map;return o.forEach(s=>{if(!this.idTokenKeyMatchesFilter(s,{clientId:this.clientId,...e}))return;const a=this.getIdTokenCredential(s,t);a&&this.credentialMatchesFilter(a,e)&&i.set(s,a)}),i}idTokenKeyMatchesFilter(e,t){const r=e.toLowerCase();return!(t.clientId&&r.indexOf(t.clientId.toLowerCase())===-1||t.homeAccountId&&r.indexOf(t.homeAccountId.toLowerCase())===-1)}removeIdToken(e,t){this.removeItem(e,t)}removeRefreshToken(e,t){this.removeItem(e,t)}getAccessToken(e,t,r,o,i){this.commonLogger.trace("CacheManager - getAccessToken called");const s=Ye.createSearchScopes(t.scopes),a=t.authenticationScheme||Ne.BEARER,c=a.toLowerCase()!==Ne.BEARER.toLowerCase()?ae.ACCESS_TOKEN_WITH_AUTH_SCHEME:ae.ACCESS_TOKEN,l={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:c,clientId:this.clientId,realm:o||e.tenantId,target:s,tokenType:a,keyId:t.sshKid,requestedClaimsHash:t.requestedClaimsHash},u=r&&r.accessToken||this.getTokenKeys().accessToken,d=[];u.forEach(f=>{if(this.accessTokenKeyMatchesFilter(f,l,!0)){const C=this.getAccessTokenCredential(f,t.correlationId);C&&this.credentialMatchesFilter(C,l)&&d.push(C)}});const h=d.length;return h<1?(this.commonLogger.info("CacheManager:getAccessToken - No token found"),null):h>1?(this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them"),d.forEach(f=>{this.removeAccessToken(to(f),t.correlationId)}),i&&t.correlationId&&i.addFields({multiMatchedAT:d.length},t.correlationId),null):(this.commonLogger.info("CacheManager:getAccessToken - Returning access token"),d[0])}accessTokenKeyMatchesFilter(e,t,r){const o=e.toLowerCase();if(t.clientId&&o.indexOf(t.clientId.toLowerCase())===-1||t.homeAccountId&&o.indexOf(t.homeAccountId.toLowerCase())===-1||t.realm&&o.indexOf(t.realm.toLowerCase())===-1||t.requestedClaimsHash&&o.indexOf(t.requestedClaimsHash.toLowerCase())===-1)return!1;if(t.target){const i=t.target.asArray();for(let s=0;s{if(!this.accessTokenKeyMatchesFilter(i,e,!0))return;const s=this.getAccessTokenCredential(i,t);s&&this.credentialMatchesFilter(s,e)&&o.push(s)}),o}getRefreshToken(e,t,r,o,i){this.commonLogger.trace("CacheManager - getRefreshToken called");const s=t?Zo:void 0,a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:ae.REFRESH_TOKEN,clientId:this.clientId,familyId:s},c=o&&o.refreshToken||this.getTokenKeys().refreshToken,l=[];c.forEach(d=>{if(this.refreshTokenKeyMatchesFilter(d,a)){const h=this.getRefreshTokenCredential(d,r);h&&this.credentialMatchesFilter(h,a)&&l.push(h)}});const u=l.length;return u<1?(this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found."),null):(u>1&&i&&r&&i.addFields({multiMatchedRT:u},r),this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token"),l[0])}refreshTokenKeyMatchesFilter(e,t){const r=e.toLowerCase();return!(t.familyId&&r.indexOf(t.familyId.toLowerCase())===-1||!t.familyId&&t.clientId&&r.indexOf(t.clientId.toLowerCase())===-1||t.homeAccountId&&r.indexOf(t.homeAccountId.toLowerCase())===-1)}readAppMetadataFromCache(e){const t={environment:e,clientId:this.clientId},r=this.getAppMetadataFilteredBy(t),o=Object.keys(r).map(s=>r[s]),i=o.length;if(i<1)return null;if(i>1)throw H(xg);return o[0]}isAppMetadataFOCI(e){const t=this.readAppMetadataFromCache(e);return!!(t&&t.familyId===Zo)}matchHomeAccountId(e,t){return typeof e.homeAccountId=="string"&&t===e.homeAccountId}matchLocalAccountIdFromTokenClaims(e,t){const r=e.oid||e.sub;return t===r}matchLocalAccountIdFromTenantProfile(e,t){return e.localAccountId===t}matchName(e,t){var r;return t.toLowerCase()===((r=e.name)==null?void 0:r.toLowerCase())}matchUsername(e,t){return!!(e&&typeof e=="string"&&(t==null?void 0:t.toLowerCase())===e.toLowerCase())}matchUserAssertionHash(e,t){return!!(e.userAssertionHash&&t===e.userAssertionHash)}matchEnvironment(e,t){if(this.staticAuthorityOptions){const o=t_(this.staticAuthorityOptions,this.commonLogger);if(o.includes(t)&&o.includes(e.environment))return!0}const r=this.getAuthorityMetadataByAlias(t);return!!(r&&r.aliases.indexOf(e.environment)>-1)}matchCredentialType(e,t){return e.credentialType&&t.toLowerCase()===e.credentialType.toLowerCase()}matchClientId(e,t){return!!(e.clientId&&t===e.clientId)}matchFamilyId(e,t){return!!(e.familyId&&t===e.familyId)}matchRealm(e,t){var r;return((r=e.realm)==null?void 0:r.toLowerCase())===t.toLowerCase()}matchNativeAccountId(e,t){return!!(e.nativeAccountId&&t===e.nativeAccountId)}matchLoginHintFromTokenClaims(e,t){return e.login_hint===t||e.preferred_username===t||e.upn===t}matchSid(e,t){return e.sid===t}matchAuthorityType(e,t){return!!(e.authorityType&&t.toLowerCase()===e.authorityType.toLowerCase())}matchTarget(e,t){return e.credentialType!==ae.ACCESS_TOKEN&&e.credentialType!==ae.ACCESS_TOKEN_WITH_AUTH_SCHEME||!e.target?!1:Ye.fromString(e.target).containsScopeSet(t)}matchTokenType(e,t){return!!(e.tokenType&&e.tokenType===t)}matchKeyId(e,t){return!!(e.keyId&&e.keyId===t)}isAppMetadata(e){return e.indexOf(rl)!==-1}isAuthorityMetadata(e){return e.indexOf(hs.CACHE_KEY)!==-1}generateAuthorityMetadataCacheKey(e){return`${hs.CACHE_KEY}-${this.clientId}-${e}`}static toObject(e,t){for(const r in t)e[r]=t[r];return e}}class r_ extends bo{setAccount(){throw H(ge)}getAccount(){throw H(ge)}getCachedAccountEntity(){throw H(ge)}setIdTokenCredential(){throw H(ge)}getIdTokenCredential(){throw H(ge)}setAccessTokenCredential(){throw H(ge)}getAccessTokenCredential(){throw H(ge)}setRefreshTokenCredential(){throw H(ge)}getRefreshTokenCredential(){throw H(ge)}setAppMetadata(){throw H(ge)}getAppMetadata(){throw H(ge)}setServerTelemetry(){throw H(ge)}getServerTelemetry(){throw H(ge)}setAuthorityMetadata(){throw H(ge)}getAuthorityMetadata(){throw H(ge)}getAuthorityMetadataKeys(){throw H(ge)}setThrottlingCache(){throw H(ge)}getThrottlingCache(){throw H(ge)}removeItem(){throw H(ge)}getKeys(){throw H(ge)}getAccountKeys(){throw H(ge)}getTokenKeys(){throw H(ge)}updateCredentialCacheKey(){throw H(ge)}removeOutdatedAccount(){throw H(ge)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const up={tokenRenewalOffsetSeconds:_w,preventCorsPreflight:!1},o_={loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:Ke.Info,correlationId:R.EMPTY_STRING},i_={claimsBasedCachingEnabled:!1},s_={async sendGetRequestAsync(){throw H(ge)},async sendPostRequestAsync(){throw H(ge)}},a_={sku:R.SKU,version:dl,cpu:R.EMPTY_STRING,os:R.EMPTY_STRING},c_={clientSecret:R.EMPTY_STRING,clientAssertion:void 0},l_={azureCloudInstance:hl.None,tenant:`${R.DEFAULT_COMMON_TENANT}`},u_={application:{appName:"",appVersion:""}};function d_({authOptions:n,systemOptions:e,loggerOptions:t,cacheOptions:r,storageInterface:o,networkInterface:i,cryptoInterface:s,clientCredentials:a,libraryInfo:c,telemetry:l,serverTelemetryManager:u,persistencePlugin:d,serializableCache:h}){const f={...o_,...t};return{authOptions:h_(n),systemOptions:{...up,...e},loggerOptions:f,cacheOptions:{...i_,...r},storageInterface:o||new r_(n.clientId,gs,new hr(f)),networkInterface:i||s_,cryptoInterface:s||gs,clientCredentials:a||c_,libraryInfo:{...a_,...c},telemetry:{...u_,...l},serverTelemetryManager:u||null,persistencePlugin:d||null,serializableCache:h||null}}function h_(n){return{clientCapabilities:[],azureCloudOptions:l_,skipAuthorityMetadataCache:!1,instanceAware:!1,...n}}function mc(n){return n.authOptions.authority.options.protocolMode===qn.OIDC}/*! @azure/msal-common v14.16.1 2025-08-05 */const qt={HOME_ACCOUNT_ID:"home_account_id",UPN:"UPN"};/*! @azure/msal-common v14.16.1 2025-08-05 */const Hr="client_id",dp="redirect_uri",Ud="response_type",f_="response_mode",g_="grant_type",p_="claims",m_="scope",y_="refresh_token",C_="state",v_="nonce",T_="prompt",A_="code",E_="code_challenge",w_="code_challenge_method",__="code_verifier",b_="client-request-id",I_="x-client-SKU",S_="x-client-VER",R_="x-client-OS",k_="x-client-CPU",O_="x-client-current-telemetry",P_="x-client-last-telemetry",N_="x-ms-lib-capability",M_="x-app-name",x_="x-app-ver",D_="post_logout_redirect_uri",L_="id_token_hint",U_="device_code",H_="client_secret",F_="client_assertion",B_="client_assertion_type",Hd="token_type",Fd="req_cnf",K_="assertion",q_="requested_token_use",Bd="return_spa_code",$_="nativebroker",j_="logout_hint",G_="sid",V_="login_hint",z_="domain_hint",Q_="x-client-xtra-sku",wl="brk_client_id",yc="brk_redirect_uri";/*! @azure/msal-common v14.16.1 2025-08-05 */class Jr{static validateRedirectUri(e){if(!e)throw xe(Gg)}static validatePrompt(e){const t=[];for(const r in at)t.push(at[r]);if(t.indexOf(e)<0)throw xe(Wg)}static validateClaims(e){try{JSON.parse(e)}catch{throw xe(gl)}}static validateCodeChallengeParams(e,t){if(!e||!t)throw xe(pl);this.validateCodeChallengeMethod(t)}static validateCodeChallengeMethod(e){if([bd.PLAIN,bd.S256].indexOf(e)<0)throw xe(Xg)}}/*! @azure/msal-common v14.16.1 2025-08-05 */function W_(n,e,t){if(!e)return;const r=n.get(Hr);r&&n.has(wl)&&(t==null||t.addFields({embeddedClientId:r,embeddedRedirectUri:n.get(dp)},e))}class ti{constructor(e,t){this.parameters=new Map,this.performanceClient=t,this.correlationId=e}addResponseTypeCode(){this.parameters.set(Ud,encodeURIComponent(R.CODE_RESPONSE_TYPE))}addResponseTypeForTokenAndIdToken(){this.parameters.set(Ud,encodeURIComponent(`${R.TOKEN_RESPONSE_TYPE} ${R.ID_TOKEN_RESPONSE_TYPE}`))}addResponseMode(e){this.parameters.set(f_,encodeURIComponent(e||Aw.QUERY))}addNativeBroker(){this.parameters.set($_,encodeURIComponent("1"))}addScopes(e,t=!0,r=Po){t&&!r.includes("openid")&&!e.includes("openid")&&r.push("openid");const o=t?[...e||[],...r]:e||[],i=new Ye(o);this.parameters.set(m_,encodeURIComponent(i.printScopes()))}addClientId(e){this.parameters.set(Hr,encodeURIComponent(e))}addRedirectUri(e){Jr.validateRedirectUri(e),this.parameters.set(dp,encodeURIComponent(e))}addPostLogoutRedirectUri(e){Jr.validateRedirectUri(e),this.parameters.set(D_,encodeURIComponent(e))}addIdTokenHint(e){this.parameters.set(L_,encodeURIComponent(e))}addDomainHint(e){this.parameters.set(z_,encodeURIComponent(e))}addLoginHint(e){this.parameters.set(V_,encodeURIComponent(e))}addCcsUpn(e){this.parameters.set(bt.CCS_HEADER,encodeURIComponent(`UPN:${e}`))}addCcsOid(e){this.parameters.set(bt.CCS_HEADER,encodeURIComponent(`Oid:${e.uid}@${e.utid}`))}addSid(e){this.parameters.set(G_,encodeURIComponent(e))}addClaims(e,t){const r=this.addClientCapabilitiesToClaims(e,t);Jr.validateClaims(r),this.parameters.set(p_,encodeURIComponent(r))}addCorrelationId(e){this.parameters.set(b_,encodeURIComponent(e))}addLibraryInfo(e){this.parameters.set(I_,e.sku),this.parameters.set(S_,e.version),e.os&&this.parameters.set(R_,e.os),e.cpu&&this.parameters.set(k_,e.cpu)}addApplicationTelemetry(e){e!=null&&e.appName&&this.parameters.set(M_,e.appName),e!=null&&e.appVersion&&this.parameters.set(x_,e.appVersion)}addPrompt(e){Jr.validatePrompt(e),this.parameters.set(`${T_}`,encodeURIComponent(e))}addState(e){e&&this.parameters.set(C_,encodeURIComponent(e))}addNonce(e){this.parameters.set(v_,encodeURIComponent(e))}addCodeChallengeParams(e,t){if(Jr.validateCodeChallengeParams(e,t),e&&t)this.parameters.set(E_,encodeURIComponent(e)),this.parameters.set(w_,encodeURIComponent(t));else throw xe(pl)}addAuthorizationCode(e){this.parameters.set(A_,encodeURIComponent(e))}addDeviceCode(e){this.parameters.set(U_,encodeURIComponent(e))}addRefreshToken(e){this.parameters.set(y_,encodeURIComponent(e))}addCodeVerifier(e){this.parameters.set(__,encodeURIComponent(e))}addClientSecret(e){this.parameters.set(H_,encodeURIComponent(e))}addClientAssertion(e){e&&this.parameters.set(F_,encodeURIComponent(e))}addClientAssertionType(e){e&&this.parameters.set(B_,encodeURIComponent(e))}addOboAssertion(e){this.parameters.set(K_,encodeURIComponent(e))}addRequestTokenUse(e){this.parameters.set(q_,encodeURIComponent(e))}addGrantType(e){this.parameters.set(g_,encodeURIComponent(e))}addClientInfo(){this.parameters.set(Ew,"1")}addExtraQueryParameters(e){Object.entries(e).forEach(([t,r])=>{!this.parameters.has(t)&&r&&this.parameters.set(t,r)})}addClientCapabilitiesToClaims(e,t){let r;if(!e)r={};else try{r=JSON.parse(e)}catch{throw xe(gl)}return t&&t.length>0&&(r.hasOwnProperty(Bi.ACCESS_TOKEN)||(r[Bi.ACCESS_TOKEN]={}),r[Bi.ACCESS_TOKEN][Bi.XMS_CC]={values:t}),JSON.stringify(r)}addUsername(e){this.parameters.set(Sd.username,encodeURIComponent(e))}addPassword(e){this.parameters.set(Sd.password,encodeURIComponent(e))}addPopToken(e){e&&(this.parameters.set(Hd,Ne.POP),this.parameters.set(Fd,encodeURIComponent(e)))}addSshJwk(e){e&&(this.parameters.set(Hd,Ne.SSH),this.parameters.set(Fd,encodeURIComponent(e)))}addServerTelemetry(e){this.parameters.set(O_,e.generateCurrentRequestHeaderValue()),this.parameters.set(P_,e.generateLastRequestHeaderValue())}addThrottling(){this.parameters.set(N_,ei.X_MS_LIB_CAPABILITY_VALUE)}addLogoutHint(e){this.parameters.set(j_,encodeURIComponent(e))}addBrokerParameters(e){const t={};t[wl]=e.brokerClientId,t[yc]=e.brokerRedirectUri,this.addExtraQueryParameters(t)}createQueryString(){const e=new Array;return this.parameters.forEach((t,r)=>{e.push(`${r}=${t}`)}),W_(this.parameters,this.correlationId,this.performanceClient),e.join("&")}}/*! @azure/msal-common v14.16.1 2025-08-05 */function Y_(n){return n.hasOwnProperty("authorization_endpoint")&&n.hasOwnProperty("token_endpoint")&&n.hasOwnProperty("issuer")&&n.hasOwnProperty("jwks_uri")}/*! @azure/msal-common v14.16.1 2025-08-05 */function J_(n){return n.hasOwnProperty("tenant_discovery_endpoint")&&n.hasOwnProperty("metadata")}/*! @azure/msal-common v14.16.1 2025-08-05 */function X_(n){return n.hasOwnProperty("error")&&n.hasOwnProperty("error_description")}/*! @azure/msal-common v14.16.1 2025-08-05 */const _={AcquireTokenByCode:"acquireTokenByCode",AcquireTokenByRefreshToken:"acquireTokenByRefreshToken",AcquireTokenSilent:"acquireTokenSilent",AcquireTokenSilentAsync:"acquireTokenSilentAsync",AcquireTokenPopup:"acquireTokenPopup",AcquireTokenPreRedirect:"acquireTokenPreRedirect",AcquireTokenRedirect:"acquireTokenRedirect",CryptoOptsGetPublicKeyThumbprint:"cryptoOptsGetPublicKeyThumbprint",CryptoOptsSignJwt:"cryptoOptsSignJwt",SilentCacheClientAcquireToken:"silentCacheClientAcquireToken",SilentIframeClientAcquireToken:"silentIframeClientAcquireToken",AwaitConcurrentIframe:"awaitConcurrentIframe",SilentRefreshClientAcquireToken:"silentRefreshClientAcquireToken",SsoSilent:"ssoSilent",StandardInteractionClientGetDiscoveredAuthority:"standardInteractionClientGetDiscoveredAuthority",FetchAccountIdWithNativeBroker:"fetchAccountIdWithNativeBroker",NativeInteractionClientAcquireToken:"nativeInteractionClientAcquireToken",BaseClientCreateTokenRequestHeaders:"baseClientCreateTokenRequestHeaders",NetworkClientSendPostRequestAsync:"networkClientSendPostRequestAsync",RefreshTokenClientExecutePostToTokenEndpoint:"refreshTokenClientExecutePostToTokenEndpoint",AuthorizationCodeClientExecutePostToTokenEndpoint:"authorizationCodeClientExecutePostToTokenEndpoint",BrokerHandhshake:"brokerHandshake",AcquireTokenByRefreshTokenInBroker:"acquireTokenByRefreshTokenInBroker",AcquireTokenByBroker:"acquireTokenByBroker",RefreshTokenClientExecuteTokenRequest:"refreshTokenClientExecuteTokenRequest",RefreshTokenClientAcquireToken:"refreshTokenClientAcquireToken",RefreshTokenClientAcquireTokenWithCachedRefreshToken:"refreshTokenClientAcquireTokenWithCachedRefreshToken",RefreshTokenClientAcquireTokenByRefreshToken:"refreshTokenClientAcquireTokenByRefreshToken",RefreshTokenClientCreateTokenRequestBody:"refreshTokenClientCreateTokenRequestBody",AcquireTokenFromCache:"acquireTokenFromCache",SilentFlowClientAcquireCachedToken:"silentFlowClientAcquireCachedToken",SilentFlowClientGenerateResultFromCacheRecord:"silentFlowClientGenerateResultFromCacheRecord",AcquireTokenBySilentIframe:"acquireTokenBySilentIframe",InitializeBaseRequest:"initializeBaseRequest",InitializeSilentRequest:"initializeSilentRequest",InitializeClientApplication:"initializeClientApplication",SilentIframeClientTokenHelper:"silentIframeClientTokenHelper",SilentHandlerInitiateAuthRequest:"silentHandlerInitiateAuthRequest",SilentHandlerMonitorIframeForHash:"silentHandlerMonitorIframeForHash",SilentHandlerLoadFrame:"silentHandlerLoadFrame",SilentHandlerLoadFrameSync:"silentHandlerLoadFrameSync",StandardInteractionClientCreateAuthCodeClient:"standardInteractionClientCreateAuthCodeClient",StandardInteractionClientGetClientConfiguration:"standardInteractionClientGetClientConfiguration",StandardInteractionClientInitializeAuthorizationRequest:"standardInteractionClientInitializeAuthorizationRequest",StandardInteractionClientInitializeAuthorizationCodeRequest:"standardInteractionClientInitializeAuthorizationCodeRequest",GetAuthCodeUrl:"getAuthCodeUrl",HandleCodeResponseFromServer:"handleCodeResponseFromServer",HandleCodeResponse:"handleCodeResponse",UpdateTokenEndpointAuthority:"updateTokenEndpointAuthority",AuthClientAcquireToken:"authClientAcquireToken",AuthClientExecuteTokenRequest:"authClientExecuteTokenRequest",AuthClientCreateTokenRequestBody:"authClientCreateTokenRequestBody",AuthClientCreateQueryString:"authClientCreateQueryString",PopTokenGenerateCnf:"popTokenGenerateCnf",PopTokenGenerateKid:"popTokenGenerateKid",HandleServerTokenResponse:"handleServerTokenResponse",DeserializeResponse:"deserializeResponse",AuthorityFactoryCreateDiscoveredInstance:"authorityFactoryCreateDiscoveredInstance",AuthorityResolveEndpointsAsync:"authorityResolveEndpointsAsync",AuthorityResolveEndpointsFromLocalSources:"authorityResolveEndpointsFromLocalSources",AuthorityGetCloudDiscoveryMetadataFromNetwork:"authorityGetCloudDiscoveryMetadataFromNetwork",AuthorityUpdateCloudDiscoveryMetadata:"authorityUpdateCloudDiscoveryMetadata",AuthorityGetEndpointMetadataFromNetwork:"authorityGetEndpointMetadataFromNetwork",AuthorityUpdateEndpointMetadata:"authorityUpdateEndpointMetadata",AuthorityUpdateMetadataWithRegionalInformation:"authorityUpdateMetadataWithRegionalInformation",RegionDiscoveryDetectRegion:"regionDiscoveryDetectRegion",RegionDiscoveryGetRegionFromIMDS:"regionDiscoveryGetRegionFromIMDS",RegionDiscoveryGetCurrentVersion:"regionDiscoveryGetCurrentVersion",AcquireTokenByCodeAsync:"acquireTokenByCodeAsync",GetEndpointMetadataFromNetwork:"getEndpointMetadataFromNetwork",GetCloudDiscoveryMetadataFromNetworkMeasurement:"getCloudDiscoveryMetadataFromNetworkMeasurement",HandleRedirectPromiseMeasurement:"handleRedirectPromise",HandleNativeRedirectPromiseMeasurement:"handleNativeRedirectPromise",UpdateCloudDiscoveryMetadataMeasurement:"updateCloudDiscoveryMetadataMeasurement",UsernamePasswordClientAcquireToken:"usernamePasswordClientAcquireToken",NativeMessageHandlerHandshake:"nativeMessageHandlerHandshake",NativeGenerateAuthResult:"nativeGenerateAuthResult",RemoveHiddenIframe:"removeHiddenIframe",ClearTokensAndKeysWithClaims:"clearTokensAndKeysWithClaims",CacheManagerGetRefreshToken:"cacheManagerGetRefreshToken",GeneratePkceCodes:"generatePkceCodes",GenerateCodeVerifier:"generateCodeVerifier",GenerateCodeChallengeFromVerifier:"generateCodeChallengeFromVerifier",Sha256Digest:"sha256Digest",GetRandomValues:"getRandomValues"},Z_={InProgress:1};/*! @azure/msal-common v14.16.1 2025-08-05 */const $r=(n,e,t,r,o)=>(...i)=>{t.trace(`Executing function ${e}`);const s=r==null?void 0:r.startMeasurement(e,o);if(o){const a=e+"CallCount";r==null||r.incrementFields({[a]:1},o)}try{const a=n(...i);return s==null||s.end({success:!0}),t.trace(`Returning result from ${e}`),a}catch(a){t.trace(`Error occurred in ${e}`);try{t.trace(JSON.stringify(a))}catch{t.trace("Unable to print error message.")}throw s==null||s.end({success:!1},a),a}},q=(n,e,t,r,o)=>(...i)=>{t.trace(`Executing function ${e}`);const s=r==null?void 0:r.startMeasurement(e,o);if(o){const a=e+"CallCount";r==null||r.incrementFields({[a]:1},o)}return r==null||r.setPreQueueTime(e,o),n(...i).then(a=>(t.trace(`Returning result from ${e}`),s==null||s.end({success:!0}),a)).catch(a=>{t.trace(`Error occurred in ${e}`);try{t.trace(JSON.stringify(a))}catch{t.trace("Unable to print error message.")}throw s==null||s.end({success:!1},a),a})};/*! @azure/msal-common v14.16.1 2025-08-05 */class Xs{constructor(e,t,r,o){this.networkInterface=e,this.logger=t,this.performanceClient=r,this.correlationId=o}async detectRegion(e,t){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.RegionDiscoveryDetectRegion,this.correlationId);let r=e;if(r)t.region_source=zr.ENVIRONMENT_VARIABLE;else{const i=Xs.IMDS_OPTIONS;try{const s=await q(this.getRegionFromIMDS.bind(this),_.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(R.IMDS_VERSION,i);if(s.status===qi.httpSuccess&&(r=s.body,t.region_source=zr.IMDS),s.status===qi.httpBadRequest){const a=await q(this.getCurrentVersion.bind(this),_.RegionDiscoveryGetCurrentVersion,this.logger,this.performanceClient,this.correlationId)(i);if(!a)return t.region_source=zr.FAILED_AUTO_DETECTION,null;const c=await q(this.getRegionFromIMDS.bind(this),_.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(a,i);c.status===qi.httpSuccess&&(r=c.body,t.region_source=zr.IMDS)}}catch{return t.region_source=zr.FAILED_AUTO_DETECTION,null}}return r||(t.region_source=zr.FAILED_AUTO_DETECTION),r||null}async getRegionFromIMDS(e,t){var r;return(r=this.performanceClient)==null||r.addQueueMeasurement(_.RegionDiscoveryGetRegionFromIMDS,this.correlationId),this.networkInterface.sendGetRequestAsync(`${R.IMDS_ENDPOINT}?api-version=${e}&format=text`,t,R.IMDS_TIMEOUT)}async getCurrentVersion(e){var t;(t=this.performanceClient)==null||t.addQueueMeasurement(_.RegionDiscoveryGetCurrentVersion,this.correlationId);try{const r=await this.networkInterface.sendGetRequestAsync(`${R.IMDS_ENDPOINT}?format=json`,e);return r.status===qi.httpBadRequest&&r.body&&r.body["newest-versions"]&&r.body["newest-versions"].length>0?r.body["newest-versions"][0]:null}catch{return null}}}Xs.IMDS_OPTIONS={headers:{Metadata:"true"}};/*! @azure/msal-common v14.16.1 2025-08-05 */class pt{constructor(e,t,r,o,i,s,a,c){this.canonicalAuthority=e,this._canonicalAuthority.validateAsUri(),this.networkInterface=t,this.cacheManager=r,this.authorityOptions=o,this.regionDiscoveryMetadata={region_used:void 0,region_source:void 0,region_outcome:void 0},this.logger=i,this.performanceClient=a,this.correlationId=s,this.managedIdentity=c||!1,this.regionDiscovery=new Xs(t,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(R.CIAM_AUTH_URL))return Zt.Ciam;const t=e.PathSegments;if(t.length)switch(t[0].toLowerCase()){case R.ADFS:return Zt.Adfs;case R.DSTS:return Zt.Dsts}return Zt.Default}get authorityType(){return this.getAuthorityType(this.canonicalAuthorityUrlComponents)}get protocolMode(){return this.authorityOptions.protocolMode}get options(){return this.authorityOptions}get canonicalAuthority(){return this._canonicalAuthority.urlString}set canonicalAuthority(e){this._canonicalAuthority=new ve(e),this._canonicalAuthority.validateAsUri(),this._canonicalAuthorityUrlComponents=null}get canonicalAuthorityUrlComponents(){return this._canonicalAuthorityUrlComponents||(this._canonicalAuthorityUrlComponents=this._canonicalAuthority.getUrlComponents()),this._canonicalAuthorityUrlComponents}get hostnameAndPort(){return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase()}get tenant(){return this.canonicalAuthorityUrlComponents.PathSegments[0]}get authorizationEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.authorization_endpoint);throw H(Mn)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw H(Mn)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw H(Mn)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw H(Kg);return this.replacePath(this.metadata.end_session_endpoint)}else throw H(Mn)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw H(Mn)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw H(Mn)}canReplaceTenant(e){return e.PathSegments.length===1&&!pt.reservedTenantDomains.has(e.PathSegments[0])&&this.getAuthorityType(e)===Zt.Default&&this.protocolMode===qn.AAD}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let t=e;const o=new ve(this.metadata.canonical_authority).getUrlComponents(),i=o.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach((a,c)=>{let l=i[c];if(c===0&&this.canReplaceTenant(o)){const u=new ve(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];l!==u&&(this.logger.verbose(`Replacing tenant domain name ${l} with id ${u}`),l=u)}a!==l&&(t=t.replace(`/${l}/`,`/${a}/`))}),this.replaceTenant(t)}get defaultOpenIdConfigurationEndpoint(){const e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||this.authorityType===Zt.Adfs||this.protocolMode!==qn.AAD&&!this.isAliasOfKnownMicrosoftAuthority(e)?`${this.canonicalAuthority}.well-known/openid-configuration`:`${this.canonicalAuthority}v2.0/.well-known/openid-configuration`}discoveryComplete(){return!!this.metadata}async resolveEndpointsAsync(){var o,i;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityResolveEndpointsAsync,this.correlationId);const e=this.getCurrentMetadataEntity(),t=await q(this.updateCloudDiscoveryMetadata.bind(this),_.AuthorityUpdateCloudDiscoveryMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);const r=await q(this.updateEndpointMetadata.bind(this),_.AuthorityUpdateEndpointMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,t,{source:r}),(i=this.performanceClient)==null||i.addFields({cloudDiscoverySource:t,authorityEndpointSource:r},this.correlationId)}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e={aliases:[],preferred_cache:this.hostnameAndPort,preferred_network:this.hostnameAndPort,canonical_authority:this.canonicalAuthority,authorization_endpoint:"",token_endpoint:"",end_session_endpoint:"",issuer:"",aliasesFromNetwork:!1,endpointsFromNetwork:!1,expiresAt:Md(),jwks_uri:""}),e}updateCachedMetadata(e,t,r){t!==Dt.CACHE&&(r==null?void 0:r.source)!==Dt.CACHE&&(e.expiresAt=Md(),e.canonical_authority=this.canonicalAuthority);const o=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(o,e),this.metadata=e}async updateEndpointMetadata(e){var o,i,s;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityUpdateEndpointMetadata,this.correlationId);const t=this.updateEndpointMetadataFromLocalSources(e);if(t){if(t.source===Dt.HARDCODED_VALUES&&(i=this.authorityOptions.azureRegionConfiguration)!=null&&i.azureRegion&&t.metadata){const a=await q(this.updateMetadataWithRegionalInformation.bind(this),_.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(t.metadata);$i(e,a,!1),e.canonical_authority=this.canonicalAuthority}return t.source}let r=await q(this.getEndpointMetadataFromNetwork.bind(this),_.AuthorityGetEndpointMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(r)return(s=this.authorityOptions.azureRegionConfiguration)!=null&&s.azureRegion&&(r=await q(this.updateMetadataWithRegionalInformation.bind(this),_.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(r)),$i(e,r,!0),Dt.NETWORK;throw H(kg,this.defaultOpenIdConfigurationEndpoint)}updateEndpointMetadataFromLocalSources(e){this.logger.verbose("Attempting to get endpoint metadata from authority configuration");const t=this.getEndpointMetadataFromConfig();if(t)return this.logger.verbose("Found endpoint metadata in authority configuration"),$i(e,t,!1),{source:Dt.CONFIG};if(this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values."),this.authorityOptions.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");else{const o=this.getEndpointMetadataFromHardcodedValues();if(o)return $i(e,o,!1),{source:Dt.HARDCODED_VALUES,metadata:o};this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.")}const r=xd(e);return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!r?(this.logger.verbose("Found endpoint metadata in the cache."),{source:Dt.CACHE}):(r&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new ve(e.canonical_authority).getUrlComponents().PathSegments.length===this.canonicalAuthorityUrlComponents.PathSegments.length}getEndpointMetadataFromConfig(){if(this.authorityOptions.authorityMetadata)try{return JSON.parse(this.authorityOptions.authorityMetadata)}catch{throw xe(Zg)}return null}async getEndpointMetadataFromNetwork(){var r;(r=this.performanceClient)==null||r.addQueueMeasurement(_.AuthorityGetEndpointMetadataFromNetwork,this.correlationId);const e={},t=this.defaultOpenIdConfigurationEndpoint;this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${t}`);try{const o=await this.networkInterface.sendGetRequestAsync(t,e);return Y_(o.body)?o.body:(this.logger.verbose("Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration"),null)}catch(o){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${o}`),null}}getEndpointMetadataFromHardcodedValues(){return this.hostnameAndPort in Dd?Dd[this.hostnameAndPort]:null}async updateMetadataWithRegionalInformation(e){var r,o,i;(r=this.performanceClient)==null||r.addQueueMeasurement(_.AuthorityUpdateMetadataWithRegionalInformation,this.correlationId);const t=(o=this.authorityOptions.azureRegionConfiguration)==null?void 0:o.azureRegion;if(t){if(t!==R.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome=Ra.CONFIGURED_NO_AUTO_DETECTION,this.regionDiscoveryMetadata.region_used=t,pt.replaceWithRegionalInformation(e,t);const s=await q(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),_.RegionDiscoveryDetectRegion,this.logger,this.performanceClient,this.correlationId)((i=this.authorityOptions.azureRegionConfiguration)==null?void 0:i.environmentRegion,this.regionDiscoveryMetadata);if(s)return this.regionDiscoveryMetadata.region_outcome=Ra.AUTO_DETECTION_REQUESTED_SUCCESSFUL,this.regionDiscoveryMetadata.region_used=s,pt.replaceWithRegionalInformation(e,s);this.regionDiscoveryMetadata.region_outcome=Ra.AUTO_DETECTION_REQUESTED_FAILED}return e}async updateCloudDiscoveryMetadata(e){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityUpdateCloudDiscoveryMetadata,this.correlationId);const t=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(t)return t;const r=await q(this.getCloudDiscoveryMetadataFromNetwork.bind(this),_.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(r)return ka(e,r,!0),Dt.NETWORK;throw xe(ep)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||R.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||R.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||R.NOT_APPLICABLE}`);const t=this.getCloudDiscoveryMetadataFromConfig();if(t)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),ka(e,t,!1),Dt.CONFIG;if(this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values."),this.options.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");else{const o=n_(this.hostnameAndPort);if(o)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),ka(e,o,!1),Dt.HARDCODED_VALUES;this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.")}const r=xd(e);return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!r?(this.logger.verbose("Found cloud discovery metadata in the cache."),Dt.CACHE):(r&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(this.authorityType===Zt.Ciam)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),pt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);if(this.authorityOptions.cloudDiscoveryMetadata){this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");try{this.logger.verbose("Attempting to parse the cloud discovery metadata.");const e=JSON.parse(this.authorityOptions.cloudDiscoveryMetadata),t=Cs(e.metadata,this.hostnameAndPort);if(this.logger.verbose("Parsed the cloud discovery metadata."),t)return this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata."),t;this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.")}catch{throw this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error."),xe(ml)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),pt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.correlationId);const e=`${R.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`,t={};let r=null;try{const i=await this.networkInterface.sendGetRequestAsync(e,t);let s,a;if(J_(i.body))s=i.body,a=s.metadata,this.logger.verbosePii(`tenant_discovery_endpoint is: ${s.tenant_discovery_endpoint}`);else if(X_(i.body)){if(this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${i.status}`),s=i.body,s.error===R.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invalid_instance."),null;this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${s.error}`),this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${s.error_description}`),this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []"),a=[]}else return this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse"),null;this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request."),r=Cs(a,this.hostnameAndPort)}catch(i){if(i instanceof Fe)this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata. -Error: ${i.errorCode} -Error Description: ${i.errorMessage}`);else{const s=i;this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata. -Error: ${s.name} -Error Description: ${s.message}`)}return null}return r||(this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request."),this.logger.verbose("Creating custom Authority for custom domain scenario."),r=pt.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),r}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter(t=>t&&ve.getDomainFromUrl(t).toLowerCase()===this.hostnameAndPort).length>0}static generateAuthority(e,t){let r;if(t&&t.azureCloudInstance!==hl.None){const o=t.tenant?t.tenant:R.DEFAULT_COMMON_TENANT;r=`${t.azureCloudInstance}/${o}/`}return r||e}static createCloudDiscoveryMetadataFromHost(e){return{preferred_network:e,preferred_cache:e,aliases:[e]}}getPreferredCache(){if(this.managedIdentity)return R.DEFAULT_AUTHORITY_HOST;if(this.discoveryComplete())return this.metadata.preferred_cache;throw H(Mn)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return cp.has(e)}static isPublicCloudAuthority(e){return R.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,t,r){const o=new ve(e);o.validateAsUri();const i=o.getUrlComponents();let s=`${t}.${i.HostNameAndPort}`;this.isPublicCloudAuthority(i.HostNameAndPort)&&(s=`${t}.${R.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);const a=ve.constructAuthorityUriFromObject({...o.getUrlComponents(),HostNameAndPort:s}).urlString;return r?`${a}?${r}`:a}static replaceWithRegionalInformation(e,t){const r={...e};return r.authorization_endpoint=pt.buildRegionalAuthorityString(r.authorization_endpoint,t),r.token_endpoint=pt.buildRegionalAuthorityString(r.token_endpoint,t),r.end_session_endpoint&&(r.end_session_endpoint=pt.buildRegionalAuthorityString(r.end_session_endpoint,t)),r}static transformCIAMAuthority(e){let t=e;const o=new ve(e).getUrlComponents();if(o.PathSegments.length===0&&o.HostNameAndPort.endsWith(R.CIAM_AUTH_URL)){const i=o.HostNameAndPort.split(".")[0];t=`${t}${i}${R.AAD_TENANT_DOMAIN_SUFFIX}`}return t}}pt.reservedTenantDomains=new Set(["{tenant}","{tenantid}",ur.COMMON,ur.CONSUMERS,ur.ORGANIZATIONS]);function eb(n){var o;const r=(o=new ve(n).getUrlComponents().PathSegments.slice(-1)[0])==null?void 0:o.toLowerCase();switch(r){case ur.COMMON:case ur.ORGANIZATIONS:case ur.CONSUMERS:return;default:return r}}function hp(n){return n.endsWith(R.FORWARD_SLASH)?n:`${n}${R.FORWARD_SLASH}`}function tb(n){const e=n.cloudDiscoveryMetadata;let t;if(e)try{t=JSON.parse(e)}catch{throw xe(ml)}return{canonicalAuthority:n.authority?hp(n.authority):void 0,knownAuthorities:n.knownAuthorities,cloudDiscoveryMetadata:t}}/*! @azure/msal-common v14.16.1 2025-08-05 */async function fp(n,e,t,r,o,i,s){s==null||s.addQueueMeasurement(_.AuthorityFactoryCreateDiscoveredInstance,i);const a=pt.transformCIAMAuthority(hp(n)),c=new pt(a,e,t,r,o,i,s);try{return await q(c.resolveEndpointsAsync.bind(c),_.AuthorityResolveEndpointsAsync,o,s,i)(),c}catch{throw H(Mn)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class fr extends Fe{constructor(e,t,r,o,i){super(e,t,r),this.name="ServerError",this.errorNo=o,this.status=i,Object.setPrototypeOf(this,fr.prototype)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class Tn{static generateThrottlingStorageKey(e){return`${ei.THROTTLING_PREFIX}.${JSON.stringify(e)}`}static preProcess(e,t,r){var s;const o=Tn.generateThrottlingStorageKey(t),i=e.getThrottlingCache(o);if(i){if(i.throttleTime=500&&e.status<600}static checkResponseForRetryAfter(e){return e.headers?e.headers.hasOwnProperty(bt.RETRY_AFTER)&&(e.status<200||e.status>=300):!1}static calculateThrottleTime(e){const t=e<=0?0:e,r=Date.now()/1e3;return Math.floor(Math.min(r+(t||ei.DEFAULT_THROTTLE_TIME_SECONDS),r+ei.DEFAULT_MAX_THROTTLE_TIME_SECONDS)*1e3)}static removeThrottle(e,t,r,o){const i={clientId:t,authority:r.authority,scopes:r.scopes,homeAccountIdentifier:o,claims:r.claims,authenticationScheme:r.authenticationScheme,resourceRequestMethod:r.resourceRequestMethod,resourceRequestUri:r.resourceRequestUri,shrClaims:r.shrClaims,sshKid:r.sshKid},s=this.generateThrottlingStorageKey(i);e.removeItem(s,r.correlationId)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class Zs extends Fe{constructor(e,t,r){super(e.errorCode,e.errorMessage,e.subError),Object.setPrototypeOf(this,Zs.prototype),this.name="NetworkError",this.error=e,this.httpStatus=t,this.responseHeaders=r}}function Kd(n,e,t){return new Zs(n,e,t)}/*! @azure/msal-common v14.16.1 2025-08-05 */class _l{constructor(e,t){this.config=d_(e),this.logger=new hr(this.config.loggerOptions,qg,dl),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.serverTelemetryManager=this.config.serverTelemetryManager,this.authority=this.config.authOptions.authority,this.performanceClient=t}createTokenRequestHeaders(e){const t={};if(t[bt.CONTENT_TYPE]=R.URL_FORM_CONTENT_TYPE,!this.config.systemOptions.preventCorsPreflight&&e)switch(e.type){case qt.HOME_ACCOUNT_ID:try{const r=no(e.credential);t[bt.CCS_HEADER]=`Oid:${r.uid}@${r.utid}`}catch(r){this.logger.verbose("Could not parse home account ID for CCS Header: "+r)}break;case qt.UPN:t[bt.CCS_HEADER]=`UPN: ${e.credential}`;break}return t}async executePostToTokenEndpoint(e,t,r,o,i,s){var c;s&&((c=this.performanceClient)==null||c.addQueueMeasurement(s,i));const a=await this.sendPostRequest(o,e,{body:t,headers:r},i);return this.config.serverTelemetryManager&&a.status<500&&a.status!==429&&this.config.serverTelemetryManager.clearTelemetryCache(),a}async sendPostRequest(e,t,r,o){var s,a,c;Tn.preProcess(this.cacheManager,e,o);let i;try{i=await q(this.networkClient.sendPostRequestAsync.bind(this.networkClient),_.NetworkClientSendPostRequestAsync,this.logger,this.performanceClient,o)(t,r);const l=i.headers||{};(a=this.performanceClient)==null||a.addFields({refreshTokenSize:((s=i.body.refresh_token)==null?void 0:s.length)||0,httpVerToken:l[bt.X_MS_HTTP_VERSION]||"",requestId:l[bt.X_MS_REQUEST_ID]||""},o)}catch(l){if(l instanceof Zs){const u=l.responseHeaders;throw u&&((c=this.performanceClient)==null||c.addFields({httpVerToken:u[bt.X_MS_HTTP_VERSION]||"",requestId:u[bt.X_MS_REQUEST_ID]||"",contentTypeHeader:u[bt.CONTENT_TYPE]||void 0,contentLengthHeader:u[bt.CONTENT_LENGTH]||void 0,httpStatus:l.httpStatus},o)),l.error}throw l instanceof Fe?l:H(Rg)}return Tn.postProcess(this.cacheManager,e,i,o),i}async updateAuthority(e,t){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.UpdateTokenEndpointAuthority,t);const r=`https://${e}/${this.authority.tenant}/`,o=await fp(r,this.networkClient,this.cacheManager,this.authority.options,this.logger,t,this.performanceClient);this.authority=o}createTokenQueryParameters(e){const t=new ti(e.correlationId,this.performanceClient);return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenQueryParameters&&t.addExtraQueryParameters(e.tokenQueryParameters),t.addCorrelationId(e.correlationId),t.createQueryString()}}/*! @azure/msal-common v14.16.1 2025-08-05 */const vs="no_tokens_found",gp="native_account_unavailable",bl="refresh_token_expired",nb="interaction_required",rb="consent_required",ob="login_required",ea="bad_token";/*! @azure/msal-common v14.16.1 2025-08-05 */const qd=[nb,rb,ob,ea],ib=["message_only","additional_action","basic_action","user_password_expired","consent_required","bad_token"],sb={[vs]:"No refresh token found in the cache. Please sign-in.",[gp]:"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.",[bl]:"Refresh token has expired.",[ea]:"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve."};class cn extends Fe{constructor(e,t,r,o,i,s,a,c){super(e,t,r),Object.setPrototypeOf(this,cn.prototype),this.timestamp=o||R.EMPTY_STRING,this.traceId=i||R.EMPTY_STRING,this.correlationId=s||R.EMPTY_STRING,this.claims=a||R.EMPTY_STRING,this.name="InteractionRequiredAuthError",this.errorNo=c}}function $d(n,e,t){const r=!!n&&qd.indexOf(n)>-1,o=!!t&&ib.indexOf(t)>-1,i=!!e&&qd.some(s=>e.indexOf(s)>-1);return r||i||o}function Cc(n){return new cn(n,sb[n])}/*! @azure/msal-common v14.16.1 2025-08-05 */class nn{static setRequestState(e,t,r){const o=nn.generateLibraryState(e,r);return t?`${o}${R.RESOURCE_DELIM}${t}`:o}static generateLibraryState(e,t){if(!e)throw H(fc);const r={id:e.createNewGuid()};t&&(r.meta=t);const o=JSON.stringify(r);return e.base64Encode(o)}static parseRequestState(e,t){if(!e)throw H(fc);if(!t)throw H(_o);try{const r=t.split(R.RESOURCE_DELIM),o=r[0],i=r.length>1?r.slice(1).join(R.RESOURCE_DELIM):R.EMPTY_STRING,s=e.base64Decode(o),a=JSON.parse(s);return{userRequestState:i||R.EMPTY_STRING,libraryState:a}}catch{throw H(_o)}}}/*! @azure/msal-common v14.16.1 2025-08-05 */const ab={SW:"sw"};class Io{constructor(e,t){this.cryptoUtils=e,this.performanceClient=t}async generateCnf(e,t){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.PopTokenGenerateCnf,e.correlationId);const r=await q(this.generateKid.bind(this),_.PopTokenGenerateCnf,t,this.performanceClient,e.correlationId)(e),o=this.cryptoUtils.base64UrlEncode(JSON.stringify(r));return{kid:r.kid,reqCnfString:o}}async generateKid(e){var r;return(r=this.performanceClient)==null||r.addQueueMeasurement(_.PopTokenGenerateKid,e.correlationId),{kid:await this.cryptoUtils.getPublicKeyThumbprint(e),xms_ksl:ab.SW}}async signPopToken(e,t,r){return this.signPayload(e,t,r)}async signPayload(e,t,r,o){const{resourceRequestMethod:i,resourceRequestUri:s,shrClaims:a,shrNonce:c,shrOptions:l}=r,u=s?new ve(s):void 0,d=u==null?void 0:u.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:bn(),m:i==null?void 0:i.toUpperCase(),u:d==null?void 0:d.HostNameAndPort,nonce:c||this.cryptoUtils.createNewGuid(),p:d==null?void 0:d.AbsolutePath,q:d!=null&&d.QueryString?[[],d.QueryString]:void 0,client_claims:a||void 0,...o},t,l,r.correlationId)}}/*! @azure/msal-common v14.16.1 2025-08-05 */class cb{constructor(e,t){this.cache=e,this.hasChanged=t}get cacheHasChanged(){return this.hasChanged}get tokenCache(){return this.cache}}/*! @azure/msal-common v14.16.1 2025-08-05 */function lb(n){var r,o;const e="code=",t=(r=n.error_uri)==null?void 0:r.lastIndexOf(e);return t&&t>=0?(o=n.error_uri)==null?void 0:o.substring(t+e.length):void 0}class Fr{constructor(e,t,r,o,i,s,a){this.clientId=e,this.cacheStorage=t,this.cryptoObj=r,this.logger=o,this.serializableCache=i,this.persistencePlugin=s,this.performanceClient=a}validateServerAuthorizationCodeResponse(e,t){if(!e.state||!t)throw e.state?H(fs,"Cached State"):H(fs,"Server State");let r,o;try{r=decodeURIComponent(e.state)}catch{throw H(_o,e.state)}try{o=decodeURIComponent(t)}catch{throw H(_o,e.state)}if(r!==o)throw H(Pg);if(e.error||e.error_description||e.suberror){const i=lb(e);throw $d(e.error,e.error_description,e.suberror)?new cn(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"",i):new fr(e.error||"",e.error_description,e.suberror,i)}}validateTokenResponse(e,t){var r;if(e.error||e.error_description||e.suberror){const o=`Error(s): ${e.error_codes||R.NOT_AVAILABLE} - Timestamp: ${e.timestamp||R.NOT_AVAILABLE} - Description: ${e.error_description||R.NOT_AVAILABLE} - Correlation ID: ${e.correlation_id||R.NOT_AVAILABLE} - Trace ID: ${e.trace_id||R.NOT_AVAILABLE}`,i=(r=e.error_codes)!=null&&r.length?e.error_codes[0]:void 0,s=new fr(e.error,o,e.suberror,i,e.status);if(t&&e.status&&e.status>=Fi.SERVER_ERROR_RANGE_START&&e.status<=Fi.SERVER_ERROR_RANGE_END){this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed. -${s}`);return}else if(t&&e.status&&e.status>=Fi.CLIENT_ERROR_RANGE_START&&e.status<=Fi.CLIENT_ERROR_RANGE_END){this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token. -${s}`);return}throw $d(e.error,e.error_description,e.suberror)?new cn(e.error,e.error_description,e.suberror,e.timestamp||R.EMPTY_STRING,e.trace_id||R.EMPTY_STRING,e.correlation_id||R.EMPTY_STRING,e.claims||R.EMPTY_STRING,i):s}}async handleServerTokenResponse(e,t,r,o,i,s,a,c,l){var C;(C=this.performanceClient)==null||C.addQueueMeasurement(_.HandleServerTokenResponse,e.correlation_id);let u;if(e.id_token){if(u=qr(e.id_token||R.EMPTY_STRING,this.cryptoObj.base64Decode),i&&i.nonce&&u.nonce!==i.nonce)throw H(Ng);if(o.maxAge||o.maxAge===0){const p=u.auth_time;if(!p)throw H(al);$g(p,o.maxAge)}}this.homeAccountIdentifier=rt.generateHomeAccountId(e.client_info||R.EMPTY_STRING,t.authorityType,this.logger,this.cryptoObj,u);let d;i&&i.state&&(d=nn.parseRequestState(this.cryptoObj,i.state)),e.key_id=e.key_id||o.sshKid||void 0;const h=this.generateCacheRecord(e,t,r,o,u,s,i);let f;try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),f=new cb(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(f)),a&&!c&&h.account){const p=h.account.generateAccountKey();if(!this.cacheStorage.getAccount(p,o.correlationId,this.logger))return this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache"),await Fr.generateAuthenticationResult(this.cryptoObj,t,h,!1,o,u,d,void 0,l)}await this.cacheStorage.saveCacheRecord(h,o.correlationId,o.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&f&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(f))}return Fr.generateAuthenticationResult(this.cryptoObj,t,h,!1,o,u,d,e,l)}generateCacheRecord(e,t,r,o,i,s,a){const c=t.getPreferredCache();if(!c)throw H(ll);const l=ip(i);let u,d;e.id_token&&i&&(u=Ws(this.homeAccountIdentifier,c,e.id_token,this.clientId,l||""),d=Il(this.cacheStorage,t,this.homeAccountIdentifier,this.cryptoObj.base64Decode,o.correlationId,i,e.client_info,c,l,a,void 0,this.logger));let h=null;if(e.access_token){const p=e.scope?Ye.fromString(e.scope):new Ye(o.scopes||[]),v=(typeof e.expires_in=="string"?parseInt(e.expires_in,10):e.expires_in)||0,E=(typeof e.ext_expires_in=="string"?parseInt(e.ext_expires_in,10):e.ext_expires_in)||0,b=(typeof e.refresh_in=="string"?parseInt(e.refresh_in,10):e.refresh_in)||void 0,y=r+v,T=y+E,N=b&&b>0?r+b:void 0;h=Ys(this.homeAccountIdentifier,c,e.access_token,this.clientId,l||t.tenant||"",p.printScopes(),y,T,this.cryptoObj.base64Decode,N,e.token_type,s,e.key_id,o.claims,o.requestedClaimsHash)}let f=null;if(e.refresh_token){let p;if(e.refresh_token_expires_in){const v=typeof e.refresh_token_expires_in=="string"?parseInt(e.refresh_token_expires_in,10):e.refresh_token_expires_in;p=r+v}f=jg(this.homeAccountIdentifier,c,e.refresh_token,this.clientId,e.foci,s,p)}let C=null;return e.foci&&(C={clientId:this.clientId,environment:c,familyId:e.foci}),{account:d,idToken:u,accessToken:h,refreshToken:f,appMetadata:C}}static async generateAuthenticationResult(e,t,r,o,i,s,a,c,l){var y,T,N,z,B;let u=R.EMPTY_STRING,d=[],h=null,f,C,p=R.EMPTY_STRING;if(r.accessToken){if(r.accessToken.tokenType===Ne.POP&&!i.popKid){const F=new Io(e),{secret:O,keyId:Q}=r.accessToken;if(!Q)throw H(ul);u=await F.signPopToken(O,Q,i)}else u=r.accessToken.secret;d=Ye.fromString(r.accessToken.target).asArray(),h=new Date(Number(r.accessToken.expiresOn)*1e3),f=new Date(Number(r.accessToken.extendedExpiresOn)*1e3),r.accessToken.refreshOn&&(C=new Date(Number(r.accessToken.refreshOn)*1e3))}r.appMetadata&&(p=r.appMetadata.familyId===Zo?Zo:"");const v=(s==null?void 0:s.oid)||(s==null?void 0:s.sub)||"",E=(s==null?void 0:s.tid)||"";c!=null&&c.spa_accountid&&r.account&&(r.account.nativeAccountId=c==null?void 0:c.spa_accountid);const b=r.account?vl(r.account.getAccountInfo(),void 0,s,(y=r.idToken)==null?void 0:y.secret):null;return{authority:t.canonicalAuthority,uniqueId:v,tenantId:E,scopes:d,account:b,idToken:((T=r==null?void 0:r.idToken)==null?void 0:T.secret)||"",idTokenClaims:s||{},accessToken:u,fromCache:o,expiresOn:h,extExpiresOn:f,refreshOn:C,correlationId:i.correlationId,requestId:l||R.EMPTY_STRING,familyId:p,tokenType:((N=r.accessToken)==null?void 0:N.tokenType)||R.EMPTY_STRING,state:a?a.userRequestState:R.EMPTY_STRING,cloudGraphHostName:((z=r.account)==null?void 0:z.cloudGraphHostName)||R.EMPTY_STRING,msGraphHost:((B=r.account)==null?void 0:B.msGraphHost)||R.EMPTY_STRING,code:c==null?void 0:c.spa_code,fromNativeBroker:!1}}}function Il(n,e,t,r,o,i,s,a,c,l,u,d){d==null||d.verbose("setCachedAccount called");const f=n.getAccountKeys().find(b=>b.startsWith(t));let C=null;f&&(C=n.getAccount(f,o,d));const p=C||rt.createAccount({homeAccountId:t,idTokenClaims:i,clientInfo:s,environment:a,cloudGraphHostName:l==null?void 0:l.cloud_graph_host_name,msGraphHost:l==null?void 0:l.msgraph_host,nativeAccountId:u},e,r),v=p.tenantProfiles||[],E=c||p.realm;if(E&&!v.find(b=>b.tenantId===E)){const b=Cl(t,p.localAccountId,E,i);v.push(b)}return p.tenantProfiles=v,p}/*! @azure/msal-common v14.16.1 2025-08-05 */async function pp(n,e,t){return typeof n=="string"?n:n({clientId:e,tokenEndpoint:t})}/*! @azure/msal-common v14.16.1 2025-08-05 */class mp extends _l{constructor(e,t){var r;super(e,t),this.includeRedirectUri=!0,this.oidcDefaultScopes=(r=this.config.authOptions.authority.options.OIDCOptions)==null?void 0:r.defaultScopes}async getAuthCodeUrl(e){var r;(r=this.performanceClient)==null||r.addQueueMeasurement(_.GetAuthCodeUrl,e.correlationId);const t=await q(this.createAuthCodeUrlQueryString.bind(this),_.AuthClientCreateQueryString,this.logger,this.performanceClient,e.correlationId)(e);return ve.appendQueryString(this.authority.authorizationEndpoint,t)}async acquireToken(e,t){var a,c;if((a=this.performanceClient)==null||a.addQueueMeasurement(_.AuthClientAcquireToken,e.correlationId),!e.code)throw H(Dg);const r=bn(),o=await q(this.executeTokenRequest.bind(this),_.AuthClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(this.authority,e),i=(c=o.headers)==null?void 0:c[bt.X_MS_REQUEST_ID],s=new Fr(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin,this.performanceClient);return s.validateTokenResponse(o.body),q(s.handleServerTokenResponse.bind(s),_.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(o.body,this.authority,r,e,t,void 0,void 0,void 0,i)}handleFragmentResponse(e,t){if(new Fr(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,null,null).validateServerAuthorizationCodeResponse(e,t),!e.code)throw H(Bg);return e}getLogoutUri(e){if(!e)throw xe(Jg);const t=this.createLogoutUrlQueryString(e);return ve.appendQueryString(this.authority.endSessionEndpoint,t)}async executeTokenRequest(e,t){var l,u;(l=this.performanceClient)==null||l.addQueueMeasurement(_.AuthClientExecuteTokenRequest,t.correlationId);const r=this.createTokenQueryParameters(t),o=ve.appendQueryString(e.tokenEndpoint,r),i=await q(this.createTokenRequestBody.bind(this),_.AuthClientCreateTokenRequestBody,this.logger,this.performanceClient,t.correlationId)(t);let s;if(t.clientInfo)try{const d=ps(t.clientInfo,this.cryptoUtils.base64Decode);s={credential:`${d.uid}${yt.CLIENT_INFO_SEPARATOR}${d.utid}`,type:qt.HOME_ACCOUNT_ID}}catch(d){this.logger.verbose("Could not parse client info for CCS Header: "+d)}const a=this.createTokenRequestHeaders(s||t.ccsCredential),c={clientId:((u=t.tokenBodyParameters)==null?void 0:u.clientId)||this.config.authOptions.clientId,authority:e.canonicalAuthority,scopes:t.scopes,claims:t.claims,authenticationScheme:t.authenticationScheme,resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,sshKid:t.sshKid};return q(this.executePostToTokenEndpoint.bind(this),_.AuthorizationCodeClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,t.correlationId)(o,i,a,c,t.correlationId,_.AuthorizationCodeClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){var o,i;(o=this.performanceClient)==null||o.addQueueMeasurement(_.AuthClientCreateTokenRequestBody,e.correlationId);const t=new ti(e.correlationId,this.performanceClient);if(t.addClientId(e.embeddedClientId||((i=e.tokenBodyParameters)==null?void 0:i[Hr])||this.config.authOptions.clientId),this.includeRedirectUri?t.addRedirectUri(e.redirectUri):Jr.validateRedirectUri(e.redirectUri),t.addScopes(e.scopes,!0,this.oidcDefaultScopes),t.addAuthorizationCode(e.code),t.addLibraryInfo(this.config.libraryInfo),t.addApplicationTelemetry(this.config.telemetry.application),t.addThrottling(),this.serverTelemetryManager&&!mc(this.config)&&t.addServerTelemetry(this.serverTelemetryManager),e.codeVerifier&&t.addCodeVerifier(e.codeVerifier),this.config.clientCredentials.clientSecret&&t.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const s=this.config.clientCredentials.clientAssertion;t.addClientAssertion(await pp(s.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),t.addClientAssertionType(s.assertionType)}if(t.addGrantType(_g.AUTHORIZATION_CODE_GRANT),t.addClientInfo(),e.authenticationScheme===Ne.POP){const s=new Io(this.cryptoUtils,this.performanceClient);let a;e.popKid?a=this.cryptoUtils.encodeKid(e.popKid):a=(await q(s.generateCnf.bind(s),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,t.addPopToken(a)}else if(e.authenticationScheme===Ne.SSH)if(e.sshJwk)t.addSshJwk(e.sshJwk);else throw xe(Js);(!tn.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&t.addClaims(e.claims,this.config.authOptions.clientCapabilities);let r;if(e.clientInfo)try{const s=ps(e.clientInfo,this.cryptoUtils.base64Decode);r={credential:`${s.uid}${yt.CLIENT_INFO_SEPARATOR}${s.utid}`,type:qt.HOME_ACCOUNT_ID}}catch(s){this.logger.verbose("Could not parse client info for CCS Header: "+s)}else r=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&r)switch(r.type){case qt.HOME_ACCOUNT_ID:try{const s=no(r.credential);t.addCcsOid(s)}catch(s){this.logger.verbose("Could not parse home account ID for CCS Header: "+s)}break;case qt.UPN:t.addCcsUpn(r.credential);break}return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&t.addExtraQueryParameters(e.tokenBodyParameters),e.enableSpaAuthorizationCode&&(!e.tokenBodyParameters||!e.tokenBodyParameters[Bd])&&t.addExtraQueryParameters({[Bd]:"1"}),t.createQueryString()}async createAuthCodeUrlQueryString(e){var i,s;const t=e.correlationId||this.config.cryptoInterface.createNewGuid();(i=this.performanceClient)==null||i.addQueueMeasurement(_.AuthClientCreateQueryString,t);const r=new ti(t,this.performanceClient);r.addClientId(e.embeddedClientId||((s=e.extraQueryParameters)==null?void 0:s[Hr])||this.config.authOptions.clientId);const o=[...e.scopes||[],...e.extraScopesToConsent||[]];if(r.addScopes(o,!0,this.oidcDefaultScopes),r.addRedirectUri(e.redirectUri),r.addCorrelationId(t),r.addResponseMode(e.responseMode),r.addResponseTypeCode(),r.addLibraryInfo(this.config.libraryInfo),mc(this.config)||r.addApplicationTelemetry(this.config.telemetry.application),r.addClientInfo(),e.codeChallenge&&e.codeChallengeMethod&&r.addCodeChallengeParams(e.codeChallenge,e.codeChallengeMethod),e.prompt&&r.addPrompt(e.prompt),e.domainHint&&r.addDomainHint(e.domainHint),e.prompt!==at.SELECT_ACCOUNT)if(e.sid&&e.prompt===at.NONE)this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request"),r.addSid(e.sid);else if(e.account){const a=this.extractAccountSid(e.account);let c=this.extractLoginHint(e.account);if(c&&e.domainHint&&(this.logger.warning('AuthorizationCodeClient.createAuthCodeUrlQueryString: "domainHint" param is set, skipping opaque "login_hint" claim. Please consider not passing domainHint'),c=null),c){this.logger.verbose("createAuthCodeUrlQueryString: login_hint claim present on account"),r.addLoginHint(c);try{const l=no(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(a&&e.prompt===at.NONE){this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account"),r.addSid(a);try{const l=no(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(e.loginHint)this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint);else if(e.account.username){this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account"),r.addLoginHint(e.account.username);try{const l=no(e.account.homeAccountId);r.addCcsOid(l)}catch{this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}}else e.loginHint&&(this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint));else this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");if(e.nonce&&r.addNonce(e.nonce),e.state&&r.addState(e.state),(e.claims||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),this.addExtraQueryParams(e,r),e.nativeBroker&&(r.addNativeBroker(),e.authenticationScheme===Ne.POP)){const a=new Io(this.cryptoUtils);let c;e.popKid?c=this.cryptoUtils.encodeKid(e.popKid):c=(await q(a.generateCnf.bind(a),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(c)}return r.createQueryString()}createLogoutUrlQueryString(e){const t=new ti(e.correlationId,this.performanceClient);return e.postLogoutRedirectUri&&t.addPostLogoutRedirectUri(e.postLogoutRedirectUri),e.correlationId&&t.addCorrelationId(e.correlationId),e.idTokenHint&&t.addIdTokenHint(e.idTokenHint),e.state&&t.addState(e.state),e.logoutHint&&t.addLogoutHint(e.logoutHint),this.addExtraQueryParams(e,t),t.createQueryString()}addExtraQueryParams(e,t){!(e.extraQueryParameters&&e.extraQueryParameters.hasOwnProperty("instance_aware"))&&this.config.authOptions.instanceAware&&(e.extraQueryParameters=e.extraQueryParameters||{},e.extraQueryParameters.instance_aware="true"),e.extraQueryParameters&&t.addExtraQueryParameters(e.extraQueryParameters)}extractAccountSid(e){var t;return((t=e.idTokenClaims)==null?void 0:t.sid)||null}extractLoginHint(e){var t;return((t=e.idTokenClaims)==null?void 0:t.login_hint)||null}}/*! @azure/msal-common v14.16.1 2025-08-05 */const ub=300;class vc extends _l{constructor(e,t){super(e,t)}async acquireToken(e){var s,a;(s=this.performanceClient)==null||s.addQueueMeasurement(_.RefreshTokenClientAcquireToken,e.correlationId);const t=bn(),r=await q(this.executeTokenRequest.bind(this),_.RefreshTokenClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(e,this.authority),o=(a=r.headers)==null?void 0:a[bt.X_MS_REQUEST_ID],i=new Fr(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin);return i.validateTokenResponse(r.body),q(i.handleServerTokenResponse.bind(i),_.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(r.body,this.authority,t,e,void 0,void 0,!0,e.forceCache,o)}async acquireTokenByRefreshToken(e){var r;if(!e)throw xe(Yg);if((r=this.performanceClient)==null||r.addQueueMeasurement(_.RefreshTokenClientAcquireTokenByRefreshToken,e.correlationId),!e.account)throw H(cl);if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await q(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(o){const i=o instanceof cn&&o.errorCode===vs,s=o instanceof fr&&o.errorCode===Id.INVALID_GRANT_ERROR&&o.subError===Id.CLIENT_MISMATCH_ERROR;if(i||s)return q(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1);throw o}return q(this.acquireTokenWithCachedRefreshToken.bind(this),_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,t){var i;(i=this.performanceClient)==null||i.addQueueMeasurement(_.RefreshTokenClientAcquireTokenWithCachedRefreshToken,e.correlationId);const r=$r(this.cacheManager.getRefreshToken.bind(this.cacheManager),_.CacheManagerGetRefreshToken,this.logger,this.performanceClient,e.correlationId)(e.account,t,e.correlationId,void 0,this.performanceClient);if(!r)throw Cc(vs);if(r.expiresOn&&pc(r.expiresOn,e.refreshTokenExpirationOffsetSeconds||ub))throw Cc(bl);const o={...e,refreshToken:r.secret,authenticationScheme:e.authenticationScheme||Ne.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:qt.HOME_ACCOUNT_ID}};try{return await q(this.acquireToken.bind(this),_.RefreshTokenClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(o)}catch(s){if(s instanceof cn&&s.subError===ea){this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");const a=to(r);this.cacheManager.removeRefreshToken(a,e.correlationId)}throw s}}async executeTokenRequest(e,t){var c,l;(c=this.performanceClient)==null||c.addQueueMeasurement(_.RefreshTokenClientExecuteTokenRequest,e.correlationId);const r=this.createTokenQueryParameters(e),o=ve.appendQueryString(t.tokenEndpoint,r),i=await q(this.createTokenRequestBody.bind(this),_.RefreshTokenClientCreateTokenRequestBody,this.logger,this.performanceClient,e.correlationId)(e),s=this.createTokenRequestHeaders(e.ccsCredential),a={clientId:((l=e.tokenBodyParameters)==null?void 0:l.clientId)||this.config.authOptions.clientId,authority:t.canonicalAuthority,scopes:e.scopes,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid};return q(this.executePostToTokenEndpoint.bind(this),_.RefreshTokenClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,e.correlationId)(o,i,s,a,e.correlationId,_.RefreshTokenClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){var o,i,s;(o=this.performanceClient)==null||o.addQueueMeasurement(_.RefreshTokenClientCreateTokenRequestBody,e.correlationId);const t=e.correlationId,r=new ti(t,this.performanceClient);if(r.addClientId(e.embeddedClientId||((i=e.tokenBodyParameters)==null?void 0:i[Hr])||this.config.authOptions.clientId),e.redirectUri&&r.addRedirectUri(e.redirectUri),r.addScopes(e.scopes,!0,(s=this.config.authOptions.authority.options.OIDCOptions)==null?void 0:s.defaultScopes),r.addGrantType(_g.REFRESH_TOKEN_GRANT),r.addClientInfo(),r.addLibraryInfo(this.config.libraryInfo),r.addApplicationTelemetry(this.config.telemetry.application),r.addThrottling(),this.serverTelemetryManager&&!mc(this.config)&&r.addServerTelemetry(this.serverTelemetryManager),r.addRefreshToken(e.refreshToken),this.config.clientCredentials.clientSecret&&r.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const a=this.config.clientCredentials.clientAssertion;r.addClientAssertion(await pp(a.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),r.addClientAssertionType(a.assertionType)}if(e.authenticationScheme===Ne.POP){const a=new Io(this.cryptoUtils,this.performanceClient);let c;e.popKid?c=this.cryptoUtils.encodeKid(e.popKid):c=(await q(a.generateCnf.bind(a),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(c)}else if(e.authenticationScheme===Ne.SSH)if(e.sshJwk)r.addSshJwk(e.sshJwk);else throw xe(Js);if((!tn.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),this.config.systemOptions.preventCorsPreflight&&e.ccsCredential)switch(e.ccsCredential.type){case qt.HOME_ACCOUNT_ID:try{const a=no(e.ccsCredential.credential);r.addCcsOid(a)}catch(a){this.logger.verbose("Could not parse home account ID for CCS Header: "+a)}break;case qt.UPN:r.addCcsUpn(e.ccsCredential.credential);break}return e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&r.addExtraQueryParameters(e.tokenBodyParameters),r.createQueryString()}}/*! @azure/msal-common v14.16.1 2025-08-05 */class db extends _l{constructor(e,t){super(e,t)}async acquireToken(e){var t;try{const[r,o]=await this.acquireCachedToken({...e,scopes:(t=e.scopes)!=null&&t.length?e.scopes:[...Po]});return o===er.PROACTIVELY_REFRESHED&&(this.logger.info("SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed."),new vc(this.config,this.performanceClient).acquireTokenByRefreshToken(e).catch(()=>{})),r}catch(r){if(r instanceof Qs&&r.errorCode===Fn)return new vc(this.config,this.performanceClient).acquireTokenByRefreshToken(e);throw r}}async acquireCachedToken(e){var c;(c=this.performanceClient)==null||c.addQueueMeasurement(_.SilentFlowClientAcquireCachedToken,e.correlationId);let t=er.NOT_APPLICABLE;if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!tn.isEmptyObj(e.claims))throw this.setCacheOutcome(er.FORCE_REFRESH_OR_CLAIMS,e.correlationId),H(Fn);if(!e.account)throw H(cl);const r=e.account.tenantId||eb(e.authority),o=this.cacheManager.getTokenKeys(),i=this.cacheManager.getAccessToken(e.account,e,o,r,this.performanceClient);if(i){if(Bw(i.cachedAt)||pc(i.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome(er.CACHED_ACCESS_TOKEN_EXPIRED,e.correlationId),H(Fn);i.refreshOn&&pc(i.refreshOn,0)&&(t=er.PROACTIVELY_REFRESHED)}else throw this.setCacheOutcome(er.NO_CACHED_ACCESS_TOKEN,e.correlationId),H(Fn);const s=e.authority||this.authority.getPreferredCache(),a={account:this.cacheManager.readAccountFromCache(e.account,e.correlationId),accessToken:i,idToken:this.cacheManager.getIdToken(e.account,e.correlationId,o,r,this.performanceClient),refreshToken:null,appMetadata:this.cacheManager.readAppMetadataFromCache(s)};return this.setCacheOutcome(t,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await q(this.generateResultFromCacheRecord.bind(this),_.SilentFlowClientGenerateResultFromCacheRecord,this.logger,this.performanceClient,e.correlationId)(a,e),t]}setCacheOutcome(e,t){var r,o;(r=this.serverTelemetryManager)==null||r.setCacheOutcome(e),(o=this.performanceClient)==null||o.addFields({cacheOutcome:e},t),e!==er.NOT_APPLICABLE&&this.logger.info(`Token refresh is required due to cache outcome: ${e}`)}async generateResultFromCacheRecord(e,t){var o;(o=this.performanceClient)==null||o.addQueueMeasurement(_.SilentFlowClientGenerateResultFromCacheRecord,t.correlationId);let r;if(e.idToken&&(r=qr(e.idToken.secret,this.config.cryptoInterface.base64Decode)),t.maxAge||t.maxAge===0){const i=r==null?void 0:r.auth_time;if(!i)throw H(al);$g(i,t.maxAge)}return Fr.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,t,r)}}/*! @azure/msal-common v14.16.1 2025-08-05 */const hb={sendGetRequestAsync:()=>Promise.reject(H(ge)),sendPostRequestAsync:()=>Promise.reject(H(ge))};/*! @azure/msal-common v14.16.1 2025-08-05 */const jd=",",yp="|";function fb(n){const{skus:e,libraryName:t,libraryVersion:r,extensionName:o,extensionVersion:i}=n,s=new Map([[0,[t,r]],[2,[o,i]]]);let a=[];if(e!=null&&e.length){if(a=e.split(jd),a.length<4)return e}else a=Array.from({length:4},()=>yp);return s.forEach((c,l)=>{var u,d;c.length===2&&((u=c[0])!=null&&u.length)&&((d=c[1])!=null&&d.length)&&gb({skuArr:a,index:l,skuName:c[0],skuVersion:c[1]})}),a.join(jd)}function gb(n){const{skuArr:e,index:t,skuName:r,skuVersion:o}=n;t>=e.length||(e[t]=[r,o].join(yp))}class fi{constructor(e,t){this.cacheOutcome=er.NOT_APPLICABLE,this.cacheManager=t,this.apiId=e.apiId,this.correlationId=e.correlationId,this.wrapperSKU=e.wrapperSKU||R.EMPTY_STRING,this.wrapperVer=e.wrapperVer||R.EMPTY_STRING,this.telemetryCacheKey=ut.CACHE_KEY+yt.CACHE_KEY_SEPARATOR+e.clientId}generateCurrentRequestHeaderValue(){const e=`${this.apiId}${ut.VALUE_SEPARATOR}${this.cacheOutcome}`,t=[this.wrapperSKU,this.wrapperVer],r=this.getNativeBrokerErrorCode();r!=null&&r.length&&t.push(`broker_error=${r}`);const o=t.join(ut.VALUE_SEPARATOR),i=this.getRegionDiscoveryFields(),s=[e,i].join(ut.VALUE_SEPARATOR);return[ut.SCHEMA_VERSION,s,o].join(ut.CATEGORY_SEPARATOR)}generateLastRequestHeaderValue(){const e=this.getLastRequests(),t=fi.maxErrorsToSend(e),r=e.failedRequests.slice(0,2*t).join(ut.VALUE_SEPARATOR),o=e.errors.slice(0,t).join(ut.VALUE_SEPARATOR),i=e.errors.length,s=t=ut.MAX_CACHED_ERRORS&&(t.failedRequests.shift(),t.failedRequests.shift(),t.errors.shift()),t.failedRequests.push(this.apiId,this.correlationId),e instanceof Error&&e&&e.toString()?e instanceof Fe?e.subError?t.errors.push(e.subError):e.errorCode?t.errors.push(e.errorCode):t.errors.push(e.toString()):t.errors.push(e.toString()):t.errors.push(ut.UNKNOWN_ERROR),this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t,this.correlationId)}incrementCacheHits(){const e=this.getLastRequests();return e.cacheHits+=1,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId),e.cacheHits}getLastRequests(){const e={failedRequests:[],errors:[],cacheHits:0};return this.cacheManager.getServerTelemetry(this.telemetryCacheKey)||e}clearTelemetryCache(){const e=this.getLastRequests(),t=fi.maxErrorsToSend(e),r=e.errors.length;if(t===r)this.cacheManager.removeItem(this.telemetryCacheKey,this.correlationId);else{const o={failedRequests:e.failedRequests.slice(t*2),errors:e.errors.slice(t),cacheHits:0};this.cacheManager.setServerTelemetry(this.telemetryCacheKey,o,this.correlationId)}}static maxErrorsToSend(e){let t,r=0,o=0;const i=e.errors.length;for(t=0;tnull,discard:()=>{},add:()=>{},increment:()=>{},event:{eventId:this.generateId(),status:Z_.InProgress,authority:"",libraryName:"",libraryVersion:"",clientId:"",name:e,startTimeMs:Date.now(),correlationId:t||""},measurement:new Vd}}startPerformanceMeasurement(){return new Vd}calculateQueuedTime(){return 0}addQueueMeasurement(){}setPreQueueTime(){}endMeasurement(){return null}discardMeasurements(){}removePerformanceCallback(){return!0}addPerformanceCallback(){return""}emitEvents(){}addFields(){}incrementFields(){}cacheEventByCorrelationId(){}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const kl="pkce_not_created",Tc="crypto_nonexistent",ta="empty_navigate_uri",Tp="hash_empty_error",Ol="no_state_in_hash",Ap="hash_does_not_contain_known_properties",Ep="unable_to_parse_state",wp="state_interaction_type_mismatch",_p="interaction_in_progress",bp="popup_window_error",Ip="empty_window_error",Br="user_cancelled",yb="monitor_popup_timeout",Sp="monitor_window_timeout",Rp="redirect_in_iframe",kp="block_iframe_reload",Op="block_nested_popups",Cb="iframe_closed_prematurely",na="silent_logout_unsupported",Pp="no_account_error",vb="silent_prompt_value_error",Np="no_token_request_cache_error",Mp="unable_to_parse_token_request_cache_error",Pl="no_cached_authority_error",Tb="auth_request_not_set_error",Ab="invalid_cache_type",ra="non_browser_environment",Xr="database_not_open",Ts="no_network_connectivity",xp="post_request_failed",Dp="get_request_failed",Ac="failed_to_parse_response",Lp="unable_to_load_token",Nl="crypto_key_not_found",Up="auth_code_required",Hp="auth_code_or_nativeAccountId_required",Fp="spa_code_and_nativeAccountId_present",Ml="database_unavailable",Bp="unable_to_acquire_token_from_native_platform",Kp="native_handshake_timeout",qp="native_extension_not_installed",ki="native_connection_not_established",$p="uninitialized_public_client_application",jp="native_prompt_not_supported",Gp="invalid_base64_string",Vp="invalid_pop_token_request",zp="failed_to_build_headers",Qp="failed_to_parse_headers";/*! @azure/msal-browser v3.30.0 2025-08-05 */const On="For more visit: aka.ms/msaljs/browser-errors",Eb={[kl]:"The PKCE code challenge and verifier could not be generated.",[Tc]:"The crypto object or function is not available.",[ta]:"Navigation URI is empty. Please check stack trace for more info.",[Tp]:`Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. ${On}`,[Ol]:"Hash does not contain state. Please verify that the request originated from msal.",[Ap]:`Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. ${On}`,[Ep]:"Unable to parse state. Please verify that the request originated from msal.",[wp]:"Hash contains state but the interaction type does not match the caller.",[_p]:`Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. ${On}`,[bp]:"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.",[Ip]:"window.open returned null or undefined window object.",[Br]:"User cancelled the flow.",[yb]:`Token acquisition in popup failed due to timeout. ${On}`,[Sp]:`Token acquisition in iframe failed due to timeout. ${On}`,[Rp]:"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.",[kp]:`Request was blocked inside an iframe because MSAL detected an authentication response. ${On}`,[Op]:"Request was blocked inside a popup because MSAL detected it was running in a popup.",[Cb]:"The iframe being monitored was closed prematurely.",[na]:"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.",[Pp]:"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.",[vb]:"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.",[Np]:"No token request found in cache.",[Mp]:"The cached token request could not be parsed.",[Pl]:"No cached authority found.",[Tb]:"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler",[Ab]:"Invalid cache type",[ra]:"Login and token requests are not supported in non-browser environments.",[Xr]:"Database is not open!",[Ts]:"No network connectivity. Check your internet connection.",[xp]:"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'",[Dp]:"Network request failed. Please check the network trace to determine root cause.",[Ac]:"Failed to parse network response. Check network trace.",[Lp]:"Error loading token to cache.",[Nl]:"Cryptographic Key or Keypair not found in browser storage.",[Up]:"An authorization code must be provided (as the `code` property on the request) to this flow.",[Hp]:"An authorization code or nativeAccountId must be provided to this flow.",[Fp]:"Request cannot contain both spa code and native account id.",[Ml]:"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.",[Bp]:`Unable to acquire token from native platform. ${On}`,[Kp]:"Timed out while attempting to establish connection to browser extension",[qp]:"Native extension is not installed. If you think this is a mistake call the initialize function.",[ki]:`Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). ${On}`,[$p]:`You must call and await the initialize function before attempting to call any other MSAL API. ${On}`,[jp]:"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.",[Gp]:"Invalid base64 encoded string.",[Vp]:"Invalid PoP token request. The request should not have both a popKid value and signPopToken set to true.",[zp]:"Failed to build request headers object.",[Qp]:"Failed to parse response headers"};class Oi extends Fe{constructor(e,t){super(e,Eb[e],t),Object.setPrototypeOf(this,Oi.prototype),this.name="BrowserAuthError"}}function Y(n,e){return new Oi(n,e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Bt={INVALID_GRANT_ERROR:"invalid_grant",POPUP_WIDTH:483,POPUP_HEIGHT:600,POPUP_NAME_PREFIX:"msal",DEFAULT_POLL_INTERVAL_MS:30,MSAL_SKU:"msal.js.browser"},ro={CHANNEL_ID:"53ee284d-920a-4b59-9d30-a60315b26836",PREFERRED_EXTENSION_ID:"ppnbnpeolgkicgegkbkbjmhlideopiji",MATS_TELEMETRY:"MATS"},Ir={HandshakeRequest:"Handshake",HandshakeResponse:"HandshakeResponse",GetToken:"GetToken",Response:"Response"},Pt={LocalStorage:"localStorage",SessionStorage:"sessionStorage",MemoryStorage:"memoryStorage"},zd={GET:"GET",POST:"POST"},ke={AUTHORITY:"authority",ACQUIRE_TOKEN_ACCOUNT:"acquireToken.account",SESSION_STATE:"session.state",REQUEST_STATE:"request.state",NONCE_IDTOKEN:"nonce.id_token",ORIGIN_URI:"request.origin",RENEW_STATUS:"token.renew.status",URL_HASH:"urlHash",REQUEST_PARAMS:"request.params",SCOPES:"scopes",INTERACTION_STATUS_KEY:"interaction.status",CCS_CREDENTIAL:"ccs.credential",CORRELATION_ID:"request.correlationId",NATIVE_REQUEST:"request.native",REDIRECT_CONTEXT:"request.redirect.context"},zt={ACCOUNT_KEYS:"msal.account.keys",TOKEN_KEYS:"msal.token.keys",VERSION:"msal.version"},ji={WRAPPER_SKU:"wrapper.sku",WRAPPER_VER:"wrapper.version"},He={acquireTokenRedirect:861,acquireTokenPopup:862,ssoSilent:863,acquireTokenSilent_authCode:864,handleRedirectPromise:865,acquireTokenByCode:866,acquireTokenSilent_silentFlow:61,logout:961,logoutPopup:962};var ee;(function(n){n.Redirect="redirect",n.Popup="popup",n.Silent="silent",n.None="none"})(ee||(ee={}));const Qd={scopes:Po},Wp="jwk",Ec="msal.db",wb=1,_b=`${Ec}.keys`,Lt={Default:0,AccessToken:1,AccessTokenAndRefreshToken:2,RefreshToken:3,RefreshTokenAndNetwork:4,Skip:5},bb=[Lt.Default,Lt.Skip,Lt.RefreshTokenAndNetwork],Ib="msal.browser.log.level",Sb="msal.browser.log.pii";/*! @azure/msal-browser v3.30.0 2025-08-05 */function Gi(n){return encodeURIComponent(xl(n).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function oa(n){return Yp(n).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function xl(n){return Yp(new TextEncoder().encode(n))}function Yp(n){const e=Array.from(n,t=>String.fromCodePoint(t)).join("");return btoa(e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Rb="RSASSA-PKCS1-v1_5",Jp="SHA-256",kb=2048,Ob=new Uint8Array([1,0,1]),Wd="0123456789abcdef",Yd=new Uint32Array(1),Pb="crypto_subtle_undefined",Dl={name:Rb,hash:Jp,modulusLength:kb,publicExponent:Ob};function Nb(n){if(!window)throw Y(ra);if(!window.crypto)throw Y(Tc);if(!n&&!window.crypto.subtle)throw Y(Tc,Pb)}async function Xp(n,e,t){e==null||e.addQueueMeasurement(_.Sha256Digest,t);const o=new TextEncoder().encode(n);return window.crypto.subtle.digest(Jp,o)}function Mb(n){return window.crypto.getRandomValues(n)}function Pa(){return window.crypto.getRandomValues(Yd),Yd[0]}function In(){const n=Date.now(),e=Pa()*1024+(Pa()&1023),t=new Uint8Array(16),r=Math.trunc(e/2**30),o=e&2**30-1,i=Pa();t[0]=n/2**40,t[1]=n/2**32,t[2]=n/2**24,t[3]=n/2**16,t[4]=n/2**8,t[5]=n,t[6]=112|r>>>8,t[7]=r,t[8]=128|o>>>24,t[9]=o>>>16,t[10]=o>>>8,t[11]=o,t[12]=i>>>24,t[13]=i>>>16,t[14]=i>>>8,t[15]=i;let s="";for(let a=0;a>>4),s+=Wd.charAt(t[a]&15),(a===3||a===5||a===7||a===9)&&(s+="-");return s}async function xb(n,e){return window.crypto.subtle.generateKey(Dl,n,e)}async function Na(n){return window.crypto.subtle.exportKey(Wp,n)}async function Db(n,e,t){return window.crypto.subtle.importKey(Wp,n,Dl,e,t)}async function Lb(n,e){return window.crypto.subtle.sign(Dl,n,e)}async function Zp(n){const e=await Xp(n),t=new Uint8Array(e);return oa(t)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Ll="storage_not_supported",Ub="stubbed_public_client_application_called",em="in_mem_redirect_unavailable";/*! @azure/msal-browser v3.30.0 2025-08-05 */const Hb={[Ll]:"Given storage configuration option was not supported.",[Ub]:"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors",[em]:"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true."};class Ul extends Fe{constructor(e,t){super(e,t),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,Ul.prototype)}}function Hl(n){return new Ul(n,Hb[n])}/*! @azure/msal-browser v3.30.0 2025-08-05 */function Fb(n){n.location.hash="",typeof n.history.replaceState=="function"&&n.history.replaceState(null,"",`${n.location.origin}${n.location.pathname}${n.location.search}`)}function Bb(n){const e=n.split("#");e.shift(),window.location.hash=e.length>0?e.join("#"):""}function Fl(){return window.parent!==window}function Kb(){return typeof window<"u"&&!!window.opener&&window.opener!==window&&typeof window.name=="string"&&window.name.indexOf(`${Bt.POPUP_NAME_PREFIX}.`)===0}function Bn(){return typeof window<"u"&&window.location?window.location.href.split("?")[0].split("#")[0]:""}function qb(){const e=new ve(window.location.href).getUrlComponents();return`${e.Protocol}//${e.HostNameAndPort}/`}function $b(){if(ve.hashContainsKnownProperties(window.location.hash)&&Fl())throw Y(kp)}function jb(n){if(Fl()&&!n)throw Y(Rp)}function Gb(){if(Kb())throw Y(Op)}function tm(){if(typeof window>"u")throw Y(ra)}function nm(n){if(!n)throw Y($p)}function Bl(n){tm(),$b(),Gb(),nm(n)}function Jd(n,e){if(Bl(n),jb(e.system.allowRedirectInIframe),e.cache.cacheLocation===Pt.MemoryStorage&&!e.cache.storeAuthStateInCookie)throw Hl(em)}function rm(n){const e=document.createElement("link");e.rel="preconnect",e.href=new URL(n).origin,e.crossOrigin="anonymous",document.head.appendChild(e),window.setTimeout(()=>{try{document.head.removeChild(e)}catch{}},1e4)}function Vb(){return In()}/*! @azure/msal-browser v3.30.0 2025-08-05 */class As{navigateInternal(e,t){return As.defaultNavigateWindow(e,t)}navigateExternal(e,t){return As.defaultNavigateWindow(e,t)}static defaultNavigateWindow(e,t){return t.noHistory?window.location.replace(e):window.location.assign(e),new Promise(r=>{setTimeout(()=>{r(!0)},t.timeout)})}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class zb{async sendGetRequestAsync(e,t){let r,o={},i=0;const s=Xd(t);try{r=await fetch(e,{method:zd.GET,headers:s})}catch{throw Y(window.navigator.onLine?Dp:Ts)}o=Zd(r.headers);try{return i=r.status,{headers:o,body:await r.json(),status:i}}catch{throw Kd(Y(Ac),i,o)}}async sendPostRequestAsync(e,t){const r=t&&t.body||"",o=Xd(t);let i,s=0,a={};try{i=await fetch(e,{method:zd.POST,headers:o,body:r})}catch{throw Y(window.navigator.onLine?xp:Ts)}a=Zd(i.headers);try{return s=i.status,{headers:a,body:await i.json(),status:s}}catch{throw Kd(Y(Ac),s,a)}}}function Xd(n){try{const e=new Headers;if(!(n&&n.headers))return e;const t=n.headers;return Object.entries(t).forEach(([r,o])=>{e.append(r,o)}),e}catch{throw Y(zp)}}function Zd(n){try{const e={};return n.forEach((t,r)=>{e[r]=t}),e}catch{throw Y(Qp)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Qb=6e4,wc=1e4,Wb=3e4,Yb=2e3;function Jb({auth:n,cache:e,system:t,telemetry:r},o){const i={clientId:R.EMPTY_STRING,authority:`${R.DEFAULT_AUTHORITY}`,knownAuthorities:[],cloudDiscoveryMetadata:R.EMPTY_STRING,authorityMetadata:R.EMPTY_STRING,redirectUri:typeof window<"u"?Bn():"",postLogoutRedirectUri:R.EMPTY_STRING,navigateToLoginRequestUrl:!0,clientCapabilities:[],protocolMode:qn.AAD,OIDCOptions:{serverResponseType:Ri.FRAGMENT,defaultScopes:[R.OPENID_SCOPE,R.PROFILE_SCOPE,R.OFFLINE_ACCESS_SCOPE]},azureCloudOptions:{azureCloudInstance:hl.None,tenant:R.EMPTY_STRING},skipAuthorityMetadataCache:!1,supportsNestedAppAuth:!1,instanceAware:!1},s={cacheLocation:Pt.SessionStorage,temporaryCacheLocation:Pt.SessionStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!!(e&&e.cacheLocation===Pt.LocalStorage),claimsBasedCachingEnabled:!1},a={loggerCallback:()=>{},logLevel:Ke.Info,piiLoggingEnabled:!1},l={...{...up,loggerOptions:a,networkClient:o?new zb:hb,navigationClient:new As,loadFrameTimeout:0,windowHashTimeout:(t==null?void 0:t.loadFrameTimeout)||Qb,iframeHashTimeout:(t==null?void 0:t.loadFrameTimeout)||wc,navigateFrameWait:0,redirectNavigationTimeout:Wb,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:(t==null?void 0:t.nativeBrokerHandshakeTimeout)||Yb,pollIntervalMilliseconds:Bt.DEFAULT_POLL_INTERVAL_MS},...t,loggerOptions:(t==null?void 0:t.loggerOptions)||a},u={application:{appName:R.EMPTY_STRING,appVersion:R.EMPTY_STRING},client:new mb};if((n==null?void 0:n.protocolMode)!==qn.OIDC&&(n!=null&&n.OIDCOptions)&&new hr(l.loggerOptions).warning(JSON.stringify(xe(np))),n!=null&&n.protocolMode&&n.protocolMode!==qn.AAD&&(l!=null&&l.allowNativeBroker))throw xe(rp);return{auth:{...i,...n,OIDCOptions:{...i.OIDCOptions,...n==null?void 0:n.OIDCOptions}},cache:{...s,...e},system:l,telemetry:{...u,...r}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const Xb="@azure/msal-browser",So="3.30.0";/*! @azure/msal-browser v3.30.0 2025-08-05 */class Kl{static loggerCallback(e,t){switch(e){case Ke.Error:console.error(t);return;case Ke.Info:console.info(t);return;case Ke.Verbose:console.debug(t);return;case Ke.Warning:console.warn(t);return;default:console.log(t);return}}constructor(e){var c;this.browserEnvironment=typeof window<"u",this.config=Jb(e,this.browserEnvironment);let t;try{t=window[Pt.SessionStorage]}catch{}const r=t==null?void 0:t.getItem(Ib),o=(c=t==null?void 0:t.getItem(Sb))==null?void 0:c.toLowerCase(),i=o==="true"?!0:o==="false"?!1:void 0,s={...this.config.system.loggerOptions},a=r&&Object.keys(Ke).includes(r)?Ke[r]:void 0;a&&(s.loggerCallback=Kl.loggerCallback,s.logLevel=a),i!==void 0&&(s.piiLoggingEnabled=i),this.logger=new hr(s,Xb,So),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Kr extends Kl{getModuleName(){return Kr.MODULE_NAME}getId(){return Kr.ID}async initialize(){return this.available=typeof window<"u",this.available}}Kr.MODULE_NAME="";Kr.ID="StandardOperatingContext";/*! @azure/msal-browser v3.30.0 2025-08-05 */function _n(n){return new TextDecoder().decode(Zb(n))}function Zb(n){let e=n.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw Y(Gp)}const t=atob(e);return Uint8Array.from(t,r=>r.codePointAt(0)||0)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class eI{constructor(){this.dbName=Ec,this.version=wb,this.tableName=_b,this.dbOpen=!1}async open(){return new Promise((e,t)=>{const r=window.indexedDB.open(this.dbName,this.version);r.addEventListener("upgradeneeded",o=>{o.target.result.createObjectStore(this.tableName)}),r.addEventListener("success",o=>{const i=o;this.db=i.target.result,this.dbOpen=!0,e()}),r.addEventListener("error",()=>t(Y(Ml)))})}closeConnection(){const e=this.db;e&&this.dbOpen&&(e.close(),this.dbOpen=!1)}async validateDbIsOpen(){if(!this.dbOpen)return this.open()}async getItem(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(Y(Xr));const s=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).get(e);s.addEventListener("success",a=>{const c=a;this.closeConnection(),t(c.target.result)}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async setItem(e,t){return await this.validateDbIsOpen(),new Promise((r,o)=>{if(!this.db)return o(Y(Xr));const a=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).put(t,e);a.addEventListener("success",()=>{this.closeConnection(),r()}),a.addEventListener("error",c=>{this.closeConnection(),o(c)})})}async removeItem(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(Y(Xr));const s=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).delete(e);s.addEventListener("success",()=>{this.closeConnection(),t()}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async getKeys(){return await this.validateDbIsOpen(),new Promise((e,t)=>{if(!this.db)return t(Y(Xr));const i=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).getAllKeys();i.addEventListener("success",s=>{const a=s;this.closeConnection(),e(a.target.result)}),i.addEventListener("error",s=>{this.closeConnection(),t(s)})})}async containsKey(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(Y(Xr));const s=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).count(e);s.addEventListener("success",a=>{const c=a;this.closeConnection(),t(c.target.result===1)}),s.addEventListener("error",a=>{this.closeConnection(),r(a)})})}async deleteDatabase(){return this.db&&this.dbOpen&&this.closeConnection(),new Promise((e,t)=>{const r=window.indexedDB.deleteDatabase(Ec),o=setTimeout(()=>t(!1),200);r.addEventListener("success",()=>(clearTimeout(o),e(!0))),r.addEventListener("blocked",()=>(clearTimeout(o),e(!0))),r.addEventListener("error",()=>(clearTimeout(o),t(!1)))})}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class _c{constructor(){this.cache=new Map}getItem(e){return this.cache.get(e)||null}setItem(e,t){this.cache.set(e,t)}removeItem(e){this.cache.delete(e)}getKeys(){const e=[];return this.cache.forEach((t,r)=>{e.push(r)}),e}containsKey(e){return this.cache.has(e)}clear(){this.cache.clear()}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class tI{constructor(e){this.inMemoryCache=new _c,this.indexedDBCache=new eI,this.logger=e}handleDatabaseAccessError(e){if(e instanceof Oi&&e.errorCode===Ml)this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.");else throw e}async getItem(e){const t=this.inMemoryCache.getItem(e);if(!t)try{return this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.getItem(e)}catch(r){this.handleDatabaseAccessError(r)}return t}async setItem(e,t){this.inMemoryCache.setItem(e,t);try{await this.indexedDBCache.setItem(e,t)}catch(r){this.handleDatabaseAccessError(r)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(t){this.handleDatabaseAccessError(t)}}async getKeys(){const e=this.inMemoryCache.getKeys();if(e.length===0)try{return this.logger.verbose("In-memory cache is empty, now querying persistent storage."),await this.indexedDBCache.getKeys()}catch(t){this.handleDatabaseAccessError(t)}return e}async containsKey(e){const t=this.inMemoryCache.containsKey(e);if(!t)try{return this.logger.verbose("Key not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.containsKey(e)}catch(r){this.handleDatabaseAccessError(r)}return t}clearInMemory(){this.logger.verbose("Deleting in-memory keystore"),this.inMemoryCache.clear(),this.logger.verbose("In-memory keystore deleted")}async clearPersistent(){try{this.logger.verbose("Deleting persistent keystore");const e=await this.indexedDBCache.deleteDatabase();return e&&this.logger.verbose("Persistent keystore deleted"),e}catch(e){return this.handleDatabaseAccessError(e),!1}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class Ro{constructor(e,t,r){this.logger=e,Nb(r??!1),this.cache=new tI(this.logger),this.performanceClient=t}createNewGuid(){return In()}base64Encode(e){return xl(e)}base64Decode(e){return _n(e)}base64UrlEncode(e){return Gi(e)}encodeKid(e){return this.base64UrlEncode(JSON.stringify({kid:e}))}async getPublicKeyThumbprint(e){var u;const t=(u=this.performanceClient)==null?void 0:u.startMeasurement(_.CryptoOptsGetPublicKeyThumbprint,e.correlationId),r=await xb(Ro.EXTRACTABLE,Ro.POP_KEY_USAGES),o=await Na(r.publicKey),i={e:o.e,kty:o.kty,n:o.n},s=eh(i),a=await this.hashString(s),c=await Na(r.privateKey),l=await Db(c,!1,["sign"]);return await this.cache.setItem(a,{privateKey:l,publicKey:r.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),t&&t.end({success:!0}),a}async removeTokenBindingKey(e){return await this.cache.removeItem(e),!await this.cache.containsKey(e)}async clearKeystore(){this.cache.clearInMemory();try{return await this.cache.clearPersistent(),!0}catch(e){return e instanceof Error?this.logger.error(`Clearing keystore failed with error: ${e.message}`):this.logger.error("Clearing keystore failed with unknown error"),!1}}async signJwt(e,t,r,o){var y;const i=(y=this.performanceClient)==null?void 0:y.startMeasurement(_.CryptoOptsSignJwt,o),s=await this.cache.getItem(t);if(!s)throw Y(Nl);const a=await Na(s.publicKey),c=eh(a),l=Gi(JSON.stringify({kid:t})),u=Rl.getShrHeaderString({...r==null?void 0:r.header,alg:a.alg,kid:l}),d=Gi(u);e.cnf={jwk:JSON.parse(c)};const h=Gi(JSON.stringify(e)),f=`${d}.${h}`,p=new TextEncoder().encode(f),v=await Lb(s.privateKey,p),E=oa(new Uint8Array(v)),b=`${f}.${E}`;return i&&i.end({success:!0}),b}async hashString(e){return Zp(e)}}Ro.POP_KEY_USAGES=["sign","verify"];Ro.EXTRACTABLE=!0;function eh(n){return JSON.stringify(n,Object.keys(n).sort())}/*! @azure/msal-browser v3.30.0 2025-08-05 */class nI{constructor(){if(!window.localStorage)throw Hl(Ll)}getItem(e){return window.localStorage.getItem(e)}setItem(e,t){window.localStorage.setItem(e,t)}removeItem(e){window.localStorage.removeItem(e)}getKeys(){return Object.keys(window.localStorage)}containsKey(e){return window.localStorage.hasOwnProperty(e)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class rI{constructor(){if(!window.sessionStorage)throw Hl(Ll)}getItem(e){return window.sessionStorage.getItem(e)}setItem(e,t){window.sessionStorage.setItem(e,t)}removeItem(e){window.sessionStorage.removeItem(e)}getKeys(){return Object.keys(window.sessionStorage)}containsKey(e){return window.sessionStorage.hasOwnProperty(e)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function om(n,e){if(!e)return null;try{return nn.parseRequestState(n,e).libraryState.meta}catch{throw H(_o)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const oI=24*60*60*1e3;class iI{getItem(e){const t=`${encodeURIComponent(e)}`,r=document.cookie.split(";");for(let o=0;o{const o=decodeURIComponent(r).trim().split("=");t.push(o[0])}),t}containsKey(e){return this.getKeys().includes(e)}}function sI(n){const e=new Date;return new Date(e.getTime()+n*oI).toUTCString()}/*! @azure/msal-browser v3.30.0 2025-08-05 */class bc extends bo{constructor(e,t,r,o,i,s){super(e,r,o,i),this.cacheConfig=t,this.logger=o,this.internalStorage=new _c,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupBrowserStorage(this.cacheConfig.temporaryCacheLocation),this.cookieStorage=new iI,t.cacheMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps()),this.performanceClient=s}setupBrowserStorage(e){try{switch(e){case Pt.LocalStorage:return new nI;case Pt.SessionStorage:return new rI;case Pt.MemoryStorage:default:break}}catch(t){this.logger.error(t)}return this.cacheConfig.cacheLocation=Pt.MemoryStorage,new _c}migrateCacheEntries(){const e=this.browserStorage.getItem(zt.VERSION);e&&this.logger.info(`MSAL.js was last initialized with version ${e}`),e!==So&&this.browserStorage.setItem(zt.VERSION,So);const t=`${R.CACHE_PREFIX}.${it.ID_TOKEN}`,r=`${R.CACHE_PREFIX}.${it.CLIENT_INFO}`,o=`${R.CACHE_PREFIX}.${it.ERROR}`,i=`${R.CACHE_PREFIX}.${it.ERROR_DESC}`,s=this.browserStorage.getItem(t),a=this.browserStorage.getItem(r),c=this.browserStorage.getItem(o),l=this.browserStorage.getItem(i),u=[s,a,c,l];[it.ID_TOKEN,it.CLIENT_INFO,it.ERROR,it.ERROR_DESC].forEach((h,f)=>{const C=u[f];C&&this.setTemporaryCache(h,C,!0)})}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");const e=this.cryptoImpl.createNewGuid(),t=this.getItem(zt.ACCOUNT_KEYS),r=this.getItem(`${zt.TOKEN_KEYS}.${this.clientId}`);if(t&&r){this.logger.verbose("BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration.");return}this.browserStorage.getKeys().forEach(i=>{if(this.isCredentialKey(i)){const s=this.getItem(i);if(s){const a=this.validateAndParseJson(s);if(a&&a.hasOwnProperty("credentialType"))switch(a.credentialType){case ae.ID_TOKEN:if(Pd(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,ae.ID_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${i}`);break;case ae.ACCESS_TOKEN:case ae.ACCESS_TOKEN_WITH_AUTH_SCHEME:if(Od(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,ae.ACCESS_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${i}`);break;case ae.REFRESH_TOKEN:if(Nd(a)){this.logger.trace("BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${i} found, saving key to token key map`);const c=a,l=this.updateCredentialCacheKey(i,c,e);this.addTokenKey(l,ae.REFRESH_TOKEN,e);return}else this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${i}`);break}}}if(this.isAccountKey(i)){const s=this.getItem(i);if(s){const a=this.validateAndParseJson(s);a&&rt.isAccountEntity(a)&&(this.logger.trace("BrowserCacheManager:createKeyMaps - account found, saving key to account key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${i} found, saving key to account key map`),this.addAccountKeyToMap(i,e))}}})}validateAndParseJson(e){try{const t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}getItem(e){return this.browserStorage.getItem(e)}setItem(e,t,r){let o=[];for(let s=0;s<=20;s++)try{this.browserStorage.setItem(e,t),s>0&&this.removeAccessTokenKeys(o.slice(0,s),r);break}catch(a){const c=lp(a);if(c.errorCode===Al&&s<20){if(o.length||(e===`${zt.TOKEN_KEYS}.${this.clientId}`?o=JSON.parse(t).accessToken:o=this.getTokenKeys().accessToken),o.length<=s)throw c;this.removeAccessToken(o[s],r,!1)}else throw c}}getAccount(e,t,r){this.logger.trace("BrowserCacheManager.getAccount called");const o=this.getCachedAccountEntity(e,t);return this.updateOutdatedCachedAccount(e,o,t,r)}getCachedAccountEntity(e,t){const r=this.getItem(e);if(!r)return this.removeAccountKeyFromMap(e,t),null;const o=this.validateAndParseJson(r);return!o||!rt.isAccountEntity(o)?null:bo.toObject(new rt,o)}setAccount(e,t){this.logger.trace("BrowserCacheManager.setAccount called");const r=e.generateAccountKey();e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addAccountKeyToMap(r,t)}getAccountKeys(){this.logger.trace("BrowserCacheManager.getAccountKeys called");const e=this.getItem(zt.ACCOUNT_KEYS);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}addAccountKeyToMap(e,t){this.logger.trace("BrowserCacheManager.addAccountKeyToMap called"),this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${e}`);const r=this.getAccountKeys();r.indexOf(e)===-1?(r.push(e),this.setItem(zt.ACCOUNT_KEYS,JSON.stringify(r),t),this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key added")):this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key already exists in map")}removeAccountKeyFromMap(e,t){this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap called"),this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${e}`);const r=this.getAccountKeys(),o=r.indexOf(e);if(o>-1){if(r.splice(o,1),r.length===0){this.removeItem(zt.ACCOUNT_KEYS);return}else this.setItem(zt.ACCOUNT_KEYS,JSON.stringify(r),t);this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")}else this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap key not found in existing map")}async removeAccount(e,t){super.removeAccount(e,t),this.removeAccountKeyFromMap(e,t)}removeOutdatedAccount(e,t){this.removeItem(e),this.removeAccountKeyFromMap(e,t)}removeIdToken(e,t){super.removeIdToken(e,t),this.removeTokenKey(e,ae.ID_TOKEN,t)}removeAccessToken(e,t,r=!0){var o;super.removeAccessToken(e,t),(o=this.performanceClient)==null||o.incrementFields({accessTokensRemoved:1},t),r&&this.removeTokenKey(e,ae.ACCESS_TOKEN,t)}removeAccessTokenKeys(e,t){this.logger.trace("removeAccessTokenKey called");const r=this.getTokenKeys();let o=0;if(e.forEach(i=>{const s=r.accessToken.indexOf(i);s>-1&&(r.accessToken.splice(s,1),o++)}),o>0){this.logger.info(`removed ${o} accessToken keys from tokenKeys map`),this.setTokenKeys(r,t);return}}removeRefreshToken(e,t){super.removeRefreshToken(e,t),this.removeTokenKey(e,ae.REFRESH_TOKEN,t)}getTokenKeys(){this.logger.trace("BrowserCacheManager.getTokenKeys called");const e=this.getItem(`${zt.TOKEN_KEYS}.${this.clientId}`);if(e){const t=this.validateAndParseJson(e);if(t&&t.hasOwnProperty("idToken")&&t.hasOwnProperty("accessToken")&&t.hasOwnProperty("refreshToken"))return t;this.logger.error("BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.")}else this.logger.verbose("BrowserCacheManager.getTokenKeys - No token keys found");return{idToken:[],accessToken:[],refreshToken:[]}}setTokenKeys(e,t){if(e.idToken.length===0&&e.accessToken.length===0&&e.refreshToken.length===0){this.removeItem(`${zt.TOKEN_KEYS}.${this.clientId}`);return}else this.setItem(`${zt.TOKEN_KEYS}.${this.clientId}`,JSON.stringify(e),t)}addTokenKey(e,t,r){this.logger.trace("BrowserCacheManager addTokenKey called");const o=this.getTokenKeys();switch(t){case ae.ID_TOKEN:o.idToken.indexOf(e)===-1&&(this.logger.info("BrowserCacheManager: addTokenKey - idToken added to map"),o.idToken.push(e));break;case ae.ACCESS_TOKEN:const i=o.accessToken.indexOf(e);i!==-1&&o.accessToken.splice(i,1),this.logger.trace(`access token ${i===-1?"added to":"updated in"} map`),o.accessToken.push(e);break;case ae.REFRESH_TOKEN:o.refreshToken.indexOf(e)===-1&&(this.logger.info("BrowserCacheManager: addTokenKey - refreshToken added to map"),o.refreshToken.push(e));break;default:throw this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${t}`),H(gc)}this.setTokenKeys(o,r)}removeTokenKey(e,t,r,o=this.getTokenKeys()){switch(this.logger.trace("BrowserCacheManager removeTokenKey called"),t){case ae.ID_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${e} from map`);const i=o.idToken.indexOf(e);i>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - idToken removed from map"),o.idToken.splice(i,1)):this.logger.info("BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.");break;case ae.ACCESS_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${e} from map`);const s=o.accessToken.indexOf(e);s>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - accessToken removed from map"),o.accessToken.splice(s,1)):this.logger.info("BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.");break;case ae.REFRESH_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${e} from map`);const a=o.refreshToken.indexOf(e);a>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken removed from map"),o.refreshToken.splice(a,1)):this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.");break;default:throw this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invalid. CredentialType: ${t}`),H(gc)}this.setTokenKeys(o,r)}getIdTokenCredential(e,t){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeIdToken(e,t),null;const o=this.validateAndParseJson(r);return!o||!Pd(o)?(this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getIdTokenCredential: cache hit"),o)}setIdTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setIdTokenCredential called");const r=to(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,ae.ID_TOKEN,t)}getAccessTokenCredential(e,t){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,ae.ACCESS_TOKEN,t),null;const o=this.validateAndParseJson(r);return!o||!Od(o)?(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: cache hit"),o)}setAccessTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setAccessTokenCredential called");const r=to(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,ae.ACCESS_TOKEN,t)}getRefreshTokenCredential(e,t){const r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,ae.REFRESH_TOKEN,t),null;const o=this.validateAndParseJson(r);return!o||!Nd(o)?(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: cache hit"),o)}setRefreshTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setRefreshTokenCredential called");const r=to(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,ae.REFRESH_TOKEN,t)}getAppMetadata(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null;const r=this.validateAndParseJson(t);return!r||!Ww(e,r)?(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),r)}setAppMetadata(e,t){this.logger.trace("BrowserCacheManager.setAppMetadata called");const r=Qw(e);this.setItem(r,JSON.stringify(e),t)}getServerTelemetry(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null;const r=this.validateAndParseJson(t);return!r||!Vw(e,r)?(this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getServerTelemetry: cache hit"),r)}setServerTelemetry(e,t,r){this.logger.trace("BrowserCacheManager.setServerTelemetry called"),this.setItem(e,JSON.stringify(t),r)}getAuthorityMetadata(e){const t=this.internalStorage.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAuthorityMetadata: called, no cache hit"),null;const r=this.validateAndParseJson(t);return r&&Yw(e,r)?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),r):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter(t=>this.isAuthorityMetadata(t))}setWrapperMetadata(e,t){this.internalStorage.setItem(ji.WRAPPER_SKU,e),this.internalStorage.setItem(ji.WRAPPER_VER,t)}getWrapperMetadata(){const e=this.internalStorage.getItem(ji.WRAPPER_SKU)||R.EMPTY_STRING,t=this.internalStorage.getItem(ji.WRAPPER_VER)||R.EMPTY_STRING;return[e,t]}setAuthorityMetadata(e,t){this.logger.trace("BrowserCacheManager.setAuthorityMetadata called"),this.internalStorage.setItem(e,JSON.stringify(t))}getActiveAccount(e){const t=this.generateCacheKey(it.ACTIVE_ACCOUNT_FILTERS),r=this.getItem(t);if(!r){this.logger.trace("BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema");const i=this.generateCacheKey(it.ACTIVE_ACCOUNT),s=this.getItem(i);if(!s)return this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null;const a=this.getAccountInfoFilteredBy({localAccountId:s},e);return a?(this.logger.trace("BrowserCacheManager.getActiveAccount: Legacy active account cache schema found"),this.logger.trace("BrowserCacheManager.getActiveAccount: Adding active account filters cache schema"),this.setActiveAccount(a,e),a):null}const o=this.validateAndParseJson(r);return o?(this.logger.trace("BrowserCacheManager.getActiveAccount: Active account filters schema found"),this.getAccountInfoFilteredBy({homeAccountId:o.homeAccountId,localAccountId:o.localAccountId,tenantId:o.tenantId},e)):(this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null)}setActiveAccount(e,t){const r=this.generateCacheKey(it.ACTIVE_ACCOUNT_FILTERS),o=this.generateCacheKey(it.ACTIVE_ACCOUNT);if(e){this.logger.verbose("setActiveAccount: Active account set");const i={homeAccountId:e.homeAccountId,localAccountId:e.localAccountId,tenantId:e.tenantId,lastUpdatedAt:Date.now().toString()};this.setItem(r,JSON.stringify(i),t),this.setItem(o,e.localAccountId,t)}else this.logger.verbose("setActiveAccount: No account passed, active account not set"),this.browserStorage.removeItem(r),this.browserStorage.removeItem(o)}getThrottlingCache(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null;const r=this.validateAndParseJson(t);return!r||!zw(e,r)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null):(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),r)}setThrottlingCache(e,t,r){this.logger.trace("BrowserCacheManager.setThrottlingCache called"),this.setItem(e,JSON.stringify(t),r)}getTemporaryCache(e,t){const r=t?this.generateCacheKey(e):e;if(this.cacheConfig.storeAuthStateInCookie){const i=this.cookieStorage.getItem(r);if(i)return this.logger.trace("BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"),i}const o=this.temporaryCacheStorage.getItem(r);if(!o){if(this.cacheConfig.cacheLocation===Pt.LocalStorage){const i=this.browserStorage.getItem(r);if(i)return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage"),i}return this.logger.trace("BrowserCacheManager.getTemporaryCache: No cache item found in local storage"),null}return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item returned"),o}setTemporaryCache(e,t,r){const o=r?this.generateCacheKey(e):e;this.temporaryCacheStorage.setItem(o,t),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"),this.cookieStorage.setItem(o,t,void 0,this.cacheConfig.secureCookies))}removeItem(e){this.browserStorage.removeItem(e)}removeTemporaryItem(e){this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.cookieStorage.removeItem(e))}getKeys(){return this.browserStorage.getKeys()}async clear(e){await this.removeAllAccounts(e),this.removeAppMetadata(e),this.temporaryCacheStorage.getKeys().forEach(t=>{(t.indexOf(R.CACHE_PREFIX)!==-1||t.indexOf(this.clientId)!==-1)&&this.removeTemporaryItem(t)}),this.browserStorage.getKeys().forEach(t=>{(t.indexOf(R.CACHE_PREFIX)!==-1||t.indexOf(this.clientId)!==-1)&&this.browserStorage.removeItem(t)}),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e,t){e.addQueueMeasurement(_.ClearTokensAndKeysWithClaims,t);const r=this.getTokenKeys();let o=0;r.accessToken.forEach(i=>{const s=this.getAccessTokenCredential(i,t);s!=null&&s.requestedClaimsHash&&i.includes(s.requestedClaimsHash.toLowerCase())&&(this.removeAccessToken(i,t),o++)}),o>0&&this.logger.warning(`${o} access tokens with claims in the cache keys have been removed from the cache.`)}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):tn.startsWith(e,R.CACHE_PREFIX)||tn.startsWith(e,it.ADAL_ID_TOKEN)?e:`${R.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){const{libraryState:{id:t}}=nn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${ke.AUTHORITY}.${t}`)}generateNonceKey(e){const{libraryState:{id:t}}=nn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${ke.NONCE_IDTOKEN}.${t}`)}generateStateKey(e){const{libraryState:{id:t}}=nn.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${ke.REQUEST_STATE}.${t}`)}getCachedAuthority(e){const t=this.generateStateKey(e),r=this.getTemporaryCache(t);if(!r)return null;const o=this.generateAuthorityKey(r);return this.getTemporaryCache(o)}updateCacheEntries(e,t,r,o,i){this.logger.trace("BrowserCacheManager.updateCacheEntries called");const s=this.generateStateKey(e);this.setTemporaryCache(s,e,!1);const a=this.generateNonceKey(e);this.setTemporaryCache(a,t,!1);const c=this.generateAuthorityKey(e);if(this.setTemporaryCache(c,r,!1),i){const l={credential:i.homeAccountId,type:qt.HOME_ACCOUNT_ID};this.setTemporaryCache(ke.CCS_CREDENTIAL,JSON.stringify(l),!0)}else if(o){const l={credential:o,type:qt.UPN};this.setTemporaryCache(ke.CCS_CREDENTIAL,JSON.stringify(l),!0)}}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.temporaryCacheStorage.getKeys().forEach(t=>{t.indexOf(e)!==-1&&this.removeTemporaryItem(t)}),this.removeTemporaryItem(this.generateStateKey(e)),this.removeTemporaryItem(this.generateNonceKey(e)),this.removeTemporaryItem(this.generateAuthorityKey(e))),this.removeTemporaryItem(this.generateCacheKey(ke.REQUEST_PARAMS)),this.removeTemporaryItem(this.generateCacheKey(ke.ORIGIN_URI)),this.removeTemporaryItem(this.generateCacheKey(ke.URL_HASH)),this.removeTemporaryItem(this.generateCacheKey(ke.CORRELATION_ID)),this.removeTemporaryItem(this.generateCacheKey(ke.CCS_CREDENTIAL)),this.removeTemporaryItem(this.generateCacheKey(ke.NATIVE_REQUEST)),this.setInteractionInProgress(!1)}cleanRequestByState(e){if(this.logger.trace("BrowserCacheManager.cleanRequestByState called"),e){const t=this.generateStateKey(e),r=this.temporaryCacheStorage.getItem(t);this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r||R.EMPTY_STRING)}}cleanRequestByInteractionType(e){this.logger.trace("BrowserCacheManager.cleanRequestByInteractionType called"),this.temporaryCacheStorage.getKeys().forEach(t=>{if(t.indexOf(ke.REQUEST_STATE)===-1)return;const r=this.temporaryCacheStorage.getItem(t);if(!r)return;const o=om(this.cryptoImpl,r);o&&o.interactionType===e&&(this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r))}),this.setInteractionInProgress(!1)}cacheCodeRequest(e){this.logger.trace("BrowserCacheManager.cacheCodeRequest called");const t=xl(JSON.stringify(e));this.setTemporaryCache(ke.REQUEST_PARAMS,t,!0)}getCachedRequest(e){this.logger.trace("BrowserCacheManager.getCachedRequest called");const t=this.getTemporaryCache(ke.REQUEST_PARAMS,!0);if(!t)throw Y(Np);let r;try{r=JSON.parse(_n(t))}catch(o){throw this.logger.errorPii(`Attempted to parse: ${t}`),this.logger.error(`Parsing cached token request threw with error: ${o}`),Y(Mp)}if(this.removeTemporaryItem(this.generateCacheKey(ke.REQUEST_PARAMS)),!r.authority){const o=this.generateAuthorityKey(e),i=this.getTemporaryCache(o);if(!i)throw Y(Pl);r.authority=i}return r}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");const e=this.getTemporaryCache(ke.NATIVE_REQUEST,!0);if(!e)return this.logger.trace("BrowserCacheManager.getCachedNativeRequest: No cached native request found"),null;const t=this.validateAndParseJson(e);return t||(this.logger.error("BrowserCacheManager.getCachedNativeRequest: Unable to parse native request"),null)}isInteractionInProgress(e){const t=this.getInteractionInProgress();return e?t===this.clientId:!!t}getInteractionInProgress(){const e=`${R.CACHE_PREFIX}.${ke.INTERACTION_STATUS_KEY}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){const t=`${R.CACHE_PREFIX}.${ke.INTERACTION_STATUS_KEY}`;if(e){if(this.getInteractionInProgress())throw Y(_p);this.setTemporaryCache(t,this.clientId,!1)}else!e&&this.getInteractionInProgress()===this.clientId&&this.removeTemporaryItem(t)}getLegacyLoginHint(){const e=this.getTemporaryCache(it.ADAL_ID_TOKEN);e&&(this.browserStorage.removeItem(it.ADAL_ID_TOKEN),this.logger.verbose("Cached ADAL id token retrieved."));const t=this.getTemporaryCache(it.ID_TOKEN,!0);t&&(this.browserStorage.removeItem(this.generateCacheKey(it.ID_TOKEN)),this.logger.verbose("Cached MSAL.js v1 id token retrieved"));const r=t||e;if(r){const o=qr(r,_n);if(o.preferred_username)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint"),o.preferred_username;if(o.upn)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint"),o.upn;this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.")}return null}updateCredentialCacheKey(e,t,r){const o=to(t);if(e!==o){const i=this.getItem(e);if(i)return this.browserStorage.removeItem(e),this.setItem(o,i,r),this.logger.verbose(`Updated an outdated ${t.credentialType} cache key`),o;this.logger.error(`Attempted to update an outdated ${t.credentialType} cache key but no item matching the outdated key was found in storage`)}return e}async hydrateCache(e,t){var a,c,l;const r=Ws((a=e.account)==null?void 0:a.homeAccountId,(c=e.account)==null?void 0:c.environment,e.idToken,this.clientId,e.tenantId);let o;t.claims&&(o=await this.cryptoImpl.hashString(t.claims));const i=Ys((l=e.account)==null?void 0:l.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?e.expiresOn.getTime()/1e3:0,e.extExpiresOn?e.extExpiresOn.getTime()/1e3:0,_n,void 0,e.tokenType,void 0,t.sshKid,t.claims,o),s={idToken:r,accessToken:i};return this.saveCacheRecord(s,e.correlationId)}async saveCacheRecord(e,t,r){try{await super.saveCacheRecord(e,t,r)}catch(o){if(o instanceof co&&this.performanceClient&&t)try{const i=this.getTokenKeys();this.performanceClient.addFields({cacheRtCount:i.refreshToken.length,cacheIdCount:i.idToken.length,cacheAtCount:i.accessToken.length},t)}catch{}throw o}}}const aI=(n,e)=>{const t={cacheLocation:Pt.MemoryStorage,temporaryCacheLocation:Pt.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};return new bc(n,t,gs,e)};/*! @azure/msal-browser v3.30.0 2025-08-05 */function cI(n,e,t,r,o){return n.verbose("getAllAccounts called"),t?e.getAllAccounts(r,o):[]}function lI(n,e,t,r){if(e.trace("getAccount called"),Object.keys(n).length===0)return e.warning("getAccount: No accountFilter provided"),null;const o=t.getAccountInfoFilteredBy(n,r);return o?(e.verbose("getAccount: Account matching provided filter found, returning"),o):(e.verbose("getAccount: No matching account found, returning null"),null)}function uI(n,e,t,r){if(e.trace("getAccountByUsername called"),!n)return e.warning("getAccountByUsername: No username provided"),null;const o=t.getAccountInfoFilteredBy({username:n},r);return o?(e.verbose("getAccountByUsername: Account matching username found, returning"),e.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${n}`),o):(e.verbose("getAccountByUsername: No matching account found, returning null"),null)}function dI(n,e,t,r){if(e.trace("getAccountByHomeId called"),!n)return e.warning("getAccountByHomeId: No homeAccountId provided"),null;const o=t.getAccountInfoFilteredBy({homeAccountId:n},r);return o?(e.verbose("getAccountByHomeId: Account matching homeAccountId found, returning"),e.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${n}`),o):(e.verbose("getAccountByHomeId: No matching account found, returning null"),null)}function hI(n,e,t,r){if(e.trace("getAccountByLocalId called"),!n)return e.warning("getAccountByLocalId: No localAccountId provided"),null;const o=t.getAccountInfoFilteredBy({localAccountId:n},r);return o?(e.verbose("getAccountByLocalId: Account matching localAccountId found, returning"),e.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${n}`),o):(e.verbose("getAccountByLocalId: No matching account found, returning null"),null)}function fI(n,e,t){e.setActiveAccount(n,t)}function gI(n,e){return n.getActiveAccount(e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */const oe={INITIALIZE_START:"msal:initializeStart",INITIALIZE_END:"msal:initializeEnd",ACCOUNT_ADDED:"msal:accountAdded",ACCOUNT_REMOVED:"msal:accountRemoved",ACTIVE_ACCOUNT_CHANGED:"msal:activeAccountChanged",LOGIN_START:"msal:loginStart",LOGIN_SUCCESS:"msal:loginSuccess",LOGIN_FAILURE:"msal:loginFailure",ACQUIRE_TOKEN_START:"msal:acquireTokenStart",ACQUIRE_TOKEN_SUCCESS:"msal:acquireTokenSuccess",ACQUIRE_TOKEN_FAILURE:"msal:acquireTokenFailure",ACQUIRE_TOKEN_NETWORK_START:"msal:acquireTokenFromNetworkStart",SSO_SILENT_START:"msal:ssoSilentStart",SSO_SILENT_SUCCESS:"msal:ssoSilentSuccess",SSO_SILENT_FAILURE:"msal:ssoSilentFailure",ACQUIRE_TOKEN_BY_CODE_START:"msal:acquireTokenByCodeStart",ACQUIRE_TOKEN_BY_CODE_SUCCESS:"msal:acquireTokenByCodeSuccess",ACQUIRE_TOKEN_BY_CODE_FAILURE:"msal:acquireTokenByCodeFailure",HANDLE_REDIRECT_START:"msal:handleRedirectStart",HANDLE_REDIRECT_END:"msal:handleRedirectEnd",POPUP_OPENED:"msal:popupOpened",LOGOUT_START:"msal:logoutStart",LOGOUT_SUCCESS:"msal:logoutSuccess",LOGOUT_FAILURE:"msal:logoutFailure",LOGOUT_END:"msal:logoutEnd",RESTORE_FROM_BFCACHE:"msal:restoreFromBFCache"};/*! @azure/msal-browser v3.30.0 2025-08-05 */class pI{constructor(e){this.eventCallbacks=new Map,this.logger=e||new hr({})}addEventCallback(e,t,r){if(typeof window<"u"){const o=r||Vb();return this.eventCallbacks.has(o)?(this.logger.error(`Event callback with id: ${o} is already registered. Please provide a unique id or remove the existing callback and try again.`),null):(this.eventCallbacks.set(o,[e,t||[]]),this.logger.verbose(`Event callback registered with id: ${o}`),o)}return null}removeEventCallback(e){this.eventCallbacks.delete(e),this.logger.verbose(`Event callback ${e} removed.`)}emitEvent(e,t,r,o){if(typeof window<"u"){const i={eventType:e,interactionType:t||null,payload:r||null,error:o||null,timestamp:Date.now()};this.eventCallbacks.forEach(([s,a],c)=>{(a.length===0||a.includes(e))&&(this.logger.verbose(`Emitting event to callback ${c}: ${e}`),s.apply(null,[i]))})}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class im{constructor(e,t,r,o,i,s,a,c,l){this.config=e,this.browserStorage=t,this.browserCrypto=r,this.networkClient=this.config.system.networkClient,this.eventHandler=i,this.navigationClient=s,this.nativeMessageHandler=c,this.correlationId=l||In(),this.logger=o.clone(Bt.MSAL_SKU,So,this.correlationId),this.performanceClient=a}async clearCacheOnLogout(e){if(e){rt.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(this.correlationId),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null,this.correlationId));try{await this.browserStorage.removeAccount(rt.generateAccountCacheKey(e),this.correlationId),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch{this.logger.error("Account provided in logout request was not found. Local cache unchanged.")}}else try{this.logger.verbose("No account provided in logout request, clearing all cache items.",this.correlationId),await this.browserStorage.clear(this.correlationId),await this.browserCrypto.clearKeystore()}catch{this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}getRedirectUri(e){this.logger.verbose("getRedirectUri called");const t=e||this.config.auth.redirectUri;return ve.getAbsoluteUrl(t,Bn())}initializeServerTelemetryManager(e,t){this.logger.verbose("initializeServerTelemetryManager called");const r={clientId:this.config.auth.clientId,correlationId:this.correlationId,apiId:e,forceRefresh:t||!1,wrapperSKU:this.browserStorage.getWrapperMetadata()[0],wrapperVer:this.browserStorage.getWrapperMetadata()[1]};return new fi(r,this.browserStorage)}async getDiscoveredAuthority(e){const{account:t}=e,r=e.requestExtraQueryParameters&&e.requestExtraQueryParameters.hasOwnProperty("instance_aware")?e.requestExtraQueryParameters.instance_aware:void 0;this.performanceClient.addQueueMeasurement(_.StandardInteractionClientGetDiscoveredAuthority,this.correlationId);const o={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},i=e.requestAuthority||this.config.auth.authority,s=r!=null&&r.length?r==="true":this.config.auth.instanceAware,a=t&&s?this.config.auth.authority.replace(ve.getDomainFromUrl(i),t.environment):i,c=pt.generateAuthority(a,e.requestAzureCloudOptions||this.config.auth.azureCloudOptions),l=await q(fp,_.AuthorityFactoryCreateDiscoveredInstance,this.logger,this.performanceClient,this.correlationId)(c,this.config.system.networkClient,this.browserStorage,o,this.logger,this.correlationId,this.performanceClient);if(t&&!l.isAlias(t.environment))throw xe(op);return l}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const mI=32;async function yI(n,e,t){n.addQueueMeasurement(_.GeneratePkceCodes,t);const r=$r(CI,_.GenerateCodeVerifier,e,n,t)(n,e,t),o=await q(vI,_.GenerateCodeChallengeFromVerifier,e,n,t)(r,n,e,t);return{verifier:r,challenge:o}}function CI(n,e,t){try{const r=new Uint8Array(mI);return $r(Mb,_.GetRandomValues,e,n,t)(r),oa(r)}catch{throw Y(kl)}}async function vI(n,e,t,r){e.addQueueMeasurement(_.GenerateCodeChallengeFromVerifier,r);try{const o=await q(Xp,_.Sha256Digest,t,e,r)(n,e,r);return oa(new Uint8Array(o))}catch{throw Y(kl)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function ql(n,e,t,r){t.addQueueMeasurement(_.InitializeBaseRequest,n.correlationId);const o=n.authority||e.auth.authority,i=[...n&&n.scopes||[]],s={...n,correlationId:n.correlationId,authority:o,scopes:i};if(!s.authenticationScheme)s.authenticationScheme=Ne.BEARER,r.verbose(`Authentication Scheme wasn't explicitly set in request, defaulting to "Bearer" request`);else{if(s.authenticationScheme===Ne.SSH){if(!n.sshJwk)throw xe(Js);if(!n.sshKid)throw xe(tp)}r.verbose(`Authentication Scheme set to "${s.authenticationScheme}" as configured in Auth request`)}return e.cache.claimsBasedCachingEnabled&&n.claims&&!tn.isEmptyObj(n.claims)&&(s.requestedClaimsHash=await Zp(n.claims)),s}async function TI(n,e,t,r,o){r.addQueueMeasurement(_.InitializeSilentRequest,n.correlationId);const i=await q(ql,_.InitializeBaseRequest,o,r,n.correlationId)(n,t,r,o);return{...n,...i,account:e,forceRefresh:n.forceRefresh||!1}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class No extends im{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.correlationId);const t=await q(yI,_.GeneratePkceCodes,this.logger,this.performanceClient,this.correlationId)(this.performanceClient,this.logger,this.correlationId),r={...e,redirectUri:e.redirectUri,code:R.EMPTY_STRING,codeVerifier:t.verifier};return e.codeChallenge=t.challenge,e.codeChallengeMethod=R.S256_CODE_CHALLENGE_METHOD,r}initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e==null?void 0:e.correlationId);const t={correlationId:this.correlationId||In(),...e};if(e)if(e.logoutHint)this.logger.verbose("logoutHint has already been set in logoutRequest");else if(e.account){const r=this.getLogoutHintFromIdTokenClaims(e.account);r&&(this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided"),t.logoutHint=r)}else this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");else this.logger.verbose("logoutHint will not be set since no logout request was configured");return!e||e.postLogoutRedirectUri!==null?e&&e.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request",t.correlationId),t.postLogoutRedirectUri=ve.getAbsoluteUrl(e.postLogoutRedirectUri,Bn())):this.config.auth.postLogoutRedirectUri===null?this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect",t.correlationId):this.config.auth.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to configured uri",t.correlationId),t.postLogoutRedirectUri=ve.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,Bn())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",t.correlationId),t.postLogoutRedirectUri=ve.getAbsoluteUrl(Bn(),Bn())):this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri",t.correlationId),t}getLogoutHintFromIdTokenClaims(e){const t=e.idTokenClaims;if(t){if(t.login_hint)return t.login_hint;this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request")}else this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");return null}async createAuthCodeClient(e){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientCreateAuthCodeClient,this.correlationId);const t=await q(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e);return new mp(t,this.performanceClient)}async getClientConfiguration(e){const{serverTelemetryManager:t,requestAuthority:r,requestAzureCloudOptions:o,requestExtraQueryParameters:i,account:s}=e;this.performanceClient.addQueueMeasurement(_.StandardInteractionClientGetClientConfiguration,this.correlationId);const a=await q(this.getDiscoveredAuthority.bind(this),_.StandardInteractionClientGetDiscoveredAuthority,this.logger,this.performanceClient,this.correlationId)({requestAuthority:r,requestAzureCloudOptions:o,requestExtraQueryParameters:i,account:s}),c=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:a,clientCapabilities:this.config.auth.clientCapabilities,redirectUri:this.config.auth.redirectUri},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:c.loggerCallback,piiLoggingEnabled:c.piiLoggingEnabled,logLevel:c.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:t,libraryInfo:{sku:Bt.MSAL_SKU,version:So,cpu:R.EMPTY_STRING,os:R.EMPTY_STRING},telemetry:this.config.telemetry}}async initializeAuthorizationRequest(e,t){this.performanceClient.addQueueMeasurement(_.StandardInteractionClientInitializeAuthorizationRequest,this.correlationId);const r=this.getRedirectUri(e.redirectUri),o={interactionType:t},i=nn.setRequestState(this.browserCrypto,e&&e.state||R.EMPTY_STRING,o),a={...await q(ql,_.InitializeBaseRequest,this.logger,this.performanceClient,this.correlationId)({...e,correlationId:this.correlationId},this.config,this.performanceClient,this.logger),redirectUri:r,state:i,nonce:e.nonce||In(),responseMode:this.config.auth.OIDCOptions.serverResponseType};if(e.loginHint||e.sid)return a;const c=e.account||this.browserStorage.getActiveAccount(this.correlationId);if(c&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${c.homeAccountId}`,this.correlationId),a.account=c),!a.loginHint&&!c){const l=this.browserStorage.getLegacyLoginHint();l&&(a.loginHint=l)}return a}}/*! @azure/msal-browser v3.30.0 2025-08-05 */const AI="ContentError",sm="user_switch";/*! @azure/msal-browser v3.30.0 2025-08-05 */const EI="USER_INTERACTION_REQUIRED",wI="USER_CANCEL",_I="NO_NETWORK",bI="PERSISTENT_ERROR",II="DISABLED",SI="ACCOUNT_UNAVAILABLE";/*! @azure/msal-browser v3.30.0 2025-08-05 */const RI=-2147186943,kI={[sm]:"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again."};class An extends Fe{constructor(e,t,r){super(e,t),Object.setPrototypeOf(this,An.prototype),this.name="NativeAuthError",this.ext=r}}function Zr(n){if(n.ext&&n.ext.status&&(n.ext.status===bI||n.ext.status===II)||n.ext&&n.ext.error&&n.ext.error===RI)return!0;switch(n.errorCode){case AI:return!0;default:return!1}}function Ic(n,e,t){if(t&&t.status)switch(t.status){case SI:return Cc(gp);case EI:return new cn(n,e);case wI:return Y(Br);case _I:return Y(Ts)}return new An(n,kI[n]||e,t)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class am extends No{async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentCacheClientAcquireToken,e.correlationId);const t=this.initializeServerTelemetryManager(He.acquireTokenSilent_silentFlow),r=await q(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:e.authority,requestAzureCloudOptions:e.azureCloudOptions,account:e.account}),o=new db(r,this.performanceClient);this.logger.verbose("Silent auth client created");try{const s=(await q(o.acquireCachedToken.bind(o),_.SilentFlowClientAcquireCachedToken,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),s}catch(i){throw i instanceof Oi&&i.errorCode===Nl&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),i}}logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(t==null?void 0:t.account)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class lo extends im{constructor(e,t,r,o,i,s,a,c,l,u,d,h){var C;super(e,t,r,o,i,s,c,l,h),this.apiId=a,this.accountId=u,this.nativeMessageHandler=l,this.nativeStorageManager=d,this.silentCacheClient=new am(e,this.nativeStorageManager,r,o,i,s,c,l,h),this.serverTelemetryManager=this.initializeServerTelemetryManager(this.apiId);const f=this.nativeMessageHandler.getExtensionId()===ro.PREFERRED_EXTENSION_ID?"chrome":(C=this.nativeMessageHandler.getExtensionId())!=null&&C.length?"unknown":void 0;this.skus=fi.makeExtraSkuString({libraryName:Bt.MSAL_SKU,libraryVersion:So,extensionName:f,extensionVersion:this.nativeMessageHandler.getExtensionVersion()})}addRequestSKUs(e){e.extraParameters={...e.extraParameters,[Q_]:this.skus}}async acquireToken(e){this.performanceClient.addQueueMeasurement(_.NativeInteractionClientAcquireToken,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");const t=this.performanceClient.startMeasurement(_.NativeInteractionClientAcquireToken,e.correlationId),r=bn();try{const o=await this.initializeNativeRequest(e);try{const l=await this.acquireTokensFromCache(this.accountId,o);return t.end({success:!0,isNativeBroker:!1,fromCache:!0}),l}catch{this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}const{...i}=o,s={method:Ir.GetToken,request:i},a=await this.nativeMessageHandler.sendMessage(s),c=this.validateNativeResponse(a);return await this.handleNativeResponse(c,o,r).then(l=>(t.end({success:!0,isNativeBroker:!0,requestId:l.requestId}),this.serverTelemetryManager.clearNativeBrokerErrorCode(),l)).catch(l=>{throw t.end({success:!1,errorCode:l.errorCode,subErrorCode:l.subError,isNativeBroker:!0}),l})}catch(o){throw o instanceof An&&this.serverTelemetryManager.setNativeBrokerErrorCode(o.errorCode),o}}createSilentCacheRequest(e,t){return{authority:e.authority,correlationId:this.correlationId,scopes:Ye.fromString(e.scope).asArray(),account:t,forceRefresh:!1}}async acquireTokensFromCache(e,t){if(!e)throw this.logger.warning("NativeInteractionClient:acquireTokensFromCache - No nativeAccountId provided"),H(hc);const r=this.browserStorage.getBaseAccountInfo({nativeAccountId:e},t.correlationId);if(!r)throw H(hc);try{const o=this.createSilentCacheRequest(t,r),i=await this.silentCacheClient.acquireToken(o),s={...r,idTokenClaims:i==null?void 0:i.idTokenClaims,idToken:i==null?void 0:i.idToken};return{...i,account:s}}catch(o){throw o}}async acquireTokenRedirect(e,t){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");const{...r}=e;delete r.onRedirectNavigate;const o=await this.initializeNativeRequest(r),i={method:Ir.GetToken,request:o};try{const c=await this.nativeMessageHandler.sendMessage(i);this.validateNativeResponse(c)}catch(c){if(c instanceof An&&(this.serverTelemetryManager.setNativeBrokerErrorCode(c.errorCode),Zr(c)))throw c}this.browserStorage.setTemporaryCache(ke.NATIVE_REQUEST,JSON.stringify(o),!0);const s={apiId:He.acquireTokenRedirect,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},a=this.config.auth.navigateToLoginRequestUrl?window.location.href:this.getRedirectUri(e.redirectUri);t.end({success:!0}),await this.navigationClient.navigateExternal(a,s)}async handleRedirectPromise(e,t){if(this.logger.trace("NativeInteractionClient - handleRedirectPromise called."),!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const r=this.browserStorage.getCachedNativeRequest();if(!r)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),e&&t&&(e==null||e.addFields({errorCode:"no_cached_request"},t)),null;const{prompt:o,...i}=r;o&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(ke.NATIVE_REQUEST));const s={method:Ir.GetToken,request:i},a=bn();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");const c=await this.nativeMessageHandler.sendMessage(s);this.validateNativeResponse(c);const l=this.handleNativeResponse(c,i,a);this.browserStorage.setInteractionInProgress(!1);const u=await l;return this.serverTelemetryManager.clearNativeBrokerErrorCode(),u}catch(c){throw this.browserStorage.setInteractionInProgress(!1),c}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,t,r){var u;this.logger.trace("NativeInteractionClient - handleNativeResponse called.");const o=qr(e.id_token,_n),i=this.createHomeAccountIdentifier(e,o),s=(u=this.browserStorage.getAccountInfoFilteredBy({nativeAccountId:t.accountId},this.correlationId))==null?void 0:u.homeAccountId;if(i!==s&&e.account.id!==t.accountId)throw Ic(sm);const a=await this.getDiscoveredAuthority({requestAuthority:t.authority}),c=Il(this.browserStorage,a,i,_n,this.correlationId,o,e.client_info,void 0,o.tid,void 0,e.account.id,this.logger),l=await this.generateAuthenticationResult(e,t,o,c,a.canonicalAuthority,r);return this.cacheAccount(c),this.cacheNativeTokens(e,t,i,o,e.access_token,l.tenantId,r),l}createHomeAccountIdentifier(e,t){return rt.generateHomeAccountId(e.client_info||R.EMPTY_STRING,Zt.Default,this.logger,this.browserCrypto,t)}generateScopes(e,t){return e.scope?Ye.fromString(e.scope):Ye.fromString(t.scope)}async generatePopAccessToken(e,t){if(t.tokenType===Ne.POP&&t.signPopToken){if(e.shr)return this.logger.trace("handleNativeServerResponse: SHR is enabled in native layer"),e.shr;const r=new Io(this.browserCrypto),o={resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,shrNonce:t.shrNonce};if(!t.keyId)throw H(ul);return r.signPopToken(e.access_token,t.keyId,o)}else return e.access_token}async generateAuthenticationResult(e,t,r,o,i,s){const a=this.addTelemetryFromNativeResponse(e),c=e.scope?Ye.fromString(e.scope):Ye.fromString(t.scope),l=e.account.properties||{},u=l.UID||r.oid||r.sub||R.EMPTY_STRING,d=l.TenantId||r.tid||R.EMPTY_STRING,h=vl(o.getAccountInfo(),void 0,r,e.id_token);h.nativeAccountId!==e.account.id&&(h.nativeAccountId=e.account.id);const f=await this.generatePopAccessToken(e,t),C=t.tokenType===Ne.POP?Ne.POP:Ne.BEARER;return{authority:i,uniqueId:u,tenantId:d,scopes:c.asArray(),account:h,idToken:e.id_token,idTokenClaims:r,accessToken:f,fromCache:a?this.isResponseFromCache(a):!1,expiresOn:new Date(Number(s+e.expires_in)*1e3),tokenType:C,correlationId:this.correlationId,state:e.state,fromNativeBroker:!0}}cacheAccount(e){this.browserStorage.setAccount(e,this.correlationId),this.browserStorage.removeAccountContext(e,this.correlationId).catch(t=>{this.logger.error(`Error occurred while removing account context from browser storage. ${t}`)})}cacheNativeTokens(e,t,r,o,i,s,a){const c=Ws(r,t.authority,e.id_token||"",t.clientId,o.tid||""),l=t.tokenType===Ne.POP?R.SHR_NONCE_VALIDITY:(typeof e.expires_in=="string"?parseInt(e.expires_in,10):e.expires_in)||0,u=a+l,d=this.generateScopes(e,t),h=Ys(r,t.authority,i,t.clientId,o.tid||s,d.printScopes(),u,0,_n,void 0,t.tokenType,void 0,t.keyId),f={idToken:c,accessToken:h};this.nativeStorageManager.saveCacheRecord(f,t.correlationId,t.storeInCache)}addTelemetryFromNativeResponse(e){const t=this.getMATSFromResponse(e);return t?(this.performanceClient.addFields({extensionId:this.nativeMessageHandler.getExtensionId(),extensionVersion:this.nativeMessageHandler.getExtensionVersion(),matsBrokerVersion:t.broker_version,matsAccountJoinOnStart:t.account_join_on_start,matsAccountJoinOnEnd:t.account_join_on_end,matsDeviceJoin:t.device_join,matsPromptBehavior:t.prompt_behavior,matsApiErrorCode:t.api_error_code,matsUiVisible:t.ui_visible,matsSilentCode:t.silent_code,matsSilentBiSubCode:t.silent_bi_sub_code,matsSilentMessage:t.silent_message,matsSilentStatus:t.silent_status,matsHttpStatus:t.http_status,matsHttpEventCount:t.http_event_count},this.correlationId),t):null}validateNativeResponse(e){if(e.hasOwnProperty("access_token")&&e.hasOwnProperty("id_token")&&e.hasOwnProperty("client_info")&&e.hasOwnProperty("account")&&e.hasOwnProperty("scope")&&e.hasOwnProperty("expires_in"))return e;throw bg(ol,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch{this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return typeof e.is_cached>"u"?(this.logger.verbose("NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false."),!1):!!e.is_cached}async initializeNativeRequest(e){this.logger.trace("NativeInteractionClient - initializeNativeRequest called");const t=e.authority||this.config.auth.authority;e.account&&await this.getDiscoveredAuthority({requestAuthority:t,requestAzureCloudOptions:e.azureCloudOptions,account:e.account});const r=new ve(t);r.validateAsUri();const{scopes:o,...i}=e,s=new Ye(o||[]);s.appendScopes(Po);const a=()=>{switch(this.apiId){case He.ssoSilent:case He.acquireTokenSilent_silentFlow:return this.logger.trace("initializeNativeRequest: silent request sets prompt to none"),at.NONE}if(!e.prompt){this.logger.trace("initializeNativeRequest: prompt was not provided");return}switch(e.prompt){case at.NONE:case at.CONSENT:case at.LOGIN:return this.logger.trace("initializeNativeRequest: prompt is compatible with native flow"),e.prompt;default:throw this.logger.trace(`initializeNativeRequest: prompt = ${e.prompt} is not compatible with native flow`),Y(jp)}},c={...i,accountId:this.accountId,clientId:this.config.auth.clientId,authority:r.urlString,scope:s.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:a(),correlationId:this.correlationId,tokenType:e.authenticationScheme,windowTitleSubstring:document.title,extraParameters:{...e.extraQueryParameters,...e.tokenQueryParameters},extendedExpiryToken:!1,keyId:e.popKid};if(c.signPopToken&&e.popKid)throw Y(Vp);if(this.handleExtraBrokerParams(c),c.extraParameters=c.extraParameters||{},c.extraParameters.telemetry=ro.MATS_TELEMETRY,e.authenticationScheme===Ne.POP){const l={resourceRequestUri:e.resourceRequestUri,resourceRequestMethod:e.resourceRequestMethod,shrClaims:e.shrClaims,shrNonce:e.shrNonce},u=new Io(this.browserCrypto);let d;if(c.keyId)d=this.browserCrypto.base64UrlEncode(JSON.stringify({kid:c.keyId})),c.signPopToken=!1;else{const h=await q(u.generateCnf.bind(u),_.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(l,this.logger);d=h.reqCnfString,c.keyId=h.kid,c.signPopToken=!0}c.reqCnf=d}return this.addRequestSKUs(c),c}handleExtraBrokerParams(e){var i;const t=e.extraParameters&&e.extraParameters.hasOwnProperty(wl)&&e.extraParameters.hasOwnProperty(yc)&&e.extraParameters.hasOwnProperty(Hr);if(!e.embeddedClientId&&!t)return;let r="";const o=e.redirectUri;e.embeddedClientId?(e.redirectUri=this.config.auth.redirectUri,r=e.embeddedClientId):e.extraParameters&&(e.redirectUri=e.extraParameters[yc],r=e.extraParameters[Hr]),e.extraParameters={child_client_id:r,child_redirect_uri:o},(i=this.performanceClient)==null||i.addFields({embeddedClientId:r,embeddedRedirectUri:o},e.correlationId)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class En{constructor(e,t,r,o){this.logger=e,this.handshakeTimeoutMs=t,this.extensionId=o,this.resolvers=new Map,this.handshakeResolvers=new Map,this.messageChannel=new MessageChannel,this.windowListener=this.onWindowMessage.bind(this),this.performanceClient=r,this.handshakeEvent=r.startMeasurement(_.NativeMessageHandlerHandshake)}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");const t={channel:ro.CHANNEL_ID,extensionId:this.extensionId,responseId:In(),body:e};return this.logger.trace("NativeMessageHandler - Sending request to browser extension"),this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(t)}`),this.messageChannel.port1.postMessage(t),new Promise((r,o)=>{this.resolvers.set(t.responseId,{resolve:r,reject:o})})}static async createProvider(e,t,r){e.trace("NativeMessageHandler - createProvider called.");try{const o=new En(e,t,r,ro.PREFERRED_EXTENSION_ID);return await o.sendHandshakeRequest(),o}catch{const i=new En(e,t,r);return await i.sendHandshakeRequest(),i}}async sendHandshakeRequest(){this.logger.trace("NativeMessageHandler - sendHandshakeRequest called."),window.addEventListener("message",this.windowListener,!1);const e={channel:ro.CHANNEL_ID,extensionId:this.extensionId,responseId:In(),body:{method:Ir.HandshakeRequest}};return this.handshakeEvent.add({extensionId:this.extensionId,extensionHandshakeTimeoutMs:this.handshakeTimeoutMs}),this.messageChannel.port1.onmessage=t=>{this.onChannelMessage(t)},window.postMessage(e,window.origin,[this.messageChannel.port2]),new Promise((t,r)=>{this.handshakeResolvers.set(e.responseId,{resolve:t,reject:r}),this.timeoutId=window.setTimeout(()=>{window.removeEventListener("message",this.windowListener,!1),this.messageChannel.port1.close(),this.messageChannel.port2.close(),this.handshakeEvent.end({extensionHandshakeTimedOut:!0,success:!1}),r(Y(Kp)),this.handshakeResolvers.delete(e.responseId)},this.handshakeTimeoutMs)})}onWindowMessage(e){if(this.logger.trace("NativeMessageHandler - onWindowMessage called"),e.source!==window)return;const t=e.data;if(!(!t.channel||t.channel!==ro.CHANNEL_ID)&&!(t.extensionId&&t.extensionId!==this.extensionId)&&t.body.method===Ir.HandshakeRequest){const r=this.handshakeResolvers.get(t.responseId);if(!r){this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${t.responseId}`);return}this.logger.verbose(t.extensionId?`Extension with id: ${t.extensionId} not installed`:"No extension installed"),clearTimeout(this.timeoutId),this.messageChannel.port1.close(),this.messageChannel.port2.close(),window.removeEventListener("message",this.windowListener,!1),this.handshakeEvent.end({success:!1,extensionInstalled:!1}),r.reject(Y(qp))}}onChannelMessage(e){this.logger.trace("NativeMessageHandler - onChannelMessage called.");const t=e.data,r=this.resolvers.get(t.responseId),o=this.handshakeResolvers.get(t.responseId);try{const i=t.body.method;if(i===Ir.Response){if(!r)return;const s=t.body.response;if(this.logger.trace("NativeMessageHandler - Received response from browser extension"),this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(s)}`),s.status!=="Success")r.reject(Ic(s.code,s.description,s.ext));else if(s.result)s.result.code&&s.result.description?r.reject(Ic(s.result.code,s.result.description,s.result.ext)):r.resolve(s.result);else throw bg(ol,"Event does not contain result.");this.resolvers.delete(t.responseId)}else if(i===Ir.HandshakeResponse){if(!o){this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${t.responseId}`);return}clearTimeout(this.timeoutId),window.removeEventListener("message",this.windowListener,!1),this.extensionId=t.extensionId,this.extensionVersion=t.body.version,this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`),this.handshakeEvent.end({extensionInstalled:!0,success:!0}),o.resolve(),this.handshakeResolvers.delete(t.responseId)}}catch(i){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${i}`),this.logger.errorPii(`Unable to parse ${e}`),r?r.reject(i):o&&o.reject(i)}}getExtensionId(){return this.extensionId}getExtensionVersion(){return this.extensionVersion}static isNativeAvailable(e,t,r,o){if(t.trace("isNativeAvailable called"),!e.system.allowNativeBroker)return t.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false"),!1;if(!r)return t.trace("isNativeAvailable: WAM extension provider is not initialized, returning false"),!1;if(o)switch(o){case Ne.BEARER:case Ne.POP:return t.trace("isNativeAvailable: authenticationScheme is supported, returning true"),!0;default:return t.trace("isNativeAvailable: authenticationScheme is not supported, returning false"),!1}return!0}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class $l{constructor(e,t,r,o,i){this.authModule=e,this.browserStorage=t,this.authCodeRequest=r,this.logger=o,this.performanceClient=i}async handleCodeResponse(e,t){this.performanceClient.addQueueMeasurement(_.HandleCodeResponse,t.correlationId);let r;try{r=this.authModule.handleFragmentResponse(e,t.state)}catch(o){throw o instanceof fr&&o.subError===Br?Y(Br):o}return q(this.handleCodeResponseFromServer.bind(this),_.HandleCodeResponseFromServer,this.logger,this.performanceClient,t.correlationId)(r,t)}async handleCodeResponseFromServer(e,t,r=!0){if(this.performanceClient.addQueueMeasurement(_.HandleCodeResponseFromServer,t.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await q(this.authModule.updateAuthority.bind(this.authModule),_.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,t.correlationId)(e.cloud_instance_host_name,t.correlationId),r&&(e.nonce=t.nonce||void 0),e.state=t.state,e.client_info)this.authCodeRequest.clientInfo=e.client_info;else{const i=this.createCcsCredentials(t);i&&(this.authCodeRequest.ccsCredential=i)}return await q(this.authModule.acquireToken.bind(this.authModule),_.AuthClientAcquireToken,this.logger,this.performanceClient,t.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:qt.HOME_ACCOUNT_ID}:e.loginHint?{credential:e.loginHint,type:qt.UPN}:null}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function cm(n,e,t){const r=ys(n);if(!r)throw sp(n)?(t.error(`A ${e} is present in the iframe but it does not contain known properties. It's likely that the ${e} has been replaced by code running on the redirectUri page.`),t.errorPii(`The ${e} detected is: ${n}`),Y(Ap)):(t.error(`The request has returned to the redirectUri but a ${e} is not present. It's likely that the ${e} has been removed or the page has been redirected by code running on the redirectUri page.`),Y(Tp));return r}function OI(n,e,t){if(!n.state)throw Y(Ol);const r=om(e,n.state);if(!r)throw Y(Ep);if(r.interactionType!==t)throw Y(wp)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class PI extends No{constructor(e,t,r,o,i,s,a,c,l,u){super(e,t,r,o,i,s,a,l,u),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=c}acquireToken(e){try{const r={popupName:this.generatePopupName(e.scopes||Po,e.authority||this.config.auth.authority),popupWindowAttributes:e.popupWindowAttributes||{},popupWindowParent:e.popupWindowParent??window};return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true, acquiring token"),this.acquireTokenPopupAsync(e,r)):(this.logger.verbose("asyncPopup set to false, opening popup before acquiring token"),r.popup=this.openSizedPopup("about:blank",r),this.acquireTokenPopupAsync(e,r))}catch(t){return Promise.reject(t)}}logout(e){try{this.logger.verbose("logoutPopup called");const t=this.initializeLogoutRequest(e),r={popupName:this.generateLogoutPopupName(t),popupWindowAttributes:(e==null?void 0:e.popupWindowAttributes)||{},popupWindowParent:(e==null?void 0:e.popupWindowParent)??window},o=e&&e.authority,i=e&&e.mainWindowRedirectUri;return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true"),this.logoutPopupAsync(t,r,o,i)):(this.logger.verbose("asyncPopup set to false, opening popup"),r.popup=this.openSizedPopup("about:blank",r),this.logoutPopupAsync(t,r,o,i))}catch(t){return Promise.reject(t)}}async acquireTokenPopupAsync(e,t){var i;this.logger.verbose("acquireTokenPopupAsync called");const r=this.initializeServerTelemetryManager(He.acquireTokenPopup),o=await q(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,ee.Popup);rm(o.authority);try{const s=await q(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(o),a=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:o.authority,requestAzureCloudOptions:o.azureCloudOptions,requestExtraQueryParameters:o.extraQueryParameters,account:o.account}),c=En.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);let l;c&&(l=this.performanceClient.startMeasurement(_.FetchAccountIdWithNativeBroker,e.correlationId));const u=await a.getAuthCodeUrl({...o,nativeBroker:c}),d=new $l(a,this.browserStorage,s,this.logger,this.performanceClient),h=this.initiateAuthRequest(u,t);this.eventHandler.emitEvent(oe.POPUP_OPENED,ee.Popup,{popupWindow:h},null);const f=await this.monitorPopupForHash(h,t.popupWindowParent),C=$r(cm,_.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(f,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(Tn.removeThrottle(this.browserStorage,this.config.auth.clientId,s),C.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),l&&l.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw Y(ki);const v=new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,C.accountId,this.nativeStorage,o.correlationId),{userRequestState:E}=nn.parseRequestState(this.browserCrypto,o.state);return await v.acquireToken({...o,state:E,prompt:void 0})}return await d.handleCodeResponse(C,o)}catch(s){throw(i=t.popup)==null||i.close(),s instanceof Fe&&(s.setCorrelationId(this.correlationId),r.cacheFailedRequest(s)),s}}async logoutPopupAsync(e,t,r,o){var s,a,c,l;this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(oe.LOGOUT_START,ee.Popup,e);const i=this.initializeServerTelemetryManager(He.logoutPopup);try{await this.clearCacheOnLogout(e.account);const u=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:i,requestAuthority:r,account:e.account||void 0});try{u.authority.endSessionEndpoint}catch{if((s=e.account)!=null&&s.homeAccountId&&e.postLogoutRedirectUri&&u.authority.protocolMode===qn.OIDC){if(this.browserStorage.removeAccount((a=e.account)==null?void 0:a.homeAccountId,this.correlationId),this.eventHandler.emitEvent(oe.LOGOUT_SUCCESS,ee.Popup,e),o){const f={apiId:He.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},C=ve.getAbsoluteUrl(o,Bn());await this.navigationClient.navigateInternal(C,f)}(c=t.popup)==null||c.close();return}}const d=u.getLogoutUri(e);this.eventHandler.emitEvent(oe.LOGOUT_SUCCESS,ee.Popup,e);const h=this.openPopup(d,t);if(this.eventHandler.emitEvent(oe.POPUP_OPENED,ee.Popup,{popupWindow:h},null),await this.monitorPopupForHash(h,t.popupWindowParent).catch(()=>{}),o){const f={apiId:He.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},C=ve.getAbsoluteUrl(o,Bn());this.logger.verbose("Redirecting main window to url specified in the request"),this.logger.verbosePii(`Redirecting main window to: ${C}`),await this.navigationClient.navigateInternal(C,f)}else this.logger.verbose("No main window navigation requested")}catch(u){throw(l=t.popup)==null||l.close(),u instanceof Fe&&(u.setCorrelationId(this.correlationId),i.cacheFailedRequest(u)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(oe.LOGOUT_FAILURE,ee.Popup,null,u),this.eventHandler.emitEvent(oe.LOGOUT_END,ee.Popup),u}this.eventHandler.emitEvent(oe.LOGOUT_END,ee.Popup)}initiateAuthRequest(e,t){if(e)return this.logger.infoPii(`Navigate to: ${e}`),this.openPopup(e,t);throw this.logger.error("Navigate url is empty"),Y(ta)}monitorPopupForHash(e,t){return new Promise((r,o)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");const i=setInterval(()=>{if(e.closed){this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(i),o(Y(Br));return}let s="";try{s=e.location.href}catch{}if(!s||s==="about:blank")return;clearInterval(i);let a="";const c=this.config.auth.OIDCOptions.serverResponseType;e&&(c===Ri.QUERY?a=e.location.search:a=e.location.hash),this.logger.verbose("PopupHandler.monitorPopupForHash - popup window is on same origin as caller"),r(a)},this.config.system.pollIntervalMilliseconds)}).finally(()=>{this.cleanPopup(e,t)})}openPopup(e,t){try{let r;if(t.popup?(r=t.popup,this.logger.verbosePii(`Navigating popup window to: ${e}`),r.location.assign(e)):typeof t.popup>"u"&&(this.logger.verbosePii(`Opening popup window to: ${e}`),r=this.openSizedPopup(e,t)),!r)throw Y(Ip);return r.focus&&r.focus(),this.currentWindow=r,t.popupWindowParent.addEventListener("beforeunload",this.unloadWindow),r}catch(r){throw this.logger.error("error opening popup "+r.message),this.browserStorage.setInteractionInProgress(!1),Y(bp)}}openSizedPopup(e,{popupName:t,popupWindowAttributes:r,popupWindowParent:o}){var f,C,p,v;const i=o.screenLeft?o.screenLeft:o.screenX,s=o.screenTop?o.screenTop:o.screenY,a=o.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,c=o.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;let l=(f=r.popupSize)==null?void 0:f.width,u=(C=r.popupSize)==null?void 0:C.height,d=(p=r.popupPosition)==null?void 0:p.top,h=(v=r.popupPosition)==null?void 0:v.left;return(!l||l<0||l>a)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),l=Bt.POPUP_WIDTH),(!u||u<0||u>c)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),u=Bt.POPUP_HEIGHT),(!d||d<0||d>c)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),d=Math.max(0,c/2-Bt.POPUP_HEIGHT/2+s)),(!h||h<0||h>a)&&(this.logger.verbose("Default popup window left position used. Window left not configured or invalid."),h=Math.max(0,a/2-Bt.POPUP_WIDTH/2+i)),o.open(e,t,`width=${l}, height=${u}, top=${d}, left=${h}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(ee.Popup),this.currentWindow&&this.currentWindow.close(),e.preventDefault()}cleanPopup(e,t){e.close(),t.removeEventListener("beforeunload",this.unloadWindow),this.browserStorage.setInteractionInProgress(!1)}generatePopupName(e,t){return`${Bt.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${e.join("-")}.${t}.${this.correlationId}`}generateLogoutPopupName(e){const t=e.account&&e.account.homeAccountId;return`${Bt.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${t}.${this.correlationId}`}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class th{constructor(e,t,r,o,i){this.authModule=e,this.browserStorage=t,this.authCodeRequest=r,this.logger=o,this.performanceClient=i}async initiateAuthRequest(e,t){if(this.logger.verbose("RedirectHandler.initiateAuthRequest called"),e){t.redirectStartPage&&(this.logger.verbose("RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page"),this.browserStorage.setTemporaryCache(ke.ORIGIN_URI,t.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(ke.CORRELATION_ID,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);const r={apiId:He.acquireTokenRedirect,timeout:t.redirectTimeout,noHistory:!1};if(typeof t.onRedirectNavigate=="function")if(this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback"),t.onRedirectNavigate(e)!==!1){this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating"),await t.navigationClient.navigateExternal(e,r);return}else{this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation");return}else{this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url"),await t.navigationClient.navigateExternal(e,r);return}}else throw this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty"),Y(ta)}async handleCodeResponse(e,t){this.logger.verbose("RedirectHandler.handleCodeResponse called"),this.browserStorage.setInteractionInProgress(!1);const r=this.browserStorage.generateStateKey(t),o=this.browserStorage.getTemporaryCache(r);if(!o)throw H(fs,"Cached State");let i;try{i=this.authModule.handleFragmentResponse(e,o)}catch(l){throw l instanceof fr&&l.subError===Br?Y(Br):l}const s=this.browserStorage.generateNonceKey(o),a=this.browserStorage.getTemporaryCache(s);if(this.authCodeRequest.code=i.code,i.cloud_instance_host_name&&await q(this.authModule.updateAuthority.bind(this.authModule),_.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(i.cloud_instance_host_name,this.authCodeRequest.correlationId),i.nonce=a||void 0,i.state=o,i.client_info)this.authCodeRequest.clientInfo=i.client_info;else{const l=this.checkCcsCredentials();l&&(this.authCodeRequest.ccsCredential=l)}const c=await this.authModule.acquireToken(this.authCodeRequest,i);return this.browserStorage.cleanRequestByState(t),c}checkCcsCredentials(){const e=this.browserStorage.getTemporaryCache(ke.CCS_CREDENTIAL,!0);if(e)try{return JSON.parse(e)}catch{this.authModule.logger.error("Cache credential could not be parsed"),this.authModule.logger.errorPii(`Cache credential could not be parsed: ${e}`)}return null}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function NI(){if(typeof window>"u"||typeof window.performance>"u"||typeof window.performance.getEntriesByType!="function")return;const n=window.performance.getEntriesByType("navigation"),e=n.length?n[0]:void 0;return e==null?void 0:e.type}class MI extends No{constructor(e,t,r,o,i,s,a,c,l,u){super(e,t,r,o,i,s,a,l,u),this.nativeStorage=c}async acquireToken(e){const t=await q(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,ee.Redirect);this.browserStorage.updateCacheEntries(t.state,t.nonce,t.authority,t.loginHint||"",t.account||null);const r=this.initializeServerTelemetryManager(He.acquireTokenRedirect),o=i=>{i.persisted&&(this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache."),this.browserStorage.cleanRequestByState(t.state),this.eventHandler.emitEvent(oe.RESTORE_FROM_BFCACHE,ee.Redirect))};try{const i=await q(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(t),s=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),a=new th(s,this.browserStorage,i,this.logger,this.performanceClient),c=await s.getAuthCodeUrl({...t,nativeBroker:En.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),l=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${l}`),window.addEventListener("pageshow",o),await a.initiateAuthRequest(c,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:l,onRedirectNavigate:e.onRedirectNavigate||this.config.auth.onRedirectNavigate})}catch(i){throw i instanceof Fe&&(i.setCorrelationId(this.correlationId),r.cacheFailedRequest(i)),window.removeEventListener("pageshow",o),this.browserStorage.cleanRequestByState(t.state),i}}async handleRedirectPromise(e="",t){const r=this.initializeServerTelemetryManager(He.handleRedirectPromise);try{if(!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const[o,i]=this.getRedirectResponse(e||"");if(!o)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(ee.Redirect),NI()!=="back_forward"?t.event.errorCode="no_server_response":this.logger.verbose("Back navigation event detected. Muting no_server_response error"),null;const s=this.browserStorage.getTemporaryCache(ke.ORIGIN_URI,!0)||R.EMPTY_STRING,a=ve.removeHashFromUrl(s),c=ve.removeHashFromUrl(window.location.href);if(a===c&&this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("Current page is loginRequestUrl, handling response"),s.indexOf("#")>-1&&Bb(s),await this.handleResponse(o,r);if(this.config.auth.navigateToLoginRequestUrl){if(!Fl()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(ke.URL_HASH,i,!0);const l={apiId:He.handleRedirectPromise,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0};let u=!0;if(!s||s==="null"){const d=qb();this.browserStorage.setTemporaryCache(ke.ORIGIN_URI,d,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),u=await this.navigationClient.navigateInternal(d,l)}else this.logger.verbose(`Navigating to loginRequestUrl: ${s}`),u=await this.navigationClient.navigateInternal(s,l);if(!u)return await this.handleResponse(o,r)}}else return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(o,r);return null}catch(o){throw o instanceof Fe&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),this.browserStorage.cleanRequestByInteractionType(ee.Redirect),o}}getRedirectResponse(e){this.logger.verbose("getRedirectResponseHash called");let t=e;t||(this.config.auth.OIDCOptions.serverResponseType===Ri.QUERY?t=window.location.search:t=window.location.hash);let r=ys(t);if(r){try{OI(r,this.browserCrypto,ee.Redirect)}catch(i){return i instanceof Fe&&this.logger.error(`Interaction type validation failed due to ${i.errorCode}: ${i.errorMessage}`),[null,""]}return Fb(window),this.logger.verbose("Hash contains known properties, returning response hash"),[r,t]}const o=this.browserStorage.getTemporaryCache(ke.URL_HASH,!0);return this.browserStorage.removeItem(this.browserStorage.generateCacheKey(ke.URL_HASH)),o&&(r=ys(o),r)?(this.logger.verbose("Hash does not contain known properties, returning cached hash"),[r,o]):[null,""]}async handleResponse(e,t){const r=e.state;if(!r)throw Y(Ol);const o=this.browserStorage.getCachedRequest(r);if(this.logger.verbose("handleResponse called, retrieved cached request"),e.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw Y(ki);const c=new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,o.correlationId),{userRequestState:l}=nn.parseRequestState(this.browserCrypto,r);return c.acquireToken({...o,state:l,prompt:void 0}).finally(()=>{this.browserStorage.cleanRequestByState(r)})}const i=this.browserStorage.getCachedAuthority(r);if(!i)throw Y(Pl);const s=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:i});return Tn.removeThrottle(this.browserStorage,this.config.auth.clientId,o),new th(s,this.browserStorage,o,this.logger,this.performanceClient).handleCodeResponse(e,r)}async logout(e){var o,i;this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e),r=this.initializeServerTelemetryManager(He.logout);try{this.eventHandler.emitEvent(oe.LOGOUT_START,ee.Redirect,e),await this.clearCacheOnLogout(t.account);const s={apiId:He.logout,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},a=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:e&&e.authority,requestExtraQueryParameters:e==null?void 0:e.extraQueryParameters,account:e&&e.account||void 0});if(a.authority.protocolMode===qn.OIDC)try{a.authority.endSessionEndpoint}catch{if((o=t.account)!=null&&o.homeAccountId){this.browserStorage.removeAccount((i=t.account)==null?void 0:i.homeAccountId,this.correlationId),this.eventHandler.emitEvent(oe.LOGOUT_SUCCESS,ee.Redirect,t);return}}const c=a.getLogoutUri(t);if(this.eventHandler.emitEvent(oe.LOGOUT_SUCCESS,ee.Redirect,t),e&&typeof e.onRedirectNavigate=="function")if(e.onRedirectNavigate(c)!==!1){this.logger.verbose("Logout onRedirectNavigate did not return false, navigating"),this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(c,s);return}else this.browserStorage.setInteractionInProgress(!1),this.logger.verbose("Logout onRedirectNavigate returned false, stopping navigation");else{this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(c,s);return}}catch(s){throw s instanceof Fe&&(s.setCorrelationId(this.correlationId),r.cacheFailedRequest(s)),this.eventHandler.emitEvent(oe.LOGOUT_FAILURE,ee.Redirect,null,s),this.eventHandler.emitEvent(oe.LOGOUT_END,ee.Redirect),s}this.eventHandler.emitEvent(oe.LOGOUT_END,ee.Redirect)}getRedirectStartPage(e){const t=e||window.location.href;return ve.getAbsoluteUrl(t,Bn())}}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function xI(n,e,t,r,o){if(e.addQueueMeasurement(_.SilentHandlerInitiateAuthRequest,r),!n)throw t.info("Navigate url is empty"),Y(ta);return o?q(LI,_.SilentHandlerLoadFrame,t,e,r)(n,o,e,r):$r(UI,_.SilentHandlerLoadFrameSync,t,e,r)(n)}async function DI(n,e,t,r,o,i,s){return r.addQueueMeasurement(_.SilentHandlerMonitorIframeForHash,i),new Promise((a,c)=>{e{window.clearInterval(u),c(Y(Sp))},e),u=window.setInterval(()=>{let d="";const h=n.contentWindow;try{d=h?h.location.href:""}catch{}if(!d||d==="about:blank")return;let f="";h&&(s===Ri.QUERY?f=h.location.search:f=h.location.hash),window.clearTimeout(l),window.clearInterval(u),a(f)},t)}).finally(()=>{$r(HI,_.RemoveHiddenIframe,o,r,i)(n)})}function LI(n,e,t,r){return t.addQueueMeasurement(_.SilentHandlerLoadFrame,r),new Promise((o,i)=>{const s=lm();window.setTimeout(()=>{if(!s){i("Unable to load iframe");return}s.src=n,o(s)},e)})}function UI(n){const e=lm();return e.src=n,e}function lm(){const n=document.createElement("iframe");return n.className="msalSilentIframe",n.style.visibility="hidden",n.style.position="absolute",n.style.width=n.style.height="0",n.style.border="0",n.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),document.body.appendChild(n),n}function HI(n){document.body===n.parentNode&&document.body.removeChild(n)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class FI extends No{constructor(e,t,r,o,i,s,a,c,l,u,d){super(e,t,r,o,i,s,c,u,d),this.apiId=a,this.nativeStorage=l}async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentIframeClientAcquireToken,e.correlationId),!e.loginHint&&!e.sid&&(!e.account||!e.account.username)&&this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");const t={...e};t.prompt?t.prompt!==at.NONE&&t.prompt!==at.NO_SESSION&&(this.logger.warning(`SilentIframeClient. Replacing invalid prompt ${t.prompt} with ${at.NONE}`),t.prompt=at.NONE):t.prompt=at.NONE;const r=await q(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(t,ee.Silent);rm(r.authority);const o=this.initializeServerTelemetryManager(this.apiId);let i;try{return i=await q(this.createAuthCodeClient.bind(this),_.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:o,requestAuthority:r.authority,requestAzureCloudOptions:r.azureCloudOptions,requestExtraQueryParameters:r.extraQueryParameters,account:r.account}),await q(this.silentTokenHelper.bind(this),_.SilentIframeClientTokenHelper,this.logger,this.performanceClient,e.correlationId)(i,r)}catch(s){if(s instanceof Fe&&(s.setCorrelationId(this.correlationId),o.cacheFailedRequest(s)),!i||!(s instanceof Fe)||s.errorCode!==Bt.INVALID_GRANT_ERROR)throw s;this.performanceClient.addFields({retryError:s.errorCode},this.correlationId);const a=await q(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(t,ee.Silent);return await q(this.silentTokenHelper.bind(this),_.SilentIframeClientTokenHelper,this.logger,this.performanceClient,this.correlationId)(i,a)}}logout(){return Promise.reject(Y(na))}async silentTokenHelper(e,t){const r=t.correlationId;this.performanceClient.addQueueMeasurement(_.SilentIframeClientTokenHelper,r);const o=await q(this.initializeAuthorizationCodeRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,r)(t),i=await q(e.getAuthCodeUrl.bind(e),_.GetAuthCodeUrl,this.logger,this.performanceClient,r)({...t,nativeBroker:En.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,t.authenticationScheme)}),s=new $l(e,this.browserStorage,o,this.logger,this.performanceClient),a=await q(xI,_.SilentHandlerInitiateAuthRequest,this.logger,this.performanceClient,r)(i,this.performanceClient,this.logger,r,this.config.system.navigateFrameWait),c=this.config.auth.OIDCOptions.serverResponseType,l=await q(DI,_.SilentHandlerMonitorIframeForHash,this.logger,this.performanceClient,r)(a,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,r,c),u=$r(cm,_.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(l,c,this.logger);if(u.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw Y(ki);const d=new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,u.accountId,this.browserStorage,r),{userRequestState:h}=nn.parseRequestState(this.browserCrypto,t.state);return q(d.acquireToken.bind(d),_.NativeInteractionClientAcquireToken,this.logger,this.performanceClient,r)({...t,state:h,prompt:t.prompt||at.NONE})}return q(s.handleCodeResponse.bind(s),_.HandleCodeResponse,this.logger,this.performanceClient,r)(u,t)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class BI extends No{async acquireToken(e){this.performanceClient.addQueueMeasurement(_.SilentRefreshClientAcquireToken,e.correlationId);const t=await q(ql,_.InitializeBaseRequest,this.logger,this.performanceClient,e.correlationId)(e,this.config,this.performanceClient,this.logger),r={...e,...t};e.redirectUri&&(r.redirectUri=this.getRedirectUri(e.redirectUri));const o=this.initializeServerTelemetryManager(He.acquireTokenSilent_silentFlow),i=await this.createRefreshTokenClient({serverTelemetryManager:o,authorityUrl:r.authority,azureCloudOptions:r.azureCloudOptions,account:r.account});return q(i.acquireTokenByRefreshToken.bind(i),_.RefreshTokenClientAcquireTokenByRefreshToken,this.logger,this.performanceClient,e.correlationId)(r).catch(s=>{throw s.setCorrelationId(this.correlationId),o.cacheFailedRequest(s),s})}logout(){return Promise.reject(Y(na))}async createRefreshTokenClient(e){const t=await q(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:e.serverTelemetryManager,requestAuthority:e.authorityUrl,requestAzureCloudOptions:e.azureCloudOptions,requestExtraQueryParameters:e.extraQueryParameters,account:e.account});return new vc(t,this.performanceClient)}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class KI{constructor(e,t,r,o){this.isBrowserEnvironment=typeof window<"u",this.config=e,this.storage=t,this.logger=r,this.cryptoObj=o}loadExternalTokens(e,t,r){if(!this.isBrowserEnvironment)throw Y(ra);const o=e.correlationId||In(),i=t.id_token?qr(t.id_token,_n):void 0,s={protocolMode:this.config.auth.protocolMode,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},a=e.authority?new pt(pt.generateAuthority(e.authority,e.azureCloudOptions),this.config.system.networkClient,this.storage,s,this.logger,e.correlationId||In()):void 0,c=this.loadAccount(e,r.clientInfo||t.client_info||"",o,i,a),l=this.loadIdToken(t,c.homeAccountId,c.environment,c.realm,o),u=this.loadAccessToken(e,t,c.homeAccountId,c.environment,c.realm,r,o),d=this.loadRefreshToken(t,c.homeAccountId,c.environment,o);return this.generateAuthenticationResult(e,{account:c,idToken:l,accessToken:u,refreshToken:d},i,a)}loadAccount(e,t,r,o,i){if(this.logger.verbose("TokenCache - loading account"),e.account){const l=rt.createFromAccountInfo(e.account);return this.storage.setAccount(l,r),l}else if(!i||!t&&!o)throw this.logger.error("TokenCache - if an account is not provided on the request, authority and either clientInfo or idToken must be provided instead."),Y(Lp);const s=rt.generateHomeAccountId(t,i.authorityType,this.logger,this.cryptoObj,o),a=o==null?void 0:o.tid,c=Il(this.storage,i,s,_n,r,o,t,i.hostnameAndPort,a,void 0,void 0,this.logger);return this.storage.setAccount(c,r),c}loadIdToken(e,t,r,o,i){if(!e.id_token)return this.logger.verbose("TokenCache - no id token found in response"),null;this.logger.verbose("TokenCache - loading id token");const s=Ws(t,r,e.id_token,this.config.auth.clientId,o);return this.storage.setIdTokenCredential(s,i),s}loadAccessToken(e,t,r,o,i,s,a){if(t.access_token)if(t.expires_in){if(!t.scope&&(!e.scopes||!e.scopes.length))return this.logger.error("TokenCache - scopes not specified in the request or response. Cannot add token to the cache."),null}else return this.logger.error("TokenCache - no expiration set on the access token. Cannot add it to the cache."),null;else return this.logger.verbose("TokenCache - no access token found in response"),null;this.logger.verbose("TokenCache - loading access token");const c=t.scope?Ye.fromString(t.scope):new Ye(e.scopes),l=s.expiresOn||t.expires_in+new Date().getTime()/1e3,u=s.extendedExpiresOn||(t.ext_expires_in||t.expires_in)+new Date().getTime()/1e3,d=Ys(r,o,t.access_token,this.config.auth.clientId,i,c.printScopes(),l,u,_n);return this.storage.setAccessTokenCredential(d,a),d}loadRefreshToken(e,t,r,o){if(!e.refresh_token)return this.logger.verbose("TokenCache - no refresh token found in response"),null;this.logger.verbose("TokenCache - loading refresh token");const i=jg(t,r,e.refresh_token,this.config.auth.clientId,e.foci,void 0,e.refresh_token_expires_in);return this.storage.setRefreshTokenCredential(i,o),i}generateAuthenticationResult(e,t,r,o){var u,d,h;let i="",s=[],a=null,c;t!=null&&t.accessToken&&(i=t.accessToken.secret,s=Ye.fromString(t.accessToken.target).asArray(),a=new Date(Number(t.accessToken.expiresOn)*1e3),c=new Date(Number(t.accessToken.extendedExpiresOn)*1e3));const l=t.account;return{authority:o?o.canonicalAuthority:"",uniqueId:t.account.localAccountId,tenantId:t.account.realm,scopes:s,account:l.getAccountInfo(),idToken:((u=t.idToken)==null?void 0:u.secret)||"",idTokenClaims:r||{},accessToken:i,fromCache:!0,expiresOn:a,correlationId:e.correlationId||"",requestId:"",extExpiresOn:c,familyId:((d=t.refreshToken)==null?void 0:d.familyId)||"",tokenType:((h=t==null?void 0:t.accessToken)==null?void 0:h.tokenType)||"",state:e.state||"",cloudGraphHostName:l.cloudGraphHostName||"",msGraphHost:l.msGraphHost||"",fromNativeBroker:!1}}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class qI extends mp{constructor(e){super(e),this.includeRedirectUri=!1}}/*! @azure/msal-browser v3.30.0 2025-08-05 */class $I extends No{constructor(e,t,r,o,i,s,a,c,l,u){super(e,t,r,o,i,s,c,l,u),this.apiId=a}async acquireToken(e){if(!e.code)throw Y(Up);const t=await q(this.initializeAuthorizationRequest.bind(this),_.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(e,ee.Silent),r=this.initializeServerTelemetryManager(this.apiId);try{const o={...t,code:e.code},i=await q(this.getClientConfiguration.bind(this),_.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:r,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),s=new qI(i);this.logger.verbose("Auth code client created");const a=new $l(s,this.browserStorage,o,this.logger,this.performanceClient);return await q(a.handleCodeResponseFromServer.bind(a),_.HandleCodeResponseFromServer,this.logger,this.performanceClient,e.correlationId)({code:e.code,msgraph_host:e.msGraphHost,cloud_graph_host_name:e.cloudGraphHostName,cloud_instance_host_name:e.cloudInstanceHostName},t,!1)}catch(o){throw o instanceof Fe&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),o}}logout(){return Promise.reject(Y(na))}}/*! @azure/msal-browser v3.30.0 2025-08-05 */function dn(n){const e=n==null?void 0:n.idTokenClaims;if(e!=null&&e.tfp||e!=null&&e.acr)return"B2C";if(e!=null&&e.tid){if((e==null?void 0:e.tid)==="9188040d-6c67-4c5b-b112-36a304b66dad")return"MSA"}else return;return"AAD"}function Vi(n,e){try{Bl(n)}catch(t){throw e.end({success:!1},t),t}}class ia{constructor(e){this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.isBrowserEnvironment(),this.config=e.getConfig(),this.initialized=!1,this.logger=this.operatingContext.getLogger(),this.networkClient=this.config.system.networkClient,this.navigationClient=this.config.system.navigationClient,this.redirectResponse=new Map,this.hybridAuthCodeResponses=new Map,this.performanceClient=this.config.telemetry.client,this.browserCrypto=this.isBrowserEnvironment?new Ro(this.logger,this.performanceClient):gs,this.eventHandler=new pI(this.logger),this.browserStorage=this.isBrowserEnvironment?new bc(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,tb(this.config.auth),this.performanceClient):aI(this.config.auth.clientId,this.logger);const t={cacheLocation:Pt.MemoryStorage,temporaryCacheLocation:Pt.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};this.nativeInternalStorage=new bc(this.config.auth.clientId,t,this.browserCrypto,this.logger,void 0,this.performanceClient),this.tokenCache=new KI(this.config,this.browserStorage,this.logger,this.browserCrypto),this.activeSilentTokenRequests=new Map,this.trackPageVisibility=this.trackPageVisibility.bind(this),this.trackPageVisibilityWithMeasurement=this.trackPageVisibilityWithMeasurement.bind(this),this.listeningToStorageEvents=!1,this.handleAccountCacheChange=this.handleAccountCacheChange.bind(this)}static async createController(e,t){const r=new ia(e);return await r.initialize(t),r}trackPageVisibility(e){e&&(this.logger.info("Perf: Visibility change detected"),this.performanceClient.incrementFields({visibilityChangeCount:1},e))}async initialize(e){if(this.logger.trace("initialize called"),this.initialized){this.logger.info("initialize has already been called, exiting early.");return}if(!this.isBrowserEnvironment){this.logger.info("in non-browser environment, exiting early."),this.initialized=!0,this.eventHandler.emitEvent(oe.INITIALIZE_END);return}const t=(e==null?void 0:e.correlationId)||this.getRequestCorrelationId(),r=this.config.system.allowNativeBroker,o=this.performanceClient.startMeasurement(_.InitializeClientApplication,t);if(this.eventHandler.emitEvent(oe.INITIALIZE_START),r)try{this.nativeExtensionProvider=await En.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(i){this.logger.verbose(i)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await q(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),_.ClearTokensAndKeysWithClaims,this.logger,this.performanceClient,t)(this.performanceClient,t)),this.initialized=!0,this.eventHandler.emitEvent(oe.INITIALIZE_END),o.end({allowNativeBroker:r,success:!0})}async handleRedirectPromise(e){if(this.logger.verbose("handleRedirectPromise called"),nm(this.initialized),this.isBrowserEnvironment){const t=e||"";let r=this.redirectResponse.get(t);return typeof r>"u"?(r=this.handleRedirectPromiseInternal(e),this.redirectResponse.set(t,r),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise")):this.logger.verbose("handleRedirectPromise has been called previously, returning the result from the first call"),r}return this.logger.verbose("handleRedirectPromise returns null, not browser environment"),null}async handleRedirectPromiseInternal(e){const t=this.getAllAccounts(),r=this.browserStorage.getCachedNativeRequest(),o=r&&En.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e,i=o?r==null?void 0:r.correlationId:this.browserStorage.getTemporaryCache(ke.CORRELATION_ID,!0)||"",s=this.performanceClient.startMeasurement(_.AcquireTokenRedirect,i);this.eventHandler.emitEvent(oe.HANDLE_REDIRECT_START,ee.Redirect);let a;if(o&&this.nativeExtensionProvider){this.logger.trace("handleRedirectPromise - acquiring token from native platform");const c=new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.handleRedirectPromise,this.performanceClient,this.nativeExtensionProvider,r.accountId,this.nativeInternalStorage,r.correlationId);a=q(c.handleRedirectPromise.bind(c),_.HandleNativeRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(this.performanceClient,s.event.correlationId)}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");const c=this.createRedirectClient(i);a=q(c.handleRedirectPromise.bind(c),_.HandleRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(e,s)}return a.then(c=>(c?(t.length{const l=c;throw t.length>0?this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_FAILURE,ee.Redirect,null,l):this.eventHandler.emitEvent(oe.LOGIN_FAILURE,ee.Redirect,null,l),this.eventHandler.emitEvent(oe.HANDLE_REDIRECT_END,ee.Redirect),s.end({success:!1},l),c})}async acquireTokenRedirect(e){const t=this.getRequestCorrelationId(e);this.logger.verbose("acquireTokenRedirect called",t);const r=this.performanceClient.startMeasurement(_.AcquireTokenPreRedirect,t);r.add({accountType:dn(e.account),scenarioId:e.scenarioId});const o=e.onRedirectNavigate;if(o)e.onRedirectNavigate=s=>{const a=typeof o=="function"?o(s):void 0;return a!==!1?r.end({success:!0}):r.discard(),a};else{const s=this.config.auth.onRedirectNavigate;this.config.auth.onRedirectNavigate=a=>{const c=typeof s=="function"?s(a):void 0;return c!==!1?r.end({success:!0}):r.discard(),c}}const i=this.getAllAccounts().length>0;try{Jd(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),i?this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_START,ee.Redirect,e):this.eventHandler.emitEvent(oe.LOGIN_START,ee.Redirect,e);let s;return this.nativeExtensionProvider&&this.canUseNative(e)?s=new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.acquireTokenRedirect,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,t).acquireTokenRedirect(e,r).catch(c=>{if(c instanceof An&&Zr(c))return this.nativeExtensionProvider=void 0,this.createRedirectClient(t).acquireToken(e);if(c instanceof cn)return this.logger.verbose("acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createRedirectClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),c}):s=this.createRedirectClient(t).acquireToken(e),await s}catch(s){throw r.end({success:!1},s),i?this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_FAILURE,ee.Redirect,null,s):this.eventHandler.emitEvent(oe.LOGIN_FAILURE,ee.Redirect,null,s),s}}acquireTokenPopup(e){const t=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement(_.AcquireTokenPopup,t);r.add({scenarioId:e.scenarioId,accountType:dn(e.account)});try{this.logger.verbose("acquireTokenPopup called",t),Vi(this.initialized,r),this.browserStorage.setInteractionInProgress(!0)}catch(s){return Promise.reject(s)}const o=this.getAllAccounts();o.length>0?this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_START,ee.Popup,e):this.eventHandler.emitEvent(oe.LOGIN_START,ee.Popup,e);let i;return this.canUseNative(e)?i=this.acquireTokenNative({...e,correlationId:t},He.acquireTokenPopup).then(s=>(this.browserStorage.setInteractionInProgress(!1),r.end({success:!0,isNativeBroker:!0,accountType:dn(s.account)}),s)).catch(s=>{if(s instanceof An&&Zr(s))return this.nativeExtensionProvider=void 0,this.createPopupClient(t).acquireToken(e);if(s instanceof cn)return this.logger.verbose("acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createPopupClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),s}):i=this.createPopupClient(t).acquireToken(e),i.then(s=>(o.length(o.length>0?this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_FAILURE,ee.Popup,null,s):this.eventHandler.emitEvent(oe.LOGIN_FAILURE,ee.Popup,null,s),r.end({success:!1},s),Promise.reject(s)))}trackPageVisibilityWithMeasurement(){const e=this.ssoSilentMeasurement||this.acquireTokenByCodeAsyncMeasurement;e&&(this.logger.info("Perf: Visibility change detected in ",e.event.name),e.increment({visibilityChangeCount:1}))}async ssoSilent(e){var i,s;const t=this.getRequestCorrelationId(e),r={...e,prompt:e.prompt,correlationId:t};this.ssoSilentMeasurement=this.performanceClient.startMeasurement(_.SsoSilent,t),(i=this.ssoSilentMeasurement)==null||i.add({scenarioId:e.scenarioId,accountType:dn(e.account)}),Vi(this.initialized,this.ssoSilentMeasurement),(s=this.ssoSilentMeasurement)==null||s.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),this.logger.verbose("ssoSilent called",t),this.eventHandler.emitEvent(oe.SSO_SILENT_START,ee.Silent,r);let o;return this.canUseNative(r)?o=this.acquireTokenNative(r,He.ssoSilent).catch(a=>{if(a instanceof An&&Zr(a))return this.nativeExtensionProvider=void 0,this.createSilentIframeClient(r.correlationId).acquireToken(r);throw a}):o=this.createSilentIframeClient(r.correlationId).acquireToken(r),o.then(a=>{var c;return this.eventHandler.emitEvent(oe.SSO_SILENT_SUCCESS,ee.Silent,a),(c=this.ssoSilentMeasurement)==null||c.end({success:!0,isNativeBroker:a.fromNativeBroker,accessTokenSize:a.accessToken.length,idTokenSize:a.idToken.length,accountType:dn(a.account)}),a}).catch(a=>{var c;throw this.eventHandler.emitEvent(oe.SSO_SILENT_FAILURE,ee.Silent,null,a),(c=this.ssoSilentMeasurement)==null||c.end({success:!1},a),a}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenByCode(e){const t=this.getRequestCorrelationId(e);this.logger.trace("acquireTokenByCode called",t);const r=this.performanceClient.startMeasurement(_.AcquireTokenByCode,t);Vi(this.initialized,r),this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_BY_CODE_START,ee.Silent,e),r.add({scenarioId:e.scenarioId});try{if(e.code&&e.nativeAccountId)throw Y(Fp);if(e.code){const o=e.code;let i=this.hybridAuthCodeResponses.get(o);return i?(this.logger.verbose("Existing acquireTokenByCode request found",t),r.discard()):(this.logger.verbose("Initiating new acquireTokenByCode request",t),i=this.acquireTokenByCodeAsync({...e,correlationId:t}).then(s=>(this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_BY_CODE_SUCCESS,ee.Silent,s),this.hybridAuthCodeResponses.delete(o),r.end({success:!0,isNativeBroker:s.fromNativeBroker,accessTokenSize:s.accessToken.length,idTokenSize:s.idToken.length,accountType:dn(s.account)}),s)).catch(s=>{throw this.hybridAuthCodeResponses.delete(o),this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_BY_CODE_FAILURE,ee.Silent,null,s),r.end({success:!1},s),s}),this.hybridAuthCodeResponses.set(o,i)),await i}else if(e.nativeAccountId)if(this.canUseNative(e,e.nativeAccountId)){const o=await this.acquireTokenNative({...e,correlationId:t},He.acquireTokenByCode,e.nativeAccountId).catch(i=>{throw i instanceof An&&Zr(i)&&(this.nativeExtensionProvider=void 0),i});return r.end({accountType:dn(o.account),success:!0}),o}else throw Y(Bp);else throw Y(Hp)}catch(o){throw this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_BY_CODE_FAILURE,ee.Silent,null,o),r.end({success:!1},o),o}}async acquireTokenByCodeAsync(e){var o;return this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement(_.AcquireTokenByCodeAsync,e.correlationId),(o=this.acquireTokenByCodeAsyncMeasurement)==null||o.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),await this.createSilentAuthCodeClient(e.correlationId).acquireToken(e).then(i=>{var s;return(s=this.acquireTokenByCodeAsyncMeasurement)==null||s.end({success:!0,fromCache:i.fromCache,isNativeBroker:i.fromNativeBroker}),i}).catch(i=>{var s;throw(s=this.acquireTokenByCodeAsyncMeasurement)==null||s.end({success:!1},i),i}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenFromCache(e,t){switch(this.performanceClient.addQueueMeasurement(_.AcquireTokenFromCache,e.correlationId),t){case Lt.Default:case Lt.AccessToken:case Lt.AccessTokenAndRefreshToken:const r=this.createSilentCacheClient(e.correlationId);return q(r.acquireToken.bind(r),_.SilentCacheClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw H(Fn)}}async acquireTokenByRefreshToken(e,t){switch(this.performanceClient.addQueueMeasurement(_.AcquireTokenByRefreshToken,e.correlationId),t){case Lt.Default:case Lt.AccessTokenAndRefreshToken:case Lt.RefreshToken:case Lt.RefreshTokenAndNetwork:const r=this.createSilentRefreshClient(e.correlationId);return q(r.acquireToken.bind(r),_.SilentRefreshClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw H(Fn)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(_.AcquireTokenBySilentIframe,e.correlationId);const t=this.createSilentIframeClient(e.correlationId);return q(t.acquireToken.bind(t),_.SilentIframeClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e)}async logout(e){const t=this.getRequestCorrelationId(e);return this.logger.warning("logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.",t),this.logoutRedirect({correlationId:t,...e})}async logoutRedirect(e){const t=this.getRequestCorrelationId(e);return Jd(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),this.createRedirectClient(t).logout(e)}logoutPopup(e){try{const t=this.getRequestCorrelationId(e);return Bl(this.initialized),this.browserStorage.setInteractionInProgress(!0),this.createPopupClient(t).logout(e)}catch(t){return Promise.reject(t)}}async clearCache(e){if(!this.isBrowserEnvironment){this.logger.info("in non-browser environment, returning early.");return}const t=this.getRequestCorrelationId(e);return this.createSilentCacheClient(t).logout(e)}getAllAccounts(e){const t=this.getRequestCorrelationId();return cI(this.logger,this.browserStorage,this.isBrowserEnvironment,t,e)}getAccount(e){const t=this.getRequestCorrelationId();return lI(e,this.logger,this.browserStorage,t)}getAccountByUsername(e){const t=this.getRequestCorrelationId();return uI(e,this.logger,this.browserStorage,t)}getAccountByHomeId(e){const t=this.getRequestCorrelationId();return dI(e,this.logger,this.browserStorage,t)}getAccountByLocalId(e){const t=this.getRequestCorrelationId();return hI(e,this.logger,this.browserStorage,t)}setActiveAccount(e){const t=this.getRequestCorrelationId();fI(e,this.browserStorage,t)}getActiveAccount(){const e=this.getRequestCorrelationId();return gI(this.browserStorage,e)}async hydrateCache(e,t){this.logger.verbose("hydrateCache called");const r=rt.createFromAccountInfo(e.account,e.cloudGraphHostName,e.msGraphHost);return this.browserStorage.setAccount(r,e.correlationId),e.fromNativeBroker?(this.logger.verbose("Response was from native broker, storing in-memory"),this.nativeInternalStorage.hydrateCache(e,t)):this.browserStorage.hydrateCache(e,t)}async acquireTokenNative(e,t,r){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw Y(ki);return new lo(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,t,this.performanceClient,this.nativeExtensionProvider,r||this.getNativeAccountId(e),this.nativeInternalStorage,e.correlationId).acquireToken(e)}canUseNative(e,t){if(this.logger.trace("canUseNative called"),!En.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme))return this.logger.trace("canUseNative: isNativeAvailable returned false, returning false"),!1;if(e.prompt)switch(e.prompt){case at.NONE:case at.CONSENT:case at.LOGIN:this.logger.trace("canUseNative: prompt is compatible with native flow");break;default:return this.logger.trace(`canUseNative: prompt = ${e.prompt} is not compatible with native flow, returning false`),!1}return!t&&!this.getNativeAccountId(e)?(this.logger.trace("canUseNative: nativeAccountId is not available, returning false"),!1):!0}getNativeAccountId(e){const t=e.account||this.getAccount({loginHint:e.loginHint,sid:e.sid})||this.getActiveAccount();return t&&t.nativeAccountId||""}createPopupClient(e){return new PI(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new MI(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentIframeClient(e){return new FI(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.ssoSilent,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new am(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentRefreshClient(e){return new BI(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentAuthCodeClient(e){return new $I(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,He.acquireTokenByCode,this.performanceClient,this.nativeExtensionProvider,e)}addEventCallback(e,t){return this.eventHandler.addEventCallback(e,t)}removeEventCallback(e){this.eventHandler.removeEventCallback(e)}addPerformanceCallback(e){return tm(),this.performanceClient.addPerformanceCallback(e)}removePerformanceCallback(e){return this.performanceClient.removePerformanceCallback(e)}enableAccountStorageEvents(){typeof window>"u"||(this.listeningToStorageEvents?this.logger.verbose("Account storage listener already registered."):(this.logger.verbose("Adding account storage listener."),this.listeningToStorageEvents=!0,window.addEventListener("storage",this.handleAccountCacheChange)))}disableAccountStorageEvents(){typeof window>"u"||(this.listeningToStorageEvents?(this.logger.verbose("Removing account storage listener."),window.removeEventListener("storage",this.handleAccountCacheChange),this.listeningToStorageEvents=!1):this.logger.verbose("No account storage listener registered."))}handleAccountCacheChange(e){var t;try{(t=e.key)!=null&&t.includes(it.ACTIVE_ACCOUNT_FILTERS)&&this.eventHandler.emitEvent(oe.ACTIVE_ACCOUNT_CHANGED);const r=e.newValue||e.oldValue;if(!r)return;const o=JSON.parse(r);if(typeof o!="object"||!rt.isAccountEntity(o))return;const s=bo.toObject(new rt,o).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.eventHandler.emitEvent(oe.ACCOUNT_ADDED,void 0,s)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.eventHandler.emitEvent(oe.ACCOUNT_REMOVED,void 0,s))}catch{return}}getTokenCache(){return this.tokenCache}getLogger(){return this.logger}setLogger(e){this.logger=e}initializeWrapperLibrary(e,t){this.browserStorage.setWrapperMetadata(e,t)}setNavigationClient(e){this.navigationClient=e}getConfiguration(){return this.config}getPerformanceClient(){return this.performanceClient}isBrowserEnv(){return this.isBrowserEnvironment}getRequestCorrelationId(e){return e!=null&&e.correlationId?e.correlationId:this.isBrowserEnvironment?In():R.EMPTY_STRING}async loginRedirect(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginRedirect called",t),this.acquireTokenRedirect({correlationId:t,...e||Qd})}loginPopup(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",t),this.acquireTokenPopup({correlationId:t,...e||Qd})}async acquireTokenSilent(e){const t=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement(_.AcquireTokenSilent,t);r.add({cacheLookupPolicy:e.cacheLookupPolicy,scenarioId:e.scenarioId}),Vi(this.initialized,r),this.logger.verbose("acquireTokenSilent called",t);const o=e.account||this.getActiveAccount();if(!o)throw Y(Pp);r.add({accountType:dn(o)});const i={clientId:this.config.auth.clientId,authority:e.authority||R.EMPTY_STRING,scopes:e.scopes,homeAccountIdentifier:o.homeAccountId,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid,shrOptions:e.shrOptions},s=JSON.stringify(i),a=this.activeSilentTokenRequests.get(s);if(typeof a>"u"){this.logger.verbose("acquireTokenSilent called for the first time, storing active request",t);const c=q(this.acquireTokenSilentAsync.bind(this),_.AcquireTokenSilentAsync,this.logger,this.performanceClient,t)({...e,correlationId:t},o).then(l=>(this.activeSilentTokenRequests.delete(s),r.end({success:!0,fromCache:l.fromCache,isNativeBroker:l.fromNativeBroker,cacheLookupPolicy:e.cacheLookupPolicy,accessTokenSize:l.accessToken.length,idTokenSize:l.idToken.length}),l)).catch(l=>{throw this.activeSilentTokenRequests.delete(s),r.end({success:!1},l),l});return this.activeSilentTokenRequests.set(s,c),{...await c,state:e.state}}else return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",t),r.discard(),{...await a,state:e.state}}async acquireTokenSilentAsync(e,t){const r=()=>this.trackPageVisibility(e.correlationId);this.performanceClient.addQueueMeasurement(_.AcquireTokenSilentAsync,e.correlationId),this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_START,ee.Silent,e),e.correlationId&&this.performanceClient.incrementFields({visibilityChangeCount:0},e.correlationId),document.addEventListener("visibilitychange",r);const o=await q(TI,_.InitializeSilentRequest,this.logger,this.performanceClient,e.correlationId)(e,t,this.config,this.performanceClient,this.logger),i=e.cacheLookupPolicy||Lt.Default;return this.acquireTokenSilentNoIframe(o,i).catch(async a=>{if(jI(a,i))if(this.activeIframeRequest)if(i!==Lt.Skip){const[l,u]=this.activeIframeRequest;this.logger.verbose(`Iframe request is already in progress, awaiting resolution for request with correlationId: ${u}`,o.correlationId);const d=this.performanceClient.startMeasurement(_.AwaitConcurrentIframe,o.correlationId);d.add({awaitIframeCorrelationId:u});const h=await l;if(d.end({success:h}),h)return this.logger.verbose(`Parallel iframe request with correlationId: ${u} succeeded. Retrying cache and/or RT redemption`,o.correlationId),this.acquireTokenSilentNoIframe(o,i);throw this.logger.info(`Iframe request with correlationId: ${u} failed. Interaction is required.`),a}else return this.logger.warning("Another iframe request is currently in progress and CacheLookupPolicy is set to Skip. This may result in degraded performance and/or reliability for both calls. Please consider changing the CacheLookupPolicy to take advantage of request queuing and token cache.",o.correlationId),q(this.acquireTokenBySilentIframe.bind(this),_.AcquireTokenBySilentIframe,this.logger,this.performanceClient,o.correlationId)(o);else{let l;return this.activeIframeRequest=[new Promise(u=>{l=u}),o.correlationId],this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",o.correlationId),q(this.acquireTokenBySilentIframe.bind(this),_.AcquireTokenBySilentIframe,this.logger,this.performanceClient,o.correlationId)(o).then(u=>(l(!0),u)).catch(u=>{throw l(!1),u}).finally(()=>{this.activeIframeRequest=void 0})}else throw a}).then(a=>(this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_SUCCESS,ee.Silent,a),e.correlationId&&this.performanceClient.addFields({fromCache:a.fromCache,isNativeBroker:a.fromNativeBroker},e.correlationId),a)).catch(a=>{throw this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_FAILURE,ee.Silent,null,a),a}).finally(()=>{document.removeEventListener("visibilitychange",r)})}async acquireTokenSilentNoIframe(e,t){return En.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme)&&e.account.nativeAccountId?(this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform"),this.acquireTokenNative(e,He.acquireTokenSilent_silentFlow).catch(async r=>{throw r instanceof An&&Zr(r)?(this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow"),this.nativeExtensionProvider=void 0,H(Fn)):r})):(this.logger.verbose("acquireTokenSilent - attempting to acquire token from web flow"),q(this.acquireTokenFromCache.bind(this),_.AcquireTokenFromCache,this.logger,this.performanceClient,e.correlationId)(e,t).catch(r=>{if(t===Lt.AccessToken)throw r;return this.eventHandler.emitEvent(oe.ACQUIRE_TOKEN_NETWORK_START,ee.Silent,e),q(this.acquireTokenByRefreshToken.bind(this),_.AcquireTokenByRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,t)}))}}function jI(n,e){const t=!(n instanceof cn&&n.subError!==ea),r=n.errorCode===Bt.INVALID_GRANT_ERROR||n.errorCode===Fn,o=t&&r||n.errorCode===vs||n.errorCode===bl,i=bb.includes(e);return o&&i}/*! @azure/msal-browser v3.30.0 2025-08-05 */async function GI(n,e){const t=new Kr(n);return await t.initialize(),ia.createController(t,e)}/*! @azure/msal-browser v3.30.0 2025-08-05 */class jl{static async createPublicClientApplication(e){const t=await GI(e);return new jl(e,t)}constructor(e,t){this.controller=t||new ia(new Kr(e))}async initialize(e){return this.controller.initialize(e)}async acquireTokenPopup(e){return this.controller.acquireTokenPopup(e)}acquireTokenRedirect(e){return this.controller.acquireTokenRedirect(e)}acquireTokenSilent(e){return this.controller.acquireTokenSilent(e)}acquireTokenByCode(e){return this.controller.acquireTokenByCode(e)}addEventCallback(e,t){return this.controller.addEventCallback(e,t)}removeEventCallback(e){return this.controller.removeEventCallback(e)}addPerformanceCallback(e){return this.controller.addPerformanceCallback(e)}removePerformanceCallback(e){return this.controller.removePerformanceCallback(e)}enableAccountStorageEvents(){this.controller.enableAccountStorageEvents()}disableAccountStorageEvents(){this.controller.disableAccountStorageEvents()}getAccount(e){return this.controller.getAccount(e)}getAccountByHomeId(e){return this.controller.getAccountByHomeId(e)}getAccountByLocalId(e){return this.controller.getAccountByLocalId(e)}getAccountByUsername(e){return this.controller.getAccountByUsername(e)}getAllAccounts(e){return this.controller.getAllAccounts(e)}handleRedirectPromise(e){return this.controller.handleRedirectPromise(e)}loginPopup(e){return this.controller.loginPopup(e)}loginRedirect(e){return this.controller.loginRedirect(e)}logout(e){return this.controller.logout(e)}logoutRedirect(e){return this.controller.logoutRedirect(e)}logoutPopup(e){return this.controller.logoutPopup(e)}ssoSilent(e){return this.controller.ssoSilent(e)}getTokenCache(){return this.controller.getTokenCache()}getLogger(){return this.controller.getLogger()}setLogger(e){this.controller.setLogger(e)}setActiveAccount(e){this.controller.setActiveAccount(e)}getActiveAccount(){return this.controller.getActiveAccount()}initializeWrapperLibrary(e,t){return this.controller.initializeWrapperLibrary(e,t)}setNavigationClient(e){this.controller.setNavigationClient(e)}getConfiguration(){return this.controller.getConfiguration()}async hydrateCache(e,t){return this.controller.hydrateCache(e,t)}clearCache(e){return this.controller.clearCache(e)}}const Es=new jl({auth:{clientId:"9079054c-9620-4757-a256-23413042f1ef",authority:"https://login.microsoftonline.com/e519c2e6-bc6d-4fdf-8d9c-923c2f002385",redirectUri:"https://optical-dev.oliver.solutions/cc-dashboard/"},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1}}),VI=["openid","profile","email"];async function zI(){await Es.initialize(),await Es.handleRedirectPromise()}const um=YC("auth",()=>{const n=Oe(null),e=Oe(null),t=Oe(!1),r=Oe(null),o=Te(()=>n.value!==null),i=Te(()=>{var u;return((u=e.value)==null?void 0:u.role)==="admin"});async function s(){var u,d;t.value=!0,r.value=null;try{const f=(await Es.loginPopup({scopes:VI})).idToken,C=await ds.post("/api/auth/microsoft",{id_token:f});n.value=C.data.access_token,await c()}catch(h){const f=h;throw r.value=((d=(u=f.response)==null?void 0:u.data)==null?void 0:d.detail)??f.message??"Login failed",h}finally{t.value=!1}}async function a(){n.value=null,e.value=null;try{await Es.clearCache()}catch{}}async function c(){const u=await ds.get("/api/auth/me");e.value=u.data}function l(){return n.value}return{token:n,user:e,loading:t,error:r,isAuthenticated:o,isAdmin:i,loginWithMicrosoft:s,logout:a,fetchMe:c,getToken:l}}),QI=[{path:"/login",name:"login",component:()=>Ot(()=>import("./LoginView-C-vqc_8I.js"),__vite__mapDeps([0,1,2])),meta:{public:!0}},{path:"/",component:()=>Ot(()=>import("./AppLayout-B0UoMuf7.js"),[]),children:[{path:"",name:"dashboard",component:()=>Ot(()=>import("./DashboardView-Bti8TEyl.js"),__vite__mapDeps([3,4,1,2,5,6,7,8,9,10]))},{path:"calendar",name:"calendar",component:()=>Ot(()=>import("./CalendarView-sdfXfQnJ.js"),__vite__mapDeps([11,4,2,7,8,9,12,13,14,15,16,17,10,18]))},{path:"tasks",name:"tasks",component:()=>Ot(()=>import("./TasksView-BcEx816y.js"),__vite__mapDeps([19,9,14,15,7,8,2,16,17,10]))},{path:"omg",name:"omg",component:()=>Ot(()=>import("./OmgView-BUhFe1Nr.js"),__vite__mapDeps([20,15,7,8,2,16,17]))},{path:"projects",name:"projects",component:()=>Ot(()=>import("./ProjectsView-CYG4IJ0Z.js"),__vite__mapDeps([21,4,1,2,6,8]))},{path:"projects/:id/:date?",name:"project-detail",component:()=>Ot(()=>import("./ProjectDetailView-Dma43hMY.js"),__vite__mapDeps([22,4,1,2,5,8]))},{path:"live",name:"live",component:()=>Ot(()=>import("./LiveView-DV3cgmZQ.js"),__vite__mapDeps([23,1,2,7,8]))},{path:"reports",name:"reports",component:()=>Ot(()=>import("./ReportsView-DoPgiT4O.js"),__vite__mapDeps([24,1,2,13,7,8,12,25]))},{path:"keys",name:"keys",component:()=>Ot(()=>import("./KeysView-mYE9ed0x.js"),__vite__mapDeps([26,27,1,2,7,8,15,16]))},{path:"devops",name:"devops",component:()=>Ot(()=>import("./DevopsView-CBi4sEOM.js"),__vite__mapDeps([28,10,1,2,5,7,8,29,16]))},{path:"settings",name:"settings",component:()=>Ot(()=>import("./SettingsView-BxaKLvvc.js"),__vite__mapDeps([30,10,1,2,5,16,7,8,29]))},{path:"admin",name:"admin",component:()=>Ot(()=>import("./AdminView-CRFaWZRG.js"),__vite__mapDeps([31,27,1,2,13,8])),meta:{adminOnly:!0}}]},{path:"/:pathMatch(.*)*",redirect:"/"}],Sc=NA({history:uA("/cc-dashboard/"),routes:QI});Sc.beforeEach((n,e,t)=>{const r=um();if(n.meta.public){t();return}if(!r.isAuthenticated){t({name:"login",query:{redirect:n.fullPath}});return}if(n.meta.adminOnly&&!r.isAdmin){t({name:"dashboard"});return}t()});zI().then(()=>{const n=KC(_T),e=jC();n.use(e),n.use(Sc),n.use(Pv);const t=um();Tw(()=>t.getToken(),()=>{t.logout(),Sc.push({name:"login"})}),n.mount("#app")});export{eS as A,lr as B,YC as C,tS as D,ds as E,We as F,nS as G,Ci as H,tf as I,JI as J,sS as K,SA as R,ZI as T,Ot as _,sn as a,XI as b,je as c,ko as d,Ge as e,aS as f,cS as g,dt as h,Ar as i,Te as j,Hn as k,Do as l,Yo as m,Ht as n,Ee as o,Wt as p,Ga as q,Ba as r,Oe as s,Fo as t,um as u,Ey as v,Tr as w,xr as x,is as y,YI as z}; diff --git a/src/static/assets/index-bBdb_PCl.css b/src/static/assets/index-bBdb_PCl.css new file mode 100644 index 0000000..e1c36a1 --- /dev/null +++ b/src/static/assets/index-bBdb_PCl.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 220 33% 96%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 25 95% 53%;--primary-foreground: 0 0% 100%;--secondary: 200 85% 50%;--secondary-foreground: 0 0% 100%;--muted: 220 20% 93%;--muted-foreground: 215 20% 48%;--accent: 25 100% 96%;--accent-foreground: 25 95% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 20% 88%;--input: 220 20% 88%;--ring: 25 95% 53%;--radius: .75rem;--success: 142 71% 45%;--warning: 38 92% 50%}.dark{--background: 226 49% 8%;--foreground: 220 40% 92%;--card: 220 44% 10%;--card-foreground: 220 40% 92%;--popover: 220 44% 12%;--popover-foreground: 220 40% 92%;--primary: 25 95% 60%;--primary-foreground: 226 49% 8%;--secondary: 200 85% 55%;--secondary-foreground: 226 49% 8%;--muted: 220 30% 14%;--muted-foreground: 220 12% 52%;--accent: 220 30% 14%;--accent-foreground: 220 40% 92%;--destructive: 0 72% 51%;--destructive-foreground: 220 40% 98%;--border: 220 28% 17%;--input: 220 28% 17%;--ring: 25 95% 60%;--success: 158 64% 52%;--warning: 38 92% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"rlig" 1,"calt" 1;-webkit-font-smoothing:antialiased}.tabular-nums,[data-value],.kpi-value{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c2c9d6;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#9da8be}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-right-6{right:-1.5rem}.-top-2{top:-.5rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[700px\]{min-width:700px}.max-w-2xl{max-width:42rem}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-6{--tw-rotate: -6deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-6{--tw-rotate: 6deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-s-resize{cursor:s-resize}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_1fr_140px_96px\]{grid-template-columns:1fr 1fr 140px 96px}.grid-cols-\[1fr_auto_auto_auto_auto\]{grid-template-columns:1fr auto auto auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/20{border-color:hsl(var(--border) / .2)}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200\/80{border-color:#e2e8f0cc}.border-transparent{border-color:transparent}.border-t-blue-400{--tw-border-opacity: 1;border-top-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-t-emerald-400{--tw-border-opacity: 1;border-top-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-t-orange-400{--tw-border-opacity: 1;border-top-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.border-t-slate-300{--tw-border-opacity: 1;border-top-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/20{background-color:#f59e0b33}.bg-background{background-color:hsl(var(--background))}.bg-black\/5{background-color:#0000000d}.bg-black\/60{background-color:#0009}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/20{background-color:hsl(var(--destructive) / .2)}.bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-50\/60{background-color:#fff7ed99}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/70{background-color:hsl(var(--primary) / .7)}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-500\/10{background-color:#f43f5e1a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/80{background-color:hsl(var(--secondary) / .8)}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/60{background-color:#f8fafc99}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-emerald-200{--tw-shadow-color: #a7f3d0;--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-200{--tw-shadow-color: #fed7aa;--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-100\/60{--tw-shadow-color: rgb(241 245 249 / .6);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-500\/20{--tw-ring-color: rgb(245 158 11 / .2)}.ring-border{--tw-ring-color: hsl(var(--border))}.ring-emerald-500\/20{--tw-ring-color: rgb(16 185 129 / .2)}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-rose-500\/20{--tw-ring-color: rgb(244 63 94 / .2)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.glass-card{background:#ffffffb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.85);box-shadow:0 1px 3px #0000000f,0 8px 32px #0000000f}.panel-glow{box-shadow:0 1px 3px #0000000f,0 8px 32px #0000000f;border:1px solid rgba(255,255,255,.9)}.dark .panel-glow{box-shadow:0 0 0 1px hsl(var(--border)),0 4px 24px -4px #05080f99;border-color:hsl(var(--border))}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--accent)),hsl(var(--muted)));background-size:1000px 100%;animation:shimmer 1.6s linear infinite}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0px}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground) / .3)}.hover\:border-orange-200:hover{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive) / .2)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/10:hover{background-color:hsl(var(--muted) / .1)}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-orange-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/30:hover{background-color:hsl(var(--primary) / .3)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-orange-500:hover{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary\/60:hover{color:hsl(var(--primary) / .6)}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-destructive:focus-visible{--tw-ring-color: hsl(var(--destructive))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:-translate-x-3{--tw-translate-x: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-3{--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-3{--tw-translate-x: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/btn:hover .group-hover\/btn\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-primary{border-color:hsl(var(--primary))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-rose-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.dark\:text-rose-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}@media (min-width: 640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/src/static/assets/plus-PpKYs9wJ.js b/src/static/assets/plus-PpKYs9wJ.js new file mode 100644 index 0000000..53287a4 --- /dev/null +++ b/src/static/assets/plus-PpKYs9wJ.js @@ -0,0 +1,6 @@ +import{c as e}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a=e("PlusIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);export{a as P}; diff --git a/src/static/assets/tasks-DzAUejbm.js b/src/static/assets/tasks-DwSuZPNM.js similarity index 81% rename from src/static/assets/tasks-DzAUejbm.js rename to src/static/assets/tasks-DwSuZPNM.js index 2801774..a86680c 100644 --- a/src/static/assets/tasks-DzAUejbm.js +++ b/src/static/assets/tasks-DwSuZPNM.js @@ -1 +1 @@ -import{E as l,C as w,s as i}from"./index-DMlmI4VG.js";const o={list:a=>l.get("/api/tasks",{params:a}),get:a=>l.get(`/api/tasks/${a}`),create:a=>l.post("/api/tasks",a),update:(a,s)=>l.patch(`/api/tasks/${a}`,s),remove:a=>l.delete(`/api/tasks/${a}`),complete:a=>l.post(`/api/tasks/${a}/complete`),blocks:a=>l.get(`/api/tasks/${a}/blocks`),createBlock:(a,s)=>l.post(`/api/tasks/${a}/blocks`,s),updateBlock:(a,s)=>l.patch(`/api/tasks/blocks/${a}`,s),deleteBlock:a=>l.delete(`/api/tasks/blocks/${a}`)},b=Object.freeze(Object.defineProperty({__proto__:null,tasksApi:o},Symbol.toStringTag,{value:"Module"})),$=w("tasks",()=>{const a=i([]),s=i(!1),n=i(null);async function u(t){s.value=!0,n.value=null;try{const e=await o.list({date:t});a.value=e.data}catch(e){const c=e;n.value=c.message??"Failed to fetch tasks"}finally{s.value=!1}}async function d(t){s.value=!0,n.value=null;try{const e=await o.list(t?{project_id:t}:void 0);a.value=e.data}catch(e){const c=e;n.value=c.message??"Failed to fetch tasks"}finally{s.value=!1}}async function p(t){const e=await o.create(t);return a.value.push(e.data),e.data}async function k(t,e){const c=await o.update(t,e),r=a.value.findIndex(h=>h.id===t);return r!==-1&&(a.value[r]=c.data),c.data}async function f(t){await o.remove(t),a.value=a.value.filter(e=>e.id!==t)}async function v(t){const e=await o.complete(t),c=a.value.findIndex(r=>r.id===t);return c!==-1&&(a.value[c]=e.data),e.data}async function y(t,e){return(await o.createBlock(t,e)).data}async function m(t,e){return(await o.updateBlock(t,e)).data}async function g(t){await o.deleteBlock(t)}return{tasks:a,loading:s,error:n,fetchForDate:u,fetchAll:d,create:p,update:k,remove:f,complete:v,createBlock:y,updateBlock:m,deleteBlock:g}});export{b as t,$ as u}; +import{D as l,B as h,s as i}from"./index-BiYpJJoC.js";const o={list:a=>l.get("/api/tasks",{params:a}),get:a=>l.get(`/api/tasks/${a}`),create:a=>l.post("/api/tasks",a),update:(a,s)=>l.patch(`/api/tasks/${a}`,s),remove:a=>l.delete(`/api/tasks/${a}`),complete:a=>l.post(`/api/tasks/${a}/complete`),blocks:a=>l.get(`/api/tasks/${a}/blocks`),createBlock:(a,s)=>l.post(`/api/tasks/${a}/blocks`,s),updateBlock:(a,s)=>l.patch(`/api/tasks/blocks/${a}`,s),deleteBlock:a=>l.delete(`/api/tasks/blocks/${a}`)},b=Object.freeze(Object.defineProperty({__proto__:null,tasksApi:o},Symbol.toStringTag,{value:"Module"})),$=h("tasks",()=>{const a=i([]),s=i(!1),n=i(null);async function u(t){s.value=!0,n.value=null;try{const e=await o.list({date:t});a.value=e.data}catch(e){const c=e;n.value=c.message??"Failed to fetch tasks"}finally{s.value=!1}}async function d(t){s.value=!0,n.value=null;try{const e=await o.list(t?{project_id:t}:void 0);a.value=e.data}catch(e){const c=e;n.value=c.message??"Failed to fetch tasks"}finally{s.value=!1}}async function p(t){const e=await o.create(t);return a.value.push(e.data),e.data}async function k(t,e){const c=await o.update(t,e),r=a.value.findIndex(g=>g.id===t);return r!==-1&&(a.value[r]=c.data),c.data}async function f(t){await o.remove(t),a.value=a.value.filter(e=>e.id!==t)}async function v(t){const e=await o.complete(t),c=a.value.findIndex(r=>r.id===t);return c!==-1&&(a.value[c]=e.data),e.data}async function y(t,e){return(await o.createBlock(t,e)).data}async function m(t,e){return(await o.updateBlock(t,e)).data}async function B(t){await o.deleteBlock(t)}return{tasks:a,loading:s,error:n,fetchForDate:u,fetchAll:d,create:p,update:k,remove:f,complete:v,createBlock:y,updateBlock:m,deleteBlock:B}});export{b as t,$ as u}; diff --git a/src/static/assets/zap-CGuBGf0F.js b/src/static/assets/zap-CGuBGf0F.js new file mode 100644 index 0000000..a750dae --- /dev/null +++ b/src/static/assets/zap-CGuBGf0F.js @@ -0,0 +1,6 @@ +import{c as a}from"./createLucideIcon-D7qP-VdO.js";/** + * @license lucide-vue-next v0.427.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=a("ZapIcon",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);export{o as Z}; diff --git a/src/static/index.html b/src/static/index.html index 31476c0..f795da1 100644 --- a/src/static/index.html +++ b/src/static/index.html @@ -14,8 +14,8 @@ else { document.documentElement.classList.remove('dark'); } })(); - - + +