diff --git a/README.md b/README.md
index 94f6e7f2..b9d2bfa3 100644
--- a/README.md
+++ b/README.md
@@ -32,10 +32,10 @@
Monitoring WireGuard is not convenient, in most case, you'll need to login to your server and type wg show. That's why this project is being created, to view and manage all WireGuard configurations in a easy way.
With all these awesome features, while keeping it easy to install and use
+Monitoring WireGuard is not convenient, in most case, you'll need to login to your server and type wg show. That's why this project is being created, to view and manage all WireGuard configurations in an easy way.
Though all these awesome features are present, we are still striving to make it easy to install and use
-This project is not affiliate to the official WireGuard Project
+This project is not affiliated to the official WireGuard Project
diff --git a/src/client.py b/src/client.py
index cc7ac218..773109fd 100644
--- a/src/client.py
+++ b/src/client.py
@@ -4,8 +4,9 @@ from tzlocal import get_localzone
from functools import wraps
-from flask import Blueprint, render_template, abort, request, Flask, current_app, session, redirect, url_for
+from flask import Blueprint, render_template, abort, request, Flask, current_app, session, redirect, url_for, send_from_directory
import os
+import mimetypes
from modules.WireguardConfiguration import WireguardConfiguration
from modules.DashboardConfig import DashboardConfig
@@ -192,9 +193,18 @@ def createClientBlueprint(wireguardConfigurations: dict[WireguardConfiguration],
})
return ResponseObject(status, msg)
+ @client.get(f'{prefix}/assets/
+
=0;){const s=e[0];for(let u=0;u1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;nc.box.fullSize),!0),s=Vt(Ht(t,"left"),!0),n=Vt(Ht(t,"right")),o=Vt(Ht(t,"top"),!0),r=Vt(Ht(t,"bottom")),a=ts(t,"x"),l=ts(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Ht(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function es(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function yn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function va(i,t,e,s){const{pos:n,box:o}=e,r=i.maxPadding;if(!O(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&yn(r,o.getPadding());const a=Math.max(0,t.outerWidth-es(r,i,"left","right")),l=Math.max(0,t.outerHeight-es(r,i,"top","bottom")),c=a!==i.w,h=l!==i.h;return i.w=a,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function ka(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Sa(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return s(i?["left","right"]:["top","bottom"])}function $t(i,t,e,s){const n=[];let o,r,a,l,c,h;for(o=0,r=i.length,c=0;oi==="left"?"right":i==="right"?"left":i,os=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,rs=(i,t)=>Math.min(t||i,i);function as(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;o({width:r[M]||0,height:a[M]||0});return{first:k(0),last:k(e-1),widest:k(w),highest:k(S),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Ao(this._alignToPixels?bt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&te.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s={meta:t,index:t.index,cancelable:!0},n=pn(this,t);this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(n&&Ce(e,n),t.controller.draw(),n&&Te(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return te(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=ma.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=Mt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Qt(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ot.remove(this),t=0,e=this.data.datasets.length;ti.height-s/2?"bottom":"center"}function ac(i,t,e,s){const{x:n,width:o}=s,r=e.caretSize+e.caretPadding;if(i==="left"&&n+o+r>t.width||i==="right"&&n-o-r<0)return!0}function lc(i,t,e,s){const{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=i;let c="center";return s==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),ac(c,i,t,e)&&(c="center"),c}function Ds(i,t,e){const s=e.yAlign||t.yAlign||rc(i,e);return{xAlign:e.xAlign||t.xAlign||lc(i,t,e,s),yAlign:s}}function cc(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function hc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function Os(i,t,e,s){const{caretSize:n,caretPadding:o,cornerRadius:r}=i,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:u}=Tt(r);let p=cc(t,a);const g=hc(t,l,c);return l==="center"?a==="left"?p+=c:a==="right"&&(p-=c):a==="left"?p-=Math.max(h,f)+n:a==="right"&&(p+=Math.max(d,u)+n),{x:Y(p,0,s.width-t.width),y:Y(g,0,s.height-t.height)}}function _e(i,t,e){const s=q(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function Cs(i){return tt([],rt(i))}function dc(i,t,e){return Mt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Ts(i,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}const Rn={beforeTitle:nt,title(i){if(i.length>0){const t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Rn[t].call(e,s):n}class As extends ut{static positioners=Yt;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new mn(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=dc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:s}=e,n=j(s,"beforeTitle",this,t),o=j(s,"title",this,t),r=j(s,"afterTitle",this,t);let a=[];return a=tt(a,rt(n)),a=tt(a,rt(o)),a=tt(a,rt(r)),a}getBeforeBody(t,e){return Cs(j(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:s}=e,n=[];return L(t,o=>{const r={before:[],lines:[],after:[]},a=Ts(s,o);tt(r.before,rt(j(a,"beforeLabel",this,o))),tt(r.lines,j(a,"label",this,o)),tt(r.after,rt(j(a,"afterLabel",this,o))),n.push(r)}),n}getAfterBody(t,e){return Cs(j(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:s}=e,n=j(s,"beforeFooter",this,t),o=j(s,"footer",this,t),r=j(s,"afterFooter",this,t);let a=[];return a=tt(a,rt(n)),a=tt(a,rt(o)),a=tt(a,rt(r)),a}_createItems(t){const e=this._active,s=this.chart.data,n=[],o=[],r=[];let a=[],l,c;for(l=0,c=e.length;l+g)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,r=e||n[o];return this._adapter.format(t,r)}_tickFormatFunction(t,e,s,n){const o=this.options,r=o.ticks.callback;if(r)return I(r,[t,e,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],d=c&&a[c],f=s[e],u=c&&d&&f&&f.major;return this._adapter.format(t,n||(u?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=kt(i,"pos",t)),{pos:o,time:a}=i[s],{pos:r,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=kt(i,"time",t)),{time:o,pos:a}=i[s],{time:r,pos:l}=i[n]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Ec extends Hs{static id="timeseries";static defaults=Hs.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ye(e,this.min),this._tableRange=ye(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(r=0,a=n.length;rn-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(ye(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return ye(this._table,s*this._tableRange+this._minPos,!0)}}const zn={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},yc={ariaLabel:{type:String},ariaDescribedby:{type:String}},vc={type:{type:String,required:!0},destroyDelay:{type:Number,default:0},...zn,...yc},kc=Vn[0]==="2"?(i,t)=>Object.assign(i,{attrs:t}):(i,t)=>Object.assign(i,t);function Ct(i){return Ns(i)?Ge(i):i}function Sc(i){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i;return Ns(t)?new Proxy(i,{}):i}function wc(i,t){const e=i.options;e&&t&&Object.assign(e,t)}function En(i,t){i.labels=t}function Bn(i,t,e){const s=[];i.datasets=t.map(n=>{const o=i.datasets.find(r=>r[e]===n[e]);return!o||!n.data||s.includes(o)?{...n}:(s.push(o),Object.assign(o,n),o)})}function Mc(i,t){const e={labels:[],datasets:[]};return En(e,i.labels),Bn(e,i.datasets,t),e}const Pc=Vs({props:vc,setup(i,t){let{expose:e,slots:s}=t;const n=Wn(null),o=Ws(null);e({chart:o});const r=()=>{if(!n.value)return;const{type:c,data:h,options:d,plugins:f,datasetIdKey:u}=i,p=Mc(h,u),g=Sc(p,h);o.value=new _i(n.value,{type:c,data:g,options:{...d},plugins:f})},a=()=>{const c=Ge(o.value);c&&(i.destroyDelay>0?setTimeout(()=>{c.destroy(),o.value=null},i.destroyDelay):(c.destroy(),o.value=null))},l=c=>{c.update(i.updateMode)};return Nn(r),jn(a),$n([()=>i.options,()=>i.data],(c,h)=>{let[d,f]=c,[u,p]=h;const g=Ge(o.value);if(!g)return;let m=!1;if(d){const b=Ct(d),x=Ct(u);b&&b!==x&&(wc(g,b),m=!0)}if(f){const b=Ct(f.labels),x=Ct(p.labels),y=Ct(f.datasets),v=Ct(p.datasets);b!==x&&(En(g.config.data,b),m=!0),y&&y!==v&&(Bn(g.config.data,y,i.datasetIdKey),m=!0)}m&&Yn(()=>{l(g)})},{deep:!0}),()=>qe("canvas",{role:"img",ariaLabel:i.ariaLabel,ariaDescribedby:i.ariaDescribedby,ref:n},[qe("p",{},[s.default?s.default():""])])}});function Hn(i,t){return _i.register(t),Vs({props:zn,setup(e,s){let{expose:n}=s;const o=Ws(null),r=a=>{o.value=a?.chart};return n({chart:o}),()=>qe(Pc,kc({ref:r},{type:i,...e}))}})}const Bc=Hn("bar",ca),Hc=Hn("line",ha);export{Tc as B,_i as C,yi as L,Cc as P,ca as a,ha as b,zc as c,Ic as d,Fc as e,Rc as f,Hc as g,Bc as h,Ac as i,Lc as p};
diff --git a/src/static/dist/WGDashboardAdmin/assets/index-CpoCtfuw.css b/src/static/dist/WGDashboardAdmin/assets/index-CpoCtfuw.css
deleted file mode 100644
index 44c9f244..00000000
--- a/src/static/dist/WGDashboardAdmin/assets/index-CpoCtfuw.css
+++ /dev/null
@@ -1 +0,0 @@
-.agentContainer[data-v-f37f608d]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#F9464752 100%)}.agentContainer.enabled[data-v-f37f608d]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-f37f608d]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-f37f608d]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}@media screen and (max-width: 768px){.navbar-container[data-v-982f1a52]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-982f1a52]{animation-direction:normal;display:block!important;animation-name:zoomInFade-982f1a52}}.navbar-container[data-v-982f1a52]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-982f1a52]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-982f1a52{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-982f1a52],.slideIn-leave-active[data-v-982f1a52]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-982f1a52],.slideIn-leave-to[data-v-982f1a52]{transform:translateY(30px);filter:blur(3px);opacity:0}main[data-v-0c6a5068]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-0c6a5068]{height:calc(100dvh - 58px)}}}
diff --git a/src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js b/src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js
new file mode 100644
index 00000000..61f56e4c
--- /dev/null
+++ b/src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js
@@ -0,0 +1,14 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CGWkLU_a.js","./localeText-DncIFq-d.js","./message-CNwYSWIg.js","./dayjs.min-XUWsRRMk.js","./message-DaZ-mqmU.css","./index-BezIeW2y.css","./configurationList-C0DXP8iJ.js","./protocolBadge-DbebmkCa.js","./storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.js","./storageMount-Cdjv5NCI.css","./configurationList-Bf1zEFWc.css","./settings-Bh_1QgUe.js","./peersDefaultSettingsInput-BttAzz3w.js","./dashboardEmailSettings-C04_SG7Y.js","./vue-datepicker-DL0jaW0X.js","./index-Jsj98gIE.js","./dashboardEmailSettings-wvX-dCK8.css","./dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js","./dashboardSettingsWireguardConfigurationAutostart-B4-DRWtz.css","./wgdashboardSettings-mVKFs9Ke.js","./peerDefaultSettings-BZ4nClpU.js","./wireguardConfigurationSettings-C4k8ZNPY.js","./ping-DbksCFxr.js","./osmap-W1gBCfhu.js","./Vector-CuSZivra.js","./Vector-BtPuoxOl.css","./osmap-CsoM1fIq.css","./ping-C_DjxRQC.css","./traceroute-CZjxAWIt.js","./traceroute-CBvjmB4l.css","./newConfiguration-JUmnKg6c.js","./index-Bno8fcdN.js","./galois-field-I2lBzzs-.js","./newConfiguration-VZyBt7W0.css","./restoreConfiguration-C4m664Ac.js","./restoreConfiguration-WP1Q7x3P.css","./systemStatus-CRYFZ6K4.js","./index-Cd3Eji6d.js","./systemStatus-BNFi5VXv.css","./clients-BooE-ulK.js","./DashboardClientAssignmentStore-B7Wg0ZGp.js","./clients-CbtxbaTj.css","./clientViewer-DCliPzC1.js","./clientViewer-DOyUtRcI.css","./dashboardWebHooks-DSrk8jw_.js","./dashboardWebHooks-B0y2cYij.css","./peerList-BBtAJUnE.js","./peerList-DLvqVl-7.css","./signin-B6a6pmoL.js","./signin-Dutj8UcP.css","./setup-Isfvgm26.js","./totp-B9bSTMsn.js","./browser-CPfGuul0.js","./share-uzofzGvX.js","./share-pZwqdyDh.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function mb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Lg(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){var s=!1;try{s=this instanceof r}catch{}return s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var Cs={exports:{}},Qe="top",st="bottom",it="right",Je="left",Gs="auto",vr=[Qe,st,it,Je],Ln="start",or="end",Sc="clippingParents",So="viewport",Xn="popper",wc="reference",Ji=vr.reduce(function(e,t){return e.concat([t+"-"+Ln,t+"-"+or])},[]),wo=[].concat(vr,[Gs]).reduce(function(e,t){return e.concat([t,t+"-"+Ln,t+"-"+or])},[]),Oc="beforeRead",Nc="read",xc="afterRead",Rc="beforeMain",Ic="main",Dc="afterMain",Lc="beforeWrite",Pc="write",$c="afterWrite",Mc=[Oc,Nc,xc,Rc,Ic,Dc,Lc,Pc,$c];function Pt(e){return e?(e.nodeName||"").toLowerCase():null}function ot(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Pn(e){var t=ot(e).Element;return e instanceof t||e instanceof Element}function ht(e){var t=ot(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Oo(e){if(typeof ShadowRoot>"u")return!1;var t=ot(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Pg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},o=t.elements[n];!ht(o)||!Pt(o)||(Object.assign(o.style,r),Object.keys(s).forEach(function(a){var l=s[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function $g(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!ht(s)||!Pt(s)||(Object.assign(s.style,l),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const No={name:"applyStyles",enabled:!0,phase:"write",fn:Pg,effect:$g,requires:["computeStyles"]};function Lt(e){return e.split("-")[0]}var On=Math.max,Ds=Math.min,ar=Math.round;function Zi(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function kc(){return!/^((?!chrome|android).)*safari/i.test(Zi())}function lr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),s=1,o=1;t&&ht(e)&&(s=e.offsetWidth>0&&ar(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ar(r.height)/e.offsetHeight||1);var a=Pn(e)?ot(e):window,l=a.visualViewport,c=!kc()&&n,d=(r.left+(c&&l?l.offsetLeft:0))/s,f=(r.top+(c&&l?l.offsetTop:0))/o,h=r.width/s,p=r.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function xo(e){var t=lr(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Vc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Oo(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Kt(e){return ot(e).getComputedStyle(e)}function Mg(e){return["table","td","th"].indexOf(Pt(e))>=0}function fn(e){return((Pn(e)?e.ownerDocument:e.document)||window.document).documentElement}function qs(e){return Pt(e)==="html"?e:e.assignedSlot||e.parentNode||(Oo(e)?e.host:null)||fn(e)}function el(e){return!ht(e)||Kt(e).position==="fixed"?null:e.offsetParent}function kg(e){var t=/firefox/i.test(Zi()),n=/Trident/i.test(Zi());if(n&&ht(e)){var r=Kt(e);if(r.position==="fixed")return null}var s=qs(e);for(Oo(s)&&(s=s.host);ht(s)&&["html","body"].indexOf(Pt(s))<0;){var o=Kt(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function Xr(e){for(var t=ot(e),n=el(e);n&&Mg(n)&&Kt(n).position==="static";)n=el(n);return n&&(Pt(n)==="html"||Pt(n)==="body"&&Kt(n).position==="static")?t:n||kg(e)||t}function Ro(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Dr(e,t,n){return On(e,Ds(t,n))}function Vg(e,t,n){var r=Dr(e,t,n);return r>n?n:r}function Fc(){return{top:0,right:0,bottom:0,left:0}}function Hc(e){return Object.assign({},Fc(),e)}function Bc(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Fg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Hc(typeof t!="number"?t:Bc(t,vr))};function Hg(e){var t,n=e.state,r=e.name,s=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=Lt(n.placement),c=Ro(l),d=[Je,it].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Fg(s.padding,n),p=xo(o),m=c==="y"?Qe:Je,O=c==="y"?st:it,A=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],x=a[c]-n.rects.reference[c],P=Xr(o),V=P?c==="y"?P.clientHeight||0:P.clientWidth||0:0,H=A/2-x/2,M=h[m],b=V-p[f]-h[O],y=V/2-p[f]/2+H,N=Dr(M,y,b),T=c;n.modifiersData[r]=(t={},t[T]=N,t.centerOffset=N-y,t)}}function Bg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||Vc(t.elements.popper,s)&&(t.elements.arrow=s))}const jc={name:"arrow",enabled:!0,phase:"main",fn:Hg,effect:Bg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function cr(e){return e.split("-")[1]}var jg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Wg(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:ar(n*s)/s||0,y:ar(r*s)/s||0}}function tl(e){var t,n=e.popper,r=e.popperRect,s=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,m=p===void 0?0:p,O=a.y,A=O===void 0?0:O,x=typeof f=="function"?f({x:m,y:A}):{x:m,y:A};m=x.x,A=x.y;var P=a.hasOwnProperty("x"),V=a.hasOwnProperty("y"),H=Je,M=Qe,b=window;if(d){var y=Xr(n),N="clientHeight",T="clientWidth";if(y===ot(n)&&(y=fn(n),Kt(y).position!=="static"&&l==="absolute"&&(N="scrollHeight",T="scrollWidth")),y=y,s===Qe||(s===Je||s===it)&&o===or){M=st;var C=h&&y===b&&b.visualViewport?b.visualViewport.height:y[N];A-=C-r.height,A*=c?1:-1}if(s===Je||(s===Qe||s===st)&&o===or){H=it;var S=h&&y===b&&b.visualViewport?b.visualViewport.width:y[T];m-=S-r.width,m*=c?1:-1}}var U=Object.assign({position:l},d&&jg),j=f===!0?Wg({x:m,y:A},ot(n)):{x:m,y:A};if(m=j.x,A=j.y,c){var te;return Object.assign({},U,(te={},te[M]=V?"0":"",te[H]=P?"0":"",te.transform=(b.devicePixelRatio||1)<=1?"translate("+m+"px, "+A+"px)":"translate3d("+m+"px, "+A+"px, 0)",te))}return Object.assign({},U,(t={},t[M]=V?A+"px":"",t[H]=P?m+"px":"",t.transform="",t))}function Kg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:Lt(t.placement),variation:cr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,tl(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,tl(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Io={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Kg,data:{}};var gs={passive:!0};function Ug(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,o=s===void 0?!0:s,a=r.resize,l=a===void 0?!0:a,c=ot(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,gs)}),l&&c.addEventListener("resize",n.update,gs),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,gs)}),l&&c.removeEventListener("resize",n.update,gs)}}const Do={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ug,data:{}};var Gg={left:"right",right:"left",bottom:"top",top:"bottom"};function Ss(e){return e.replace(/left|right|bottom|top/g,function(t){return Gg[t]})}var qg={start:"end",end:"start"};function nl(e){return e.replace(/start|end/g,function(t){return qg[t]})}function Lo(e){var t=ot(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Po(e){return lr(fn(e)).left+Lo(e).scrollLeft}function Yg(e,t){var n=ot(e),r=fn(e),s=n.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){o=s.width,a=s.height;var d=kc();(d||!d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:o,height:a,x:l+Po(e),y:c}}function zg(e){var t,n=fn(e),r=Lo(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=On(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=On(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),l=-r.scrollLeft+Po(e),c=-r.scrollTop;return Kt(s||n).direction==="rtl"&&(l+=On(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function $o(e){var t=Kt(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Wc(e){return["html","body","#document"].indexOf(Pt(e))>=0?e.ownerDocument.body:ht(e)&&$o(e)?e:Wc(qs(e))}function Lr(e,t){var n;t===void 0&&(t=[]);var r=Wc(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=ot(r),a=s?[o].concat(o.visualViewport||[],$o(r)?r:[]):r,l=t.concat(a);return s?l:l.concat(Lr(qs(a)))}function eo(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Xg(e,t){var n=lr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function rl(e,t,n){return t===So?eo(Yg(e,n)):Pn(t)?Xg(t,n):eo(zg(fn(e)))}function Qg(e){var t=Lr(qs(e)),n=["absolute","fixed"].indexOf(Kt(e).position)>=0,r=n&&ht(e)?Xr(e):e;return Pn(r)?t.filter(function(s){return Pn(s)&&Vc(s,r)&&Pt(s)!=="body"}):[]}function Jg(e,t,n,r){var s=t==="clippingParents"?Qg(e):[].concat(t),o=[].concat(s,[n]),a=o[0],l=o.reduce(function(c,d){var f=rl(e,d,r);return c.top=On(f.top,c.top),c.right=Ds(f.right,c.right),c.bottom=Ds(f.bottom,c.bottom),c.left=On(f.left,c.left),c},rl(e,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Kc(e){var t=e.reference,n=e.element,r=e.placement,s=r?Lt(r):null,o=r?cr(r):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(s){case Qe:c={x:a,y:t.y-n.height};break;case st:c={x:a,y:t.y+t.height};break;case it:c={x:t.x+t.width,y:l};break;case Je:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=s?Ro(s):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case Ln:c[d]=c[d]-(t[f]/2-n[f]/2);break;case or:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function ur(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?Sc:l,d=n.rootBoundary,f=d===void 0?So:d,h=n.elementContext,p=h===void 0?Xn:h,m=n.altBoundary,O=m===void 0?!1:m,A=n.padding,x=A===void 0?0:A,P=Hc(typeof x!="number"?x:Bc(x,vr)),V=p===Xn?wc:Xn,H=e.rects.popper,M=e.elements[O?V:p],b=Jg(Pn(M)?M:M.contextElement||fn(e.elements.popper),c,f,a),y=lr(e.elements.reference),N=Kc({reference:y,element:H,placement:s}),T=eo(Object.assign({},H,N)),C=p===Xn?T:y,S={top:b.top-C.top+P.top,bottom:C.bottom-b.bottom+P.bottom,left:b.left-C.left+P.left,right:C.right-b.right+P.right},U=e.modifiersData.offset;if(p===Xn&&U){var j=U[s];Object.keys(S).forEach(function(te){var he=[it,st].indexOf(te)>=0?1:-1,Ee=[Qe,st].indexOf(te)>=0?"y":"x";S[te]+=j[Ee]*he})}return S}function Zg(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?wo:c,f=cr(r),h=f?l?Ji:Ji.filter(function(O){return cr(O)===f}):vr,p=h.filter(function(O){return d.indexOf(O)>=0});p.length===0&&(p=h);var m=p.reduce(function(O,A){return O[A]=ur(e,{placement:A,boundary:s,rootBoundary:o,padding:a})[Lt(A)],O},{});return Object.keys(m).sort(function(O,A){return m[O]-m[A]})}function em(e){if(Lt(e)===Gs)return[];var t=Ss(e);return[nl(e),t,nl(t)]}function tm(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,m=n.flipVariations,O=m===void 0?!0:m,A=n.allowedAutoPlacements,x=t.options.placement,P=Lt(x),V=P===x,H=c||(V||!O?[Ss(x)]:em(x)),M=[x].concat(H).reduce(function(de,me){return de.concat(Lt(me)===Gs?Zg(t,{placement:me,boundary:f,rootBoundary:h,padding:d,flipVariations:O,allowedAutoPlacements:A}):me)},[]),b=t.rects.reference,y=t.rects.popper,N=new Map,T=!0,C=M[0],S=0;SZ<=0)){var H,q;const Z=(((H=o.flip)==null?void 0:H.index)||0)+1,U=P[Z];if(U&&(!(g==="alignment"?m!==Rt(U):!1)||W.every(I=>Rt(I.placement)===m?I.overflows[0]>0:!0)))return{data:{index:Z,overflows:W},reset:{placement:U}};let X=(q=W.filter($=>$.overflows[0]<=0).sort(($,I)=>$.overflows[1]-I.overflows[1])[0])==null?void 0:q.placement;if(!X)switch(c){case"bestFit":{var G;const $=(G=W.filter(I=>{if(E){const le=Rt(I.placement);return le===m||le==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(le=>le>0).reduce((le,z)=>le+z,0)]).sort((I,le)=>I[1]-le[1])[0])==null?void 0:G[0];$&&(X=$);break}case"initialPlacement":X=l;break}if(r!==X)return{reset:{placement:X}}}return{}}}},No=new Set(["left","top"]);async function Fo(e,t){const{placement:n,platform:a,elements:r}=e,o=await(a.isRTL==null?void 0:a.isRTL(r.floating)),s=qt(n),l=Pa(n),u=Rt(n)==="y",h=No.has(s)?-1:1,p=o&&u?-1:1,g=Ma(t,e);let{mainAxis:w,crossAxis:c,alignmentAxis:y}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return l&&typeof y=="number"&&(c=l==="end"?y*-1:y),u?{x:c*p,y:w*h}:{x:w*h,y:c*p}}const Vo=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:o,placement:s,middlewareData:l}=t,u=await Fo(t,e);return s===((n=l.offset)==null?void 0:n.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:r+u.x,y:o+u.y,data:{...u,placement:s}}}}},Lo=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:l={fn:_=>{let{x:d,y:m}=_;return{x:d,y:m}}},...u}=Ma(e,t),h={x:n,y:a},p=await mr(t,u),g=Rt(qt(r)),w=dr(g);let c=h[w],y=h[g];if(o){const _=w==="y"?"top":"left",d=w==="y"?"bottom":"right",m=c+p[_],v=c-p[d];c=hn(m,c,v)}if(s){const _=g==="y"?"top":"left",d=g==="y"?"bottom":"right",m=y+p[_],v=y-p[d];y=hn(m,y,v)}const b=l.fn({...t,[w]:c,[g]:y});return{...b,data:{x:b.x-n,y:b.y-a,enabled:{[w]:o,[g]:s}}}}}};function Xa(){return typeof window<"u"}function zt(e){return An(e)?(e.nodeName||"").toLowerCase():"#document"}function at(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Mt(e){var t;return(t=(An(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function An(e){return Xa()?e instanceof Node||e instanceof at(e).Node:!1}function pt(e){return Xa()?e instanceof Element||e instanceof at(e).Element:!1}function Dt(e){return Xa()?e instanceof HTMLElement||e instanceof at(e).HTMLElement:!1}function Hn(e){return!Xa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof at(e).ShadowRoot}const Wo=new Set(["inline","contents"]);function Aa(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=ht(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!Wo.has(r)}const Io=new Set(["table","td","th"]);function Ho(e){return Io.has(zt(e))}const qo=[":popover-open",":modal"];function Qa(e){return qo.some(t=>{try{return e.matches(t)}catch{return!1}})}const Uo=["transform","translate","scale","rotate","perspective"],jo=["transform","translate","scale","rotate","perspective","filter"],zo=["paint","layout","strict","content"];function Tn(e){const t=On(),n=pt(e)?ht(e):e;return Uo.some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||jo.some(a=>(n.willChange||"").includes(a))||zo.some(a=>(n.contain||"").includes(a))}function Ko(e){let t=$t(e);for(;Dt(t)&&!ia(t);){if(Tn(t))return t;if(Qa(t))return null;t=$t(t)}return null}function On(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Xo=new Set(["html","body","#document"]);function ia(e){return Xo.has(zt(e))}function ht(e){return at(e).getComputedStyle(e)}function Ga(e){return pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function $t(e){if(zt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Hn(e)&&e.host||Mt(e);return Hn(t)?t.host:t}function vr(e){const t=$t(e);return ia(t)?e.ownerDocument?e.ownerDocument.body:e.body:Dt(t)&&Aa(t)?t:vr(t)}function xa(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=vr(e),o=r===((a=e.ownerDocument)==null?void 0:a.body),s=at(r);if(o){const l=gn(s);return t.concat(s,s.visualViewport||[],Aa(r)?r:[],l&&n?xa(l):[])}return t.concat(r,xa(r,[],n))}function gn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pr(e){const t=ht(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=Dt(e),o=r?e.offsetWidth:n,s=r?e.offsetHeight:a,l=qa(n)!==o||qa(a)!==s;return l&&(n=o,a=s),{width:n,height:a,$:l}}function Cn(e){return pt(e)?e:e.contextElement}function ra(e){const t=Cn(e);if(!Dt(t))return kt(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:o}=pr(t);let s=(o?qa(n.width):n.width)/a,l=(o?qa(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const Qo=kt(0);function hr(e){const t=at(e);return!On()||!t.visualViewport?Qo:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Go(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==at(e)?!1:t}function Ut(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=Cn(e);let s=kt(1);t&&(a?pt(a)&&(s=ra(a)):s=ra(e));const l=Go(o,n,a)?hr(o):kt(0);let u=(r.left+l.x)/s.x,h=(r.top+l.y)/s.y,p=r.width/s.x,g=r.height/s.y;if(o){const w=at(o),c=a&&pt(a)?at(a):a;let y=w,b=gn(y);for(;b&&a&&c!==y;){const _=ra(b),d=b.getBoundingClientRect(),m=ht(b),v=d.left+(b.clientLeft+parseFloat(m.paddingLeft))*_.x,M=d.top+(b.clientTop+parseFloat(m.paddingTop))*_.y;u*=_.x,h*=_.y,p*=_.x,g*=_.y,u+=v,h+=M,y=at(b),b=gn(y)}}return ja({width:p,height:g,x:u,y:h})}function Za(e,t){const n=Ga(e).scrollLeft;return t?t.left+n:Ut(Mt(e)).left+n}function yr(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Za(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function Zo(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const o=r==="fixed",s=Mt(a),l=t?Qa(t.floating):!1;if(a===s||l&&o)return n;let u={scrollLeft:0,scrollTop:0},h=kt(1);const p=kt(0),g=Dt(a);if((g||!g&&!o)&&((zt(a)!=="body"||Aa(s))&&(u=Ga(a)),Dt(a))){const c=Ut(a);h=ra(a),p.x=c.x+a.clientLeft,p.y=c.y+a.clientTop}const w=s&&!g&&!o?yr(s,u):kt(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-u.scrollLeft*h.x+p.x+w.x,y:n.y*h.y-u.scrollTop*h.y+p.y+w.y}}function Jo(e){return Array.from(e.getClientRects())}function es(e){const t=Mt(e),n=Ga(e),a=e.ownerDocument.body,r=It(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=It(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+Za(e);const l=-n.scrollTop;return ht(a).direction==="rtl"&&(s+=It(t.clientWidth,a.clientWidth)-r),{width:r,height:o,x:s,y:l}}const qn=25;function ts(e,t){const n=at(e),a=Mt(e),r=n.visualViewport;let o=a.clientWidth,s=a.clientHeight,l=0,u=0;if(r){o=r.width,s=r.height;const p=On();(!p||p&&t==="fixed")&&(l=r.offsetLeft,u=r.offsetTop)}const h=Za(a);if(h<=0){const p=a.ownerDocument,g=p.body,w=getComputedStyle(g),c=p.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,y=Math.abs(a.clientWidth-g.clientWidth-c);y<=qn&&(o-=y)}else h<=qn&&(o+=h);return{width:o,height:s,x:l,y:u}}const as=new Set(["absolute","fixed"]);function ns(e,t){const n=Ut(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,o=Dt(e)?ra(e):kt(1),s=e.clientWidth*o.x,l=e.clientHeight*o.y,u=r*o.x,h=a*o.y;return{width:s,height:l,x:u,y:h}}function Un(e,t,n){let a;if(t==="viewport")a=ts(e,n);else if(t==="document")a=es(Mt(e));else if(pt(t))a=ns(t,n);else{const r=hr(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return ja(a)}function gr(e,t){const n=$t(e);return n===t||!pt(n)||ia(n)?!1:ht(n).position==="fixed"||gr(n,t)}function rs(e,t){const n=t.get(e);if(n)return n;let a=xa(e,[],!1).filter(l=>pt(l)&&zt(l)!=="body"),r=null;const o=ht(e).position==="fixed";let s=o?$t(e):e;for(;pt(s)&&!ia(s);){const l=ht(s),u=Tn(s);!u&&l.position==="fixed"&&(r=null),(o?!u&&!r:!u&&l.position==="static"&&!!r&&as.has(r.position)||Aa(s)&&!u&&gr(e,s))?a=a.filter(p=>p!==s):r=l,s=$t(s)}return t.set(e,a),a}function os(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const s=[...n==="clippingAncestors"?Qa(t)?[]:rs(t,this._c):[].concat(n),a],l=s[0],u=s.reduce((h,p)=>{const g=Un(t,p,r);return h.top=It(g.top,h.top),h.right=la(g.right,h.right),h.bottom=la(g.bottom,h.bottom),h.left=It(g.left,h.left),h},Un(t,l,r));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function ss(e){const{width:t,height:n}=pr(e);return{width:t,height:n}}function ls(e,t,n){const a=Dt(t),r=Mt(t),o=n==="fixed",s=Ut(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const u=kt(0);function h(){u.x=Za(r)}if(a||!a&&!o)if((zt(t)!=="body"||Aa(r))&&(l=Ga(t)),a){const c=Ut(t,!0,o,t);u.x=c.x+t.clientLeft,u.y=c.y+t.clientTop}else r&&h();o&&!a&&r&&h();const p=r&&!a&&!o?yr(r,l):kt(0),g=s.left+l.scrollLeft-u.x-p.x,w=s.top+l.scrollTop-u.y-p.y;return{x:g,y:w,width:s.width,height:s.height}}function mn(e){return ht(e).position==="static"}function jn(e,t){if(!Dt(e)||ht(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Mt(e)===n&&(n=n.ownerDocument.body),n}function wr(e,t){const n=at(e);if(Qa(e))return n;if(!Dt(e)){let r=$t(e);for(;r&&!ia(r);){if(pt(r)&&!mn(r))return r;r=$t(r)}return n}let a=jn(e,t);for(;a&&Ho(a)&&mn(a);)a=jn(a,t);return a&&ia(a)&&mn(a)&&!Tn(a)?n:a||Ko(e)||n}const is=async function(e){const t=this.getOffsetParent||wr,n=this.getDimensions,a=await n(e.floating);return{reference:ls(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function us(e){return ht(e).direction==="rtl"}const cs={convertOffsetParentRelativeRectToViewportRelativeRect:Zo,getDocumentElement:Mt,getClippingRect:os,getOffsetParent:wr,getElementRects:is,getClientRects:Jo,getDimensions:ss,getScale:ra,isElement:pt,isRTL:us};function br(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ds(e,t){let n=null,a;const r=Mt(e);function o(){var l;clearTimeout(a),(l=n)==null||l.disconnect(),n=null}function s(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),o();const h=e.getBoundingClientRect(),{left:p,top:g,width:w,height:c}=h;if(l||t(),!w||!c)return;const y=Va(g),b=Va(r.clientWidth-(p+w)),_=Va(r.clientHeight-(g+c)),d=Va(p),v={rootMargin:-y+"px "+-b+"px "+-_+"px "+-d+"px",threshold:It(0,la(1,u))||1};let M=!0;function O(E){const P=E[0].intersectionRatio;if(P!==u){if(!M)return s();P?s(!1,P):a=setTimeout(()=>{s(!1,1e-7)},1e3)}P===1&&!br(h,e.getBoundingClientRect())&&s(),M=!1}try{n=new IntersectionObserver(O,{...v,root:r.ownerDocument})}catch{n=new IntersectionObserver(O,v)}n.observe(e)}return s(!0),o}function fs(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=a,h=Cn(e),p=r||o?[...h?xa(h):[],...xa(t)]:[];p.forEach(d=>{r&&d.addEventListener("scroll",n,{passive:!0}),o&&d.addEventListener("resize",n)});const g=h&&l?ds(h,n):null;let w=-1,c=null;s&&(c=new ResizeObserver(d=>{let[m]=d;m&&m.target===h&&c&&(c.unobserve(t),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var v;(v=c)==null||v.observe(t)})),n()}),h&&!u&&c.observe(h),c.observe(t));let y,b=u?Ut(e):null;u&&_();function _(){const d=Ut(e);b&&!br(b,d)&&n(),b=d,y=requestAnimationFrame(_)}return n(),()=>{var d;p.forEach(m=>{r&&m.removeEventListener("scroll",n),o&&m.removeEventListener("resize",n)}),g?.(),(d=c)==null||d.disconnect(),c=null,u&&cancelAnimationFrame(y)}}const ms=Vo,vs=Lo,ps=Bo,hs=Eo,ys=(e,t,n)=>{const a=new Map,r={platform:cs,...n},o={...r.platform,_c:a};return $o(e,t,{...r,platform:o})};function gs(e){return e!=null&&typeof e=="object"&&"$el"in e}function wn(e){if(gs(e)){const t=e.$el;return An(t)&&zt(t)==="#comment"?null:t}return e}function ea(e){return typeof e=="function"?e():i(e)}function ws(e){return{name:"arrow",options:e,fn(t){const n=wn(ea(e.element));return n==null?{}:hs({element:n,padding:e.padding}).fn(t)}}}function kr(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function zn(e,t){const n=kr(e);return Math.round(t*n)/n}function bs(e,t,n){n===void 0&&(n={});const a=n.whileElementsMounted,r=V(()=>{var P;return(P=ea(n.open))!=null?P:!0}),o=V(()=>ea(n.middleware)),s=V(()=>{var P;return(P=ea(n.placement))!=null?P:"bottom"}),l=V(()=>{var P;return(P=ea(n.strategy))!=null?P:"absolute"}),u=V(()=>{var P;return(P=ea(n.transform))!=null?P:!0}),h=V(()=>wn(e.value)),p=V(()=>wn(t.value)),g=ie(0),w=ie(0),c=ie(l.value),y=ie(s.value),b=fo({}),_=ie(!1),d=V(()=>{const P={position:c.value,left:"0",top:"0"};if(!p.value)return P;const Y=zn(p.value,g.value),N=zn(p.value,w.value);return u.value?{...P,transform:"translate("+Y+"px, "+N+"px)",...kr(p.value)>=1.5&&{willChange:"transform"}}:{position:c.value,left:Y+"px",top:N+"px"}});let m;function v(){if(h.value==null||p.value==null)return;const P=r.value;ys(h.value,p.value,{middleware:o.value,placement:s.value,strategy:l.value}).then(Y=>{g.value=Y.x,w.value=Y.y,c.value=Y.strategy,y.value=Y.placement,b.value=Y.middlewareData,_.value=P!==!1})}function M(){typeof m=="function"&&(m(),m=void 0)}function O(){if(M(),a===void 0){v();return}if(h.value!=null&&p.value!=null){m=a(h.value,p.value,v);return}}function E(){r.value||(_.value=!1)}return Je([o,s,l,r],v,{flush:"sync"}),Je([h,p],O,{flush:"sync"}),Je(r,E,{flush:"sync"}),mo()&&vo(M),{x:Gt(g),y:Gt(w),strategy:Gt(c),placement:Gt(y),middlewareData:Gt(b),isPositioned:Gt(_),floatingStyles:d,update:v}}const _r=6048e5,ks=864e5,_s=6e4,Ds=36e5,xs=1e3,Kn=Symbol.for("constructDateFrom");function Ye(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Kn in e?e[Kn](t):e instanceof Date?new e.constructor(t):new Date(t)}function ve(e,t){return Ye(t||e,e)}function rt(e,t,n){const a=ve(e,n?.in);return isNaN(t)?Ye(n?.in||e,NaN):(t&&a.setDate(a.getDate()+t),a)}function ft(e,t,n){const a=ve(e,n?.in);if(isNaN(t))return Ye(e,NaN);if(!t)return a;const r=a.getDate(),o=Ye(e,a.getTime());o.setMonth(a.getMonth()+t+1,0);const s=o.getDate();return r>=s?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}function Dr(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:l=0,minutes:u=0,seconds:h=0}=t,p=ve(e,n?.in),g=r||a?ft(p,r+a*12):p,w=s||o?rt(g,s+o*7):g,c=u+l*60,b=(h+c*60)*1e3;return Ye(e,+w+b)}let Ms={};function Kt(){return Ms}function ot(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o=o.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function za(e){const t=ve(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 Ta(e,...t){const n=Ye.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function Xn(e,t){const n=ve(e,t?.in);return n.setHours(0,0,0,0),n}function Mr(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Xn(a),s=Xn(r),l=+o-za(o),u=+s-za(s);return Math.round((l-u)/ks)}function Ps(e,t){const n=xr(e,t),a=Ye(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),ua(a)}function As(e,t,n){return ft(e,t*3,n)}function Sn(e,t,n){return ft(e,t*12,n)}function Qn(e,t){const n=+ve(e)-+ve(t);return n<0?-1:n>0?1:n}function Pr(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function _a(e){return!(!Pr(e)&&typeof e!="number"||isNaN(+ve(e)))}function Gn(e,t){const n=ve(e,t?.in);return Math.trunc(n.getMonth()/3)+1}function Ts(e,t,n){const[a,r]=Ta(n?.in,e,t);return a.getFullYear()-r.getFullYear()}function Os(e){return t=>{const a=(e?Math[e]:Math.trunc)(t);return a===0?0:a}}function Cs(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Qn(a,r),s=Math.abs(Ts(a,r));a.setFullYear(1584),r.setFullYear(1584);const l=Qn(a,r)===-o,u=o*(s-+l);return u===0?0:u}function Ar(e,t){const[n,a]=Ta(e,t.start,t.end);return{start:n,end:a}}function Yn(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+n:+a,s=r?a:n;s.setHours(0,0,0,0);let l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s.setDate(s.getDate()+l),s.setHours(0,0,0,0);return r?u.reverse():u}function Lt(e,t){const n=ve(e,t?.in),a=n.getMonth(),r=a-a%3;return n.setMonth(r,1),n.setHours(0,0,0,0),n}function Ss(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+Lt(n):+Lt(a);let s=Lt(r?a:n),l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s=As(s,l);return r?u.reverse():u}function Ys(e,t){const n=ve(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Tr(e,t){const n=ve(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function oa(e,t){const n=ve(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Rn(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o{let a;const r=Rs[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function vn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Es={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Bs={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ns={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Fs={date:vn({formats:Es,defaultWidth:"full"}),time:vn({formats:Bs,defaultWidth:"full"}),dateTime:vn({formats:Ns,defaultWidth:"full"})},Vs={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ls=(e,t,n,a)=>Vs[e];function ya(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):s;r=e.formattingValues[l]||e.formattingValues[s]}else{const s=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}const Ws={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Is={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Hs={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"]},qs={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"]},Us={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"}},js={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"}},zs=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Ks={ordinalNumber:zs,era:ya({values:Ws,defaultWidth:"wide"}),quarter:ya({values:Is,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ya({values:Hs,defaultWidth:"wide"}),day:ya({values:qs,defaultWidth:"wide"}),dayPeriod:ya({values:Us,defaultWidth:"wide",formattingValues:js,defaultFormattingWidth:"wide"})};function ga(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Qs(l,g=>g.test(s)):Xs(l,g=>g.test(s));let h;h=e.valueCallback?e.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const p=t.slice(s.length);return{value:h,rest:p}}}function Xs(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Qs(e,t){for(let n=0;n