diff --git a/src/dashboard.py b/src/dashboard.py index d2304232..f537d650 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -10,7 +10,7 @@ from datetime import datetime, timedelta import sqlalchemy from jinja2 import Template -from flask import Flask, request, render_template, session, send_file, current_app +from flask import Flask, request, render_template, session, send_file, current_app, redirect, url_for from flask_cors import CORS from icmplib import ping, traceroute from flask.json.provider import DefaultJSONProvider @@ -32,6 +32,7 @@ from modules.PeerJobs import PeerJobs from modules.DashboardConfig import DashboardConfig from modules.WireguardConfiguration import WireguardConfiguration from modules.AmneziaConfiguration import AmneziaConfiguration +from modules.DashboardOIDC import DashboardOIDC from client import createClientBlueprint @@ -225,6 +226,7 @@ with app.app_context(): NewConfigurationTemplates: NewConfigurationTemplates = NewConfigurationTemplates() InitWireguardConfigurationsList(startup=True) DashboardClients: DashboardClients = DashboardClients(WireguardConfigurations) + AdminOIDC = DashboardOIDC("Admin") app.register_blueprint(createClientBlueprint(WireguardConfigurations, DashboardConfig, DashboardClients)) _, APP_PREFIX = DashboardConfig.GetConfig("Server", "app_prefix") @@ -279,6 +281,8 @@ def auth_req(): f'{appPrefix}/api/sharePeer/get', f'{appPrefix}/api/isTotpEnabled', f'{appPrefix}/api/locale', + f'{appPrefix}/api/oidc/providers', + f'{appPrefix}/api/oidc/authenticate', ] @@ -316,6 +320,38 @@ def API_ValidateAuthentication(): def API_RequireAuthentication(): return ResponseObject(data=DashboardConfig.GetConfig("Server", "auth_req")[1]) +# OIDC for Admin +@app.get(f'{APP_PREFIX}/api/oidc/providers') +def API_OIDC_GetProviders(): + _, oidc = DashboardConfig.GetConfig("OIDC", "admin_enable") + if not oidc: + return ResponseObject(status=False, message="OIDC is disabled") + + return ResponseObject(data=AdminOIDC.GetProviders()) + +@app.post(f'{APP_PREFIX}/api/oidc/authenticate') +def API_OIDC_Authenticate(): + _, oidc = DashboardConfig.GetConfig("OIDC", "admin_enable") + if not oidc: + return ResponseObject(False, "OIDC is disabled") + + requestData = request.get_json() + status, data = AdminOIDC.VerifyToken(**requestData) + if not status: + return ResponseObject(False, "OIDC Authentication Failed. Reason: " + data) + session['role'] = 'admin' + authToken = hashlib.sha256(f'${data['sid']}{datetime.now()}{app.secret_key}'.encode()).hexdigest() + session['username'] = authToken + session['signInMethod'] = 'OIDC' + session['signInPayload'] = { + "Provider": requestData.get('provider'), + "Payload": data + } + resp = ResponseObject() + resp.set_cookie('authToken', authToken) + return resp + + @app.post(f'{APP_PREFIX}/api/authenticate') def API_AuthenticateLogin(): data = request.get_json() @@ -347,6 +383,7 @@ def API_AuthenticateLogin(): authToken = hashlib.sha256(f"{data['username']}{datetime.now()}".encode()).hexdigest() session['role'] = 'admin' session['username'] = authToken + session['signInMethod'] = 'local' resp = ResponseObject(True, DashboardConfig.GetConfig("Other", "welcome_session")[1]) resp.set_cookie("authToken", authToken) session.permanent = True @@ -362,6 +399,14 @@ def API_AuthenticateLogin(): def API_SignOut(): resp = ResponseObject(True, "") resp.delete_cookie("authToken") + if session.get('signInMethod') == "OIDC": + status, oidc_config = AdminOIDC.GetProviderConfiguration(session.get('signInPayload').get("Provider")) + signOut = requests.get( + oidc_config.get("end_session_endpoint"), + params={ + 'id_token_hint': session.get('signInPayload').get("Payload").get('sid') + } + ) session.clear() return resp diff --git a/src/modules/DashboardConfig.py b/src/modules/DashboardConfig.py index b1a63499..4a4a30df 100644 --- a/src/modules/DashboardConfig.py +++ b/src/modules/DashboardConfig.py @@ -12,7 +12,7 @@ from .Utilities import (GetRemoteEndpoint, ValidateDNSAddress) from .DashboardAPIKey import DashboardAPIKey class DashboardConfig: - DashboardVersion = 'v4.3.3' + DashboardVersion = 'v4.3.4' ConfigurationPath = os.getenv('CONFIGURATION_PATH', '.') ConfigurationFilePath = os.path.join(ConfigurationPath, 'wg-dashboard.ini') diff --git a/src/modules/DashboardOIDC.py b/src/modules/DashboardOIDC.py index 1fa5e73a..6693b233 100644 --- a/src/modules/DashboardOIDC.py +++ b/src/modules/DashboardOIDC.py @@ -134,7 +134,7 @@ class DashboardOIDC: 'openid_configuration': oidc_config } self.provider_secret[k] = providers[k]['client_secret'] - current_app.logger.info(f"Registered OIDC Provider: {k}") + current_app.logger.info(f"Registered OIDC Provider[{self.mode}]: {k}") except Exception as e: current_app.logger.error(f"Failed to register OIDC config for {k}", exc_info=e) except Exception as e: diff --git a/src/static/app/index.html b/src/static/app/index.html index afa86e31..bdc9cbd9 100644 --- a/src/static/app/index.html +++ b/src/static/app/index.html @@ -11,6 +11,26 @@ WGDashboard + -
+
+
+
+ WGDashboard Admin +
+
+
diff --git a/src/static/app/package.json b/src/static/app/package.json index 7aaab161..903df495 100644 --- a/src/static/app/package.json +++ b/src/static/app/package.json @@ -1,6 +1,6 @@ { "name": "app", - "version": "4.3.3", + "version": "4.3.4", "private": true, "type": "module", "module": "es2022", diff --git a/src/static/app/src/components/signIn/signInOIDC.vue b/src/static/app/src/components/signIn/signInOIDC.vue new file mode 100644 index 00000000..63f1ba3d --- /dev/null +++ b/src/static/app/src/components/signIn/signInOIDC.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/signIn/signInOIDCButton.vue b/src/static/app/src/components/signIn/signInOIDCButton.vue new file mode 100644 index 00000000..f79cdd81 --- /dev/null +++ b/src/static/app/src/components/signIn/signInOIDCButton.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/main.js b/src/static/app/src/main.js index 4f5082d7..2ad9dddb 100644 --- a/src/static/app/src/main.js +++ b/src/static/app/src/main.js @@ -7,18 +7,65 @@ import '@vuepic/vue-datepicker/dist/main.css' import {createApp, markRaw} from 'vue' import { createPinia } from 'pinia' import App from './App.vue' -import router from './router/router.js' import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' +import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js"; -const app = createApp(App) +const params = new URLSearchParams(window.location.search) +const state = params.get('state') +const code = params.get('code') -app.use(router) -const pinia = createPinia(); -pinia.use(piniaPluginPersistedstate) -pinia.use(({ store }) => { - store.$router = markRaw(router) -}) +if (state && code) { + window.history.replaceState({}, '', window.location.pathname); + console.log('After replaceState:', window.location.href); +} -app.use(pinia) -app.mount('#app') \ No newline at end of file + + +const initApp = async () => { + const { default: router } = await import('./router/router.js') + const app = createApp(App) + + app.use(router) + const pinia = createPinia(); + pinia.use(piniaPluginPersistedstate) + pinia.use(({ store }) => { + store.$router = markRaw(router) + }) + + + app.use(pinia) + app.mount('#app') + console.log('After router import:', window.location.href) +} + +export const getUrl = (url) => { + if (import.meta.env.MODE === 'development') { + return url; + } + return `./.${url}`; +} + +if (state && code){ + await fetch(getUrl('/api/oidc/authenticate'), { + method: "POST", + headers: { + 'content-type': 'application/json' + }, + body: JSON.stringify({ + provider: state, + code: code, + redirect_uri: window.location.protocol + '//' + window.location.host + window.location.pathname + }) + }).then(res => res.json()).then( async (res) => { + if (res.status){ + window.location.replace(window.location.protocol + '//' + window.location.host + window.location.pathname) + }else{ + await initApp() + const store = DashboardConfigurationStore() + store.newMessage('Server OIDC', res.message, 'danger') + } + }) +}else{ + await initApp() +} diff --git a/src/static/app/src/utilities/fetch.js b/src/static/app/src/utilities/fetch.js index ce10fd64..c1496462 100644 --- a/src/static/app/src/utilities/fetch.js +++ b/src/static/app/src/utilities/fetch.js @@ -4,17 +4,21 @@ const getHeaders = () => { let headers = { "Content-Type": "application/json" } - const store = DashboardConfigurationStore(); - const crossServer = store.getActiveCrossServer(); - if (crossServer){ - headers['wg-dashboard-apikey'] = crossServer.apiKey - if (crossServer.headers){ - for (let header of Object.values(crossServer.headers)){ - if (header.key && header.value && !Object.keys(headers).includes(header.key)){ - headers[header.key] = header.value - } - } - } + try{ + const store = DashboardConfigurationStore(); + const crossServer = store.getActiveCrossServer(); + if (crossServer){ + headers['wg-dashboard-apikey'] = crossServer.apiKey + if (crossServer.headers){ + for (let header of Object.values(crossServer.headers)){ + if (header.key && header.value && !Object.keys(headers).includes(header.key)){ + headers[header.key] = header.value + } + } + } + } + }catch (e) { + } @@ -22,11 +26,13 @@ const getHeaders = () => { } export const getUrl = (url) => { - const store = DashboardConfigurationStore(); - const apiKey = store.getActiveCrossServer(); - if (apiKey){ - return `${apiKey.host}${url}` - } + try{ + const store = DashboardConfigurationStore(); + const apiKey = store.getActiveCrossServer(); + if (apiKey){ + return `${apiKey.host}${url}` + } + }catch (e){} if (import.meta.env.MODE === 'development') { return url; } diff --git a/src/static/app/src/views/signin.vue b/src/static/app/src/views/signin.vue index 30b7b1d2..e71fb596 100644 --- a/src/static/app/src/views/signin.vue +++ b/src/static/app/src/views/signin.vue @@ -7,10 +7,11 @@ import {GetLocale} from "@/utilities/locale.js"; import LocaleText from "@/components/text/localeText.vue"; import SignInInput from "@/components/signIn/signInInput.vue"; import SignInTOTP from "@/components/signIn/signInTOTP.vue"; +import SignInOIDC from "@/components/signIn/signInOIDC.vue"; export default { name: "signin", - components: {SignInTOTP, SignInInput, LocaleText, RemoteServerList, Message}, + components: {SignInOIDC, SignInTOTP, SignInInput, LocaleText, RemoteServerList, Message}, async setup(){ const store = DashboardConfigurationStore() let theme = "dark" @@ -171,7 +172,7 @@ export default { -
+
+ +
diff --git a/src/static/client/package.json b/src/static/client/package.json index bc863398..6bec0bdf 100644 --- a/src/static/client/package.json +++ b/src/static/client/package.json @@ -1,6 +1,6 @@ { "name": "client", - "version": "v1.0", + "version": "v1.0.1", "private": true, "type": "module", "scripts": { diff --git a/src/static/client/src/main.js b/src/static/client/src/main.js index 7e46056f..68625e08 100644 --- a/src/static/client/src/main.js +++ b/src/static/client/src/main.js @@ -2,7 +2,6 @@ import './assets/main.css' import { createApp } from 'vue' import App from './App.vue' -import router from "@/router/router.js"; import {createPinia} from "pinia"; import 'bootstrap/dist/js/bootstrap.bundle.js' @@ -13,7 +12,13 @@ const params = new URLSearchParams(window.location.search) const state = params.get('state') const code = params.get('code') +if (state && code) { + window.history.replaceState({}, '', window.location.pathname); +} + const initApp = async () => { + debugger + const { default: router } = await import('./router/router.js') const app = createApp(App) const serverInformation = await axiosGet("/api/serverInformation", {}) app.use(createPinia()) @@ -31,12 +36,10 @@ if (state && code){ code: code, redirect_uri: window.location.protocol + '//' + window.location.host + window.location.pathname }).then(async (data) => { - let url = new URL(window.location.href); - url.search = ''; - history.replaceState({}, document.title, url.toString()); - - await initApp() - if (!data.status){ + if (data.status){ + window.location.replace(window.location.protocol + '//' + window.location.host + window.location.pathname) + }else { + await initApp() const store = clientStore() store.newNotification(data.message, 'danger') } diff --git a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-UJ0gvgel.js b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-Cx8hQRjk.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-UJ0gvgel.js rename to src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-Cx8hQRjk.js index 49eb1627..835ea577 100644 --- a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-UJ0gvgel.js +++ b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-Cx8hQRjk.js @@ -1 +1 @@ -import{a5 as A,r as n,D as S,g as l,z as v}from"./index-DXzxfcZW.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; +import{a5 as A,r as n,D as S,g as l,z as v}from"./index-DM7YJCOo.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; diff --git a/src/static/dist/WGDashboardAdmin/assets/browser-DFwZaPoQ.js b/src/static/dist/WGDashboardAdmin/assets/browser-CUYUHo3j.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/browser-DFwZaPoQ.js rename to src/static/dist/WGDashboardAdmin/assets/browser-CUYUHo3j.js index d0f1aa56..803d4854 100644 --- a/src/static/dist/WGDashboardAdmin/assets/browser-DFwZaPoQ.js +++ b/src/static/dist/WGDashboardAdmin/assets/browser-CUYUHo3j.js @@ -1,4 +1,4 @@ -import{O as te}from"./index-DXzxfcZW.js";import{r as ee}from"./galois-field-I2lBzzs-.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}})($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,(function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r +import{O as te}from"./index-DM7YJCOo.js";import{r as ee}from"./galois-field-I2lBzzs-.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}})($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,(function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r ]))+`;L.KANJI=new RegExp(i,"g"),L.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),L.BYTE=new RegExp(n,"g"),L.NUMERIC=new RegExp(r,"g"),L.ALPHANUMERIC=new RegExp(o,"g");const t=new RegExp("^"+i+"$"),e=new RegExp("^"+r+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return L.testKanji=function(u){return t.test(u)},L.testNumeric=function(u){return e.test(u)},L.testAlphanumeric=function(u){return s.test(u)},L}var qt;function F(){return qt||(qt=1,(function(r){const o=Gt(),i=$t();r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(e,s){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!o.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?e.ccBits[0]:s<27?e.ccBits[1]:e.ccBits[2]},r.getBestModeForData=function(e){return i.testNumeric(e)?r.NUMERIC:i.testAlphanumeric(e)?r.ALPHANUMERIC:i.testKanji(e)?r.KANJI:r.BYTE},r.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},r.isValid=function(e){return e&&e.bit&&e.ccBits};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}r.from=function(e,s){if(r.isValid(e))return e;try{return n(e)}catch{return s}}})(ot)),ot}var vt;function fe(){return vt||(vt=1,(function(r){const o=_(),i=Qt(),n=wt(),t=F(),e=Gt(),s=7973,a=o.getBCHDigit(s);function u(h,f,T){for(let M=1;M<=40;M++)if(f<=r.getCapacity(M,T,h))return M}function c(h,f){return t.getCharCountIndicator(h,f)+4}function d(h,f){let T=0;return h.forEach(function(M){const S=c(M.mode,f);T+=S+M.getBitsLength()}),T}function B(h,f){for(let T=1;T<=40;T++)if(d(h,T)<=r.getCapacity(T,f,t.MIXED))return T}r.from=function(f,T){return e.isValid(f)?parseInt(f,10):T},r.getCapacity=function(f,T,M){if(!e.isValid(f))throw new Error("Invalid QR Code version");typeof M>"u"&&(M=t.BYTE);const S=o.getSymbolTotalCodewords(f),A=i.getTotalCodewordsCount(f,T),P=(S-A)*8;if(M===t.MIXED)return P;const I=P-c(M,f);switch(M){case t.NUMERIC:return Math.floor(I/10*3);case t.ALPHANUMERIC:return Math.floor(I/11*2);case t.KANJI:return Math.floor(I/13);case t.BYTE:default:return Math.floor(I/8)}},r.getBestVersionForData=function(f,T){let M;const S=n.from(T,n.M);if(Array.isArray(f)){if(f.length>1)return B(f,S);if(f.length===0)return 1;M=f[0]}else M=f;return u(M.mode,M.getLength(),S)},r.getEncodedBits=function(f){if(!e.isValid(f)||f<7)throw new Error("Invalid QR Code version");let T=f<<12;for(;o.getBCHDigit(T)-a>=0;)T^=s<=0;)u^=o<0&&(e=this.data.substr(t),s=parseInt(e,10),n.put(s,a*3+1))},at=o,at}var ct,Ft;function ge(){if(Ft)return ct;Ft=1;const r=F(),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(n){this.mode=r.ALPHANUMERIC,this.data=n}return i.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let s=o.indexOf(this.data[e])*45;s+=o.indexOf(this.data[e+1]),t.put(s,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},ct=i,ct}var ft,kt;function he(){if(kt)return ft;kt=1;const r=F();function o(i){this.mode=r.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return o.getBitsLength=function(n){return n*8},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(i){for(let n=0,t=this.data.length;n=33088&&e<=40956)e-=33088;else if(e>=57408&&e<=60351)e-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` Make sure your charset is UTF-8`);e=(e>>>8&255)*192+(e&255),n.put(e,13)}},lt=i,lt}var dt={exports:{}},Vt;function we(){return Vt||(Vt=1,(function(r){var o={single_source_shortest_paths:function(i,n,t){var e={},s={};s[n]=0;var a=o.PriorityQueue.make();a.push(n,0);for(var u,c,d,B,h,f,T,M,S;!a.empty();){u=a.pop(),c=u.value,B=u.cost,h=i[c]||{};for(d in h)h.hasOwnProperty(d)&&(f=h[d],T=B+f,M=s[d],S=typeof s[d]>"u",(S||M>T)&&(s[d]=T,a.push(d,T),e[d]=c))}if(typeof t<"u"&&typeof s[t]>"u"){var A=["Could not find a path from ",n," to ",t,"."].join("");throw new Error(A)}return e},extract_shortest_path_from_predecessor_list:function(i,n){for(var t=[],e=n;e;)t.push(e),i[e],e=i[e];return t.reverse(),t},find_path:function(i,n,t){var e=o.single_source_shortest_paths(i,n,t);return o.extract_shortest_path_from_predecessor_list(e,t)},PriorityQueue:{make:function(i){var n=o.PriorityQueue,t={},e;i=i||{};for(e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t.queue=[],t.sorter=i.sorter||n.default_sorter,t},default_sorter:function(i,n){return i.cost-n.cost},push:function(i,n){var t={value:i,cost:n};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};r.exports=o})(dt)),dt.exports}var Kt;function Ce(){return Kt||(Kt=1,(function(r){const o=F(),i=de(),n=ge(),t=he(),e=me(),s=$t(),a=_(),u=we();function c(A){return unescape(encodeURIComponent(A)).length}function d(A,P,I){const p=[];let b;for(;(b=A.exec(I))!==null;)p.push({data:b[0],index:b.index,mode:P,length:b[0].length});return p}function B(A){const P=d(s.NUMERIC,o.NUMERIC,A),I=d(s.ALPHANUMERIC,o.ALPHANUMERIC,A);let p,b;return a.isKanjiModeEnabled()?(p=d(s.BYTE,o.BYTE,A),b=d(s.KANJI,o.KANJI,A)):(p=d(s.BYTE_KANJI,o.BYTE,A),b=[]),P.concat(I,p,b).sort(function(y,C){return y.index-C.index}).map(function(y){return{data:y.data,mode:y.mode,length:y.length}})}function h(A,P){switch(P){case o.NUMERIC:return i.getBitsLength(A);case o.ALPHANUMERIC:return n.getBitsLength(A);case o.KANJI:return e.getBitsLength(A);case o.BYTE:return t.getBitsLength(A)}}function f(A){return A.reduce(function(P,I){const p=P.length-1>=0?P[P.length-1]:null;return p&&p.mode===I.mode?(P[P.length-1].data+=I.data,P):(P.push(I),P)},[])}function T(A){const P=[];for(let I=0;I=0&&w<=6&&(N===0||N===6)||N>=0&&N<=6&&(w===0||w===6)||w>=2&&w<=4&&N>=2&&N<=4?g.set(m+w,E+N,!0,!0):g.set(m+w,E+N,!1,!0))}}function T(g){const y=g.size;for(let C=8;C>w&1)===1,g.set(R,m,E,!0),g.set(m,R,E,!0)}function A(g,y,C){const l=g.size,R=d.getEncodedBits(y,C);let m,E;for(m=0;m<15;m++)E=(R>>m&1)===1,m<6?g.set(m,8,E,!0):m<8?g.set(m+1,8,E,!0):g.set(l-15+m,8,E,!0),m<8?g.set(8,l-m-1,E,!0):m<9?g.set(8,15-m-1+1,E,!0):g.set(8,15-m-1,E,!0);g.set(l-8,8,1,!0)}function P(g,y){const C=g.size;let l=-1,R=C-1,m=7,E=0;for(let w=C-1;w>0;w-=2)for(w===6&&w--;;){for(let N=0;N<2;N++)if(!g.isReserved(R,w-N)){let v=!1;E>>m&1)===1),g.set(R,w-N,v),m--,m===-1&&(E++,m=7)}if(R+=l,R<0||C<=R){R-=l,l=-l;break}}}function I(g,y,C){const l=new i;C.forEach(function(N){l.put(N.mode.bit,4),l.put(N.getLength(),B.getCharCountIndicator(N.mode,g)),N.write(l)});const R=r.getSymbolTotalCodewords(g),m=a.getTotalCodewordsCount(g,y),E=(R-m)*8;for(l.getLengthInBits()+4<=E&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);const w=(E-l.getLengthInBits())/8;for(let N=0;Na.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",Y,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[...t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)])],10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,[...s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)])])):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=E(),v=async()=>{f.value=!0,await z("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},Ee={style:{flex:"1 0 0","overflow-y":"scroll"}},ze={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=E(),p=G(),v=J(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await K("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=H(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await z("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>[...u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back",-1)])]),_:1})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},[...u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)])])])])]),e("div",Ee,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",ze,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Je=W(Ge,[["__scopeId","data-v-f874264d"]]);export{Je as default}; +import{B as D,q as V,r as h,c as i,a as e,d as _,t as x,F as C,i as N,b as o,w as B,h as M,n as L,u as w,f as l,e as I,m as O,y as U,j as A,D as E,z,L as G,J as T,H as q,E as H,K as J,g as K,_ as W}from"./index-DM7YJCOo.js";import{D as j}from"./DashboardClientAssignmentStore-Cx8hQRjk.js";import{L as r}from"./localeText-BJvnc1lF.js";const Y={class:"card rounded-0 border-0"},Q={role:"button",class:"ms-auto text-white"},X={key:0,class:"bi bi-chevron-compact-down"},Z={key:1,class:"bi bi-chevron-compact-up"},ee={key:0,class:"card-body p-0"},se={class:"list-group list-group-flush"},te={key:0},le={class:"text-body"},ne={class:"text-muted"},ie={key:1},ae={class:"text-body"},oe={class:"text-muted"},re=["onClick"],de=["onClick"],R=D({__name:"availablePeersGroup",props:["configuration","peers","clientAssignedPeers","availablePeerSearchString"],emits:["assign","unassign"],setup(c,{emit:k}){const a=c,f=k,d=j(),b=V(()=>a.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",Y,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[...t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)])],10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,[...s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)])])):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=E(),v=async()=>{f.value=!0,await z("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},Ee={style:{flex:"1 0 0","overflow-y":"scroll"}},ze={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=E(),p=G(),v=J(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await K("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=H(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await z("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>[...u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back",-1)])]),_:1})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},[...u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)])])])])]),e("div",Ee,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",ze,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Je=W(Ge,[["__scopeId","data-v-f874264d"]]);export{Je as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-dPj1ZA29.js b/src/static/dist/WGDashboardAdmin/assets/clients-15IHrs0x.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/clients-dPj1ZA29.js rename to src/static/dist/WGDashboardAdmin/assets/clients-15IHrs0x.js index 9c71bede..a562a9b0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/clients-dPj1ZA29.js +++ b/src/static/dist/WGDashboardAdmin/assets/clients-15IHrs0x.js @@ -1 +1 @@ -import{B as w,q as D,o as B,c as f,a as e,t as y,b as a,F as N,i as V,j as v,w as I,h as E,L as z,f as _,D as O,r as b,E as A,m as C,v as x,g as $,J as R,u as m,z as U,k as G,y as M,G as P,n as k,d as S,_ as T}from"./index-DXzxfcZW.js";import{D as q}from"./DashboardClientAssignmentStore-UJ0gvgel.js";import{L as u}from"./localeText-Dmcj5qqx.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},H={class:"my-2"},K={class:"badge text-bg-primary ms-auto"},Q={class:"card-body p-0"},W={class:"list-group list-group-flush clientList"},X={class:"text-body"},Y={class:"text-muted"},L=w({__name:"clientGroup",props:["groupName","clients","searchString"],setup(g){const c=g,r=D(()=>{const t=c.searchString.toLowerCase();return c.searchString?c.clients.filter(o=>o.ClientID&&o.ClientID.toLowerCase().includes(t)||o.Email&&o.Email.toLowerCase().includes(t)||o.Name&&o.Name.toLowerCase().includes(t)):c.clients});return z(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(t,o)=>{const i=E("RouterLink");return _(),f("div",F,[e("div",J,[e("h6",H,y(g.groupName),1),e("span",K,[a(u,{t:r.value.length+" Client"+(r.value.length>1?"s":"")},null,8,["t"])])]),e("div",Q,[e("div",W,[(_(!0),f(N,null,V(r.value,s=>(_(),v(i,{key:s.ClientID,id:"client_"+s.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:s.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:I(()=>[e("small",X,y(s.Email),1),e("small",Y,y(s.Name?s.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Z={class:"d-flex flex-column gap-2"},ee={class:"d-flex align-items-center"},te={class:"mb-0"},se={class:"form-check form-switch ms-auto"},oe={class:"form-check-label",for:"oidc_switch"},ne=["disabled"],le=w({__name:"oidcSettings",props:["mode"],async setup(g){let c,r;const t=g,o=O(),i=b(!1),s=b(!1),n=async()=>{await $("/api/oidc/status",{mode:t.mode},l=>{i.value=l.data,s.value=!1})};[c,r]=A(()=>n()),await c,r();const d=async()=>{s.value=!0,await $("/api/oidc/toggle",{mode:t.mode},l=>{l.status||(i.value=!i.value,o.newMessage("Server",l.message,"danger")),s.value=!1})};return(l,p)=>(_(),f("div",Z,[e("div",ee,[e("h6",te,[a(u,{t:"OpenID Connect (OIDC)"})]),e("div",se,[e("label",oe,[a(u,{t:i.value?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:s.value,"onUpdate:modelValue":p[0]||(p[0]=h=>i.value=h),onChange:p[1]||(p[1]=h=>d()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,ne),[[x,i.value]])])])]))}}),ie={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},ae={class:"card m-auto rounded-3",style:{width:"700px"}},ce={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},re={class:"mb-0"},de={class:"card-body px-4 d-flex gap-3 flex-column"},ue={class:"d-flex align-items-center"},me={class:"mb-0"},_e={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"oidc_switch"},he=["disabled"],ge={class:"d-flex align-items-center"},fe={class:"mb-0"},be={class:"form-check form-switch ms-auto"},ve={class:"form-check-label",for:"sign_up_switch"},Ce=["disabled"],we={class:"text-muted mb-0"},ye={class:"text-muted mb-0"},xe=w({__name:"clientSettings",emits:["close"],setup(g,{emit:c}){const r=c,t=O();b(!1),R({enableClients:t.Configuration.Clients.enable});const o=b(!1),i=async s=>{o.value=!0,await U("/api/updateDashboardConfigurationItem",{section:"Clients",key:s,value:t.Configuration.Clients[s]},async n=>{await t.getConfiguration(),o.value=!1})};return(s,n)=>(_(),f("div",ie,[e("div",ae,[e("div",ce,[e("h4",re,[a(u,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=d=>r("close"))})]),e("div",de,[e("div",ue,[e("h6",me,[a(u,{t:"Client Side App"})]),e("div",_e,[e("label",pe,[a(u,{t:m(t).Configuration.Clients.enable?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[1]||(n[1]=d=>m(t).Configuration.Clients.enable=d),onChange:n[2]||(n[2]=d=>i("enable")),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,he),[[x,m(t).Configuration.Clients.enable]])])]),n[5]||(n[5]=e("hr",null,null,-1)),e("div",null,[e("div",ge,[e("h6",fe,[a(u,{t:"Sign Up as Local Client"})]),e("div",be,[e("label",ve,[a(u,{t:m(t).Configuration.Clients.sign_up?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[3]||(n[3]=d=>m(t).Configuration.Clients.sign_up=d),onChange:n[4]||(n[4]=d=>i("sign_up")),class:"form-check-input",type:"checkbox",role:"switch",id:"sign_up_switch"},null,40,Ce),[[x,m(t).Configuration.Clients.sign_up]])])]),e("small",we,[a(u,{t:"Allow clients to sign up with Email and Password"})])]),e("div",null,[a(le,{mode:"Client"}),e("small",ye,[a(u,{t:"Allow clients to access with OpenID"})])])])])]))}}),$e={class:"text-body w-100 h-100 pb-2 position-relative"},ke={class:"w-100 h-100 card rounded-3"},Se={class:"border-bottom z-0"},Le={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},De=["placeholder"],Ne={class:"row h-100 g-0"},Ve={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},Ie=w({__name:"clients",async setup(g){let c,r;const t=q();[c,r]=A(()=>t.getClients()),await c,r(),t.getAllConfigurationsPeers();const o=b(""),i=z(),s=b(!1),n=D(()=>Object.fromEntries(Object.entries(t.clients).filter(([d,l])=>Object.keys(t.clients).filter(p=>p!=="Local").includes(d))));return(d,l)=>{const p=E("RouterView");return _(),f("div",$e,[e("div",ke,[a(G,{name:"zoom"},{default:I(()=>[s.value?(_(),v(xe,{key:0,onClose:l[0]||(l[0]=h=>s.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",Se,[e("div",Le,[l[4]||(l[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),C(e("input",{"onUpdate:modelValue":l[1]||(l[1]=h=>o.value=h),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:m(P)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,De),[[M,o.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:l[2]||(l[2]=h=>s.value=!s.value)},[l[3]||(l[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),a(u,{t:"Settings"})])])]),e("div",Ne,[e("div",{class:k([{hide:m(i).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",Ve,[Object.keys(m(t).clients).includes("Local")?(_(),v(L,{key:0,searchString:o.value,clients:m(t).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(_(!0),f(N,null,V(n.value,(h,j)=>(_(),v(L,{searchString:o.value,clients:h,groupName:j},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:k([{hide:!m(i).params.id},"col-sm-8 clientViewerContainer z-0"])},[a(p)],2)])])])}}}),Ae=T(Ie,[["__scopeId","data-v-a8650ee3"]]);export{Ae as default}; +import{B as w,q as D,o as B,c as f,a as e,t as y,b as a,F as N,i as V,j as v,w as I,h as E,L as z,f as _,D as O,r as b,E as A,m as C,v as x,g as $,J as R,u as m,z as U,k as G,y as M,G as P,n as k,d as S,_ as T}from"./index-DM7YJCOo.js";import{D as q}from"./DashboardClientAssignmentStore-Cx8hQRjk.js";import{L as u}from"./localeText-BJvnc1lF.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},H={class:"my-2"},K={class:"badge text-bg-primary ms-auto"},Q={class:"card-body p-0"},W={class:"list-group list-group-flush clientList"},X={class:"text-body"},Y={class:"text-muted"},L=w({__name:"clientGroup",props:["groupName","clients","searchString"],setup(g){const c=g,r=D(()=>{const t=c.searchString.toLowerCase();return c.searchString?c.clients.filter(o=>o.ClientID&&o.ClientID.toLowerCase().includes(t)||o.Email&&o.Email.toLowerCase().includes(t)||o.Name&&o.Name.toLowerCase().includes(t)):c.clients});return z(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(t,o)=>{const i=E("RouterLink");return _(),f("div",F,[e("div",J,[e("h6",H,y(g.groupName),1),e("span",K,[a(u,{t:r.value.length+" Client"+(r.value.length>1?"s":"")},null,8,["t"])])]),e("div",Q,[e("div",W,[(_(!0),f(N,null,V(r.value,s=>(_(),v(i,{key:s.ClientID,id:"client_"+s.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:s.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:I(()=>[e("small",X,y(s.Email),1),e("small",Y,y(s.Name?s.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Z={class:"d-flex flex-column gap-2"},ee={class:"d-flex align-items-center"},te={class:"mb-0"},se={class:"form-check form-switch ms-auto"},oe={class:"form-check-label",for:"oidc_switch"},ne=["disabled"],le=w({__name:"oidcSettings",props:["mode"],async setup(g){let c,r;const t=g,o=O(),i=b(!1),s=b(!1),n=async()=>{await $("/api/oidc/status",{mode:t.mode},l=>{i.value=l.data,s.value=!1})};[c,r]=A(()=>n()),await c,r();const d=async()=>{s.value=!0,await $("/api/oidc/toggle",{mode:t.mode},l=>{l.status||(i.value=!i.value,o.newMessage("Server",l.message,"danger")),s.value=!1})};return(l,p)=>(_(),f("div",Z,[e("div",ee,[e("h6",te,[a(u,{t:"OpenID Connect (OIDC)"})]),e("div",se,[e("label",oe,[a(u,{t:i.value?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:s.value,"onUpdate:modelValue":p[0]||(p[0]=h=>i.value=h),onChange:p[1]||(p[1]=h=>d()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,ne),[[x,i.value]])])])]))}}),ie={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},ae={class:"card m-auto rounded-3",style:{width:"700px"}},ce={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},re={class:"mb-0"},de={class:"card-body px-4 d-flex gap-3 flex-column"},ue={class:"d-flex align-items-center"},me={class:"mb-0"},_e={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"oidc_switch"},he=["disabled"],ge={class:"d-flex align-items-center"},fe={class:"mb-0"},be={class:"form-check form-switch ms-auto"},ve={class:"form-check-label",for:"sign_up_switch"},Ce=["disabled"],we={class:"text-muted mb-0"},ye={class:"text-muted mb-0"},xe=w({__name:"clientSettings",emits:["close"],setup(g,{emit:c}){const r=c,t=O();b(!1),R({enableClients:t.Configuration.Clients.enable});const o=b(!1),i=async s=>{o.value=!0,await U("/api/updateDashboardConfigurationItem",{section:"Clients",key:s,value:t.Configuration.Clients[s]},async n=>{await t.getConfiguration(),o.value=!1})};return(s,n)=>(_(),f("div",ie,[e("div",ae,[e("div",ce,[e("h4",re,[a(u,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=d=>r("close"))})]),e("div",de,[e("div",ue,[e("h6",me,[a(u,{t:"Client Side App"})]),e("div",_e,[e("label",pe,[a(u,{t:m(t).Configuration.Clients.enable?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[1]||(n[1]=d=>m(t).Configuration.Clients.enable=d),onChange:n[2]||(n[2]=d=>i("enable")),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,he),[[x,m(t).Configuration.Clients.enable]])])]),n[5]||(n[5]=e("hr",null,null,-1)),e("div",null,[e("div",ge,[e("h6",fe,[a(u,{t:"Sign Up as Local Client"})]),e("div",be,[e("label",ve,[a(u,{t:m(t).Configuration.Clients.sign_up?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[3]||(n[3]=d=>m(t).Configuration.Clients.sign_up=d),onChange:n[4]||(n[4]=d=>i("sign_up")),class:"form-check-input",type:"checkbox",role:"switch",id:"sign_up_switch"},null,40,Ce),[[x,m(t).Configuration.Clients.sign_up]])])]),e("small",we,[a(u,{t:"Allow clients to sign up with Email and Password"})])]),e("div",null,[a(le,{mode:"Client"}),e("small",ye,[a(u,{t:"Allow clients to access with OpenID"})])])])])]))}}),$e={class:"text-body w-100 h-100 pb-2 position-relative"},ke={class:"w-100 h-100 card rounded-3"},Se={class:"border-bottom z-0"},Le={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},De=["placeholder"],Ne={class:"row h-100 g-0"},Ve={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},Ie=w({__name:"clients",async setup(g){let c,r;const t=q();[c,r]=A(()=>t.getClients()),await c,r(),t.getAllConfigurationsPeers();const o=b(""),i=z(),s=b(!1),n=D(()=>Object.fromEntries(Object.entries(t.clients).filter(([d,l])=>Object.keys(t.clients).filter(p=>p!=="Local").includes(d))));return(d,l)=>{const p=E("RouterView");return _(),f("div",$e,[e("div",ke,[a(G,{name:"zoom"},{default:I(()=>[s.value?(_(),v(xe,{key:0,onClose:l[0]||(l[0]=h=>s.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",Se,[e("div",Le,[l[4]||(l[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),C(e("input",{"onUpdate:modelValue":l[1]||(l[1]=h=>o.value=h),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:m(P)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,De),[[M,o.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:l[2]||(l[2]=h=>s.value=!s.value)},[l[3]||(l[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),a(u,{t:"Settings"})])])]),e("div",Ne,[e("div",{class:k([{hide:m(i).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",Ve,[Object.keys(m(t).clients).includes("Local")?(_(),v(L,{key:0,searchString:o.value,clients:m(t).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(_(!0),f(N,null,V(n.value,(h,j)=>(_(),v(L,{searchString:o.value,clients:h,groupName:j},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:k([{hide:!m(i).params.id},"col-sm-8 clientViewerContainer z-0"])},[a(p)],2)])])])}}}),Ae=T(Ie,[["__scopeId","data-v-a8650ee3"]]);export{Ae as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configuration-CwxFz-wp.js b/src/static/dist/WGDashboardAdmin/assets/configuration-0xJI58FG.js similarity index 86% rename from src/static/dist/WGDashboardAdmin/assets/configuration-CwxFz-wp.js rename to src/static/dist/WGDashboardAdmin/assets/configuration-0xJI58FG.js index 1d0a9dcd..094aba16 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configuration-CwxFz-wp.js +++ b/src/static/dist/WGDashboardAdmin/assets/configuration-0xJI58FG.js @@ -1 +1 @@ -import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-DXzxfcZW.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; +import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-DM7YJCOo.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-BcQfpCge.js b/src/static/dist/WGDashboardAdmin/assets/configurationList-DZ8s_3m3.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/configurationList-BcQfpCge.js rename to src/static/dist/WGDashboardAdmin/assets/configurationList-DZ8s_3m3.js index 8fc1b41c..045b9c34 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configurationList-BcQfpCge.js +++ b/src/static/dist/WGDashboardAdmin/assets/configurationList-DZ8s_3m3.js @@ -1 +1 @@ -import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h,n as m,e as v,t as u,m as U,j as y,d as p,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-DXzxfcZW.js";import{L as S}from"./localeText-Dmcj5qqx.js";import{_ as j}from"./protocolBadge-BttcwGux.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},a=>{a.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${a.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",a.message,"danger"),this.c.Status=a.data,this.configurationToggling=!1})}}},T=()=>{K(a=>({v0d365bfc:a.delay}))},M=P.setup;P.setup=M?(a,s)=>(T(),M(a,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},at={class:"form-check form-switch ms-auto"},nt=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(a,s,e,_,n,g){const d=h("ProtocolBadge"),r=h("RouterLink"),c=h("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):p("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",at,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):p("",!0),this.configurationToggling?(o(),i("span",it)):p("",!0)],8,nt),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(a){K(n=>({v2dc8ab7e:_.value}));const s=a,e=R(!1),_=G(()=>s.square?"40px":"25px");return(n,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${a.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[a.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(a.mount.mountPoint),1)]),t("small",ut,u(a.mount.percent)+"% ",1)],6)):p("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},pt={class:"d-flex align-items-center"},ht={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-grid mt-2 gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-grid mt-2 gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(a){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},n=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",pt,[t("h6",ht,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[n.value?(o(),i("span",bt,u(n.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${n.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(n.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(n.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[n.value?(o(),i("span",Dt,u(n.value.Disks.find(r=>r.mountPoint==="/")?n.value?.Disks.find(r=>r.mountPoint==="/").percent:n.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${n.value?.Disks.find(r=>r.mountPoint==="/")?n.value?.Disks.find(r=>r.mountPoint==="/").percent:n.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[n.value?(o(!0),i(w,{key:0},k(n.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(n.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):p("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[n.value?(o(),i("span",Kt,u(n.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${n.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[n.value?(o(),i("span",qt,u(n.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-01ef60a9"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(a=>a.Name.toLowerCase().includes(this.searchKey)||a.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(a,s){let e=s.split(".").reduce((_,n)=>_&&_[n],a);return typeof e=="string"?e.toLowerCase():e},updateSort(a){this.wireguardConfigurationsStore.CurrentSort.key===a?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=a},updateDisplay(a){this.wireguardConfigurationsStore.CurrentDisplay!==a&&(this.wireguardConfigurationsStore.CurrentDisplay=a)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ae={class:"d-flex ms-auto ms-lg-0"},ne=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(a,s,e,_,n,g){const d=h("SystemStatus"),r=h("LocaleText"),c=h("RouterLink"),$=h("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):p("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ae,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ne)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):p("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):p("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; +import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h,n as m,e as v,t as u,m as U,j as y,d as p,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-DM7YJCOo.js";import{L as S}from"./localeText-BJvnc1lF.js";import{_ as j}from"./protocolBadge-VYIlC1Ec.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},a=>{a.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${a.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",a.message,"danger"),this.c.Status=a.data,this.configurationToggling=!1})}}},T=()=>{K(a=>({v0d365bfc:a.delay}))},M=P.setup;P.setup=M?(a,s)=>(T(),M(a,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},at={class:"form-check form-switch ms-auto"},nt=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(a,s,e,_,n,g){const d=h("ProtocolBadge"),r=h("RouterLink"),c=h("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):p("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",at,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):p("",!0),this.configurationToggling?(o(),i("span",it)):p("",!0)],8,nt),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(a){K(n=>({v2dc8ab7e:_.value}));const s=a,e=R(!1),_=G(()=>s.square?"40px":"25px");return(n,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${a.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[a.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(a.mount.mountPoint),1)]),t("small",ut,u(a.mount.percent)+"% ",1)],6)):p("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},pt={class:"d-flex align-items-center"},ht={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-grid mt-2 gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-grid mt-2 gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(a){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},n=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",pt,[t("h6",ht,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[n.value?(o(),i("span",bt,u(n.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${n.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(n.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(n.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[n.value?(o(),i("span",Dt,u(n.value.Disks.find(r=>r.mountPoint==="/")?n.value?.Disks.find(r=>r.mountPoint==="/").percent:n.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${n.value?.Disks.find(r=>r.mountPoint==="/")?n.value?.Disks.find(r=>r.mountPoint==="/").percent:n.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[n.value?(o(!0),i(w,{key:0},k(n.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(n.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):p("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[n.value?(o(),i("span",Kt,u(n.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${n.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[n.value?(o(),i("span",qt,u(n.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-01ef60a9"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(a=>a.Name.toLowerCase().includes(this.searchKey)||a.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(a,s){let e=s.split(".").reduce((_,n)=>_&&_[n],a);return typeof e=="string"?e.toLowerCase():e},updateSort(a){this.wireguardConfigurationsStore.CurrentSort.key===a?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=a},updateDisplay(a){this.wireguardConfigurationsStore.CurrentDisplay!==a&&(this.wireguardConfigurationsStore.CurrentDisplay=a)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ae={class:"d-flex ms-auto ms-lg-0"},ne=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(a,s,e,_,n,g){const d=h("SystemStatus"),r=h("LocaleText"),c=h("RouterLink"),$=h("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):p("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ae,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ne)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):p("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):p("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BNCV3lPl.js b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-DBnS2OTV.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BNCV3lPl.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-DBnS2OTV.js index 41425311..7da25956 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BNCV3lPl.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-DBnS2OTV.js @@ -1 +1 @@ -import{_ as A,c as r,a as e,m as p,b as l,h as y,y as v,n as $,t as x,z as w,D as k,A as S,f as i,d as g,v as C,e as I,j as _,F as K,w as V,T as F,k as M,g as T,i as E,o as N,r as D,u as m,C as U}from"./index-DXzxfcZW.js";import{L as c}from"./localeText-Dmcj5qqx.js";import{d as P}from"./dayjs.min-C-brjxlJ.js";import{Z as Y}from"./vue-datepicker-vren6E8j.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),p(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[v,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Z={class:"col-sm"},J={class:"form-group"},Q=["for"],X=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Z,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,Q),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,X),[[v,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[v,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[v,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},pe={class:"d-flex gap-1"};function he(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",pe,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const vt=A(ce,[["render",he]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},ve={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},_e={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ie(t,s,h,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",ve,[e("h6",_e,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[C,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=I(" (",-1)),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=I(") ",-1))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),_(o,{key:1,t:"Creating..."})):(i(),_(o,{key:2,t:"Create"}))],2)])])])}const Ce=A(be,[["render",Ie]]),De={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Se={class:"card rounded-3 shadow-sm"},Ke={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",Se,[this.confirmDelete?(i(),r(K,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},[...s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])]),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},[...s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)])])]))],64)):(i(),r("div",Ke,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),_(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])]))]))])}const Ue=A(De,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:Ce},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Ze(t,s,h,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[C,this.value]]),e("label",qe,[this.value?(i(),_(o,{key:0,t:"Enabled"})):(i(),_(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(K,null,E(this.apiKeys,d=>(i(),_(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),_(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const _t=A(Ye,[["render",Ze],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Qe={class:"d-flex align-items-center"},Xe={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[C,this.status]]),e("label",es,[this.status?(i(),_(o,{key:0,t:"Enabled"})):(i(),_(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),_(o,{key:0,t:"Reset"})):(i(),_(o,{key:1,t:"Setup"})),s[3]||(s[3]=I(" MFA ",-1))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function ps(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),_(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(K,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[I(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",ps],["__scopeId","data-v-4e34593e"]]),hs={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,h){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:h},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=h,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},vs={for:"input_dashboard_ip",class:"text-muted mb-1"},_s=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Is(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",vs,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),p(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,_s),[[v,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),p(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[v,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(hs,[["render",Is]]),Cs={class:"card"},Ds={class:"card-header"},Ss={class:"my-2 d-flex"},Ks={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Zs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Qs={for:"email_password",class:"text-muted mb-1"},Xs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const h=D(!1),b=D(""),u=D(!1),f=async()=>{await T("/api/email/ready",{},a=>{h.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Cs,[e("div",Ds,[e("h6",Ss,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Server Settings"}),h.value?(i(),r("span",Ks,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[p(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[C,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),p(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),p(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),p(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"IMPLICITTLS"}," IMPLICIT TLS ",-1)),n[14]||(n[14]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),p(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Zs,[e("div",Js,[e("label",Qs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),p(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Xs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),p(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.send_from]])])])])],32),h.value?(i(),r("hr",tt)):g("",!0),h.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[p(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[v,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),p(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[v,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,vt as D,kt as _,gt as a,_t as b,yt as c,wt as d,$t as e}; +import{_ as A,c as r,a as e,m as p,b as l,h as y,y as v,n as $,t as x,z as w,D as k,A as S,f as i,d as g,v as C,e as I,j as _,F as K,w as V,T as F,k as M,g as T,i as E,o as N,r as D,u as m,C as U}from"./index-DM7YJCOo.js";import{L as c}from"./localeText-BJvnc1lF.js";import{d as P}from"./dayjs.min-DZl6XMNW.js";import{Z as Y}from"./vue-datepicker-9N8DgATH.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),p(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[v,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Z={class:"col-sm"},J={class:"form-group"},Q=["for"],X=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Z,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,Q),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,X),[[v,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[v,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),p(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[v,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},pe={class:"d-flex gap-1"};function he(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",pe,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const vt=A(ce,[["render",he]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},ve={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},_e={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ie(t,s,h,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",ve,[e("h6",_e,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[C,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=I(" (",-1)),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=I(") ",-1))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),_(o,{key:1,t:"Creating..."})):(i(),_(o,{key:2,t:"Create"}))],2)])])])}const Ce=A(be,[["render",Ie]]),De={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Se={class:"card rounded-3 shadow-sm"},Ke={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",Se,[this.confirmDelete?(i(),r(K,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},[...s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])]),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},[...s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)])])]))],64)):(i(),r("div",Ke,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),_(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])]))]))])}const Ue=A(De,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:Ce},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Ze(t,s,h,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[C,this.value]]),e("label",qe,[this.value?(i(),_(o,{key:0,t:"Enabled"})):(i(),_(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(K,null,E(this.apiKeys,d=>(i(),_(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),_(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const _t=A(Ye,[["render",Ze],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${S()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Qe={class:"d-flex align-items-center"},Xe={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[p(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[C,this.status]]),e("label",es,[this.status?(i(),_(o,{key:0,t:"Enabled"})):(i(),_(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),_(o,{key:0,t:"Reset"})):(i(),_(o,{key:1,t:"Setup"})),s[3]||(s[3]=I(" MFA ",-1))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function ps(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),_(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(K,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[I(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",ps],["__scopeId","data-v-4e34593e"]]),hs={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,h){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:h},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=h,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},vs={for:"input_dashboard_ip",class:"text-muted mb-1"},_s=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Is(t,s,h,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",vs,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),p(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,_s),[[v,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),p(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[v,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(hs,[["render",Is]]),Cs={class:"card"},Ds={class:"card-header"},Ss={class:"my-2 d-flex"},Ks={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Zs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Qs={for:"email_password",class:"text-muted mb-1"},Xs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const h=D(!1),b=D(""),u=D(!1),f=async()=>{await T("/api/email/ready",{},a=>{h.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Cs,[e("div",Ds,[e("h6",Ss,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Server Settings"}),h.value?(i(),r("span",Ks,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[p(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[C,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),p(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),p(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),p(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"IMPLICITTLS"}," IMPLICIT TLS ",-1)),n[14]||(n[14]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),p(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Zs,[e("div",Js,[e("label",Qs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),p(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Xs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),p(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[v,m(s).Configuration.Email.send_from]])])])])],32),h.value?(i(),r("hr",tt)):g("",!0),h.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[p(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[v,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),p(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[v,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,vt as D,kt as _,gt as a,_t as b,yt as c,wt as d,$t as e}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js index 147aed30..43ef2093 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js @@ -1 +1 @@ -import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-DXzxfcZW.js";import{L as C}from"./localeText-Dmcj5qqx.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; +import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-DM7YJCOo.js";import{L as C}from"./localeText-BJvnc1lF.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BrixRm6N.js b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BmRLNEC1.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BrixRm6N.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BmRLNEC1.js index a2063baf..2248a1ef 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BrixRm6N.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-BmRLNEC1.js @@ -1 +1 @@ -import{L as a}from"./localeText-Dmcj5qqx.js";import{B as D,r as p,E,G as A,D as F,c as o,d as f,a as e,b as l,m as w,e as V,y as U,C as O,v as I,F as C,i as L,n as _,u as J,A as K,t as h,g as R,z as T,f as t,q as N,j as $,x as Y,_ as j,o as Z,w as P,S as M}from"./index-DXzxfcZW.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},he={class:"form-check form-check-inline"},_e=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(i,{emit:m}){let y,r;const s=p({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=i;u.webHook?s.value={...u.webHook}:([y,r]=E(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=p({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,d=F(),c=p(!1),S=p(""),v=p(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await T("/api/webHooks/updateWebHook",s.value,n=>{n.status?(x("refresh"),d.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=n.message,d.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await T("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),d.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,d.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,n)=>(t(),o("div",Q,[i.webHook?f("",!0):(t(),o("div",X,[e("h6",null,[l(a,{t:"Add Webhook"})]),e("p",null,[l(a,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:n[7]||(n[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[l(a,{t:"Payload URL"}),n[8]||(n[8]=V("* ",-1))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":n[0]||(n[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[U,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[l(a,{t:"Content Type"}),n[9]||(n[9]=V("* ",-1))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":n[1]||(n[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},[...n[10]||(n[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)])],8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[l(a,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[2]||(n[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[I,s.value.VerifySSL]]),e("label",ie,[l(a,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?f("",!0):(t(),o("div",de,[n[11]||(n[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(a,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[l(a,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),o(C,null,L(s.value.Headers,(b,H)=>(t(),o("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[U,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[U,b.value]])]),e("button",{class:_([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},[...n[12]||(n[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,ke)]))),256)),e("button",{type:"button",class:_([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:n[3]||(n[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[n[13]||(n[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(a,{t:"Header"})],2)])])]),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[l(a,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),o(C,null,L(k.value,(b,H)=>(t(),o("div",he,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":n[4]||(n[4]=W=>s.value.SubscribedActions=W)},null,8,_e),[[I,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},h(b),9,xe)]))),256))])]),n[16]||(n[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[l(a,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[5]||(n[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[I,s.value.IsActive]]),e("label",$e,[l(a,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),o("div",He,h(S.value),1)):f("",!0),e("div",We,[e("button",{type:"submit",class:_([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[l(a,{t:"Save"})],2)]),i.webHook?(t(),o(C,{key:1},[n[14]||(n[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[l(a,{t:"Danger Zone"})]),e("button",{onClick:n[6]||(n[6]=b=>z()),type:"button",class:_([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[l(a,{t:"Delete"})],2)])],64)):f("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ue={key:1},Ie={key:2},Pe={key:3},Re={class:"d-flex gap-4 align-items-center"},Te={class:"text-muted"},Me={key:0},Be={key:1},Ee={class:"text-muted"},Ne={class:"table-responsive"},je={class:"table"},qe={scope:"col"},Ge={scope:"col"},ze={scope:"col"},Fe={style:{"white-space":"nowrap"}},Oe={key:0},Je={key:1},Ke={key:2},Ye={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ze={class:"bg-body-tertiary p-3 rounded-3"},Qe={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(i){const m=i,y=N(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),o("div",De,[e("div",null,[e("small",Ve,[l(a,{t:"Status"})]),e("h3",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(a,{t:"Success"})])):f("",!0),i.session.Status===2?(t(),o("span",Ue,[s[1]||(s[1]=e("i",{class:"bi bi-trash3-fill me-2"},null,-1)),l(a,{t:"Timeout"})])):i.session.Status===1?(t(),o("span",Ie,[s[2]||(s[2]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),l(a,{t:"Failed"})])):i.session.Status===-1?(t(),o("span",Pe,[s[3]||(s[3]=e("i",{class:"spinner-border me-2"},null,-1)),l(a,{t:"Requesting..."})])):f("",!0)],2),e("div",Re,[e("div",null,[e("small",Te,[l(a,{t:"Started At"})]),e("h6",null,h(i.session.StartDate),1)]),i.session.EndDate?(t(),o("div",Me,[...s[4]||(s[4]=[e("i",{class:"bi bi-arrow-right"},null,-1)])])):f("",!0),i.session.EndDate?(t(),o("div",Be,[e("small",Ee,[l(a,{t:"Ended At"})]),e("h6",null,h(i.session.EndDate),1)])):f("",!0)])]),e("div",null,[e("h6",null,[l(a,{t:"Logs"})]),e("div",Ne,[e("table",je,[e("thead",null,[e("tr",null,[e("th",qe,[l(a,{t:"Datetime"})]),e("th",Ge,[l(a,{t:"Status"})]),e("th",ze,[l(a,{t:"Message"})])])]),e("tbody",null,[(t(!0),o(C,null,L([...i.session.Logs.Logs].reverse(),u=>(t(),o("tr",null,[e("td",Fe,h(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:_({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),o("span",Oe,[...s[5]||(s[5]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):u.Status===1?(t(),o("span",Je,[...s[6]||(s[6]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):u.Status===-1?(t(),o("span",Ke,[...s[7]||(s[7]=[e("i",{class:"bi bi-circle me-2"},null,-1)])])):f("",!0)],2),e("td",Ye,h(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[l(a,{t:"Data"})]),e("div",Ze,[e("pre",Qe,[e("code",null,h(y.value),1)])])])]))}}),Xe={class:"card"},es={class:"card-body"},ss={key:0},ts={key:1},ls={key:2},os={key:3},ns=D({__name:"previousWebHookSession",props:["session"],setup(i){const m=p(!0);return(y,r)=>(t(),o("div",Xe,[e("div",es,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",ss,[...r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):i.session.Status===2?(t(),o("span",ts,[...r[2]||(r[2]=[e("i",{class:"bi bi-trash3-fill me-2"},null,-1)])])):i.session.Status===1?(t(),o("span",ls,[...r[3]||(r[3]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):i.session.Status===-1?(t(),o("span",os,[...r[4]||(r[4]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)])])):f("",!0)],2),V(" "+h(i.session.StartDate)+" ",1),r[5]||(r[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?f("",!0):(t(),$(q,{key:0,session:i.session,class:"mt-2"},null,8,["session"]))])]))}}),as={key:0},is={class:"p-3"},ds={class:"mb-3"},us={key:0,class:"border-top p-3"},rs={class:"d-flex flex-column gap-2"},cs={key:1,class:"p-3"},bs=D({__name:"webHookSessions",props:["webHook"],async setup(i){let m,y;const r=i,s=p([]),u=p(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},d=>{s.value=d.data})};[m,y]=E(()=>k()),await m,y();const x=N(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(d,c)=>x.value?(t(),o("div",as,[e("div",is,[e("h6",ds,[l(a,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),o("div",us,[e("h6",null,[l(a,{t:"Previous Sessions"})]),e("div",rs,[(t(!0),o(C,null,L(s.value.slice(1),S=>(t(),$(ns,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):f("",!0)])):(t(),o("div",cs,[...c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])]))}}),vs=j(bs,[["__scopeId","data-v-7b6e949e"]]),ms={class:"text-body w-100 h-100 pb-2 position-relative"},fs={class:"w-100 h-100 card rounded-3"},ps={class:"border-bottom z-0"},ks={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ys={class:"my-2"},hs={key:0,class:"row h-100 g-0"},_s={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},xs={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},gs={class:"list-group d-flex flex-column d-flex h-100"},Ss=["onClick"],ws={class:"mb-0 fw-bold text-body url"},$s={class:"url mb-0"},Hs={key:1,class:"flex-grow-1 d-flex text-muted"},Ws={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Cs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ls={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Ds={class:"container-fluid"},Vs={class:"navbar-nav gap-2"},As={class:"nav-item"},Us={class:"nav-item"},Is={class:"p-3"},Ps=D({__name:"dashboardWebHooks",setup(i){const m=p([]),y=p(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=p(!1),u=p(void 0),k=p("edit");return(x,d)=>(t(),o("div",ms,[e("div",fs,[e("div",ps,[e("div",ks,[e("h6",ys,[d[7]||(d[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),l(a,{t:"Webhooks"})]),s.value?(t(),o("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:d[1]||(d[1]=c=>s.value=!1)},[d[9]||(d[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),l(a,{t:"Back"})])):(t(),o("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:d[0]||(d[0]=c=>{s.value=!0,u.value=void 0})},[d[8]||(d[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(a,{t:"Webhook"})]))])]),s.value?(t(),$(M,{key:1},{default:P(()=>[l(B,{onRefresh:d[6]||(d[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),o("div",hs,[e("div",_s,[e("div",xs,[e("div",gs,[m.value.length>0?(t(!0),o(C,{key:0},L(m.value,c=>(t(),o("a",{role:"button",onClick:S=>u.value=c,class:_([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",ws,h(c.PayloadURL),1),e("p",$s,[l(a,{t:"Subscribed Actions"}),V(": "+h(c.SubscribedActions.join(", ")),1)])],10,Ss))),256)):(t(),o("div",Hs,[l(a,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),o("div",Ws,[e("div",Cs,[e("nav",Ls,[e("div",Ds,[e("div",null,[e("ul",Vs,[e("li",As,[e("a",{onClick:d[2]||(d[2]=c=>k.value="edit"),class:_([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[l(a,{t:"Edit"})],2)]),e("li",Us,[e("a",{class:_([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:d[3]||(d[3]=c=>k.value="sessions"),role:"button"},[l(a,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:d[4]||(d[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:d[5]||(d[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(M,{key:1},{fallback:P(()=>[e("div",Is,[l(a,{t:"Loading..."})])]),default:P(()=>[(t(),$(vs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):f("",!0)])])):f("",!0)]))])]))}}),Ms=j(Ps,[["__scopeId","data-v-e0f0e683"]]);export{Ms as default}; +import{L as a}from"./localeText-BJvnc1lF.js";import{B as D,r as p,E,G as A,D as F,c as o,d as f,a as e,b as l,m as w,e as V,y as U,C as O,v as I,F as C,i as L,n as _,u as J,A as K,t as h,g as R,z as T,f as t,q as N,j as $,x as Y,_ as j,o as Z,w as P,S as M}from"./index-DM7YJCOo.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},he={class:"form-check form-check-inline"},_e=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(i,{emit:m}){let y,r;const s=p({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=i;u.webHook?s.value={...u.webHook}:([y,r]=E(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=p({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,d=F(),c=p(!1),S=p(""),v=p(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await T("/api/webHooks/updateWebHook",s.value,n=>{n.status?(x("refresh"),d.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=n.message,d.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await T("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),d.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,d.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,n)=>(t(),o("div",Q,[i.webHook?f("",!0):(t(),o("div",X,[e("h6",null,[l(a,{t:"Add Webhook"})]),e("p",null,[l(a,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:n[7]||(n[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[l(a,{t:"Payload URL"}),n[8]||(n[8]=V("* ",-1))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":n[0]||(n[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[U,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[l(a,{t:"Content Type"}),n[9]||(n[9]=V("* ",-1))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":n[1]||(n[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},[...n[10]||(n[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)])],8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[l(a,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[2]||(n[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[I,s.value.VerifySSL]]),e("label",ie,[l(a,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?f("",!0):(t(),o("div",de,[n[11]||(n[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(a,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[l(a,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),o(C,null,L(s.value.Headers,(b,H)=>(t(),o("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[U,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[U,b.value]])]),e("button",{class:_([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},[...n[12]||(n[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,ke)]))),256)),e("button",{type:"button",class:_([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:n[3]||(n[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[n[13]||(n[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(a,{t:"Header"})],2)])])]),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[l(a,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),o(C,null,L(k.value,(b,H)=>(t(),o("div",he,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":n[4]||(n[4]=W=>s.value.SubscribedActions=W)},null,8,_e),[[I,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},h(b),9,xe)]))),256))])]),n[16]||(n[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[l(a,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[5]||(n[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[I,s.value.IsActive]]),e("label",$e,[l(a,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),o("div",He,h(S.value),1)):f("",!0),e("div",We,[e("button",{type:"submit",class:_([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[l(a,{t:"Save"})],2)]),i.webHook?(t(),o(C,{key:1},[n[14]||(n[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[l(a,{t:"Danger Zone"})]),e("button",{onClick:n[6]||(n[6]=b=>z()),type:"button",class:_([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[l(a,{t:"Delete"})],2)])],64)):f("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ue={key:1},Ie={key:2},Pe={key:3},Re={class:"d-flex gap-4 align-items-center"},Te={class:"text-muted"},Me={key:0},Be={key:1},Ee={class:"text-muted"},Ne={class:"table-responsive"},je={class:"table"},qe={scope:"col"},Ge={scope:"col"},ze={scope:"col"},Fe={style:{"white-space":"nowrap"}},Oe={key:0},Je={key:1},Ke={key:2},Ye={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ze={class:"bg-body-tertiary p-3 rounded-3"},Qe={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(i){const m=i,y=N(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),o("div",De,[e("div",null,[e("small",Ve,[l(a,{t:"Status"})]),e("h3",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(a,{t:"Success"})])):f("",!0),i.session.Status===2?(t(),o("span",Ue,[s[1]||(s[1]=e("i",{class:"bi bi-trash3-fill me-2"},null,-1)),l(a,{t:"Timeout"})])):i.session.Status===1?(t(),o("span",Ie,[s[2]||(s[2]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),l(a,{t:"Failed"})])):i.session.Status===-1?(t(),o("span",Pe,[s[3]||(s[3]=e("i",{class:"spinner-border me-2"},null,-1)),l(a,{t:"Requesting..."})])):f("",!0)],2),e("div",Re,[e("div",null,[e("small",Te,[l(a,{t:"Started At"})]),e("h6",null,h(i.session.StartDate),1)]),i.session.EndDate?(t(),o("div",Me,[...s[4]||(s[4]=[e("i",{class:"bi bi-arrow-right"},null,-1)])])):f("",!0),i.session.EndDate?(t(),o("div",Be,[e("small",Ee,[l(a,{t:"Ended At"})]),e("h6",null,h(i.session.EndDate),1)])):f("",!0)])]),e("div",null,[e("h6",null,[l(a,{t:"Logs"})]),e("div",Ne,[e("table",je,[e("thead",null,[e("tr",null,[e("th",qe,[l(a,{t:"Datetime"})]),e("th",Ge,[l(a,{t:"Status"})]),e("th",ze,[l(a,{t:"Message"})])])]),e("tbody",null,[(t(!0),o(C,null,L([...i.session.Logs.Logs].reverse(),u=>(t(),o("tr",null,[e("td",Fe,h(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:_({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),o("span",Oe,[...s[5]||(s[5]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):u.Status===1?(t(),o("span",Je,[...s[6]||(s[6]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):u.Status===-1?(t(),o("span",Ke,[...s[7]||(s[7]=[e("i",{class:"bi bi-circle me-2"},null,-1)])])):f("",!0)],2),e("td",Ye,h(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[l(a,{t:"Data"})]),e("div",Ze,[e("pre",Qe,[e("code",null,h(y.value),1)])])])]))}}),Xe={class:"card"},es={class:"card-body"},ss={key:0},ts={key:1},ls={key:2},os={key:3},ns=D({__name:"previousWebHookSession",props:["session"],setup(i){const m=p(!0);return(y,r)=>(t(),o("div",Xe,[e("div",es,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",ss,[...r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):i.session.Status===2?(t(),o("span",ts,[...r[2]||(r[2]=[e("i",{class:"bi bi-trash3-fill me-2"},null,-1)])])):i.session.Status===1?(t(),o("span",ls,[...r[3]||(r[3]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):i.session.Status===-1?(t(),o("span",os,[...r[4]||(r[4]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)])])):f("",!0)],2),V(" "+h(i.session.StartDate)+" ",1),r[5]||(r[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?f("",!0):(t(),$(q,{key:0,session:i.session,class:"mt-2"},null,8,["session"]))])]))}}),as={key:0},is={class:"p-3"},ds={class:"mb-3"},us={key:0,class:"border-top p-3"},rs={class:"d-flex flex-column gap-2"},cs={key:1,class:"p-3"},bs=D({__name:"webHookSessions",props:["webHook"],async setup(i){let m,y;const r=i,s=p([]),u=p(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},d=>{s.value=d.data})};[m,y]=E(()=>k()),await m,y();const x=N(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(d,c)=>x.value?(t(),o("div",as,[e("div",is,[e("h6",ds,[l(a,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),o("div",us,[e("h6",null,[l(a,{t:"Previous Sessions"})]),e("div",rs,[(t(!0),o(C,null,L(s.value.slice(1),S=>(t(),$(ns,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):f("",!0)])):(t(),o("div",cs,[...c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])]))}}),vs=j(bs,[["__scopeId","data-v-7b6e949e"]]),ms={class:"text-body w-100 h-100 pb-2 position-relative"},fs={class:"w-100 h-100 card rounded-3"},ps={class:"border-bottom z-0"},ks={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ys={class:"my-2"},hs={key:0,class:"row h-100 g-0"},_s={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},xs={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},gs={class:"list-group d-flex flex-column d-flex h-100"},Ss=["onClick"],ws={class:"mb-0 fw-bold text-body url"},$s={class:"url mb-0"},Hs={key:1,class:"flex-grow-1 d-flex text-muted"},Ws={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Cs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ls={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Ds={class:"container-fluid"},Vs={class:"navbar-nav gap-2"},As={class:"nav-item"},Us={class:"nav-item"},Is={class:"p-3"},Ps=D({__name:"dashboardWebHooks",setup(i){const m=p([]),y=p(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=p(!1),u=p(void 0),k=p("edit");return(x,d)=>(t(),o("div",ms,[e("div",fs,[e("div",ps,[e("div",ks,[e("h6",ys,[d[7]||(d[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),l(a,{t:"Webhooks"})]),s.value?(t(),o("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:d[1]||(d[1]=c=>s.value=!1)},[d[9]||(d[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),l(a,{t:"Back"})])):(t(),o("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:d[0]||(d[0]=c=>{s.value=!0,u.value=void 0})},[d[8]||(d[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(a,{t:"Webhook"})]))])]),s.value?(t(),$(M,{key:1},{default:P(()=>[l(B,{onRefresh:d[6]||(d[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),o("div",hs,[e("div",_s,[e("div",xs,[e("div",gs,[m.value.length>0?(t(!0),o(C,{key:0},L(m.value,c=>(t(),o("a",{role:"button",onClick:S=>u.value=c,class:_([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",ws,h(c.PayloadURL),1),e("p",$s,[l(a,{t:"Subscribed Actions"}),V(": "+h(c.SubscribedActions.join(", ")),1)])],10,Ss))),256)):(t(),o("div",Hs,[l(a,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),o("div",Ws,[e("div",Cs,[e("nav",Ls,[e("div",Ds,[e("div",null,[e("ul",Vs,[e("li",As,[e("a",{onClick:d[2]||(d[2]=c=>k.value="edit"),class:_([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[l(a,{t:"Edit"})],2)]),e("li",Us,[e("a",{class:_([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:d[3]||(d[3]=c=>k.value="sessions"),role:"button"},[l(a,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:d[4]||(d[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:d[5]||(d[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(M,{key:1},{fallback:P(()=>[e("div",Is,[l(a,{t:"Loading..."})])]),default:P(()=>[(t(),$(vs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):f("",!0)])])):f("",!0)]))])]))}}),Ms=j(Ps,[["__scopeId","data-v-e0f0e683"]]);export{Ms as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-C-brjxlJ.js b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-DZl6XMNW.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dayjs.min-C-brjxlJ.js rename to src/static/dist/WGDashboardAdmin/assets/dayjs.min-DZl6XMNW.js index 454a0777..64a752f7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-C-brjxlJ.js +++ b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-DZl6XMNW.js @@ -1 +1 @@ -import{O as G}from"./index-DXzxfcZW.js";var W={exports:{}},K=W.exports,E;function X(){return E||(E=1,(function(V,et){(function(A,x){V.exports=x()})(K,(function(){var A=1e3,x=6e4,U=36e5,I="millisecond",S="second",w="minute",O="hour",M="day",H="week",m="month",J="quarter",y="year",_="date",Z="Invalid Date",B=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,P=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Q={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},F=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},R={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=R;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=(function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=(function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(B);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)})(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t)=n?s:""+Array(n+1-r.length).join(t)+s},R={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=R;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=(function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=(function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(B);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)})(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t){q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=M(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),k(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[$,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=O(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=O(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=M(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),k(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[$,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=O(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=O(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{this.scrollBarWidth=t[0].target.offsetWidth-t[0].target.clientWidth,this.scrollBarHeight=t[0].target.offsetHeight-t[0].target.clientHeight,this.textareaHeight=t[0].target.offsetHeight}).observe(this.$refs.textarea);const r=new ResizeObserver(t=>{this.lineNumsWidth=t[0].target.offsetWidth});this.$refs.lineNums&&r.observe(this.$refs.lineNums)},copy(){document.execCommand("copy")?(this.$refs.textarea.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()):navigator.clipboard.writeText(this.$refs.textarea.value)},getLineNum(){const d=this.$refs.textarea.value;let r=0,t=d.indexOf(` `);for(;t!==-1;)r++,t=d.indexOf(` diff --git a/src/static/dist/WGDashboardAdmin/assets/index-Bf88kmMW.js b/src/static/dist/WGDashboardAdmin/assets/index-Bt0JU5XL.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/index-Bf88kmMW.js rename to src/static/dist/WGDashboardAdmin/assets/index-Bt0JU5XL.js index 01dfd04b..fba322fc 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-Bf88kmMW.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-Bt0JU5XL.js @@ -1,3 +1,3 @@ -import{B as Vs,Q as Ws,R as qe,U as Vn,r as Wn,o as Nn,V as jn,H as $n,X as Ge,Y as Ns,Z as Yn}from"./index-DXzxfcZW.js";function se(i){return i+.5|0}const lt=(i,t,e)=>Math.max(Math.min(i,e),t);function jt(i){return lt(se(i*2.55),0,255)}function dt(i){return lt(se(i*255),0,255)}function at(i){return lt(se(i/2.55)/100,0,1)}function vi(i){return lt(se(i*100),0,100)}const X={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ze=[..."0123456789ABCDEF"],Un=i=>Ze[i&15],Xn=i=>Ze[(i&240)>>4]+Ze[i&15],ae=i=>(i&240)>>4===(i&15),Kn=i=>ae(i.r)&&ae(i.g)&&ae(i.b)&&ae(i.a);function qn(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&X[i[1]]*17,g:255&X[i[2]]*17,b:255&X[i[3]]*17,a:t===5?X[i[4]]*17:255}:(t===7||t===9)&&(e={r:X[i[1]]<<4|X[i[2]],g:X[i[3]]<<4|X[i[4]],b:X[i[5]]<<4|X[i[6]],a:t===9?X[i[7]]<<4|X[i[8]]:255})),e}const Gn=(i,t)=>i<255?t(i):"";function Zn(i){var t=Kn(i)?Un:Xn;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Gn(i.a,t):void 0}const Qn=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function js(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Jn(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function to(i,t,e){const s=js(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function eo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=eo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function ri(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(dt)}function ai(i,t,e){return ri(js,i,t,e)}function io(i,t,e){return ri(to,i,t,e)}function so(i,t,e){return ri(Jn,i,t,e)}function $s(i){return(i%360+360)%360}function no(i){const t=Qn.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?jt(+t[5]):dt(+t[5]));const n=$s(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=io(n,o,r):t[1]==="hsv"?s=so(n,o,r):s=ai(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function oo(i,t){var e=oi(i);e[0]=$s(e[0]+t),e=ai(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ro(i){if(!i)return;const t=oi(i),e=t[0],s=vi(t[1]),n=vi(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${at(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ki={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Si={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ao(){const i={},t=Object.keys(Si),e=Object.keys(ki);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let le;function lo(i){le||(le=ao(),le.transparent=[0,0,0,0]);const t=le[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const co=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ho(i){const t=co.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?jt(r):lt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?jt(s):lt(s,0,255)),n=255&(t[4]?jt(n):lt(n,0,255)),o=255&(t[6]?jt(o):lt(o,0,255)),{r:s,g:n,b:o,a:e}}}function fo(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${at(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Re=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Ot=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function uo(i,t,e){const s=Ot(at(i.r)),n=Ot(at(i.g)),o=Ot(at(i.b));return{r:dt(Re(s+e*(Ot(at(t.r))-s))),g:dt(Re(n+e*(Ot(at(t.g))-n))),b:dt(Re(o+e*(Ot(at(t.b))-o))),a:i.a+e*(t.a-i.a)}}function ce(i,t,e){if(i){let s=oi(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=ai(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function Ys(i,t){return i&&Object.assign(t||{},i)}function wi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=dt(i[3]))):(t=Ys(i,{r:0,g:0,b:0,a:1}),t.a=dt(t.a)),t}function go(i){return i.charAt(0)==="r"?ho(i):no(i)}class Gt{constructor(t){if(t instanceof Gt)return t;const e=typeof t;let s;e==="object"?s=wi(t):e==="string"&&(s=qn(t)||lo(t)||go(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=Ys(this._rgb);return t&&(t.a=at(t.a)),t}set rgb(t){this._rgb=wi(t)}rgbString(){return this._valid?fo(this._rgb):void 0}hexString(){return this._valid?Zn(this._rgb):void 0}hslString(){return this._valid?ro(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=uo(this._rgb,t._rgb,e)),this}clone(){return new Gt(this.rgb)}alpha(t){return this._rgb.a=dt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=se(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ce(this._rgb,2,t),this}darken(t){return ce(this._rgb,2,-t),this}saturate(t){return ce(this._rgb,1,t),this}desaturate(t){return ce(this._rgb,1,-t),this}rotate(t){return oo(this._rgb,t),this}}function nt(){}const po=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function O(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function W(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function J(i,t){return W(i)?i:t}function P(i,t){return typeof i>"u"?t:i}const mo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function I(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function L(i,t,e,s){let n,o,r;if(z(i))for(o=i.length,n=0;ni,x:i=>i.x,y:i=>i.y};function _o(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function yo(i){const t=_o(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Lt(i,t){return(Mi[t]||(Mi[t]=yo(t)))(i)}function li(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Qt=i=>typeof i<"u",ft=i=>typeof i=="function",Pi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function vo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const E=Math.PI,Z=2*E,ko=Z+E,Me=Number.POSITIVE_INFINITY,So=E/180,G=E/2,mt=E/4,Di=E*2/3,Xs=Math.log10,st=Math.sign;function Xt(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Mo(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Jt(i){return!Mo(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function Po(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function Do(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ci(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const kt=(i,t,e,s)=>ci(i,e,s?n=>{const o=i[n][t];return oi[n][t]ci(i,e,s=>i[s][t]>=e);function Io(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+li(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Ti(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(qs.forEach(o=>{delete i[o]}),delete i._chartjs)}function Gs(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const Zs=(function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame})();function Qs(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Zs.call(window,()=>{s=!1,i.apply(t,e)}))}}function Ro(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const hi=i=>i==="start"?"left":i==="end"?"right":"center",H=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,zo=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Eo(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,vScale:a,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=r.axis,{min:d,max:f,minDefined:u,maxDefined:p}=r.getUserBounds();if(u){if(n=Math.min(kt(l,h,d).lo,e?s:kt(t,h,r.getPixelForValue(d)).lo),c){const g=l.slice(0,n+1).reverse().findIndex(m=>!A(m[a.axis]));n-=Math.max(0,g)}n=Y(n,0,s-1)}if(p){let g=Math.max(kt(l,r.axis,f,!0).hi+1,e?0:kt(t,h,r.getPixelForValue(f),!0).hi+1);if(c){const m=l.slice(g-1).findIndex(b=>!A(b[a.axis]));g+=Math.max(0,m)}o=Y(g,n,s)-n}else o=s-n}return{start:n,count:o}}function Bo(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const he=i=>i===0||i===1,Ai=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*Z/e)),Li=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*Z/e)+1,Kt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*G)+1,easeOutSine:i=>Math.sin(i*G),easeInOutSine:i=>-.5*(Math.cos(E*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>he(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>he(i)?i:Ai(i,.075,.3),easeOutElastic:i=>he(i)?i:Li(i,.075,.3),easeInOutElastic(i){return he(i)?i:i<.5?.5*Ai(i*2,.1125,.45):.5+.5*Li(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Kt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Kt.easeInBounce(i*2)*.5:Kt.easeOutBounce(i*2-1)*.5+.5};function di(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ii(i){return di(i)?i:new Gt(i)}function ze(i){return di(i)?i:new Gt(i).saturate(.5).darken(.1).hexString()}const Ho=["x","y","borderWidth","radius","tension"],Vo=["color","borderColor","backgroundColor"];function Wo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Vo},numbers:{type:"number",properties:Ho}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function No(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fi=new Map;function jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=Fi.get(e);return s||(s=new Intl.NumberFormat(i,t),Fi.set(e,s)),s}function Js(i,t,e){return jo(t,e).format(i)}const $o={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Yo(i,e)}const r=Xs(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Js(i,s,l)}};function Yo(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var tn={formatters:$o};function Uo(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:tn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const wt=Object.create(null),Je=Object.create(null);function qt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>ze(n.backgroundColor),this.hoverBorderColor=(s,n)=>ze(n.borderColor),this.hoverColor=(s,n)=>ze(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ee(this,t,e)}get(t){return qt(this,t)}describe(t,e){return Ee(Je,t,e)}override(t,e){return Ee(wt,t,e)}route(t,e,s,n){const o=qt(this,t),r=qt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return O(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var R=new Xo({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Wo,No,Uo]);function Ko(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Ri(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function bt(i,t,e){const s=i.currentDevicePixelRatio,n=e!==0?Math.max(e/2,.5):0;return Math.round((t-n)*s)/s+n}function zi(i,t){!t&&!i||(t=t||i.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,i.width,i.height),t.restore())}function ti(i,t,e,s){en(i,t,e,s,null)}function en(i,t,e,s,n){let o,r,a,l,c,h,d,f;const u=t.pointStyle,p=t.rotation,g=t.radius;let m=(p||0)*So;if(u&&typeof u=="object"&&(o=u.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){i.save(),i.translate(e,s),i.rotate(m),i.drawImage(u,-u.width/2,-u.height/2,u.width,u.height),i.restore();return}if(!(isNaN(g)||g<=0)){switch(i.beginPath(),u){default:n?i.ellipse(e,s,n/2,g,0,0,Z):i.arc(e,s,g,0,Z),i.closePath();break;case"triangle":h=n?n/2:g,i.moveTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),i.closePath();break;case"rectRounded":c=g*.516,l=g-c,r=Math.cos(m+mt)*l,d=Math.cos(m+mt)*(n?n/2-c:l),a=Math.sin(m+mt)*l,f=Math.sin(m+mt)*(n?n/2-c:l),i.arc(e-d,s-a,c,m-E,m-G),i.arc(e+f,s-r,c,m-G,m),i.arc(e+d,s+a,c,m,m+G),i.arc(e-f,s+r,c,m+G,m+E),i.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,h=n?n/2:l,i.rect(e-h,s-l,2*h,2*l);break}m+=mt;case"rectRot":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+f,s-r),i.lineTo(e+d,s+a),i.lineTo(e-f,s+r),i.closePath();break;case"crossRot":m+=mt;case"cross":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"star":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r),m+=mt,d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"line":r=n?n/2:Math.cos(m)*g,a=Math.sin(m)*g,i.moveTo(e-r,s-a),i.lineTo(e+r,s+a);break;case"dash":i.moveTo(e,s),i.lineTo(e+Math.cos(m)*(n?n/2:g),s+Math.sin(m)*g);break;case!1:i.closePath();break}i.fill(),t.borderWidth>0&&i.stroke()}}function te(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Zo(i,o),l=0;l+i||0;function sn(i,t){const e={},s=O(t),n=s?Object.keys(t):t,o=O(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=sr(o(r));return e}function nn(i){return sn(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Tt(i){return sn(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){const t=nn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function V(i,t){i=i||{},t=t||R.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(er)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:P(i.family,t.family),lineHeight:ir(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Ko(n),n}function de(i,t,e,s){let n,o,r;for(n=0,o=i.length;ne&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function Mt(i,t){return Object.assign(Object.create(i),t)}function fi(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=ln("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>fi([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return rn(a,l,()=>fr(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return Bi(a).includes(l)},ownKeys(a){return Bi(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function It(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:on(i,s),setContext:o=>It(i,o,e,s),override:o=>It(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return rn(o,r,()=>rr(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function on(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}const or=(i,t)=>i?i+li(t):t,ui=(i,t)=>O(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function rn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function rr(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return ft(a)&&r.isScriptable(t)&&(a=ar(t,a,i,e)),z(a)&&a.length&&(a=lr(t,a,i,r.isIndexable)),ui(t,a)&&(a=It(a,n,o&&o[t],r)),a}function ar(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),ui(i,l)&&(l=gi(n._scopes,n,i,l)),l}function lr(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(O(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=gi(c,n,i,h);t.push(It(d,o,r&&r[i],a))}}return t}function an(i,t,e){return ft(i)?i(t,e):i}const cr=(i,t)=>i===!0?t:typeof i=="string"?Lt(t,i):void 0;function hr(i,t,e,s,n){for(const o of t){const r=cr(e,o);if(r){i.add(r);const a=an(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function gi(i,t,e,s){const n=t._rootScopes,o=an(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Ei(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=Ei(a,r,o,l,s),l===null)?!1:fi(Array.from(a),[""],n,o,()=>dr(t,e,s))}function Ei(i,t,e,s,n){for(;e;)e=hr(i,t,e,s,n);return e}function dr(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return z(n)&&O(e)?e:n||{}}function fr(i,t,e,s){let n;for(const o of t)if(n=ln(or(o,i),e),typeof n<"u")return ui(i,n)?gi(e,s,i,n):n}function ln(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function Bi(i){let t=i._keys;return t||(t=i._keys=ur(i._scopes)),t}function ur(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const gr=Number.EPSILON||1e-14,Ft=(i,t)=>ti==="x"?"y":"x";function pr(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Qe(o,n),l=Qe(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+f*(r.x-n.x),y:o.y+f*(r.y-n.y)}}}function mr(i,t,e){const s=i.length;let n,o,r,a,l,c=Ft(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")xr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function vr(i,t){return Ae(i).getPropertyValue(t)}const kr=["top","right","bottom","left"];function St(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=kr[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Sr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function wr(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(Sr(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function _t(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Ae(e),o=n.boxSizing==="border-box",r=St(n,"padding"),a=St(n,"border","width"),{x:l,y:c,box:h}=wr(i,e),d=r.left+(h&&a.left),f=r.top+(h&&a.top);let{width:u,height:p}=t;return o&&(u-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Mr(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&mi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Ae(o),l=St(a,"border","width"),c=St(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=De(a.maxWidth,o,"clientWidth"),n=De(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Me,maxHeight:n||Me}}const ue=i=>Math.round(i*10)/10;function Pr(i,t,e,s){const n=Ae(i),o=St(n,"margin"),r=De(n.maxWidth,i,"clientWidth")||Me,a=De(n.maxHeight,i,"clientHeight")||Me,l=Mr(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=St(n,"border","width"),u=St(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=ue(Math.min(c,r,l.maxWidth)),h=ue(Math.min(h,a,l.maxHeight)),c&&!h&&(h=ue(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=ue(Math.floor(h*s))),{width:c,height:h}}function Hi(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const Dr=(function(){let i=!1;try{const t={get passive(){return i=!0,!1}};pi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i})();function Vi(i,t){const e=vr(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function yt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Or(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Cr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=yt(i,n,e),a=yt(n,o,e),l=yt(o,t,e),c=yt(r,a,e),h=yt(a,l,e);return yt(c,h,e)}const Tr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Ar=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function At(i,t,e){return i?Tr(t,e):Ar()}function hn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function dn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function fn(i){return i==="angle"?{between:Ks,compare:To,normalize:it}:{between:ct,compare:(t,e)=>t-e,normalize:t=>t}}function Wi({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Lr(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=fn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,y,b)&&a(n,y)!==0,_=()=>a(o,b)===0||l(o,y,b),w=()=>g||v(),S=()=>!g||_();for(let k=h,M=h;k<=d;++k)x=t[k%r],!x.skip&&(b=c(x[s]),b!==y&&(g=l(b,n,o),m===null&&w()&&(m=a(b,n)===0?k:M),m!==null&&S()&&(p.push(Wi({start:m,end:k,loop:f,count:r,style:u})),m=null),M=k,y=b));return m!==null&&p.push(Wi({start:m,end:d,loop:f,count:r,style:u})),p}function gn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Fr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function Rr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=Ir(e,n,o,s);if(s===!0)return Ni(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Zs.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ot=new Hr;const $i="transparent",Vr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Ii(i||$i),n=s.valid&&Ii(t||$i);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Wr{constructor(t,e,s,n){const o=e[s];n=de([t.to,n,o,t.from]);const r=de([t.from,o,n]);this._active=!0,this._fn=t.fn||Vr[t.type||typeof r],this._easing=Kt[t.easing]||Kt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=de([t.to,e,n,t.from]),this._from=de([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?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;n{const o=t[n];if(!O(o))return;const r={};for(const a of e)r[a]=o[a];(z(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=jr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Nr(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,a);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Wr(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ot.add(this._chart,s),!0}}function Nr(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Ki(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Xr(o,r,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function Gr(i,t){return Mt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zr(i,t,e){return Mt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Bt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const Ve=i=>i==="reset"||i==="none",qi=(i,t)=>t?i:Object.assign({},i),Qr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:bn(e,!0),values:null};class bi{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Be(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Bt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=P(s.xAxisID,He(t,"x")),r=e.yAxisID=P(s.yAxisID,He(t,"y")),a=e.rAxisID=P(s.rAxisID,He(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Ti(this._data,this),t._stacked&&Bt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(O(e)){const n=this._cachedMeta;this._data=Ur(e,n)}else if(s!==e){if(s){Ti(s,this);const n=this._cachedMeta;Bt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Fo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Be(e.vScale,e),e.stack!==s.stack&&(n=!0,Bt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(Ki(this,e._parsed),e._stacked=Be(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{z(n[t])?f=this.parseArrayData(s,n,t,e):O(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[a]===null||c&&d[a]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(qi(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new mn(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ve(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:r}}updateElement(t,e,s,n){Ve(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!Ve(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return i._cache.$bar}function ta(i){const t=i.iScale,e=Jr(t,i.type);let s=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(Qt(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(n=0,o=e.length;n0?n[i-1]:null,a=iMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function xn(i,t,e,s){return z(i)?sa(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Gi(i,t,e,s){const n=i.iScale,o=i.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function oa(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[s.axis],c=h=>{const d=h._parsed.find(u=>u[s.axis]===l),f=d&&d[h.vScale.axis];if(A(f)||isNaN(f))return!0};for(const h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const s of this.chart.data.datasets)t[P(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,r;for(o=0,r=e.data.length;o0&&this.getParsed(e-1);for(let _=0;_=x){S.skip=!0;continue}const k=this.getParsed(_),M=A(k[u]),C=S[f]=r.getPixelForValue(k[f],_),D=S[u]=o||M?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,k,l):k[u],_);S.skip=isNaN(C)||isNaN(D)||M,S.stop=_>0&&Math.abs(k[f]-v[f])>m,g&&(S.parsed=k,S.raw=c.data[_]),d&&(S.options=h||this.resolveDataElementOptions(_,w.active?"active":n)),b||this.updateElement(w,_,S,n),v=k}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function xt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class xi{static override(t){Object.assign(xi.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return xt()}parse(){return xt()}format(){return xt()}add(){return xt()}diff(){return xt()}startOf(){return xt()}endOf(){return xt()}}var da={_date:xi};function fa(i,t,e,s){const{controller:n,data:o,_sorted:r}=i,a=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const c=a._reversePixels?Lo:kt;if(s){if(n._sharedOptions){const h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){const f=c(o,t,e-d),u=c(o,t,e+d);return{lo:f.lo,hi:u.hi}}}}else{const h=c(o,t,e);if(l){const{vScale:d}=n._cachedMeta,{_parsed:f}=i,u=f.slice(0,h.lo+1).reverse().findIndex(g=>!A(g[d.axis]));h.lo-=Math.max(0,u);const p=f.slice(h.hi).findIndex(g=>!A(g[d.axis]));h.hi+=Math.max(0,p)}return h}}return{lo:0,hi:o.length-1}}function Le(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var ma={modes:{index(i,t,e,s){const n=_t(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=_t(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ts(i,t){return i.filter(e=>_n.indexOf(e.pos)===-1&&e.box.axis===t)}function Vt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function ba(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.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;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),f=Object.assign({},n);yn(f,q(s));const u=Object.assign({maxPadding:f,w:o,h:r,x:n.left,y:n.top},n),p=_a(l.concat(c),d);$t(a.fullSize,u,d,p),$t(l,u,d,p),$t(c,u,d,p)&&$t(l,u,d,p),ka(u),is(a.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,is(a.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},L(a.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class vn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class wa extends vn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ve="$chartjs",Ma={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ss=i=>i===null||i==="";function Pa(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[ve]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",ss(n)){const o=Vi(i,"width");o!==void 0&&(i.width=o)}if(ss(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=Vi(i,"height");o!==void 0&&(i.height=o)}return i}const kn=Dr?{passive:!0}:!1;function Da(i,t,e){i&&i.addEventListener(t,e,kn)}function Oa(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,kn)}function Ca(i,t){const e=Ma[i.type]||i.type,{x:s,y:n}=_t(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Oe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Ta(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.addedNodes,s),r=r&&!Oe(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Aa(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.removedNodes,s),r=r&&!Oe(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const ie=new Map;let ns=0;function Sn(){const i=window.devicePixelRatio;i!==ns&&(ns=i,ie.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function La(i,t){ie.size||window.addEventListener("resize",Sn),ie.set(i,t)}function Ia(i){ie.delete(i),ie.size||window.removeEventListener("resize",Sn)}function Fa(i,t,e){const s=i.canvas,n=s&&mi(s);if(!n)return;const o=Qs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),La(i,o),r}function $e(i,t,e){e&&e.disconnect(),t==="resize"&&Ia(i)}function Ra(i,t,e){const s=i.canvas,n=Qs(o=>{i.ctx!==null&&e(Ca(o,i))},i);return Da(s,t,n),n}class za extends vn{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Pa(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[ve])return!1;const s=e[ve].initial;["height","width"].forEach(o=>{const r=s[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[ve],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:Ta,detach:Aa,resize:Fa}[e]||Ra;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:$e,detach:$e,resize:$e}[e]||Oa)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Pr(t,e,s,n)}isAttached(t){const e=t&&mi(t);return!!(e&&e.isConnected)}}function Ea(i){return!pi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?wa:za}class ut{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Jt(this.x)&&Jt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}function Ba(i,t){const e=i.options.ticks,s=Ha(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Wa(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return Na(t,c,o,r/n),c;const h=Va(o,t,n);if(r>0){let d,f;const u=r>1?Math.round((l-a)/(r-1)):null;for(me(t,c,h,A(u)?0:a-u,a),d=0,f=r-1;dn)return l}return Math.max(n,1)}function Wa(i){const t=[];let e,s;for(e=0,s=i.length;ei==="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(;or+a)))return l}function Ua(i,t){L(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:J(e,J(s,e)),max:J(s,J(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){I(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=nr(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=Y(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:u/(s-1),d+6>a&&(a=u/(s-(t.offset?.5:1)),l=this.maxHeight-Wt(t.grid)-e.padding-ls(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Oo(Math.min(Math.asin(Y((h.highest.height+6)/a,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(f/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){I(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){I(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=ls(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Wt(o)+l):(t.height=this.maxHeight,t.width=Wt(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=vt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(a){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){I(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({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&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Wt(o),u=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(B){return bt(s,B,g)};let x,y,v,_,w,S,k,M,C,D,T,N;if(r==="top")x=b(this.bottom),S=this.bottom-f,M=x-m,D=b(t.top)+m,N=t.bottom;else if(r==="bottom")x=b(this.top),D=t.top,N=b(t.bottom)-m,S=x+m,M=this.top+f;else if(r==="left")x=b(this.right),w=this.right-f,k=x-m,C=b(t.left)+m,T=t.right;else if(r==="right")x=b(this.left),C=t.left,T=b(t.right)-m,w=x+m,k=this.left+f;else if(e==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}D=t.top,N=t.bottom,S=x+m,M=S+f}else if(e==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}w=x-m,k=w-f,C=t.left,T=t.right}const Q=P(n.ticks.maxTicksLimit,d),F=Math.max(1,Math.ceil(d/Q));for(y=0;y0&&(pt-=gt/2);break}re={left:pt,top:Et,width:gt+Dt.width,height:zt+Dt.height,color:F.backdropColor}}m.push({label:v,font:M,textOffset:T,options:{rotation:g,color:U,strokeColor:ne,strokeWidth:oe,textAlign:Pt,textBaseline:N,translation:[_,w],backdrop:re}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-vt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,r),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");R.route(o,n,l,a)})}function Ja(i){return"id"in i&&"defaults"in i}class tl{constructor(){this.controllers=new be(bi,"datasets",!0),this.elements=new be(ut,"elements"),this.plugins=new be(Object,"plugins"),this.scales=new be(Rt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):L(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=li(t);I(s["before"+n],[],s),e[t](s),I(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function il(i){const t={},e=[],s=Object.keys(et.plugins.items);for(let o=0;o1&&cs(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function hs(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function cl(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return hs(i,"x",e[0])||hs(i,"y",e[0])}return{}}function hl(i,t){const e=wt[i.type]||{scales:{}},s=t.scales||{},n=ei(i.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!O(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ii(r,a,cl(r,i),R.scales[a.type]),c=al(l,n),h=e.scales||{};o[r]=Ut(Object.create(null),[{axis:l},a,h[l],h[c]])}),i.data.datasets.forEach(r=>{const a=r.type||i.type,l=r.indexAxis||ei(a,t),h=(wt[a]||{}).scales||{};Object.keys(h).forEach(d=>{const f=rl(d,l),u=r[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),Ut(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ut(a,[R.scales[a.type],R.scale])}),o}function wn(i){const t=i.options||(i.options={});t.plugins=P(t.plugins,{}),t.scales=hl(i,t)}function Mn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function dl(i){return i=i||{},i.data=Mn(i.data),wn(i),i}const ds=new Map,Pn=new Set;function xe(i,t){let e=ds.get(i);return e||(e=t(),ds.set(i,e),Pn.add(e)),e}const Nt=(i,t,e)=>{const s=Lt(t,e);s!==void 0&&i.add(s)};class fl{constructor(t){this._config=dl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Mn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),wn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xe(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return xe(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return xe(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return xe(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Nt(l,t,d))),h.forEach(d=>Nt(l,n,d)),h.forEach(d=>Nt(l,wt[o]||{},d)),h.forEach(d=>Nt(l,R,d)),h.forEach(d=>Nt(l,Je,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Pn.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,wt[e]||{},R.datasets[e]||{},{type:e},R,Je]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=fs(this._resolverCache,t,n);let l=r;if(gl(r,e)){o.$shared=!1,s=ft(s)?s():s;const c=this.createResolver(t,s,a);l=It(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=fs(this._resolverCache,t,s);return O(e)?It(o,e,void 0,n):o}}function fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:fi(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const ul=i=>O(i)&&Object.getOwnPropertyNames(i).some(t=>ft(i[t]));function gl(i,t){const{isScriptable:e,isIndexable:s}=on(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(ft(a)||ul(a))||r&&z(a))return!0}return!1}var pl="4.5.0";const ml=["top","bottom","left","right","chartArea"];function us(i,t){return i==="top"||i==="bottom"||ml.indexOf(i)===-1&&t==="x"}function gs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function ps(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),I(e&&e.onComplete,[i],t)}function bl(i){const t=i.chart,e=t.options.animation;I(e&&e.onProgress,[i],t)}function Dn(i){return pi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const ke={},ms=i=>{const t=Dn(i);return Object.values(ke).filter(e=>e.canvas===t).pop()};function xl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function _l(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}let _i=class{static defaults=R;static instances=ke;static overrides=wt;static registry=et;static version=pl;static getChart=ms;static register(...t){et.add(...t),bs()}static unregister(...t){et.remove(...t),bs()}constructor(t,e){const s=this.config=new fl(e),n=Dn(t),o=ms(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ea(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=po(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new el,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ro(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],ke[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ot.listen(this,"complete",ps),ot.listen(this,"progress",bl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return et}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Hi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return zi(this.canvas,this.ctx),this}stop(){return ot.stop(this),this}resize(t,e){ot.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Hi(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),I(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};L(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=ii(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),L(o,r=>{const a=r.options,l=a.id,c=ii(l,a),h=P(a.type,r.dtype);(a.position===void 0||us(a.position,c)!==us(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=et.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),L(n,(r,a)=>{r||delete s[a]}),L(s,r=>{K.configure(this,r,r.options),K.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.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{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(gs("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){L(this.scales,t=>{K.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Pi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;xl(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;K.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],L(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=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;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};L(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){L(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},L(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Se(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=vo(t),c=_l(t,this._lastEvent,s,l);s&&(this._lastEvent=null,I(o.onHover,[t,a,this],this),l&&I(o.onClick,[t,a,this],this));const h=!Se(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};function bs(){return L(_i.instances,i=>i._plugins.invalidate())}function On(i,t,e=t){i.lineCap=P(e.borderCapStyle,t.borderCapStyle),i.setLineDash(P(e.borderDash,t.borderDash)),i.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),i.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=P(e.borderWidth,t.borderWidth),i.strokeStyle=P(e.borderColor,t.borderColor)}function yl(i,t,e){i.lineTo(e.x,e.y)}function vl(i){return i.stepped?qo:i.tension||i.cubicInterpolationMode==="monotone"?Go:yl}function Cn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-v:v))%o,y=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[x(0)],i.moveTo(u.x,u.y)),f=0;f<=a;++f){if(u=n[x(f)],u.skip)continue;const v=u.x,_=u.y,w=v|0;w===p?(_m&&(m=_),h=(d*h+v)/++d):(y(),i.lineTo(v,_),p=w,d=0,g=m=_),b=_}y()}function si(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Sl:kl}function wl(i){return i.stepped?Or:i.tension||i.cubicInterpolationMode==="monotone"?Cr:yt}function Ml(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),On(i,t.options),i.stroke(n)}function Pl(i,t,e,s){const{segments:n,options:o}=t,r=si(t);for(const a of n)On(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Dl=typeof Path2D=="function";function Ol(i,t,e,s){Dl&&!t.options.segment?Ml(i,t,e,s):Pl(i,t,e,s)}class yi extends ut{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;yr(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Rr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=gn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=wl(s);let c,h;for(c=0,h=r.length;c{a=Ie(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Ie(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function _s(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function An(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Rl(i,t),e.length?new yi({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function ys(i){return i&&i.fill!==!1}function zl(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function El(i,t,e){const s=Wl(i);if(O(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?Bl(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Bl(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Hl(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:O(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Vl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:O(i)?s=i.value:s=t.getBaseValue(),s}function Wl(i){const t=i.options,e=t.fill;let s=P(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Nl(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=jl(t,e);a.push(An({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Xe(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;ys(o)&&Xe(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!ys(s)||e.drawTime!=="beforeDatasetDraw"||Xe(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ws=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},Jl=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Ms extends ut{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=I(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=V(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*a>r)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+a}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:x,itemHeight:y}=tc(s,e,o,m,n);b>0&&u+y+2*a>h&&(d+=f+a,c.push({width:f,height:u}),p+=f+a,g++,f=u=0),l[b]={left:p,top:u,col:g,width:x,height:y},f=Math.max(f,x),u+=y+a}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=At(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=H(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=H(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ce(t,this),this._draw(),Te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=R.color,l=At(t.rtl,this.left,this.width),c=V(r.font),{padding:h}=r,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=ws(r,d),b=function(w,S,k){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const M=P(k.lineWidth,1);if(n.fillStyle=P(k.fillStyle,a),n.lineCap=P(k.lineCap,"butt"),n.lineDashOffset=P(k.lineDashOffset,0),n.lineJoin=P(k.lineJoin,"miter"),n.lineWidth=M,n.strokeStyle=P(k.strokeStyle,a),n.setLineDash(P(k.lineDash,[])),r.usePointStyle){const C={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:M},D=l.xPlus(w,p/2),T=S+f;en(n,C,D,T,r.pointStyleWidth&&p)}else{const C=S+Math.max((d-g)/2,0),D=l.leftForLtr(w,p),T=Tt(k.borderRadius);n.beginPath(),Object.values(T).some(N=>N!==0)?Pe(n,{x:D,y:C,w:p,h:g,radius:T}):n.rect(D,C,p,g),n.fill(),M!==0&&n.stroke()}n.restore()},x=function(w,S,k){ee(n,k.text,w,S+m/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},y=this.isHorizontal(),v=this._computeTitleHeight();y?u={x:H(o,this.left+h,this.right-s[0]),y:this.top+h+v,line:0}:u={x:this.left+h,y:H(o,this.top+v+h,this.bottom-e[0].height),line:0},hn(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor,n.fillStyle=w.fontColor;const k=n.measureText(w.text).width,M=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),C=p+f+k;let D=u.x,T=u.y;l.setWidth(this.width),y?S>0&&D+C+h>this.right&&(T=u.y+=_,u.line++,D=u.x=H(o,this.left+h,this.right-s[u.line])):S>0&&T+_>this.bottom&&(D=u.x=D+e[u.line].width+h,u.line++,T=u.y=H(o,this.top+v+h,this.bottom-e[u.line].height));const N=l.x(D);if(b(N,T,w),D=zo(M,D+p+f,y?D+C:this.right,t.rtl),x(l.x(D),T,w),y)u.x+=C+h;else if(typeof w.text!="string"){const Q=c.lineHeight;u.y+=In(w,Q)+h}else u.y+=_}),dn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=V(e.font),n=q(e.padding);if(!e.display)return;const o=At(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=H(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+H(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=H(a,d,d+f);r.textAlign=o.textAlign(hi(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,ee(r,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=V(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ct(t,this.left,this.right)&&ct(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+e.size/2+s.measureText(n).width}function ic(i,t,e){let s=i;return typeof t.text!="string"&&(s=In(t,e)),s}function In(i,t){const e=i.text?i.text.length:0;return t*e}function sc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var Lc={id:"legend",_element:Ms,start(i,t,e){const s=i.legend=new Ms({ctx:i.ctx,options:e,chart:i});K.configure(i,s,e),K.addBox(i,s)},stop(i){K.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;K.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Fn extends ut{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=z(s.text)?s.text.length:1;this._padding=q(s.padding);const o=n*V(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=H(a,s,o),d=e+t,c=o-s):(r.position==="left"?(h=s+t,d=H(a,n,e),l=E*-.5):(h=o-t,d=H(a,e,n),l=E*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=V(e.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ee(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:hi(e.align),textBaseline:"middle",translation:[r,a]})}}function nc(i,t){const e=new Fn({ctx:i.ctx,options:t,chart:i});K.configure(i,e,t),K.addBox(i,e),i.titleBlock=e}var Ic={id:"title",_element:Fn,start(i,t,e){nc(i,e)},stop(i){const t=i.titleBlock;K.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;K.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Yt={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;ta+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=i.length;oMath.max(Math.min(i,e),t);function jt(i){return lt(se(i*2.55),0,255)}function dt(i){return lt(se(i*255),0,255)}function at(i){return lt(se(i/2.55)/100,0,1)}function vi(i){return lt(se(i*100),0,100)}const X={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ze=[..."0123456789ABCDEF"],Un=i=>Ze[i&15],Xn=i=>Ze[(i&240)>>4]+Ze[i&15],ae=i=>(i&240)>>4===(i&15),Kn=i=>ae(i.r)&&ae(i.g)&&ae(i.b)&&ae(i.a);function qn(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&X[i[1]]*17,g:255&X[i[2]]*17,b:255&X[i[3]]*17,a:t===5?X[i[4]]*17:255}:(t===7||t===9)&&(e={r:X[i[1]]<<4|X[i[2]],g:X[i[3]]<<4|X[i[4]],b:X[i[5]]<<4|X[i[6]],a:t===9?X[i[7]]<<4|X[i[8]]:255})),e}const Gn=(i,t)=>i<255?t(i):"";function Zn(i){var t=Kn(i)?Un:Xn;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Gn(i.a,t):void 0}const Qn=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function js(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Jn(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function to(i,t,e){const s=js(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function eo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=eo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function ri(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(dt)}function ai(i,t,e){return ri(js,i,t,e)}function io(i,t,e){return ri(to,i,t,e)}function so(i,t,e){return ri(Jn,i,t,e)}function $s(i){return(i%360+360)%360}function no(i){const t=Qn.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?jt(+t[5]):dt(+t[5]));const n=$s(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=io(n,o,r):t[1]==="hsv"?s=so(n,o,r):s=ai(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function oo(i,t){var e=oi(i);e[0]=$s(e[0]+t),e=ai(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ro(i){if(!i)return;const t=oi(i),e=t[0],s=vi(t[1]),n=vi(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${at(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ki={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Si={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ao(){const i={},t=Object.keys(Si),e=Object.keys(ki);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let le;function lo(i){le||(le=ao(),le.transparent=[0,0,0,0]);const t=le[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const co=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ho(i){const t=co.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?jt(r):lt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?jt(s):lt(s,0,255)),n=255&(t[4]?jt(n):lt(n,0,255)),o=255&(t[6]?jt(o):lt(o,0,255)),{r:s,g:n,b:o,a:e}}}function fo(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${at(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Re=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Ot=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function uo(i,t,e){const s=Ot(at(i.r)),n=Ot(at(i.g)),o=Ot(at(i.b));return{r:dt(Re(s+e*(Ot(at(t.r))-s))),g:dt(Re(n+e*(Ot(at(t.g))-n))),b:dt(Re(o+e*(Ot(at(t.b))-o))),a:i.a+e*(t.a-i.a)}}function ce(i,t,e){if(i){let s=oi(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=ai(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function Ys(i,t){return i&&Object.assign(t||{},i)}function wi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=dt(i[3]))):(t=Ys(i,{r:0,g:0,b:0,a:1}),t.a=dt(t.a)),t}function go(i){return i.charAt(0)==="r"?ho(i):no(i)}class Gt{constructor(t){if(t instanceof Gt)return t;const e=typeof t;let s;e==="object"?s=wi(t):e==="string"&&(s=qn(t)||lo(t)||go(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=Ys(this._rgb);return t&&(t.a=at(t.a)),t}set rgb(t){this._rgb=wi(t)}rgbString(){return this._valid?fo(this._rgb):void 0}hexString(){return this._valid?Zn(this._rgb):void 0}hslString(){return this._valid?ro(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=uo(this._rgb,t._rgb,e)),this}clone(){return new Gt(this.rgb)}alpha(t){return this._rgb.a=dt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=se(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ce(this._rgb,2,t),this}darken(t){return ce(this._rgb,2,-t),this}saturate(t){return ce(this._rgb,1,t),this}desaturate(t){return ce(this._rgb,1,-t),this}rotate(t){return oo(this._rgb,t),this}}function nt(){}const po=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function O(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function W(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function J(i,t){return W(i)?i:t}function P(i,t){return typeof i>"u"?t:i}const mo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function I(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function L(i,t,e,s){let n,o,r;if(z(i))for(o=i.length,n=0;ni,x:i=>i.x,y:i=>i.y};function _o(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function yo(i){const t=_o(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Lt(i,t){return(Mi[t]||(Mi[t]=yo(t)))(i)}function li(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Qt=i=>typeof i<"u",ft=i=>typeof i=="function",Pi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function vo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const E=Math.PI,Z=2*E,ko=Z+E,Me=Number.POSITIVE_INFINITY,So=E/180,G=E/2,mt=E/4,Di=E*2/3,Xs=Math.log10,st=Math.sign;function Xt(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Mo(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Jt(i){return!Mo(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function Po(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function Do(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ci(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const kt=(i,t,e,s)=>ci(i,e,s?n=>{const o=i[n][t];return oi[n][t]ci(i,e,s=>i[s][t]>=e);function Io(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+li(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Ti(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(qs.forEach(o=>{delete i[o]}),delete i._chartjs)}function Gs(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const Zs=(function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame})();function Qs(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Zs.call(window,()=>{s=!1,i.apply(t,e)}))}}function Ro(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const hi=i=>i==="start"?"left":i==="end"?"right":"center",H=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,zo=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Eo(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,vScale:a,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=r.axis,{min:d,max:f,minDefined:u,maxDefined:p}=r.getUserBounds();if(u){if(n=Math.min(kt(l,h,d).lo,e?s:kt(t,h,r.getPixelForValue(d)).lo),c){const g=l.slice(0,n+1).reverse().findIndex(m=>!A(m[a.axis]));n-=Math.max(0,g)}n=Y(n,0,s-1)}if(p){let g=Math.max(kt(l,r.axis,f,!0).hi+1,e?0:kt(t,h,r.getPixelForValue(f),!0).hi+1);if(c){const m=l.slice(g-1).findIndex(b=>!A(b[a.axis]));g+=Math.max(0,m)}o=Y(g,n,s)-n}else o=s-n}return{start:n,count:o}}function Bo(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const he=i=>i===0||i===1,Ai=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*Z/e)),Li=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*Z/e)+1,Kt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*G)+1,easeOutSine:i=>Math.sin(i*G),easeInOutSine:i=>-.5*(Math.cos(E*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>he(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>he(i)?i:Ai(i,.075,.3),easeOutElastic:i=>he(i)?i:Li(i,.075,.3),easeInOutElastic(i){return he(i)?i:i<.5?.5*Ai(i*2,.1125,.45):.5+.5*Li(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Kt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Kt.easeInBounce(i*2)*.5:Kt.easeOutBounce(i*2-1)*.5+.5};function di(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ii(i){return di(i)?i:new Gt(i)}function ze(i){return di(i)?i:new Gt(i).saturate(.5).darken(.1).hexString()}const Ho=["x","y","borderWidth","radius","tension"],Vo=["color","borderColor","backgroundColor"];function Wo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Vo},numbers:{type:"number",properties:Ho}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function No(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fi=new Map;function jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=Fi.get(e);return s||(s=new Intl.NumberFormat(i,t),Fi.set(e,s)),s}function Js(i,t,e){return jo(t,e).format(i)}const $o={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Yo(i,e)}const r=Xs(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Js(i,s,l)}};function Yo(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var tn={formatters:$o};function Uo(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:tn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const wt=Object.create(null),Je=Object.create(null);function qt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>ze(n.backgroundColor),this.hoverBorderColor=(s,n)=>ze(n.borderColor),this.hoverColor=(s,n)=>ze(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ee(this,t,e)}get(t){return qt(this,t)}describe(t,e){return Ee(Je,t,e)}override(t,e){return Ee(wt,t,e)}route(t,e,s,n){const o=qt(this,t),r=qt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return O(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var R=new Xo({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Wo,No,Uo]);function Ko(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Ri(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function bt(i,t,e){const s=i.currentDevicePixelRatio,n=e!==0?Math.max(e/2,.5):0;return Math.round((t-n)*s)/s+n}function zi(i,t){!t&&!i||(t=t||i.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,i.width,i.height),t.restore())}function ti(i,t,e,s){en(i,t,e,s,null)}function en(i,t,e,s,n){let o,r,a,l,c,h,d,f;const u=t.pointStyle,p=t.rotation,g=t.radius;let m=(p||0)*So;if(u&&typeof u=="object"&&(o=u.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){i.save(),i.translate(e,s),i.rotate(m),i.drawImage(u,-u.width/2,-u.height/2,u.width,u.height),i.restore();return}if(!(isNaN(g)||g<=0)){switch(i.beginPath(),u){default:n?i.ellipse(e,s,n/2,g,0,0,Z):i.arc(e,s,g,0,Z),i.closePath();break;case"triangle":h=n?n/2:g,i.moveTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),i.closePath();break;case"rectRounded":c=g*.516,l=g-c,r=Math.cos(m+mt)*l,d=Math.cos(m+mt)*(n?n/2-c:l),a=Math.sin(m+mt)*l,f=Math.sin(m+mt)*(n?n/2-c:l),i.arc(e-d,s-a,c,m-E,m-G),i.arc(e+f,s-r,c,m-G,m),i.arc(e+d,s+a,c,m,m+G),i.arc(e-f,s+r,c,m+G,m+E),i.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,h=n?n/2:l,i.rect(e-h,s-l,2*h,2*l);break}m+=mt;case"rectRot":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+f,s-r),i.lineTo(e+d,s+a),i.lineTo(e-f,s+r),i.closePath();break;case"crossRot":m+=mt;case"cross":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"star":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r),m+=mt,d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"line":r=n?n/2:Math.cos(m)*g,a=Math.sin(m)*g,i.moveTo(e-r,s-a),i.lineTo(e+r,s+a);break;case"dash":i.moveTo(e,s),i.lineTo(e+Math.cos(m)*(n?n/2:g),s+Math.sin(m)*g);break;case!1:i.closePath();break}i.fill(),t.borderWidth>0&&i.stroke()}}function te(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Zo(i,o),l=0;l+i||0;function sn(i,t){const e={},s=O(t),n=s?Object.keys(t):t,o=O(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=sr(o(r));return e}function nn(i){return sn(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Tt(i){return sn(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){const t=nn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function V(i,t){i=i||{},t=t||R.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(er)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:P(i.family,t.family),lineHeight:ir(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Ko(n),n}function de(i,t,e,s){let n,o,r;for(n=0,o=i.length;ne&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function Mt(i,t){return Object.assign(Object.create(i),t)}function fi(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=ln("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>fi([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return rn(a,l,()=>fr(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return Bi(a).includes(l)},ownKeys(a){return Bi(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function It(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:on(i,s),setContext:o=>It(i,o,e,s),override:o=>It(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return rn(o,r,()=>rr(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function on(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}const or=(i,t)=>i?i+li(t):t,ui=(i,t)=>O(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function rn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function rr(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return ft(a)&&r.isScriptable(t)&&(a=ar(t,a,i,e)),z(a)&&a.length&&(a=lr(t,a,i,r.isIndexable)),ui(t,a)&&(a=It(a,n,o&&o[t],r)),a}function ar(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),ui(i,l)&&(l=gi(n._scopes,n,i,l)),l}function lr(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(O(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=gi(c,n,i,h);t.push(It(d,o,r&&r[i],a))}}return t}function an(i,t,e){return ft(i)?i(t,e):i}const cr=(i,t)=>i===!0?t:typeof i=="string"?Lt(t,i):void 0;function hr(i,t,e,s,n){for(const o of t){const r=cr(e,o);if(r){i.add(r);const a=an(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function gi(i,t,e,s){const n=t._rootScopes,o=an(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Ei(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=Ei(a,r,o,l,s),l===null)?!1:fi(Array.from(a),[""],n,o,()=>dr(t,e,s))}function Ei(i,t,e,s,n){for(;e;)e=hr(i,t,e,s,n);return e}function dr(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return z(n)&&O(e)?e:n||{}}function fr(i,t,e,s){let n;for(const o of t)if(n=ln(or(o,i),e),typeof n<"u")return ui(i,n)?gi(e,s,i,n):n}function ln(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function Bi(i){let t=i._keys;return t||(t=i._keys=ur(i._scopes)),t}function ur(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const gr=Number.EPSILON||1e-14,Ft=(i,t)=>ti==="x"?"y":"x";function pr(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Qe(o,n),l=Qe(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+f*(r.x-n.x),y:o.y+f*(r.y-n.y)}}}function mr(i,t,e){const s=i.length;let n,o,r,a,l,c=Ft(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")xr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function vr(i,t){return Ae(i).getPropertyValue(t)}const kr=["top","right","bottom","left"];function St(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=kr[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Sr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function wr(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(Sr(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function _t(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Ae(e),o=n.boxSizing==="border-box",r=St(n,"padding"),a=St(n,"border","width"),{x:l,y:c,box:h}=wr(i,e),d=r.left+(h&&a.left),f=r.top+(h&&a.top);let{width:u,height:p}=t;return o&&(u-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Mr(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&mi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Ae(o),l=St(a,"border","width"),c=St(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=De(a.maxWidth,o,"clientWidth"),n=De(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Me,maxHeight:n||Me}}const ue=i=>Math.round(i*10)/10;function Pr(i,t,e,s){const n=Ae(i),o=St(n,"margin"),r=De(n.maxWidth,i,"clientWidth")||Me,a=De(n.maxHeight,i,"clientHeight")||Me,l=Mr(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=St(n,"border","width"),u=St(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=ue(Math.min(c,r,l.maxWidth)),h=ue(Math.min(h,a,l.maxHeight)),c&&!h&&(h=ue(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=ue(Math.floor(h*s))),{width:c,height:h}}function Hi(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const Dr=(function(){let i=!1;try{const t={get passive(){return i=!0,!1}};pi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i})();function Vi(i,t){const e=vr(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function yt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Or(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Cr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=yt(i,n,e),a=yt(n,o,e),l=yt(o,t,e),c=yt(r,a,e),h=yt(a,l,e);return yt(c,h,e)}const Tr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Ar=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function At(i,t,e){return i?Tr(t,e):Ar()}function hn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function dn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function fn(i){return i==="angle"?{between:Ks,compare:To,normalize:it}:{between:ct,compare:(t,e)=>t-e,normalize:t=>t}}function Wi({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Lr(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=fn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,y,b)&&a(n,y)!==0,_=()=>a(o,b)===0||l(o,y,b),w=()=>g||v(),S=()=>!g||_();for(let k=h,M=h;k<=d;++k)x=t[k%r],!x.skip&&(b=c(x[s]),b!==y&&(g=l(b,n,o),m===null&&w()&&(m=a(b,n)===0?k:M),m!==null&&S()&&(p.push(Wi({start:m,end:k,loop:f,count:r,style:u})),m=null),M=k,y=b));return m!==null&&p.push(Wi({start:m,end:d,loop:f,count:r,style:u})),p}function gn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Fr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function Rr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=Ir(e,n,o,s);if(s===!0)return Ni(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Zs.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ot=new Hr;const $i="transparent",Vr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Ii(i||$i),n=s.valid&&Ii(t||$i);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Wr{constructor(t,e,s,n){const o=e[s];n=de([t.to,n,o,t.from]);const r=de([t.from,o,n]);this._active=!0,this._fn=t.fn||Vr[t.type||typeof r],this._easing=Kt[t.easing]||Kt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=de([t.to,e,n,t.from]),this._from=de([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?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;n{const o=t[n];if(!O(o))return;const r={};for(const a of e)r[a]=o[a];(z(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=jr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Nr(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,a);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Wr(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ot.add(this._chart,s),!0}}function Nr(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Ki(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Xr(o,r,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function Gr(i,t){return Mt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zr(i,t,e){return Mt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Bt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const Ve=i=>i==="reset"||i==="none",qi=(i,t)=>t?i:Object.assign({},i),Qr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:bn(e,!0),values:null};class bi{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Be(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Bt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=P(s.xAxisID,He(t,"x")),r=e.yAxisID=P(s.yAxisID,He(t,"y")),a=e.rAxisID=P(s.rAxisID,He(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Ti(this._data,this),t._stacked&&Bt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(O(e)){const n=this._cachedMeta;this._data=Ur(e,n)}else if(s!==e){if(s){Ti(s,this);const n=this._cachedMeta;Bt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Fo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Be(e.vScale,e),e.stack!==s.stack&&(n=!0,Bt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(Ki(this,e._parsed),e._stacked=Be(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{z(n[t])?f=this.parseArrayData(s,n,t,e):O(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[a]===null||c&&d[a]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(qi(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new mn(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ve(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:r}}updateElement(t,e,s,n){Ve(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!Ve(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return i._cache.$bar}function ta(i){const t=i.iScale,e=Jr(t,i.type);let s=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(Qt(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(n=0,o=e.length;n0?n[i-1]:null,a=iMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function xn(i,t,e,s){return z(i)?sa(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Gi(i,t,e,s){const n=i.iScale,o=i.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function oa(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[s.axis],c=h=>{const d=h._parsed.find(u=>u[s.axis]===l),f=d&&d[h.vScale.axis];if(A(f)||isNaN(f))return!0};for(const h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const s of this.chart.data.datasets)t[P(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,r;for(o=0,r=e.data.length;o0&&this.getParsed(e-1);for(let _=0;_=x){S.skip=!0;continue}const k=this.getParsed(_),M=A(k[u]),C=S[f]=r.getPixelForValue(k[f],_),D=S[u]=o||M?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,k,l):k[u],_);S.skip=isNaN(C)||isNaN(D)||M,S.stop=_>0&&Math.abs(k[f]-v[f])>m,g&&(S.parsed=k,S.raw=c.data[_]),d&&(S.options=h||this.resolveDataElementOptions(_,w.active?"active":n)),b||this.updateElement(w,_,S,n),v=k}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function xt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class xi{static override(t){Object.assign(xi.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return xt()}parse(){return xt()}format(){return xt()}add(){return xt()}diff(){return xt()}startOf(){return xt()}endOf(){return xt()}}var da={_date:xi};function fa(i,t,e,s){const{controller:n,data:o,_sorted:r}=i,a=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const c=a._reversePixels?Lo:kt;if(s){if(n._sharedOptions){const h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){const f=c(o,t,e-d),u=c(o,t,e+d);return{lo:f.lo,hi:u.hi}}}}else{const h=c(o,t,e);if(l){const{vScale:d}=n._cachedMeta,{_parsed:f}=i,u=f.slice(0,h.lo+1).reverse().findIndex(g=>!A(g[d.axis]));h.lo-=Math.max(0,u);const p=f.slice(h.hi).findIndex(g=>!A(g[d.axis]));h.hi+=Math.max(0,p)}return h}}return{lo:0,hi:o.length-1}}function Le(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var ma={modes:{index(i,t,e,s){const n=_t(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=_t(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ts(i,t){return i.filter(e=>_n.indexOf(e.pos)===-1&&e.box.axis===t)}function Vt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function ba(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.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;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),f=Object.assign({},n);yn(f,q(s));const u=Object.assign({maxPadding:f,w:o,h:r,x:n.left,y:n.top},n),p=_a(l.concat(c),d);$t(a.fullSize,u,d,p),$t(l,u,d,p),$t(c,u,d,p)&&$t(l,u,d,p),ka(u),is(a.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,is(a.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},L(a.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class vn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class wa extends vn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ve="$chartjs",Ma={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ss=i=>i===null||i==="";function Pa(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[ve]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",ss(n)){const o=Vi(i,"width");o!==void 0&&(i.width=o)}if(ss(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=Vi(i,"height");o!==void 0&&(i.height=o)}return i}const kn=Dr?{passive:!0}:!1;function Da(i,t,e){i&&i.addEventListener(t,e,kn)}function Oa(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,kn)}function Ca(i,t){const e=Ma[i.type]||i.type,{x:s,y:n}=_t(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Oe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Ta(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.addedNodes,s),r=r&&!Oe(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Aa(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.removedNodes,s),r=r&&!Oe(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const ie=new Map;let ns=0;function Sn(){const i=window.devicePixelRatio;i!==ns&&(ns=i,ie.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function La(i,t){ie.size||window.addEventListener("resize",Sn),ie.set(i,t)}function Ia(i){ie.delete(i),ie.size||window.removeEventListener("resize",Sn)}function Fa(i,t,e){const s=i.canvas,n=s&&mi(s);if(!n)return;const o=Qs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),La(i,o),r}function $e(i,t,e){e&&e.disconnect(),t==="resize"&&Ia(i)}function Ra(i,t,e){const s=i.canvas,n=Qs(o=>{i.ctx!==null&&e(Ca(o,i))},i);return Da(s,t,n),n}class za extends vn{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Pa(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[ve])return!1;const s=e[ve].initial;["height","width"].forEach(o=>{const r=s[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[ve],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:Ta,detach:Aa,resize:Fa}[e]||Ra;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:$e,detach:$e,resize:$e}[e]||Oa)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Pr(t,e,s,n)}isAttached(t){const e=t&&mi(t);return!!(e&&e.isConnected)}}function Ea(i){return!pi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?wa:za}class ut{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Jt(this.x)&&Jt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}function Ba(i,t){const e=i.options.ticks,s=Ha(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Wa(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return Na(t,c,o,r/n),c;const h=Va(o,t,n);if(r>0){let d,f;const u=r>1?Math.round((l-a)/(r-1)):null;for(me(t,c,h,A(u)?0:a-u,a),d=0,f=r-1;dn)return l}return Math.max(n,1)}function Wa(i){const t=[];let e,s;for(e=0,s=i.length;ei==="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(;or+a)))return l}function Ua(i,t){L(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:J(e,J(s,e)),max:J(s,J(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){I(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=nr(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=Y(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:u/(s-1),d+6>a&&(a=u/(s-(t.offset?.5:1)),l=this.maxHeight-Wt(t.grid)-e.padding-ls(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Oo(Math.min(Math.asin(Y((h.highest.height+6)/a,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(f/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){I(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){I(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=ls(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Wt(o)+l):(t.height=this.maxHeight,t.width=Wt(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=vt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(a){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){I(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({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&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Wt(o),u=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(B){return bt(s,B,g)};let x,y,v,_,w,S,k,M,C,D,T,N;if(r==="top")x=b(this.bottom),S=this.bottom-f,M=x-m,D=b(t.top)+m,N=t.bottom;else if(r==="bottom")x=b(this.top),D=t.top,N=b(t.bottom)-m,S=x+m,M=this.top+f;else if(r==="left")x=b(this.right),w=this.right-f,k=x-m,C=b(t.left)+m,T=t.right;else if(r==="right")x=b(this.left),C=t.left,T=b(t.right)-m,w=x+m,k=this.left+f;else if(e==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}D=t.top,N=t.bottom,S=x+m,M=S+f}else if(e==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}w=x-m,k=w-f,C=t.left,T=t.right}const Q=P(n.ticks.maxTicksLimit,d),F=Math.max(1,Math.ceil(d/Q));for(y=0;y0&&(pt-=gt/2);break}re={left:pt,top:Et,width:gt+Dt.width,height:zt+Dt.height,color:F.backdropColor}}m.push({label:v,font:M,textOffset:T,options:{rotation:g,color:U,strokeColor:ne,strokeWidth:oe,textAlign:Pt,textBaseline:N,translation:[_,w],backdrop:re}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-vt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,r),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");R.route(o,n,l,a)})}function Ja(i){return"id"in i&&"defaults"in i}class tl{constructor(){this.controllers=new be(bi,"datasets",!0),this.elements=new be(ut,"elements"),this.plugins=new be(Object,"plugins"),this.scales=new be(Rt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):L(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=li(t);I(s["before"+n],[],s),e[t](s),I(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function il(i){const t={},e=[],s=Object.keys(et.plugins.items);for(let o=0;o1&&cs(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function hs(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function cl(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return hs(i,"x",e[0])||hs(i,"y",e[0])}return{}}function hl(i,t){const e=wt[i.type]||{scales:{}},s=t.scales||{},n=ei(i.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!O(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ii(r,a,cl(r,i),R.scales[a.type]),c=al(l,n),h=e.scales||{};o[r]=Ut(Object.create(null),[{axis:l},a,h[l],h[c]])}),i.data.datasets.forEach(r=>{const a=r.type||i.type,l=r.indexAxis||ei(a,t),h=(wt[a]||{}).scales||{};Object.keys(h).forEach(d=>{const f=rl(d,l),u=r[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),Ut(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ut(a,[R.scales[a.type],R.scale])}),o}function wn(i){const t=i.options||(i.options={});t.plugins=P(t.plugins,{}),t.scales=hl(i,t)}function Mn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function dl(i){return i=i||{},i.data=Mn(i.data),wn(i),i}const ds=new Map,Pn=new Set;function xe(i,t){let e=ds.get(i);return e||(e=t(),ds.set(i,e),Pn.add(e)),e}const Nt=(i,t,e)=>{const s=Lt(t,e);s!==void 0&&i.add(s)};class fl{constructor(t){this._config=dl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Mn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),wn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xe(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return xe(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return xe(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return xe(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Nt(l,t,d))),h.forEach(d=>Nt(l,n,d)),h.forEach(d=>Nt(l,wt[o]||{},d)),h.forEach(d=>Nt(l,R,d)),h.forEach(d=>Nt(l,Je,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Pn.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,wt[e]||{},R.datasets[e]||{},{type:e},R,Je]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=fs(this._resolverCache,t,n);let l=r;if(gl(r,e)){o.$shared=!1,s=ft(s)?s():s;const c=this.createResolver(t,s,a);l=It(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=fs(this._resolverCache,t,s);return O(e)?It(o,e,void 0,n):o}}function fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:fi(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const ul=i=>O(i)&&Object.getOwnPropertyNames(i).some(t=>ft(i[t]));function gl(i,t){const{isScriptable:e,isIndexable:s}=on(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(ft(a)||ul(a))||r&&z(a))return!0}return!1}var pl="4.5.0";const ml=["top","bottom","left","right","chartArea"];function us(i,t){return i==="top"||i==="bottom"||ml.indexOf(i)===-1&&t==="x"}function gs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function ps(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),I(e&&e.onComplete,[i],t)}function bl(i){const t=i.chart,e=t.options.animation;I(e&&e.onProgress,[i],t)}function Dn(i){return pi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const ke={},ms=i=>{const t=Dn(i);return Object.values(ke).filter(e=>e.canvas===t).pop()};function xl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function _l(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}let _i=class{static defaults=R;static instances=ke;static overrides=wt;static registry=et;static version=pl;static getChart=ms;static register(...t){et.add(...t),bs()}static unregister(...t){et.remove(...t),bs()}constructor(t,e){const s=this.config=new fl(e),n=Dn(t),o=ms(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ea(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=po(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new el,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ro(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],ke[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ot.listen(this,"complete",ps),ot.listen(this,"progress",bl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return et}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Hi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return zi(this.canvas,this.ctx),this}stop(){return ot.stop(this),this}resize(t,e){ot.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Hi(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),I(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};L(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=ii(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),L(o,r=>{const a=r.options,l=a.id,c=ii(l,a),h=P(a.type,r.dtype);(a.position===void 0||us(a.position,c)!==us(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=et.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),L(n,(r,a)=>{r||delete s[a]}),L(s,r=>{K.configure(this,r,r.options),K.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.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{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(gs("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){L(this.scales,t=>{K.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Pi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;xl(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;K.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],L(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=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;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};L(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){L(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},L(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Se(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=vo(t),c=_l(t,this._lastEvent,s,l);s&&(this._lastEvent=null,I(o.onHover,[t,a,this],this),l&&I(o.onClick,[t,a,this],this));const h=!Se(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};function bs(){return L(_i.instances,i=>i._plugins.invalidate())}function On(i,t,e=t){i.lineCap=P(e.borderCapStyle,t.borderCapStyle),i.setLineDash(P(e.borderDash,t.borderDash)),i.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),i.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=P(e.borderWidth,t.borderWidth),i.strokeStyle=P(e.borderColor,t.borderColor)}function yl(i,t,e){i.lineTo(e.x,e.y)}function vl(i){return i.stepped?qo:i.tension||i.cubicInterpolationMode==="monotone"?Go:yl}function Cn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-v:v))%o,y=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[x(0)],i.moveTo(u.x,u.y)),f=0;f<=a;++f){if(u=n[x(f)],u.skip)continue;const v=u.x,_=u.y,w=v|0;w===p?(_m&&(m=_),h=(d*h+v)/++d):(y(),i.lineTo(v,_),p=w,d=0,g=m=_),b=_}y()}function si(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Sl:kl}function wl(i){return i.stepped?Or:i.tension||i.cubicInterpolationMode==="monotone"?Cr:yt}function Ml(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),On(i,t.options),i.stroke(n)}function Pl(i,t,e,s){const{segments:n,options:o}=t,r=si(t);for(const a of n)On(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Dl=typeof Path2D=="function";function Ol(i,t,e,s){Dl&&!t.options.segment?Ml(i,t,e,s):Pl(i,t,e,s)}class yi extends ut{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;yr(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Rr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=gn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=wl(s);let c,h;for(c=0,h=r.length;c{a=Ie(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Ie(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function _s(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function An(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Rl(i,t),e.length?new yi({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function ys(i){return i&&i.fill!==!1}function zl(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function El(i,t,e){const s=Wl(i);if(O(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?Bl(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Bl(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Hl(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:O(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Vl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:O(i)?s=i.value:s=t.getBaseValue(),s}function Wl(i){const t=i.options,e=t.fill;let s=P(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Nl(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=jl(t,e);a.push(An({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Xe(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;ys(o)&&Xe(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!ys(s)||e.drawTime!=="beforeDatasetDraw"||Xe(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ws=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},Jl=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Ms extends ut{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=I(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=V(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*a>r)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+a}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:x,itemHeight:y}=tc(s,e,o,m,n);b>0&&u+y+2*a>h&&(d+=f+a,c.push({width:f,height:u}),p+=f+a,g++,f=u=0),l[b]={left:p,top:u,col:g,width:x,height:y},f=Math.max(f,x),u+=y+a}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=At(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=H(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=H(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ce(t,this),this._draw(),Te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=R.color,l=At(t.rtl,this.left,this.width),c=V(r.font),{padding:h}=r,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=ws(r,d),b=function(w,S,k){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const M=P(k.lineWidth,1);if(n.fillStyle=P(k.fillStyle,a),n.lineCap=P(k.lineCap,"butt"),n.lineDashOffset=P(k.lineDashOffset,0),n.lineJoin=P(k.lineJoin,"miter"),n.lineWidth=M,n.strokeStyle=P(k.strokeStyle,a),n.setLineDash(P(k.lineDash,[])),r.usePointStyle){const C={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:M},D=l.xPlus(w,p/2),T=S+f;en(n,C,D,T,r.pointStyleWidth&&p)}else{const C=S+Math.max((d-g)/2,0),D=l.leftForLtr(w,p),T=Tt(k.borderRadius);n.beginPath(),Object.values(T).some(N=>N!==0)?Pe(n,{x:D,y:C,w:p,h:g,radius:T}):n.rect(D,C,p,g),n.fill(),M!==0&&n.stroke()}n.restore()},x=function(w,S,k){ee(n,k.text,w,S+m/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},y=this.isHorizontal(),v=this._computeTitleHeight();y?u={x:H(o,this.left+h,this.right-s[0]),y:this.top+h+v,line:0}:u={x:this.left+h,y:H(o,this.top+v+h,this.bottom-e[0].height),line:0},hn(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor,n.fillStyle=w.fontColor;const k=n.measureText(w.text).width,M=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),C=p+f+k;let D=u.x,T=u.y;l.setWidth(this.width),y?S>0&&D+C+h>this.right&&(T=u.y+=_,u.line++,D=u.x=H(o,this.left+h,this.right-s[u.line])):S>0&&T+_>this.bottom&&(D=u.x=D+e[u.line].width+h,u.line++,T=u.y=H(o,this.top+v+h,this.bottom-e[u.line].height));const N=l.x(D);if(b(N,T,w),D=zo(M,D+p+f,y?D+C:this.right,t.rtl),x(l.x(D),T,w),y)u.x+=C+h;else if(typeof w.text!="string"){const Q=c.lineHeight;u.y+=In(w,Q)+h}else u.y+=_}),dn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=V(e.font),n=q(e.padding);if(!e.display)return;const o=At(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=H(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+H(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=H(a,d,d+f);r.textAlign=o.textAlign(hi(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,ee(r,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=V(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ct(t,this.left,this.right)&&ct(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+e.size/2+s.measureText(n).width}function ic(i,t,e){let s=i;return typeof t.text!="string"&&(s=In(t,e)),s}function In(i,t){const e=i.text?i.text.length:0;return t*e}function sc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var Lc={id:"legend",_element:Ms,start(i,t,e){const s=i.legend=new Ms({ctx:i.ctx,options:e,chart:i});K.configure(i,s,e),K.addBox(i,s)},stop(i){K.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;K.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Fn extends ut{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=z(s.text)?s.text.length:1;this._padding=q(s.padding);const o=n*V(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=H(a,s,o),d=e+t,c=o-s):(r.position==="left"?(h=s+t,d=H(a,n,e),l=E*-.5):(h=o-t,d=H(a,e,n),l=E*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=V(e.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ee(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:hi(e.align),textBaseline:"middle",translation:[r,a]})}}function nc(i,t){const e=new Fn({ctx:i.ctx,options:t,chart:i});K.configure(i,e,t),K.addBox(i,e),i.titleBlock=e}var Ic={id:"title",_element:Fn,start(i,t,e){nc(i,e)},stop(i){const t=i.titleBlock;K.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;K.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Yt={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;ta+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=i.length;o-1?i.split(` `):i}function oc(i,t){const{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:i,label:r,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function Ps(i,t){const e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:r,boxHeight:a}=t,l=V(t.bodyFont),c=V(t.titleFont),h=V(t.footerFont),d=o.length,f=n.length,u=s.length,p=q(t.padding);let g=p.height,m=0,b=s.reduce((v,_)=>v+_.before.length+_.lines.length+_.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const v=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=u*v+(b-u)*l.lineHeight+(b-1)*t.bodySpacing}f&&(g+=t.footerMarginTop+f*h.lineHeight+(f-1)*t.footerSpacing);let x=0;const y=function(v){m=Math.max(m,e.measureText(v).width+x)};return e.save(),e.font=c.string,L(i.title,y),e.font=l.string,L(i.beforeBody.concat(i.afterBody),y),x=t.displayColors?r+2+t.boxPadding:0,L(s,v=>{L(v.before,y),L(v.lines,y),L(v.after,y)}),x=0,e.font=h.string,L(i.footer,y),e.restore(),m+=p.width,{width:m,height:g}}function rc(i,t){const{y:e,height:s}=t;return ei.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;lt.filter(h,d,f,s))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,s))),L(a,h=>{const d=Ts(t.callbacks,h);n.push(j(d,"labelColor",this,h)),o.push(j(d,"labelPointStyle",this,h)),r.push(j(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){const s=this.options.setContext(this.getContext()),n=this._active;let o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const a=Yt[s.position].call(this,n,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=Ps(this,s),c=Object.assign({},a,l),h=Ds(this.chart,s,c),d=Os(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){const o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){const{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=Tt(a),{x:f,y:u}=t,{width:p,height:g}=e;let m,b,x,y,v,_;return o==="center"?(v=u+g/2,n==="left"?(m=f,b=m-r,y=v+r,_=v-r):(m=f+p,b=m+r,y=v-r,_=v+r),x=m):(n==="left"?b=f+Math.max(l,h)+r:n==="right"?b=f+p-Math.max(c,d)-r:b=this.caretX,o==="top"?(y=u,v=y-r,m=b-r,x=b+r):(y=u+g,v=y+r,m=b+r,x=b-r),_=y),{x1:m,x2:b,x3:x,y1:y,y2:v,y3:_}}drawTitle(t,e,s){const n=this.title,o=n.length;let r,a,l;if(o){const c=At(s.rtl,this.x,this.width);for(t.x=_e(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",r=V(s.titleFont),a=s.titleSpacing,e.fillStyle=s.titleColor,e.font=r.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Pe(t,{x:g,y:p,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Pe(t,{x:m,y:p+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(g,p,c,l),t.strokeRect(g,p,c,l),t.fillStyle=r.backgroundColor,t.fillRect(m,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){const{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=V(s.bodyFont);let f=d.lineHeight,u=0;const p=At(s.rtl,this.x,this.width),g=function(k){e.fillText(k,p.x(t.x+u),t.y+f/2),t.y+=f+o},m=p.textAlign(r);let b,x,y,v,_,w,S;for(e.textAlign=r,e.textBaseline="middle",e.font=d.string,t.x=_e(this,m,s),e.fillStyle=s.bodyColor,L(this.beforeBody,g),u=a&&m!=="right"?r==="center"?c/2+h:c+2+h:0,v=0,w=n.length;v0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){const r=Yt[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ps(this,t),l=Object.assign({},r,this._size),c=Ds(e,t,l),h=Os(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=q(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),hn(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),dn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const s=this._active,n=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Se(s,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,s),a=this._positionChanged(r,t),l=e||!Se(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,e){const{caretX:s,caretY:n,options:o}=this,r=Yt[o.position].call(this,t,e);return r!==!1&&(s!==r.x||n!==r.y)}}var Fc={id:"tooltip",_element:As,positioners:Yt,afterInit(i,t,e){e&&(i.tooltip=new As({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){const t=i.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){const e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rn},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const fc=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function uc(i,t,e,s){const n=i.indexOf(t);if(n===-1)return fc(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const gc=(i,t)=>i===null?null:Y(Math.round(i),0,t);function Ls(i){const t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function pc(i,t){const e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:f}=i,u=o||1,p=h-1,{min:g,max:m}=t,b=!A(r),x=!A(a),y=!A(c),v=(m-g)/(d+1);let _=Oi((m-g)/p/u)*u,w,S,k,M;if(_<1e-14&&!b&&!x)return[{value:g},{value:m}];M=Math.ceil(m/_)-Math.floor(g/_),M>p&&(_=Oi(M*_/p/u)*u),A(l)||(w=Math.pow(10,l),_=Math.ceil(_*w)/w),n==="ticks"?(S=Math.floor(g/_)*_,k=Math.ceil(m/_)*_):(S=g,k=m),b&&x&&o&&Po((a-r)/o,_/1e3)?(M=Math.round(Math.min((a-r)/_,h)),_=(a-r)/M,S=r,k=a):y?(S=b?r:S,k=x?a:k,M=c-1,_=(k-S)/M):(M=(k-S)/_,Xt(M,Math.round(M),_/1e3)?M=Math.round(M):M=Math.ceil(M));const C=Math.max(Ci(_),Ci(S));w=Math.pow(10,A(l)?C:l),S=Math.round(S*w)/w,k=Math.round(k*w)/w;let D=0;for(b&&(f&&S!==r?(e.push({value:r}),Sa)break;e.push({value:T})}return x&&f&&k!==a?e.length&&Xt(e[e.length-1].value,a,Is(a,v,i))?e[e.length-1].value=a:e.push({value:a}):(!x||k===a)&&e.push({value:k}),e}function Is(i,t,{horizontal:e,minRotation:s}){const n=vt(s),o=(e?Math.sin(n):Math.cos(n))||.001,r=.75*t*(""+i).length;return Math.min(t/o,r)}class mc extends Rt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds();let{min:n,max:o}=this;const r=l=>n=e?n:l,a=l=>o=s?o:l;if(t){const l=st(n),c=st(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=pc(n,o);return t.bounds==="ticks"&&Do(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return Js(t,this.chart.options.locale,this.options.ticks.format)}}class zc extends mc{static id="linear";static defaults={ticks:{callback:tn.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?t:0,this.max=W(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=vt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const Fe={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},$=Object.keys(Fe);function Fs(i,t){return i-t}function Rs(i,t){if(A(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),W(r)||(r=typeof s=="string"?e.parse(r,s):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(Jt(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function zs(i,t,e,s){const n=$.length;for(let o=$.indexOf(i);o=$.indexOf(e);o--){const r=$[o];if(Fe[r].common&&i._adapter.diff(n,s,r)>=t-1)return r}return $[e?$.indexOf(e):0]}function xc(i){for(let t=$.indexOf(i)+1,e=$.length;t=t?e[s]:e[n];i[o]=!0}}function _c(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,s))l=e[a],l>=0&&(t[l].major=!0);return t}function Bs(i,t,e){const s=[],n={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;e=Y(e,0,r),s=Y(s,0,r),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,r=o.unit||zs(o.minUnit,e,s,this._getLabelCapacity(e)),a=P(n.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Jt(l)||l===!0,h={};let d=e,f,u;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,e,r)>1e5*a)throw new Error(e+" and "+s+" are too far apart with stepSize of "+a+" "+r);const p=n.ticks.source==="data"&&this.getDataTimestamps();for(f=d,u=0;f+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-eUjmVFiu.js b/src/static/dist/WGDashboardAdmin/assets/index-CNpdctLQ.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/index-eUjmVFiu.js rename to src/static/dist/WGDashboardAdmin/assets/index-CNpdctLQ.js index d82bd4ee..677b0913 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-eUjmVFiu.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-CNpdctLQ.js @@ -1 +1 @@ -import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as _,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-DXzxfcZW.js";import{L as m}from"./localeText-Dmcj5qqx.js";import{M as I}from"./message-DC-PB7Ii.js";import"./dayjs.min-C-brjxlJ.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},[...r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)])])]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),ft={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},_t=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=_("LocaleText"),u=_("RouterLink"),C=_("HelpModal"),p=_("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=f=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,f=>(a(),c("li",At,[s(u,{to:"/configuration/"+f.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:f.Status}])},null,2),v(" "+b(f.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=f=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (",-1)),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=f=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=f=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,_t)}const zt=$(ft,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=_("Navbar"),u=_("RouterView"),C=_("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; +import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as _,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-DM7YJCOo.js";import{L as m}from"./localeText-BJvnc1lF.js";import{M as I}from"./message-BLvFM11v.js";import"./dayjs.min-DZl6XMNW.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},[...r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)])])]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),ft={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},_t=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=_("LocaleText"),u=_("RouterLink"),C=_("HelpModal"),p=_("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=f=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,f=>(a(),c("li",At,[s(u,{to:"/configuration/"+f.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:f.Status}])},null,2),v(" "+b(f.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=f=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (",-1)),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=f=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=f=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,_t)}const zt=$(ft,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=_("Navbar"),u=_("RouterView"),C=_("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-DM7YJCOo.js b/src/static/dist/WGDashboardAdmin/assets/index-DM7YJCOo.js new file mode 100644 index 00000000..0e3248a1 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/index-DM7YJCOo.js @@ -0,0 +1,14 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CNpdctLQ.js","./localeText-BJvnc1lF.js","./message-BLvFM11v.js","./dayjs.min-DZl6XMNW.js","./message-Bh5W0B3y.css","./index-CpoCtfuw.css","./configurationList-DZ8s_3m3.js","./protocolBadge-VYIlC1Ec.js","./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js","./storageMount-CiBujS1C.css","./configurationList-CG9tP7oL.css","./settings-Pu99wEIv.js","./peersDefaultSettingsInput-n69y01QP.js","./dashboardEmailSettings-DBnS2OTV.js","./vue-datepicker-9N8DgATH.js","./index-i3npkoSo.js","./dashboardEmailSettings-BxtXuVtX.css","./dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js","./dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","./wgdashboardSettings-1ZVC2T1K.js","./peerDefaultSettings-DwXMLijS.js","./wireguardConfigurationSettings-DVf20tDl.js","./ping-Dcho8zUm.js","./osmap-BMy-ioUU.js","./Vector-CuSZivra.js","./Vector-BtPuoxOl.css","./osmap-CsoM1fIq.css","./ping-DgbK5UF9.css","./traceroute-0ZnREFaN.js","./traceroute-D9mlT_ah.css","./newConfiguration-Cf-XQ6D8.js","./index-Bno8fcdN.js","./galois-field-I2lBzzs-.js","./newConfiguration-DKjGLwK7.css","./restoreConfiguration-wW2xOYsw.js","./restoreConfiguration-Go8Q_2zy.css","./systemStatus-Ba_q2UdD.js","./index-Bt0JU5XL.js","./systemStatus-Dve-9tnj.css","./clients-15IHrs0x.js","./DashboardClientAssignmentStore-Cx8hQRjk.js","./clients-CfS2KUuu.css","./clientViewer-BgfH726S.js","./clientViewer-C5axh9P7.css","./dashboardWebHooks-BmRLNEC1.js","./dashboardWebHooks-Dl-enc0Z.css","./peerList-CPiA0nLD.js","./peerList-7q3zheYP.css","./signin-7XmHRYpi.js","./signin-DHb5-H_M.css","./setup-D0Q0qQii.js","./totp-XesjjJo-.js","./browser-CUYUHo3j.js","./share-LLVdD8M-.js","./share-e5E8P3Ro.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)}})();const $g="modulepreload",Mg=function(e,t){return new URL(e,t).href},nl={},Ie=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let d=function(f){return Promise.all(f.map(h=>Promise.resolve(h).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const a=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),c=l?.nonce||l?.getAttribute("nonce");s=d(n.map(f=>{if(f=Mg(f,r),f in nl)return;nl[f]=!0;const h=f.endsWith(".css"),p=h?'[rel="stylesheet"]':"";if(r)for(let O=a.length-1;O>=0;O--){const A=a[O];if(A.href===f&&(!h||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${p}`))return;const m=document.createElement("link");if(m.rel=h?"stylesheet":$g,h||(m.as="script"),m.crossOrigin="",m.href=f,c&&m.setAttribute("nonce",c),document.head.appendChild(m),h)return new Promise((O,A)=>{m.addEventListener("load",O),m.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${f}`)))})}))}function o(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return s.then(a=>{for(const l of a||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};function yb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function kg(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 ws={exports:{}},Qe="top",st="bottom",it="right",Je="left",Gs="auto",Er=[Qe,st,it,Je],Pn="start",ar="end",Nc="clippingParents",xo="viewport",Qn="popper",xc="reference",eo=Er.reduce(function(e,t){return e.concat([t+"-"+Pn,t+"-"+ar])},[]),Ro=[].concat(Er,[Gs]).reduce(function(e,t){return e.concat([t,t+"-"+Pn,t+"-"+ar])},[]),Rc="beforeRead",Ic="read",Dc="afterRead",Lc="beforeMain",Pc="main",$c="afterMain",Mc="beforeWrite",kc="write",Vc="afterWrite",Fc=[Rc,Ic,Dc,Lc,Pc,$c,Mc,kc,Vc];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 $n(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 Io(e){if(typeof ShadowRoot>"u")return!1;var t=ot(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Vg(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 Fg(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 Do={name:"applyStyles",enabled:!0,phase:"write",fn:Vg,effect:Fg,requires:["computeStyles"]};function Lt(e){return e.split("-")[0]}var Nn=Math.max,Ds=Math.min,lr=Math.round;function to(){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 Hc(){return!/^((?!chrome|android).)*safari/i.test(to())}function cr(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&&lr(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&lr(r.height)/e.offsetHeight||1);var a=$n(e)?ot(e):window,l=a.visualViewport,c=!Hc()&&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 Lo(e){var t=cr(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 Bc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Io(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 Hg(e){return["table","td","th"].indexOf(Pt(e))>=0}function dn(e){return(($n(e)?e.ownerDocument:e.document)||window.document).documentElement}function qs(e){return Pt(e)==="html"?e:e.assignedSlot||e.parentNode||(Io(e)?e.host:null)||dn(e)}function rl(e){return!ht(e)||Kt(e).position==="fixed"?null:e.offsetParent}function Bg(e){var t=/firefox/i.test(to()),n=/Trident/i.test(to());if(n&&ht(e)){var r=Kt(e);if(r.position==="fixed")return null}var s=qs(e);for(Io(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=rl(e);n&&Hg(n)&&Kt(n).position==="static";)n=rl(n);return n&&(Pt(n)==="html"||Pt(n)==="body"&&Kt(n).position==="static")?t:n||Bg(e)||t}function Po(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Dr(e,t,n){return Nn(e,Ds(t,n))}function jg(e,t,n){var r=Dr(e,t,n);return r>n?n:r}function jc(){return{top:0,right:0,bottom:0,left:0}}function Wc(e){return Object.assign({},jc(),e)}function Uc(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Wg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Wc(typeof t!="number"?t:Uc(t,Er))};function Ug(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=Po(l),d=[Je,it].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Wg(s.padding,n),p=Lo(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 Kg(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)||Bc(t.elements.popper,s)&&(t.elements.arrow=s))}const Kc={name:"arrow",enabled:!0,phase:"main",fn:Ug,effect:Kg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ur(e){return e.split("-")[1]}var Gg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qg(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:lr(n*s)/s||0,y:lr(r*s)/s||0}}function sl(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=dn(n),Kt(y).position!=="static"&&l==="absolute"&&(N="scrollHeight",T="scrollWidth")),y=y,s===Qe||(s===Je||s===it)&&o===ar){M=st;var w=h&&y===b&&b.visualViewport?b.visualViewport.height:y[N];A-=w-r.height,A*=c?1:-1}if(s===Je||(s===Qe||s===st)&&o===ar){H=it;var C=h&&y===b&&b.visualViewport?b.visualViewport.width:y[T];m-=C-r.width,m*=c?1:-1}}var K=Object.assign({position:l},d&&Gg),j=f===!0?qg({x:m,y:A},ot(n)):{x:m,y:A};if(m=j.x,A=j.y,c){var te;return Object.assign({},K,(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({},K,(t={},t[M]=V?A+"px":"",t[H]=P?m+"px":"",t.transform="",t))}function Yg(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:ur(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,sl(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,sl(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 $o={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Yg,data:{}};var gs={passive:!0};function zg(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 Mo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zg,data:{}};var Xg={left:"right",right:"left",bottom:"top",top:"bottom"};function Cs(e){return e.replace(/left|right|bottom|top/g,function(t){return Xg[t]})}var Qg={start:"end",end:"start"};function il(e){return e.replace(/start|end/g,function(t){return Qg[t]})}function ko(e){var t=ot(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Vo(e){return cr(dn(e)).left+ko(e).scrollLeft}function Jg(e,t){var n=ot(e),r=dn(e),s=n.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){o=s.width,a=s.height;var d=Hc();(d||!d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:o,height:a,x:l+Vo(e),y:c}}function Zg(e){var t,n=dn(e),r=ko(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=Nn(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=Nn(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),l=-r.scrollLeft+Vo(e),c=-r.scrollTop;return Kt(s||n).direction==="rtl"&&(l+=Nn(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function Fo(e){var t=Kt(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Gc(e){return["html","body","#document"].indexOf(Pt(e))>=0?e.ownerDocument.body:ht(e)&&Fo(e)?e:Gc(qs(e))}function Lr(e,t){var n;t===void 0&&(t=[]);var r=Gc(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=ot(r),a=s?[o].concat(o.visualViewport||[],Fo(r)?r:[]):r,l=t.concat(a);return s?l:l.concat(Lr(qs(a)))}function no(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function em(e,t){var n=cr(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 ol(e,t,n){return t===xo?no(Jg(e,n)):$n(t)?em(t,n):no(Zg(dn(e)))}function tm(e){var t=Lr(qs(e)),n=["absolute","fixed"].indexOf(Kt(e).position)>=0,r=n&&ht(e)?Xr(e):e;return $n(r)?t.filter(function(s){return $n(s)&&Bc(s,r)&&Pt(s)!=="body"}):[]}function nm(e,t,n,r){var s=t==="clippingParents"?tm(e):[].concat(t),o=[].concat(s,[n]),a=o[0],l=o.reduce(function(c,d){var f=ol(e,d,r);return c.top=Nn(f.top,c.top),c.right=Ds(f.right,c.right),c.bottom=Ds(f.bottom,c.bottom),c.left=Nn(f.left,c.left),c},ol(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 qc(e){var t=e.reference,n=e.element,r=e.placement,s=r?Lt(r):null,o=r?ur(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?Po(s):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case Pn:c[d]=c[d]-(t[f]/2-n[f]/2);break;case ar:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function fr(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?Nc:l,d=n.rootBoundary,f=d===void 0?xo:d,h=n.elementContext,p=h===void 0?Qn:h,m=n.altBoundary,O=m===void 0?!1:m,A=n.padding,x=A===void 0?0:A,P=Wc(typeof x!="number"?x:Uc(x,Er)),V=p===Qn?xc:Qn,H=e.rects.popper,M=e.elements[O?V:p],b=nm($n(M)?M:M.contextElement||dn(e.elements.popper),c,f,a),y=cr(e.elements.reference),N=qc({reference:y,element:H,placement:s}),T=no(Object.assign({},H,N)),w=p===Qn?T:y,C={top:b.top-w.top+P.top,bottom:w.bottom-b.bottom+P.bottom,left:b.left-w.left+P.left,right:w.right-b.right+P.right},K=e.modifiersData.offset;if(p===Qn&&K){var j=K[s];Object.keys(C).forEach(function(te){var he=[it,st].indexOf(te)>=0?1:-1,Ee=[Qe,st].indexOf(te)>=0?"y":"x";C[te]+=j[Ee]*he})}return C}function rm(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?Ro:c,f=ur(r),h=f?l?eo:eo.filter(function(O){return ur(O)===f}):Er,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]=fr(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 sm(e){if(Lt(e)===Gs)return[];var t=Cs(e);return[il(e),t,il(t)]}function im(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?[Cs(x)]:sm(x)),M=[x].concat(H).reduce(function(de,me){return de.concat(Lt(me)===Gs?rm(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,w=M[0],C=0;C=0,Ee=he?"width":"height",ie=fr(t,{placement:K,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),I=he?te?it:Je:te?st:Qe;b[Ee]>y[Ee]&&(I=Cs(I));var U=Cs(I),G=[];if(o&&G.push(ie[j]<=0),l&&G.push(ie[I]<=0,ie[U]<=0),G.every(function(de){return de})){w=K,T=!1;break}N.set(K,G)}if(T)for(var X=O?3:1,re=function(me){var ye=M.find(function(L){var Q=N.get(L);if(Q)return Q.slice(0,me).every(function(Z){return Z})});if(ye)return w=ye,"break"},ne=X;ne>0;ne--){var se=re(ne);if(se==="break")break}t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}const Yc={name:"flip",enabled:!0,phase:"main",fn:im,requiresIfExists:["offset"],data:{_skip:!1}};function al(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ll(e){return[Qe,it,st,Je].some(function(t){return e[t]>=0})}function om(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,a=fr(t,{elementContext:"reference"}),l=fr(t,{altBoundary:!0}),c=al(a,r),d=al(l,s,o),f=ll(c),h=ll(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const zc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:om};function am(e,t,n){var r=Lt(e),s=[Je,Qe].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*s,[Je,it].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function lm(e){var t=e.state,n=e.options,r=e.name,s=n.offset,o=s===void 0?[0,0]:s,a=Ro.reduce(function(f,h){return f[h]=am(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}const Xc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:lm};function cm(e){var t=e.state,n=e.name;t.modifiersData[n]=qc({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Ho={name:"popperOffsets",enabled:!0,phase:"read",fn:cm,data:{}};function um(e){return e==="x"?"y":"x"}function fm(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,m=p===void 0?!0:p,O=n.tetherOffset,A=O===void 0?0:O,x=fr(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),P=Lt(t.placement),V=ur(t.placement),H=!V,M=Po(P),b=um(M),y=t.modifiersData.popperOffsets,N=t.rects.reference,T=t.rects.popper,w=typeof A=="function"?A(Object.assign({},t.rects,{placement:t.placement})):A,C=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),K=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(y){if(o){var te,he=M==="y"?Qe:Je,Ee=M==="y"?st:it,ie=M==="y"?"height":"width",I=y[M],U=I+x[he],G=I-x[Ee],X=m?-T[ie]/2:0,re=V===Pn?N[ie]:T[ie],ne=V===Pn?-T[ie]:-N[ie],se=t.elements.arrow,de=m&&se?Lo(se):{width:0,height:0},me=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:jc(),ye=me[he],L=me[Ee],Q=Dr(0,N[ie],de[ie]),Z=H?N[ie]/2-X-Q-ye-C.mainAxis:re-Q-ye-C.mainAxis,oe=H?-N[ie]/2+X+Q+L+C.mainAxis:ne+Q+L+C.mainAxis,D=t.elements.arrow&&Xr(t.elements.arrow),g=D?M==="y"?D.clientTop||0:D.clientLeft||0:0,E=(te=K?.[M])!=null?te:0,S=I+Z-E-g,$=I+oe-E,B=Dr(m?Ds(U,S):U,I,m?Nn(G,$):G);y[M]=B,j[M]=B-I}if(l){var F,q=M==="x"?Qe:Je,z=M==="x"?st:it,R=y[b],W=b==="y"?"height":"width",ce=R+x[q],ee=R-x[z],ae=[Qe,Je].indexOf(P)!==-1,ue=(F=K?.[b])!=null?F:0,pe=ae?ce:R-N[W]-T[W]-ue+C.altAxis,be=ae?R+N[W]+T[W]-ue-C.altAxis:ee,_e=m&&ae?jg(pe,R,be):Dr(m?pe:ce,R,m?be:ee);y[b]=_e,j[b]=_e-R}t.modifiersData[r]=j}}const Qc={name:"preventOverflow",enabled:!0,phase:"main",fn:fm,requiresIfExists:["offset"]};function dm(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function hm(e){return e===ot(e)||!ht(e)?ko(e):dm(e)}function pm(e){var t=e.getBoundingClientRect(),n=lr(t.width)/e.offsetWidth||1,r=lr(t.height)/e.offsetHeight||1;return n!==1||r!==1}function gm(e,t,n){n===void 0&&(n=!1);var r=ht(t),s=ht(t)&&pm(t),o=dn(t),a=cr(e,s,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Pt(t)!=="body"||Fo(o))&&(l=hm(t)),ht(t)?(c=cr(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=Vo(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function mm(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&s(c)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),r}function _m(e){var t=mm(e);return Fc.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function vm(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Em(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var cl={placement:"bottom",modifiers:[],strategy:"absolute"};function ul(){for(var e=arguments.length,t=new Array(e),n=0;n_[u]})}}return i.default=_,Object.freeze(i)}const s=r(n),o=new Map,a={set(_,i,u){o.has(_)||o.set(_,new Map);const v=o.get(_);if(!v.has(i)&&v.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(v.keys())[0]}.`);return}v.set(i,u)},get(_,i){return o.has(_)&&o.get(_).get(i)||null},remove(_,i){if(!o.has(_))return;const u=o.get(_);u.delete(i),u.size===0&&o.delete(_)}},l=1e6,c=1e3,d="transitionend",f=_=>(_&&window.CSS&&window.CSS.escape&&(_=_.replace(/#([^\s"#']+)/g,(i,u)=>`#${CSS.escape(u)}`)),_),h=_=>_==null?`${_}`:Object.prototype.toString.call(_).match(/\s([a-z]+)/i)[1].toLowerCase(),p=_=>{do _+=Math.floor(Math.random()*l);while(document.getElementById(_));return _},m=_=>{if(!_)return 0;let{transitionDuration:i,transitionDelay:u}=window.getComputedStyle(_);const v=Number.parseFloat(i),k=Number.parseFloat(u);return!v&&!k?0:(i=i.split(",")[0],u=u.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(u))*c)},O=_=>{_.dispatchEvent(new Event(d))},A=_=>!_||typeof _!="object"?!1:(typeof _.jquery<"u"&&(_=_[0]),typeof _.nodeType<"u"),x=_=>A(_)?_.jquery?_[0]:_:typeof _=="string"&&_.length>0?document.querySelector(f(_)):null,P=_=>{if(!A(_)||_.getClientRects().length===0)return!1;const i=getComputedStyle(_).getPropertyValue("visibility")==="visible",u=_.closest("details:not([open])");if(!u)return i;if(u!==_){const v=_.closest("summary");if(v&&v.parentNode!==u||v===null)return!1}return i},V=_=>!_||_.nodeType!==Node.ELEMENT_NODE||_.classList.contains("disabled")?!0:typeof _.disabled<"u"?_.disabled:_.hasAttribute("disabled")&&_.getAttribute("disabled")!=="false",H=_=>{if(!document.documentElement.attachShadow)return null;if(typeof _.getRootNode=="function"){const i=_.getRootNode();return i instanceof ShadowRoot?i:null}return _ instanceof ShadowRoot?_:_.parentNode?H(_.parentNode):null},M=()=>{},b=_=>{_.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,N=[],T=_=>{document.readyState==="loading"?(N.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of N)i()}),N.push(_)):_()},w=()=>document.documentElement.dir==="rtl",C=_=>{T(()=>{const i=y();if(i){const u=_.NAME,v=i.fn[u];i.fn[u]=_.jQueryInterface,i.fn[u].Constructor=_,i.fn[u].noConflict=()=>(i.fn[u]=v,_.jQueryInterface)}})},K=(_,i=[],u=_)=>typeof _=="function"?_.call(...i):u,j=(_,i,u=!0)=>{if(!u){K(_);return}const k=m(i)+5;let J=!1;const Y=({target:ge})=>{ge===i&&(J=!0,i.removeEventListener(d,Y),K(_))};i.addEventListener(d,Y),setTimeout(()=>{J||O(i)},k)},te=(_,i,u,v)=>{const k=_.length;let J=_.indexOf(i);return J===-1?!u&&v?_[k-1]:_[0]:(J+=u?1:-1,v&&(J=(J+k)%k),_[Math.max(0,Math.min(J,k-1))])},he=/[^.]*(?=\..*)\.|.*/,Ee=/\..*/,ie=/::\d+$/,I={};let U=1;const G={mouseenter:"mouseover",mouseleave:"mouseout"},X=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function re(_,i){return i&&`${i}::${U++}`||_.uidEvent||U++}function ne(_){const i=re(_);return _.uidEvent=i,I[i]=I[i]||{},I[i]}function se(_,i){return function u(v){return g(v,{delegateTarget:_}),u.oneOff&&D.off(_,v.type,i),i.apply(_,[v])}}function de(_,i,u){return function v(k){const J=_.querySelectorAll(i);for(let{target:Y}=k;Y&&Y!==this;Y=Y.parentNode)for(const ge of J)if(ge===Y)return g(k,{delegateTarget:Y}),v.oneOff&&D.off(_,k.type,i,u),u.apply(Y,[k])}}function me(_,i,u=null){return Object.values(_).find(v=>v.callable===i&&v.delegationSelector===u)}function ye(_,i,u){const v=typeof i=="string",k=v?u:i||u;let J=oe(_);return X.has(J)||(J=_),[v,k,J]}function L(_,i,u,v,k){if(typeof i!="string"||!_)return;let[J,Y,ge]=ye(i,u,v);i in G&&(Y=(Pg=>function(Yn){if(!Yn.relatedTarget||Yn.relatedTarget!==Yn.delegateTarget&&!Yn.delegateTarget.contains(Yn.relatedTarget))return Pg.call(this,Yn)})(Y));const Ze=ne(_),ut=Ze[ge]||(Ze[ge]={}),Me=me(ut,Y,J?u:null);if(Me){Me.oneOff=Me.oneOff&&k;return}const Ot=re(Y,i.replace(he,"")),Et=J?de(_,u,Y):se(_,Y);Et.delegationSelector=J?u:null,Et.callable=Y,Et.oneOff=k,Et.uidEvent=Ot,ut[Ot]=Et,_.addEventListener(ge,Et,J)}function Q(_,i,u,v,k){const J=me(i[u],v,k);J&&(_.removeEventListener(u,J,!!k),delete i[u][J.uidEvent])}function Z(_,i,u,v){const k=i[u]||{};for(const[J,Y]of Object.entries(k))J.includes(v)&&Q(_,i,u,Y.callable,Y.delegationSelector)}function oe(_){return _=_.replace(Ee,""),G[_]||_}const D={on(_,i,u,v){L(_,i,u,v,!1)},one(_,i,u,v){L(_,i,u,v,!0)},off(_,i,u,v){if(typeof i!="string"||!_)return;const[k,J,Y]=ye(i,u,v),ge=Y!==i,Ze=ne(_),ut=Ze[Y]||{},Me=i.startsWith(".");if(typeof J<"u"){if(!Object.keys(ut).length)return;Q(_,Ze,Y,J,k?u:null);return}if(Me)for(const Ot of Object.keys(Ze))Z(_,Ze,Ot,i.slice(1));for(const[Ot,Et]of Object.entries(ut)){const ps=Ot.replace(ie,"");(!ge||i.includes(ps))&&Q(_,Ze,Y,Et.callable,Et.delegationSelector)}},trigger(_,i,u){if(typeof i!="string"||!_)return null;const v=y(),k=oe(i),J=i!==k;let Y=null,ge=!0,Ze=!0,ut=!1;J&&v&&(Y=v.Event(i,u),v(_).trigger(Y),ge=!Y.isPropagationStopped(),Ze=!Y.isImmediatePropagationStopped(),ut=Y.isDefaultPrevented());const Me=g(new Event(i,{bubbles:ge,cancelable:!0}),u);return ut&&Me.preventDefault(),Ze&&_.dispatchEvent(Me),Me.defaultPrevented&&Y&&Y.preventDefault(),Me}};function g(_,i={}){for(const[u,v]of Object.entries(i))try{_[u]=v}catch{Object.defineProperty(_,u,{configurable:!0,get(){return v}})}return _}function E(_){if(_==="true")return!0;if(_==="false")return!1;if(_===Number(_).toString())return Number(_);if(_===""||_==="null")return null;if(typeof _!="string")return _;try{return JSON.parse(decodeURIComponent(_))}catch{return _}}function S(_){return _.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const $={setDataAttribute(_,i,u){_.setAttribute(`data-bs-${S(i)}`,u)},removeDataAttribute(_,i){_.removeAttribute(`data-bs-${S(i)}`)},getDataAttributes(_){if(!_)return{};const i={},u=Object.keys(_.dataset).filter(v=>v.startsWith("bs")&&!v.startsWith("bsConfig"));for(const v of u){let k=v.replace(/^bs/,"");k=k.charAt(0).toLowerCase()+k.slice(1),i[k]=E(_.dataset[v])}return i},getDataAttribute(_,i){return E(_.getAttribute(`data-bs-${S(i)}`))}};class B{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,u){const v=A(u)?$.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...A(u)?$.getDataAttributes(u):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,u=this.constructor.DefaultType){for(const[v,k]of Object.entries(u)){const J=i[v],Y=A(J)?"element":h(J);if(!new RegExp(k).test(Y))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${Y}" but expected type "${k}".`)}}}const F="5.3.8";class q extends B{constructor(i,u){super(),i=x(i),i&&(this._element=i,this._config=this._getConfig(u),a.set(this._element,this.constructor.DATA_KEY,this))}dispose(){a.remove(this._element,this.constructor.DATA_KEY),D.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,u,v=!0){j(i,u,v)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return a.get(x(i),this.DATA_KEY)}static getOrCreateInstance(i,u={}){return this.getInstance(i)||new this(i,typeof u=="object"?u:null)}static get VERSION(){return F}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const z=_=>{let i=_.getAttribute("data-bs-target");if(!i||i==="#"){let u=_.getAttribute("href");if(!u||!u.includes("#")&&!u.startsWith("."))return null;u.includes("#")&&!u.startsWith("#")&&(u=`#${u.split("#")[1]}`),i=u&&u!=="#"?u.trim():null}return i?i.split(",").map(u=>f(u)).join(","):null},R={find(_,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,_))},findOne(_,i=document.documentElement){return Element.prototype.querySelector.call(i,_)},children(_,i){return[].concat(..._.children).filter(u=>u.matches(i))},parents(_,i){const u=[];let v=_.parentNode.closest(i);for(;v;)u.push(v),v=v.parentNode.closest(i);return u},prev(_,i){let u=_.previousElementSibling;for(;u;){if(u.matches(i))return[u];u=u.previousElementSibling}return[]},next(_,i){let u=_.nextElementSibling;for(;u;){if(u.matches(i))return[u];u=u.nextElementSibling}return[]},focusableChildren(_){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(u=>`${u}:not([tabindex^="-"])`).join(",");return this.find(i,_).filter(u=>!V(u)&&P(u))},getSelectorFromElement(_){const i=z(_);return i&&R.findOne(i)?i:null},getElementFromSelector(_){const i=z(_);return i?R.findOne(i):null},getMultipleElementsFromSelector(_){const i=z(_);return i?R.find(i):[]}},W=(_,i="hide")=>{const u=`click.dismiss${_.EVENT_KEY}`,v=_.NAME;D.on(document,u,`[data-bs-dismiss="${v}"]`,function(k){if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),V(this))return;const J=R.getElementFromSelector(this)||this.closest(`.${v}`);_.getOrCreateInstance(J)[i]()})},ce="alert",ae=".bs.alert",ue=`close${ae}`,pe=`closed${ae}`,be="fade",_e="show";class De extends q{static get NAME(){return ce}close(){if(D.trigger(this._element,ue).defaultPrevented)return;this._element.classList.remove(_e);const u=this._element.classList.contains(be);this._queueCallback(()=>this._destroyElement(),this._element,u)}_destroyElement(){this._element.remove(),D.trigger(this._element,pe),this.dispose()}static jQueryInterface(i){return this.each(function(){const u=De.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}W(De,"close"),C(De);const je="button",at=".bs.button",gn=".data-api",ts="active",We='[data-bs-toggle="button"]',lt=`click${at}${gn}`;class zt extends q{static get NAME(){return je}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(ts))}static jQueryInterface(i){return this.each(function(){const u=zt.getOrCreateInstance(this);i==="toggle"&&u[i]()})}}D.on(document,lt,We,_=>{_.preventDefault();const i=_.target.closest(We);zt.getOrCreateInstance(i).toggle()}),C(zt);const ns="swipe",Hn=".bs.swipe",od=`touchstart${Hn}`,ad=`touchmove${Hn}`,ld=`touchend${Hn}`,cd=`pointerdown${Hn}`,ud=`pointerup${Hn}`,fd="touch",dd="pen",hd="pointer-event",pd=40,gd={endCallback:null,leftCallback:null,rightCallback:null},md={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class rs extends B{constructor(i,u){super(),this._element=i,!(!i||!rs.isSupported())&&(this._config=this._getConfig(u),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return gd}static get DefaultType(){return md}static get NAME(){return ns}dispose(){D.off(this._element,Hn)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),K(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=pd)return;const u=i/this._deltaX;this._deltaX=0,u&&K(u>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(D.on(this._element,cd,i=>this._start(i)),D.on(this._element,ud,i=>this._end(i)),this._element.classList.add(hd)):(D.on(this._element,od,i=>this._start(i)),D.on(this._element,ad,i=>this._move(i)),D.on(this._element,ld,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===dd||i.pointerType===fd)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const _d="carousel",Xt=".bs.carousel",ga=".data-api",vd="ArrowLeft",Ed="ArrowRight",yd=500,Ar="next",Bn="prev",jn="left",ss="right",bd=`slide${Xt}`,Ei=`slid${Xt}`,Ad=`keydown${Xt}`,Td=`mouseenter${Xt}`,wd=`mouseleave${Xt}`,Cd=`dragstart${Xt}`,Sd=`load${Xt}${ga}`,Od=`click${Xt}${ga}`,ma="carousel",is="active",Nd="slide",xd="carousel-item-end",Rd="carousel-item-start",Id="carousel-item-next",Dd="carousel-item-prev",_a=".active",va=".carousel-item",Ld=_a+va,Pd=".carousel-item img",$d=".carousel-indicators",Md="[data-bs-slide], [data-bs-slide-to]",kd='[data-bs-ride="carousel"]',Vd={[vd]:ss,[Ed]:jn},Fd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Hd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Wn extends q{constructor(i,u){super(i,u),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne($d,this._element),this._addEventListeners(),this._config.ride===ma&&this.cycle()}static get Default(){return Fd}static get DefaultType(){return Hd}static get NAME(){return _d}next(){this._slide(Ar)}nextWhenVisible(){!document.hidden&&P(this._element)&&this.next()}prev(){this._slide(Bn)}pause(){this._isSliding&&O(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){D.one(this._element,Ei,()=>this.cycle());return}this.cycle()}}to(i){const u=this._getItems();if(i>u.length-1||i<0)return;if(this._isSliding){D.one(this._element,Ei,()=>this.to(i));return}const v=this._getItemIndex(this._getActive());if(v===i)return;const k=i>v?Ar:Bn;this._slide(k,u[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&D.on(this._element,Ad,i=>this._keydown(i)),this._config.pause==="hover"&&(D.on(this._element,Td,()=>this.pause()),D.on(this._element,wd,()=>this._maybeEnableCycle())),this._config.touch&&rs.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const v of R.find(Pd,this._element))D.on(v,Cd,k=>k.preventDefault());const u={leftCallback:()=>this._slide(this._directionToOrder(jn)),rightCallback:()=>this._slide(this._directionToOrder(ss)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),yd+this._config.interval))}};this._swipeHelper=new rs(this._element,u)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const u=Vd[i.key];u&&(i.preventDefault(),this._slide(this._directionToOrder(u)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const u=R.findOne(_a,this._indicatorsElement);u.classList.remove(is),u.removeAttribute("aria-current");const v=R.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);v&&(v.classList.add(is),v.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const u=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=u||this._config.defaultInterval}_slide(i,u=null){if(this._isSliding)return;const v=this._getActive(),k=i===Ar,J=u||te(this._getItems(),v,k,this._config.wrap);if(J===v)return;const Y=this._getItemIndex(J),ge=ps=>D.trigger(this._element,ps,{relatedTarget:J,direction:this._orderToDirection(i),from:this._getItemIndex(v),to:Y});if(ge(bd).defaultPrevented||!v||!J)return;const ut=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(Y),this._activeElement=J;const Me=k?Rd:xd,Ot=k?Id:Dd;J.classList.add(Ot),b(J),v.classList.add(Me),J.classList.add(Me);const Et=()=>{J.classList.remove(Me,Ot),J.classList.add(is),v.classList.remove(is,Ot,Me),this._isSliding=!1,ge(Ei)};this._queueCallback(Et,v,this._isAnimated()),ut&&this.cycle()}_isAnimated(){return this._element.classList.contains(Nd)}_getActive(){return R.findOne(Ld,this._element)}_getItems(){return R.find(va,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return w()?i===jn?Bn:Ar:i===jn?Ar:Bn}_orderToDirection(i){return w()?i===Bn?jn:ss:i===Bn?ss:jn}static jQueryInterface(i){return this.each(function(){const u=Wn.getOrCreateInstance(this,i);if(typeof i=="number"){u.to(i);return}if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,Od,Md,function(_){const i=R.getElementFromSelector(this);if(!i||!i.classList.contains(ma))return;_.preventDefault();const u=Wn.getOrCreateInstance(i),v=this.getAttribute("data-bs-slide-to");if(v){u.to(v),u._maybeEnableCycle();return}if($.getDataAttribute(this,"slide")==="next"){u.next(),u._maybeEnableCycle();return}u.prev(),u._maybeEnableCycle()}),D.on(window,Sd,()=>{const _=R.find(kd);for(const i of _)Wn.getOrCreateInstance(i)}),C(Wn);const Bd="collapse",Tr=".bs.collapse",jd=".data-api",Wd=`show${Tr}`,Ud=`shown${Tr}`,Kd=`hide${Tr}`,Gd=`hidden${Tr}`,qd=`click${Tr}${jd}`,yi="show",Un="collapse",os="collapsing",Yd="collapsed",zd=`:scope .${Un} .${Un}`,Xd="collapse-horizontal",Qd="width",Jd="height",Zd=".collapse.show, .collapse.collapsing",bi='[data-bs-toggle="collapse"]',eh={parent:null,toggle:!0},th={parent:"(null|element)",toggle:"boolean"};class Kn extends q{constructor(i,u){super(i,u),this._isTransitioning=!1,this._triggerArray=[];const v=R.find(bi);for(const k of v){const J=R.getSelectorFromElement(k),Y=R.find(J).filter(ge=>ge===this._element);J!==null&&Y.length&&this._triggerArray.push(k)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return eh}static get DefaultType(){return th}static get NAME(){return Bd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Zd).filter(ge=>ge!==this._element).map(ge=>Kn.getOrCreateInstance(ge,{toggle:!1}))),i.length&&i[0]._isTransitioning||D.trigger(this._element,Wd).defaultPrevented)return;for(const ge of i)ge.hide();const v=this._getDimension();this._element.classList.remove(Un),this._element.classList.add(os),this._element.style[v]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const k=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Un,yi),this._element.style[v]="",D.trigger(this._element,Ud)},Y=`scroll${v[0].toUpperCase()+v.slice(1)}`;this._queueCallback(k,this._element,!0),this._element.style[v]=`${this._element[Y]}px`}hide(){if(this._isTransitioning||!this._isShown()||D.trigger(this._element,Kd).defaultPrevented)return;const u=this._getDimension();this._element.style[u]=`${this._element.getBoundingClientRect()[u]}px`,b(this._element),this._element.classList.add(os),this._element.classList.remove(Un,yi);for(const k of this._triggerArray){const J=R.getElementFromSelector(k);J&&!this._isShown(J)&&this._addAriaAndCollapsedClass([k],!1)}this._isTransitioning=!0;const v=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Un),D.trigger(this._element,Gd)};this._element.style[u]="",this._queueCallback(v,this._element,!0)}_isShown(i=this._element){return i.classList.contains(yi)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=x(i.parent),i}_getDimension(){return this._element.classList.contains(Xd)?Qd:Jd}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(bi);for(const u of i){const v=R.getElementFromSelector(u);v&&this._addAriaAndCollapsedClass([u],this._isShown(v))}}_getFirstLevelChildren(i){const u=R.find(zd,this._config.parent);return R.find(i,this._config.parent).filter(v=>!u.includes(v))}_addAriaAndCollapsedClass(i,u){if(i.length)for(const v of i)v.classList.toggle(Yd,!u),v.setAttribute("aria-expanded",u)}static jQueryInterface(i){const u={};return typeof i=="string"&&/show|hide/.test(i)&&(u.toggle=!1),this.each(function(){const v=Kn.getOrCreateInstance(this,u);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i]()}})}}D.on(document,qd,bi,function(_){(_.target.tagName==="A"||_.delegateTarget&&_.delegateTarget.tagName==="A")&&_.preventDefault();for(const i of R.getMultipleElementsFromSelector(this))Kn.getOrCreateInstance(i,{toggle:!1}).toggle()}),C(Kn);const Ea="dropdown",mn=".bs.dropdown",Ai=".data-api",nh="Escape",ya="Tab",rh="ArrowUp",ba="ArrowDown",sh=2,ih=`hide${mn}`,oh=`hidden${mn}`,ah=`show${mn}`,lh=`shown${mn}`,Aa=`click${mn}${Ai}`,Ta=`keydown${mn}${Ai}`,ch=`keyup${mn}${Ai}`,Gn="show",uh="dropup",fh="dropend",dh="dropstart",hh="dropup-center",ph="dropdown-center",_n='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',gh=`${_n}.${Gn}`,as=".dropdown-menu",mh=".navbar",_h=".navbar-nav",vh=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Eh=w()?"top-end":"top-start",yh=w()?"top-start":"top-end",bh=w()?"bottom-end":"bottom-start",Ah=w()?"bottom-start":"bottom-end",Th=w()?"left-start":"right-start",wh=w()?"right-start":"left-start",Ch="top",Sh="bottom",Oh={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Nh={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class vt extends q{constructor(i,u){super(i,u),this._popper=null,this._parent=this._element.parentNode,this._menu=R.next(this._element,as)[0]||R.prev(this._element,as)[0]||R.findOne(as,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Oh}static get DefaultType(){return Nh}static get NAME(){return Ea}toggle(){return this._isShown()?this.hide():this.show()}show(){if(V(this._element)||this._isShown())return;const i={relatedTarget:this._element};if(!D.trigger(this._element,ah,i).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(_h))for(const v of[].concat(...document.body.children))D.on(v,"mouseover",M);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Gn),this._element.classList.add(Gn),D.trigger(this._element,lh,i)}}hide(){if(V(this._element)||!this._isShown())return;const i={relatedTarget:this._element};this._completeHide(i)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(i){if(!D.trigger(this._element,ih,i).defaultPrevented){if("ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))D.off(v,"mouseover",M);this._popper&&this._popper.destroy(),this._menu.classList.remove(Gn),this._element.classList.remove(Gn),this._element.setAttribute("aria-expanded","false"),$.removeDataAttribute(this._menu,"popper"),D.trigger(this._element,oh,i)}}_getConfig(i){if(i=super._getConfig(i),typeof i.reference=="object"&&!A(i.reference)&&typeof i.reference.getBoundingClientRect!="function")throw new TypeError(`${Ea.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return i}_createPopper(){if(typeof s>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let i=this._element;this._config.reference==="parent"?i=this._parent:A(this._config.reference)?i=x(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const u=this._getPopperConfig();this._popper=s.createPopper(i,this._menu,u)}_isShown(){return this._menu.classList.contains(Gn)}_getPlacement(){const i=this._parent;if(i.classList.contains(fh))return Th;if(i.classList.contains(dh))return wh;if(i.classList.contains(hh))return Ch;if(i.classList.contains(ph))return Sh;const u=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(uh)?u?yh:Eh:u?Ah:bh}_detectNavbar(){return this._element.closest(mh)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&($.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...K(this._config.popperConfig,[void 0,i])}}_selectMenuItem({key:i,target:u}){const v=R.find(vh,this._menu).filter(k=>P(k));v.length&&te(v,u,i===ba,!v.includes(u)).focus()}static jQueryInterface(i){return this.each(function(){const u=vt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}static clearMenus(i){if(i.button===sh||i.type==="keyup"&&i.key!==ya)return;const u=R.find(gh);for(const v of u){const k=vt.getInstance(v);if(!k||k._config.autoClose===!1)continue;const J=i.composedPath(),Y=J.includes(k._menu);if(J.includes(k._element)||k._config.autoClose==="inside"&&!Y||k._config.autoClose==="outside"&&Y||k._menu.contains(i.target)&&(i.type==="keyup"&&i.key===ya||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const ge={relatedTarget:k._element};i.type==="click"&&(ge.clickEvent=i),k._completeHide(ge)}}static dataApiKeydownHandler(i){const u=/input|textarea/i.test(i.target.tagName),v=i.key===nh,k=[rh,ba].includes(i.key);if(!k&&!v||u&&!v)return;i.preventDefault();const J=this.matches(_n)?this:R.prev(this,_n)[0]||R.next(this,_n)[0]||R.findOne(_n,i.delegateTarget.parentNode),Y=vt.getOrCreateInstance(J);if(k){i.stopPropagation(),Y.show(),Y._selectMenuItem(i);return}Y._isShown()&&(i.stopPropagation(),Y.hide(),J.focus())}}D.on(document,Ta,_n,vt.dataApiKeydownHandler),D.on(document,Ta,as,vt.dataApiKeydownHandler),D.on(document,Aa,vt.clearMenus),D.on(document,ch,vt.clearMenus),D.on(document,Aa,_n,function(_){_.preventDefault(),vt.getOrCreateInstance(this).toggle()}),C(vt);const wa="backdrop",xh="fade",Ca="show",Sa=`mousedown.bs.${wa}`,Rh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ih={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Oa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return Rh}static get DefaultType(){return Ih}static get NAME(){return wa}show(i){if(!this._config.isVisible){K(i);return}this._append();const u=this._getElement();this._config.isAnimated&&b(u),u.classList.add(Ca),this._emulateAnimation(()=>{K(i)})}hide(i){if(!this._config.isVisible){K(i);return}this._getElement().classList.remove(Ca),this._emulateAnimation(()=>{this.dispose(),K(i)})}dispose(){this._isAppended&&(D.off(this._element,Sa),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(xh),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=x(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),D.on(i,Sa,()=>{K(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){j(i,this._getElement(),this._config.isAnimated)}}const Dh="focustrap",ls=".bs.focustrap",Lh=`focusin${ls}`,Ph=`keydown.tab${ls}`,$h="Tab",Mh="forward",Na="backward",kh={autofocus:!0,trapElement:null},Vh={autofocus:"boolean",trapElement:"element"};class xa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return kh}static get DefaultType(){return Vh}static get NAME(){return Dh}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),D.off(document,ls),D.on(document,Lh,i=>this._handleFocusin(i)),D.on(document,Ph,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,D.off(document,ls))}_handleFocusin(i){const{trapElement:u}=this._config;if(i.target===document||i.target===u||u.contains(i.target))return;const v=R.focusableChildren(u);v.length===0?u.focus():this._lastTabNavDirection===Na?v[v.length-1].focus():v[0].focus()}_handleKeydown(i){i.key===$h&&(this._lastTabNavDirection=i.shiftKey?Na:Mh)}}const Ra=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ia=".sticky-top",cs="padding-right",Da="margin-right";class Ti{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,cs,u=>u+i),this._setElementAttributes(Ra,cs,u=>u+i),this._setElementAttributes(Ia,Da,u=>u-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,cs),this._resetElementAttributes(Ra,cs),this._resetElementAttributes(Ia,Da)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,u,v){const k=this.getWidth(),J=Y=>{if(Y!==this._element&&window.innerWidth>Y.clientWidth+k)return;this._saveInitialAttribute(Y,u);const ge=window.getComputedStyle(Y).getPropertyValue(u);Y.style.setProperty(u,`${v(Number.parseFloat(ge))}px`)};this._applyManipulationCallback(i,J)}_saveInitialAttribute(i,u){const v=i.style.getPropertyValue(u);v&&$.setDataAttribute(i,u,v)}_resetElementAttributes(i,u){const v=k=>{const J=$.getDataAttribute(k,u);if(J===null){k.style.removeProperty(u);return}$.removeDataAttribute(k,u),k.style.setProperty(u,J)};this._applyManipulationCallback(i,v)}_applyManipulationCallback(i,u){if(A(i)){u(i);return}for(const v of R.find(i,this._element))u(v)}}const Fh="modal",ct=".bs.modal",Hh=".data-api",Bh="Escape",jh=`hide${ct}`,Wh=`hidePrevented${ct}`,La=`hidden${ct}`,Pa=`show${ct}`,Uh=`shown${ct}`,Kh=`resize${ct}`,Gh=`click.dismiss${ct}`,qh=`mousedown.dismiss${ct}`,Yh=`keydown.dismiss${ct}`,zh=`click${ct}${Hh}`,$a="modal-open",Xh="fade",Ma="show",wi="modal-static",Qh=".modal.show",Jh=".modal-dialog",Zh=".modal-body",ep='[data-bs-toggle="modal"]',tp={backdrop:!0,focus:!0,keyboard:!0},np={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class vn extends q{constructor(i,u){super(i,u),this._dialog=R.findOne(Jh,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ti,this._addEventListeners()}static get Default(){return tp}static get DefaultType(){return np}static get NAME(){return Fh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||D.trigger(this._element,Pa,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add($a),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||D.trigger(this._element,jh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ma),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){D.off(window,ct),D.off(this._dialog,ct),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Oa({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new xa({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const u=R.findOne(Zh,this._dialog);u&&(u.scrollTop=0),b(this._element),this._element.classList.add(Ma);const v=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,D.trigger(this._element,Uh,{relatedTarget:i})};this._queueCallback(v,this._dialog,this._isAnimated())}_addEventListeners(){D.on(this._element,Yh,i=>{if(i.key===Bh){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),D.on(window,Kh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),D.on(this._element,qh,i=>{D.one(this._element,Gh,u=>{if(!(this._element!==i.target||this._element!==u.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove($a),this._resetAdjustments(),this._scrollBar.reset(),D.trigger(this._element,La)})}_isAnimated(){return this._element.classList.contains(Xh)}_triggerBackdropTransition(){if(D.trigger(this._element,Wh).defaultPrevented)return;const u=this._element.scrollHeight>document.documentElement.clientHeight,v=this._element.style.overflowY;v==="hidden"||this._element.classList.contains(wi)||(u||(this._element.style.overflowY="hidden"),this._element.classList.add(wi),this._queueCallback(()=>{this._element.classList.remove(wi),this._queueCallback(()=>{this._element.style.overflowY=v},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,u=this._scrollBar.getWidth(),v=u>0;if(v&&!i){const k=w()?"paddingLeft":"paddingRight";this._element.style[k]=`${u}px`}if(!v&&i){const k=w()?"paddingRight":"paddingLeft";this._element.style[k]=`${u}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,u){return this.each(function(){const v=vn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i](u)}})}}D.on(document,zh,ep,function(_){const i=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&_.preventDefault(),D.one(i,Pa,k=>{k.defaultPrevented||D.one(i,La,()=>{P(this)&&this.focus()})});const u=R.findOne(Qh);u&&vn.getInstance(u).hide(),vn.getOrCreateInstance(i).toggle(this)}),W(vn),C(vn);const rp="offcanvas",Mt=".bs.offcanvas",ka=".data-api",sp=`load${Mt}${ka}`,ip="Escape",Va="show",Fa="showing",Ha="hiding",op="offcanvas-backdrop",Ba=".offcanvas.show",ap=`show${Mt}`,lp=`shown${Mt}`,cp=`hide${Mt}`,ja=`hidePrevented${Mt}`,Wa=`hidden${Mt}`,up=`resize${Mt}`,fp=`click${Mt}${ka}`,dp=`keydown.dismiss${Mt}`,hp='[data-bs-toggle="offcanvas"]',pp={backdrop:!0,keyboard:!0,scroll:!1},gp={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class kt extends q{constructor(i,u){super(i,u),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return pp}static get DefaultType(){return gp}static get NAME(){return rp}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||D.trigger(this._element,ap,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ti().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Fa);const v=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Va),this._element.classList.remove(Fa),D.trigger(this._element,lp,{relatedTarget:i})};this._queueCallback(v,this._element,!0)}hide(){if(!this._isShown||D.trigger(this._element,cp).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Ha),this._backdrop.hide();const u=()=>{this._element.classList.remove(Va,Ha),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ti().reset(),D.trigger(this._element,Wa)};this._queueCallback(u,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){D.trigger(this._element,ja);return}this.hide()},u=!!this._config.backdrop;return new Oa({className:op,isVisible:u,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:u?i:null})}_initializeFocusTrap(){return new xa({trapElement:this._element})}_addEventListeners(){D.on(this._element,dp,i=>{if(i.key===ip){if(this._config.keyboard){this.hide();return}D.trigger(this._element,ja)}})}static jQueryInterface(i){return this.each(function(){const u=kt.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}D.on(document,fp,hp,function(_){const i=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&_.preventDefault(),V(this))return;D.one(i,Wa,()=>{P(this)&&this.focus()});const u=R.findOne(Ba);u&&u!==i&&kt.getInstance(u).hide(),kt.getOrCreateInstance(i).toggle(this)}),D.on(window,sp,()=>{for(const _ of R.find(Ba))kt.getOrCreateInstance(_).show()}),D.on(window,up,()=>{for(const _ of R.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(_).position!=="fixed"&&kt.getOrCreateInstance(_).hide()}),W(kt),C(kt);const Ua={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},mp=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),_p=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,vp=(_,i)=>{const u=_.nodeName.toLowerCase();return i.includes(u)?mp.has(u)?!!_p.test(_.nodeValue):!0:i.filter(v=>v instanceof RegExp).some(v=>v.test(u))};function Ep(_,i,u){if(!_.length)return _;if(u&&typeof u=="function")return u(_);const k=new window.DOMParser().parseFromString(_,"text/html"),J=[].concat(...k.body.querySelectorAll("*"));for(const Y of J){const ge=Y.nodeName.toLowerCase();if(!Object.keys(i).includes(ge)){Y.remove();continue}const Ze=[].concat(...Y.attributes),ut=[].concat(i["*"]||[],i[ge]||[]);for(const Me of Ze)vp(Me,ut)||Y.removeAttribute(Me.nodeName)}return k.body.innerHTML}const yp="TemplateFactory",bp={allowList:Ua,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Ap={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Tp={entry:"(string|element|function|null)",selector:"(string|element)"};class wp extends B{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return bp}static get DefaultType(){return Ap}static get NAME(){return yp}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[k,J]of Object.entries(this._config.content))this._setContent(i,J,k);const u=i.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&u.classList.add(...v.split(" ")),u}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[u,v]of Object.entries(i))super._typeCheckConfig({selector:u,entry:v},Tp)}_setContent(i,u,v){const k=R.findOne(v,i);if(k){if(u=this._resolvePossibleFunction(u),!u){k.remove();return}if(A(u)){this._putElementInTemplate(x(u),k);return}if(this._config.html){k.innerHTML=this._maybeSanitize(u);return}k.textContent=u}}_maybeSanitize(i){return this._config.sanitize?Ep(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return K(i,[void 0,this])}_putElementInTemplate(i,u){if(this._config.html){u.innerHTML="",u.append(i);return}u.textContent=i.textContent}}const Cp="tooltip",Sp=new Set(["sanitize","allowList","sanitizeFn"]),Ci="fade",Op="modal",us="show",Np=".tooltip-inner",Ka=`.${Op}`,Ga="hide.bs.modal",wr="hover",Si="focus",Oi="click",xp="manual",Rp="hide",Ip="hidden",Dp="show",Lp="shown",Pp="inserted",$p="click",Mp="focusin",kp="focusout",Vp="mouseenter",Fp="mouseleave",Hp={AUTO:"auto",TOP:"top",RIGHT:w()?"left":"right",BOTTOM:"bottom",LEFT:w()?"right":"left"},Bp={allowList:Ua,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},jp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class En extends q{constructor(i,u){if(typeof s>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(i,u),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Bp}static get DefaultType(){return jp}static get NAME(){return Cp}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),D.off(this._element.closest(Ka),Ga,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=D.trigger(this._element,this.constructor.eventName(Dp)),v=(H(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!v)return;this._disposePopper();const k=this._getTipElement();this._element.setAttribute("aria-describedby",k.getAttribute("id"));const{container:J}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(J.append(k),D.trigger(this._element,this.constructor.eventName(Pp))),this._popper=this._createPopper(k),k.classList.add(us),"ontouchstart"in document.documentElement)for(const ge of[].concat(...document.body.children))D.on(ge,"mouseover",M);const Y=()=>{D.trigger(this._element,this.constructor.eventName(Lp)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(Y,this.tip,this._isAnimated())}hide(){if(!this._isShown()||D.trigger(this._element,this.constructor.eventName(Rp)).defaultPrevented)return;if(this._getTipElement().classList.remove(us),"ontouchstart"in document.documentElement)for(const k of[].concat(...document.body.children))D.off(k,"mouseover",M);this._activeTrigger[Oi]=!1,this._activeTrigger[Si]=!1,this._activeTrigger[wr]=!1,this._isHovered=null;const v=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),D.trigger(this._element,this.constructor.eventName(Ip)))};this._queueCallback(v,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const u=this._getTemplateFactory(i).toHtml();if(!u)return null;u.classList.remove(Ci,us),u.classList.add(`bs-${this.constructor.NAME}-auto`);const v=p(this.constructor.NAME).toString();return u.setAttribute("id",v),this._isAnimated()&&u.classList.add(Ci),u}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new wp({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Np]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ci)}_isShown(){return this.tip&&this.tip.classList.contains(us)}_createPopper(i){const u=K(this._config.placement,[this,i,this._element]),v=Hp[u.toUpperCase()];return s.createPopper(this._element,i,this._getPopperConfig(v))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_resolvePossibleFunction(i){return K(i,[this._element,this._element])}_getPopperConfig(i){const u={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:v=>{this._getTipElement().setAttribute("data-popper-placement",v.state.placement)}}]};return{...u,...K(this._config.popperConfig,[void 0,u])}}_setListeners(){const i=this._config.trigger.split(" ");for(const u of i)if(u==="click")D.on(this._element,this.constructor.eventName($p),this._config.selector,v=>{const k=this._initializeOnDelegatedTarget(v);k._activeTrigger[Oi]=!(k._isShown()&&k._activeTrigger[Oi]),k.toggle()});else if(u!==xp){const v=u===wr?this.constructor.eventName(Vp):this.constructor.eventName(Mp),k=u===wr?this.constructor.eventName(Fp):this.constructor.eventName(kp);D.on(this._element,v,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusin"?Si:wr]=!0,Y._enter()}),D.on(this._element,k,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusout"?Si:wr]=Y._element.contains(J.relatedTarget),Y._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},D.on(this._element.closest(Ka),Ga,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,u){clearTimeout(this._timeout),this._timeout=setTimeout(i,u)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const u=$.getDataAttributes(this._element);for(const v of Object.keys(u))Sp.has(v)&&delete u[v];return i={...u,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:x(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[u,v]of Object.entries(this._config))this.constructor.Default[u]!==v&&(i[u]=v);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const u=En.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}C(En);const Wp="popover",Up=".popover-header",Kp=".popover-body",Gp={...En.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},qp={...En.DefaultType,content:"(null|string|element|function)"};class fs extends En{static get Default(){return Gp}static get DefaultType(){return qp}static get NAME(){return Wp}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Up]:this._getTitle(),[Kp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const u=fs.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}C(fs);const Yp="scrollspy",Ni=".bs.scrollspy",zp=".data-api",Xp=`activate${Ni}`,qa=`click${Ni}`,Qp=`load${Ni}${zp}`,Jp="dropdown-item",qn="active",Zp='[data-bs-spy="scroll"]',xi="[href]",eg=".nav, .list-group",Ya=".nav-link",tg=`${Ya}, .nav-item > ${Ya}, .list-group-item`,ng=".dropdown",rg=".dropdown-toggle",sg={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ig={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Cr extends q{constructor(i,u){super(i,u),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return sg}static get DefaultType(){return ig}static get NAME(){return Yp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=x(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(u=>Number.parseFloat(u))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(D.off(this._config.target,qa),D.on(this._config.target,qa,xi,i=>{const u=this._observableSections.get(i.target.hash);if(u){i.preventDefault();const v=this._rootElement||window,k=u.offsetTop-this._element.offsetTop;if(v.scrollTo){v.scrollTo({top:k,behavior:"smooth"});return}v.scrollTop=k}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(u=>this._observerCallback(u),i)}_observerCallback(i){const u=Y=>this._targetLinks.get(`#${Y.target.id}`),v=Y=>{this._previousScrollData.visibleEntryTop=Y.target.offsetTop,this._process(u(Y))},k=(this._rootElement||document.documentElement).scrollTop,J=k>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=k;for(const Y of i){if(!Y.isIntersecting){this._activeTarget=null,this._clearActiveClass(u(Y));continue}const ge=Y.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(J&&ge){if(v(Y),!k)return;continue}!J&&!ge&&v(Y)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=R.find(xi,this._config.target);for(const u of i){if(!u.hash||V(u))continue;const v=R.findOne(decodeURI(u.hash),this._element);P(v)&&(this._targetLinks.set(decodeURI(u.hash),u),this._observableSections.set(u.hash,v))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(qn),this._activateParents(i),D.trigger(this._element,Xp,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(Jp)){R.findOne(rg,i.closest(ng)).classList.add(qn);return}for(const u of R.parents(i,eg))for(const v of R.prev(u,tg))v.classList.add(qn)}_clearActiveClass(i){i.classList.remove(qn);const u=R.find(`${xi}.${qn}`,i);for(const v of u)v.classList.remove(qn)}static jQueryInterface(i){return this.each(function(){const u=Cr.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(window,Qp,()=>{for(const _ of R.find(Zp))Cr.getOrCreateInstance(_)}),C(Cr);const og="tab",yn=".bs.tab",ag=`hide${yn}`,lg=`hidden${yn}`,cg=`show${yn}`,ug=`shown${yn}`,fg=`click${yn}`,dg=`keydown${yn}`,hg=`load${yn}`,pg="ArrowLeft",za="ArrowRight",gg="ArrowUp",Xa="ArrowDown",Ri="Home",Qa="End",bn="active",Ja="fade",Ii="show",mg="dropdown",Za=".dropdown-toggle",_g=".dropdown-menu",Di=`:not(${Za})`,vg='.list-group, .nav, [role="tablist"]',Eg=".nav-item, .list-group-item",yg=`.nav-link${Di}, .list-group-item${Di}, [role="tab"]${Di}`,el='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Li=`${yg}, ${el}`,bg=`.${bn}[data-bs-toggle="tab"], .${bn}[data-bs-toggle="pill"], .${bn}[data-bs-toggle="list"]`;class An extends q{constructor(i){super(i),this._parent=this._element.closest(vg),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),D.on(this._element,dg,u=>this._keydown(u)))}static get NAME(){return og}show(){const i=this._element;if(this._elemIsActive(i))return;const u=this._getActiveElem(),v=u?D.trigger(u,ag,{relatedTarget:i}):null;D.trigger(i,cg,{relatedTarget:u}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(u,i),this._activate(i,u))}_activate(i,u){if(!i)return;i.classList.add(bn),this._activate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(Ii);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),D.trigger(i,ug,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ja))}_deactivate(i,u){if(!i)return;i.classList.remove(bn),i.blur(),this._deactivate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(Ii);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),D.trigger(i,lg,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ja))}_keydown(i){if(![pg,za,gg,Xa,Ri,Qa].includes(i.key))return;i.stopPropagation(),i.preventDefault();const u=this._getChildren().filter(k=>!V(k));let v;if([Ri,Qa].includes(i.key))v=u[i.key===Ri?0:u.length-1];else{const k=[za,Xa].includes(i.key);v=te(u,i.target,k,!0)}v&&(v.focus({preventScroll:!0}),An.getOrCreateInstance(v).show())}_getChildren(){return R.find(Li,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,u){this._setAttributeIfNotExists(i,"role","tablist");for(const v of u)this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const u=this._elemIsActive(i),v=this._getOuterElement(i);i.setAttribute("aria-selected",u),v!==i&&this._setAttributeIfNotExists(v,"role","presentation"),u||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const u=R.getElementFromSelector(i);u&&(this._setAttributeIfNotExists(u,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(u,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,u){const v=this._getOuterElement(i);if(!v.classList.contains(mg))return;const k=(J,Y)=>{const ge=R.findOne(J,v);ge&&ge.classList.toggle(Y,u)};k(Za,bn),k(_g,Ii),v.setAttribute("aria-expanded",u)}_setAttributeIfNotExists(i,u,v){i.hasAttribute(u)||i.setAttribute(u,v)}_elemIsActive(i){return i.classList.contains(bn)}_getInnerElement(i){return i.matches(Li)?i:R.findOne(Li,i)}_getOuterElement(i){return i.closest(Eg)||i}static jQueryInterface(i){return this.each(function(){const u=An.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,fg,el,function(_){["A","AREA"].includes(this.tagName)&&_.preventDefault(),!V(this)&&An.getOrCreateInstance(this).show()}),D.on(window,hg,()=>{for(const _ of R.find(bg))An.getOrCreateInstance(_)}),C(An);const Ag="toast",Qt=".bs.toast",Tg=`mouseover${Qt}`,wg=`mouseout${Qt}`,Cg=`focusin${Qt}`,Sg=`focusout${Qt}`,Og=`hide${Qt}`,Ng=`hidden${Qt}`,xg=`show${Qt}`,Rg=`shown${Qt}`,Ig="fade",tl="hide",ds="show",hs="showing",Dg={animation:"boolean",autohide:"boolean",delay:"number"},Lg={animation:!0,autohide:!0,delay:5e3};class Sr extends q{constructor(i,u){super(i,u),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Lg}static get DefaultType(){return Dg}static get NAME(){return Ag}show(){if(D.trigger(this._element,xg).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(Ig);const u=()=>{this._element.classList.remove(hs),D.trigger(this._element,Rg),this._maybeScheduleHide()};this._element.classList.remove(tl),b(this._element),this._element.classList.add(ds,hs),this._queueCallback(u,this._element,this._config.animation)}hide(){if(!this.isShown()||D.trigger(this._element,Og).defaultPrevented)return;const u=()=>{this._element.classList.add(tl),this._element.classList.remove(hs,ds),D.trigger(this._element,Ng)};this._element.classList.add(hs),this._queueCallback(u,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ds),super.dispose()}isShown(){return this._element.classList.contains(ds)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,u){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=u;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=u;break}}if(u){this._clearTimeout();return}const v=i.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){D.on(this._element,Tg,i=>this._onInteraction(i,!0)),D.on(this._element,wg,i=>this._onInteraction(i,!1)),D.on(this._element,Cg,i=>this._onInteraction(i,!0)),D.on(this._element,Sg,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const u=Sr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}return W(Sr),C(Sr),{Alert:De,Button:zt,Carousel:Wn,Collapse:Kn,Dropdown:vt,Modal:vn,Offcanvas:kt,Popover:fs,ScrollSpy:Cr,Tab:An,Toast:Sr,Tooltip:En}}))})(ws)),ws.exports}Nm();function Bo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ce={},nr=[],At=()=>{},Jc=()=>!1,zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),jo=e=>e.startsWith("onUpdate:"),$e=Object.assign,Wo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},xm=Object.prototype.hasOwnProperty,Te=(e,t)=>xm.call(e,t),le=Array.isArray,rr=e=>Qr(e)==="[object Map]",yr=e=>Qr(e)==="[object Set]",dl=e=>Qr(e)==="[object Date]",fe=e=>typeof e=="function",Oe=e=>typeof e=="string",wt=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",Uo=e=>(we(e)||fe(e))&&fe(e.then)&&fe(e.catch),Zc=Object.prototype.toString,Qr=e=>Zc.call(e),Rm=e=>Qr(e).slice(8,-1),eu=e=>Qr(e)==="[object Object]",Ko=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pr=Bo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Xs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Im=/-\w/g,mt=Xs(e=>e.replace(Im,t=>t.slice(1).toUpperCase())),Dm=/\B([A-Z])/g,hn=Xs(e=>e.replace(Dm,"-$1").toLowerCase()),Qs=Xs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Pi=Xs(e=>e?`on${Qs(e)}`:""),an=(e,t)=>!Object.is(e,t),Ss=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nu=e=>{const t=Oe(e)?Number(e):NaN;return isNaN(t)?e:t};let hl;const Zs=()=>hl||(hl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ei(e){if(le(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pm);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ti(e){let t="";if(Oe(e))t=e;else if(le(e))for(let n=0;nMn(n,t))}const su=e=>!!(e&&e.__v_isRef===!0),Hm=e=>Oe(e)?e:e==null?"":le(e)||we(e)&&(e.toString===Zc||!fe(e.toString))?su(e)?Hm(e.value):JSON.stringify(e,iu,2):String(e),iu=(e,t)=>su(t)?iu(e,t.value):rr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[$i(r,o)+" =>"]=s,n),{})}:yr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>$i(n))}:wt(t)?$i(t):we(t)&&!le(t)&&!eu(t)?String(t):t,$i=(e,t="")=>{var n;return wt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function Bm(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}let Ue;class ou{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ue,!t&&Ue&&(this.index=(Ue.scopes||(Ue.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ue=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Mr){let t=Mr;for(Mr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$r;){let t=$r;for($r=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function du(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hu(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),zo(r),Wm(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function ro(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(pu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function pu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wr)||(e.globalVersion=Wr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ro(e))))return;e.flags|=2;const t=e.dep,n=Se,r=Tt;Se=e,Tt=!0;try{du(e);const s=e.fn(e._value);(t.version===0||an(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Se=n,Tt=r,hu(e),e.flags&=-3}}function zo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)zo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Wm(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Tt=!0;const gu=[];function Gt(){gu.push(Tt),Tt=!1}function qt(){const e=gu.pop();Tt=e===void 0?!0:e}function pl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Se;Se=void 0;try{t()}finally{Se=n}}}let Wr=0;class Um{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Se||!Tt||Se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Se)n=this.activeLink=new Um(Se,this),Se.deps?(n.prevDep=Se.depsTail,Se.depsTail.nextDep=n,Se.depsTail=n):Se.deps=Se.depsTail=n,mu(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=Se.depsTail,n.nextDep=void 0,Se.depsTail.nextDep=n,Se.depsTail=n,Se.deps===n&&(Se.deps=r)}return n}trigger(t){this.version++,Wr++,this.notify(t)}notify(t){qo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Yo()}}}function mu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)mu(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ls=new WeakMap,xn=Symbol(""),so=Symbol(""),Ur=Symbol("");function Ke(e,t,n){if(Tt&&Se){let r=Ls.get(e);r||Ls.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Xo),s.map=r,s.key=n),s.track()}}function jt(e,t,n,r,s,o){const a=Ls.get(e);if(!a){Wr++;return}const l=c=>{c&&c.trigger()};if(qo(),t==="clear")a.forEach(l);else{const c=le(e),d=c&&Ko(n);if(c&&n==="length"){const f=Number(r);a.forEach((h,p)=>{(p==="length"||p===Ur||!wt(p)&&p>=f)&&l(h)})}else switch((n!==void 0||a.has(void 0))&&l(a.get(n)),d&&l(a.get(Ur)),t){case"add":c?d&&l(a.get("length")):(l(a.get(xn)),rr(e)&&l(a.get(so)));break;case"delete":c||(l(a.get(xn)),rr(e)&&l(a.get(so)));break;case"set":rr(e)&&l(a.get(xn));break}}Yo()}function Km(e,t){const n=Ls.get(e);return n&&n.get(t)}function zn(e){const t=ve(e);return t===e?t:(Ke(t,"iterate",Ur),pt(e)?t:t.map(Fe))}function ni(e){return Ke(e=ve(e),"iterate",Ur),e}const Gm={__proto__:null,[Symbol.iterator](){return ki(this,Symbol.iterator,Fe)},concat(...e){return zn(this).concat(...e.map(t=>le(t)?zn(t):t))},entries(){return ki(this,"entries",e=>(e[1]=Fe(e[1]),e))},every(e,t){return Vt(this,"every",e,t,void 0,arguments)},filter(e,t){return Vt(this,"filter",e,t,n=>n.map(Fe),arguments)},find(e,t){return Vt(this,"find",e,t,Fe,arguments)},findIndex(e,t){return Vt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Vt(this,"findLast",e,t,Fe,arguments)},findLastIndex(e,t){return Vt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Vt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Vi(this,"includes",e)},indexOf(...e){return Vi(this,"indexOf",e)},join(e){return zn(this).join(e)},lastIndexOf(...e){return Vi(this,"lastIndexOf",e)},map(e,t){return Vt(this,"map",e,t,void 0,arguments)},pop(){return Or(this,"pop")},push(...e){return Or(this,"push",e)},reduce(e,...t){return gl(this,"reduce",e,t)},reduceRight(e,...t){return gl(this,"reduceRight",e,t)},shift(){return Or(this,"shift")},some(e,t){return Vt(this,"some",e,t,void 0,arguments)},splice(...e){return Or(this,"splice",e)},toReversed(){return zn(this).toReversed()},toSorted(e){return zn(this).toSorted(e)},toSpliced(...e){return zn(this).toSpliced(...e)},unshift(...e){return Or(this,"unshift",e)},values(){return ki(this,"values",Fe)}};function ki(e,t,n){const r=ni(e),s=r[t]();return r!==e&&!pt(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const qm=Array.prototype;function Vt(e,t,n,r,s,o){const a=ni(e),l=a!==e&&!pt(e),c=a[t];if(c!==qm[t]){const h=c.apply(e,o);return l?Fe(h):h}let d=n;a!==e&&(l?d=function(h,p){return n.call(this,Fe(h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(a,d,r);return l&&s?s(f):f}function gl(e,t,n,r){const s=ni(e);let o=n;return s!==e&&(pt(e)?n.length>3&&(o=function(a,l,c){return n.call(this,a,l,c,e)}):o=function(a,l,c){return n.call(this,a,Fe(l),c,e)}),s[t](o,...r)}function Vi(e,t,n){const r=ve(e);Ke(r,"iterate",Ur);const s=r[t](...n);return(s===-1||s===!1)&&Qo(n[0])?(n[0]=ve(n[0]),r[t](...n)):s}function Or(e,t,n=[]){Gt(),qo();const r=ve(e)[t].apply(e,n);return Yo(),qt(),r}const Ym=Bo("__proto__,__v_isRef,__isVue"),_u=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(wt));function zm(e){wt(e)||(e=String(e));const t=ve(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class vu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?wu:Tu:o?Au:bu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=le(t);if(!s){let c;if(a&&(c=Gm[n]))return c;if(n==="hasOwnProperty")return zm}const l=Reflect.get(t,n,Re(t)?t:r);if((wt(n)?_u.has(n):Ym(n))||(s||Ke(t,"get",n),o))return l;if(Re(l)){const c=a&&Ko(n)?l:l.value;return s&&we(c)?oo(c):c}return we(l)?s?oo(l):Jr(l):l}}class Eu extends vu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=cn(o);if(!pt(r)&&!cn(r)&&(o=ve(o),r=ve(r)),!le(t)&&Re(o)&&!Re(r))return c||(o.value=r),!0}const a=le(t)&&Ko(n)?Number(n)e,ms=e=>Reflect.getPrototypeOf(e);function e_(e,t,n){return function(...r){const s=this.__v_raw,o=ve(s),a=rr(o),l=e==="entries"||e===Symbol.iterator&&a,c=e==="keys"&&a,d=s[e](...r),f=n?io:t?Ps:Fe;return!t&&Ke(o,"iterate",c?so:xn),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function _s(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function t_(e,t){const n={get(s){const o=this.__v_raw,a=ve(o),l=ve(s);e||(an(s,l)&&Ke(a,"get",s),Ke(a,"get",l));const{has:c}=ms(a),d=t?io:e?Ps:Fe;if(c.call(a,s))return d(o.get(s));if(c.call(a,l))return d(o.get(l));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ke(ve(s),"iterate",xn),s.size},has(s){const o=this.__v_raw,a=ve(o),l=ve(s);return e||(an(s,l)&&Ke(a,"has",s),Ke(a,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const a=this,l=a.__v_raw,c=ve(l),d=t?io:e?Ps:Fe;return!e&&Ke(c,"iterate",xn),l.forEach((f,h)=>s.call(o,d(f),d(h),a))}};return $e(n,e?{add:_s("add"),set:_s("set"),delete:_s("delete"),clear:_s("clear")}:{add(s){!t&&!pt(s)&&!cn(s)&&(s=ve(s));const o=ve(this);return ms(o).has.call(o,s)||(o.add(s),jt(o,"add",s,s)),this},set(s,o){!t&&!pt(o)&&!cn(o)&&(o=ve(o));const a=ve(this),{has:l,get:c}=ms(a);let d=l.call(a,s);d||(s=ve(s),d=l.call(a,s));const f=c.call(a,s);return a.set(s,o),d?an(o,f)&&jt(a,"set",s,o):jt(a,"add",s,o),this},delete(s){const o=ve(this),{has:a,get:l}=ms(o);let c=a.call(o,s);c||(s=ve(s),c=a.call(o,s)),l&&l.call(o,s);const d=o.delete(s);return c&&jt(o,"delete",s,void 0),d},clear(){const s=ve(this),o=s.size!==0,a=s.clear();return o&&jt(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=e_(s,e,t)}),n}function ri(e,t){const n=t_(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Te(n,s)&&s in r?n:r,s,o)}const n_={get:ri(!1,!1)},r_={get:ri(!1,!0)},s_={get:ri(!0,!1)},i_={get:ri(!0,!0)},bu=new WeakMap,Au=new WeakMap,Tu=new WeakMap,wu=new WeakMap;function o_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function a_(e){return e.__v_skip||!Object.isExtensible(e)?0:o_(Rm(e))}function Jr(e){return cn(e)?e:si(e,!1,Xm,n_,bu)}function Cu(e){return si(e,!1,Jm,r_,Au)}function oo(e){return si(e,!0,Qm,s_,Tu)}function Ab(e){return si(e,!0,Zm,i_,wu)}function si(e,t,n,r,s){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=a_(e);if(o===0)return e;const a=s.get(e);if(a)return a;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function ln(e){return cn(e)?ln(e.__v_raw):!!(e&&e.__v_isReactive)}function cn(e){return!!(e&&e.__v_isReadonly)}function pt(e){return!!(e&&e.__v_isShallow)}function Qo(e){return e?!!e.__v_raw:!1}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function ii(e){return!Te(e,"__v_skip")&&Object.isExtensible(e)&&tu(e,"__v_skip",!0),e}const Fe=e=>we(e)?Jr(e):e,Ps=e=>we(e)?oo(e):e;function Re(e){return e?e.__v_isRef===!0:!1}function Rn(e){return Ou(e,!1)}function Su(e){return Ou(e,!0)}function Ou(e,t){return Re(e)?e:new l_(e,t)}class l_{constructor(t,n){this.dep=new Xo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ve(t),this._value=n?t:Fe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||pt(t)||cn(t);t=r?t:ve(t),an(t,n)&&(this._rawValue=t,this._value=r?t:Fe(t),this.dep.trigger())}}function nt(e){return Re(e)?e.value:e}function Tb(e){return fe(e)?e():nt(e)}const c_={get:(e,t,n)=>t==="__v_raw"?e:nt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Re(s)&&!Re(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Nu(e){return ln(e)?e:new Proxy(e,c_)}function u_(e){const t=le(e)?new Array(e.length):{};for(const n in e)t[n]=xu(e,n);return t}class f_{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Km(ve(this._object),this._key)}}class d_{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function wb(e,t,n){return Re(e)?e:fe(e)?new d_(e):we(e)&&arguments.length>1?xu(e,t,n):Rn(e)}function xu(e,t,n){const r=e[t];return Re(r)?r:new f_(e,t,n)}class h_{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Xo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return fu(this,!0),!0}get value(){const t=this.dep.track();return pu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function p_(e,t,n=!1){let r,s;return fe(e)?r=e:(r=e.get,s=e.set),new h_(r,s,n)}const vs={},$s=new WeakMap;let Sn;function g_(e,t=!1,n=Sn){if(n){let r=$s.get(n);r||$s.set(n,r=[]),r.push(e)}}function m_(e,t,n=Ce){const{immediate:r,deep:s,once:o,scheduler:a,augmentJob:l,call:c}=n,d=M=>s?M:pt(M)||s===!1||s===0?Wt(M,1):Wt(M);let f,h,p,m,O=!1,A=!1;if(Re(e)?(h=()=>e.value,O=pt(e)):ln(e)?(h=()=>d(e),O=!0):le(e)?(A=!0,O=e.some(M=>ln(M)||pt(M)),h=()=>e.map(M=>{if(Re(M))return M.value;if(ln(M))return d(M);if(fe(M))return c?c(M,2):M()})):fe(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){Gt();try{p()}finally{qt()}}const M=Sn;Sn=f;try{return c?c(e,3,[m]):e(m)}finally{Sn=M}}:h=At,t&&s){const M=h,b=s===!0?1/0:s;h=()=>Wt(M(),b)}const x=lu(),P=()=>{f.stop(),x&&x.active&&Wo(x.effects,f)};if(o&&t){const M=t;t=(...b)=>{M(...b),P()}}let V=A?new Array(e.length).fill(vs):vs;const H=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const b=f.run();if(s||O||(A?b.some((y,N)=>an(y,V[N])):an(b,V))){p&&p();const y=Sn;Sn=f;try{const N=[b,V===vs?void 0:A&&V[0]===vs?[]:V,m];V=b,c?c(t,3,N):t(...N)}finally{Sn=y}}}else f.run()};return l&&l(H),f=new cu(h),f.scheduler=a?()=>a(H,!1):H,m=M=>g_(M,!1,f),p=f.onStop=()=>{const M=$s.get(f);if(M){if(c)c(M,4);else for(const b of M)b();$s.delete(f)}},t?r?H(!0):V=f.run():a?a(H.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function Wt(e,t=1/0,n){if(t<=0||!we(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Re(e))Wt(e.value,t,n);else if(le(e))for(let r=0;r{Wt(r,t,n)});else if(eu(e)){for(const r in e)Wt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Wt(e[r],t,n)}return e}function Zr(e,t,n,r){try{return r?e(...r):e()}catch(s){br(s,t,n)}}function Ct(e,t,n,r){if(fe(e)){const s=Zr(e,t,n,r);return s&&Uo(s)&&s.catch(o=>{br(o,t,n)}),s}if(le(e)){const s=[];for(let o=0;o>>1,s=ze[r],o=Kr(s);o=Kr(n)?ze.push(e):ze.splice(v_(t),0,e),e.flags|=1,Iu()}}function Iu(){Ms||(Ms=Ru.then(Lu))}function ks(e){le(e)?sr.push(...e):nn&&e.id===-1?nn.splice(Jn+1,0,e):e.flags&1||(sr.push(e),e.flags|=1),Iu()}function ml(e,t,n=Rt+1){for(;nKr(n)-Kr(r));if(sr.length=0,nn){nn.push(...t);return}for(nn=t,Jn=0;Jne.id==null?e.flags&2?-1:1/0:e.id;function Lu(e){try{for(Rt=0;Rt{r._d&&Bs(-1);const o=Vs(t);let a;try{a=e(...s)}finally{Vs(o),r._d&&Bs(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Cb(e,t){if(Be===null)return e;const n=fi(Be),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,kr=e=>e&&(e.disabled||e.disabled===""),_l=e=>e&&(e.defer||e.defer===""),vl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,El=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ao=(e,t)=>{const n=e&&e.to;return Oe(n)?t?t(n):null:n},ku={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,a,l,c,d){const{mc:f,pc:h,pbc:p,o:{insert:m,querySelector:O,createText:A,createComment:x}}=d,P=kr(t.props);let{shapeFlag:V,children:H,dynamicChildren:M}=t;if(e==null){const b=t.el=A(""),y=t.anchor=A("");m(b,n,r),m(y,n,r);const N=(w,C)=>{V&16&&f(H,w,C,s,o,a,l,c)},T=()=>{const w=t.target=ao(t.props,O),C=Vu(w,t,A,m);w&&(a!=="svg"&&vl(w)?a="svg":a!=="mathml"&&El(w)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(w),P||(N(w,C),Os(t,!1)))};P&&(N(n,y),Os(t,!0)),_l(t.props)?(t.el.__isMounted=!1,qe(()=>{T(),delete t.el.__isMounted},o)):T()}else{if(_l(t.props)&&e.el.__isMounted===!1){qe(()=>{ku.process(e,t,n,r,s,o,a,l,c,d)},o);return}t.el=e.el,t.targetStart=e.targetStart;const b=t.anchor=e.anchor,y=t.target=e.target,N=t.targetAnchor=e.targetAnchor,T=kr(e.props),w=T?n:y,C=T?b:N;if(a==="svg"||vl(y)?a="svg":(a==="mathml"||El(y))&&(a="mathml"),M?(p(e.dynamicChildren,M,w,s,o,a,l),aa(e,t,!0)):c||h(e,t,w,C,s,o,a,l,!1),P)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Es(t,n,b,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=ao(t.props,O);K&&Es(t,K,null,d,0)}else T&&Es(t,y,N,d,1);Os(t,P)}},remove(e,t,n,{um:r,o:{remove:s}},o){const{shapeFlag:a,children:l,anchor:c,targetStart:d,targetAnchor:f,target:h,props:p}=e;if(h&&(s(d),s(f)),o&&s(c),a&16){const m=o||!kr(p);for(let O=0;O{e.isMounted=!0}),zu(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],Hu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},Bu=e=>{const t=e.subTree;return t.component?Bu(t.component):t},y_={name:"BaseTransition",props:Hu,setup(e,{slots:t}){const n=pn(),r=Fu();return()=>{const s=t.default&&Zo(t.default(),!0);if(!s||!s.length)return;const o=ju(s),a=ve(e),{mode:l}=a;if(r.isLeaving)return Fi(o);const c=yl(o);if(!c)return Fi(o);let d=Gr(c,a,r,n,h=>d=h);c.type!==ke&&kn(c,d);let f=n.subTree&&yl(n.subTree);if(f&&f.type!==ke&&!Dt(f,c)&&Bu(n).type!==ke){let h=Gr(f,a,r,n);if(kn(f,h),l==="out-in"&&c.type!==ke)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},Fi(o);l==="in-out"&&c.type!==ke?h.delayLeave=(p,m,O)=>{const A=Wu(r,f);A[String(f.key)]=f,p[Bt]=()=>{m(),p[Bt]=void 0,delete d.delayedLeave,f=void 0},d.delayedLeave=()=>{O(),delete d.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return o}}};function ju(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ke){t=n;break}}return t}const b_=y_;function Wu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Gr(e,t,n,r,s){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:m,onAfterLeave:O,onLeaveCancelled:A,onBeforeAppear:x,onAppear:P,onAfterAppear:V,onAppearCancelled:H}=t,M=String(e.key),b=Wu(n,e),y=(w,C)=>{w&&Ct(w,r,9,C)},N=(w,C)=>{const K=C[1];y(w,C),le(w)?w.every(j=>j.length<=1)&&K():w.length<=1&&K()},T={mode:a,persisted:l,beforeEnter(w){let C=c;if(!n.isMounted)if(o)C=x||c;else return;w[Bt]&&w[Bt](!0);const K=b[M];K&&Dt(e,K)&&K.el[Bt]&&K.el[Bt](),y(C,[w])},enter(w){let C=d,K=f,j=h;if(!n.isMounted)if(o)C=P||d,K=V||f,j=H||h;else return;let te=!1;const he=w[ys]=Ee=>{te||(te=!0,Ee?y(j,[w]):y(K,[w]),T.delayedLeave&&T.delayedLeave(),w[ys]=void 0)};C?N(C,[w,he]):he()},leave(w,C){const K=String(e.key);if(w[ys]&&w[ys](!0),n.isUnmounting)return C();y(p,[w]);let j=!1;const te=w[Bt]=he=>{j||(j=!0,C(),he?y(A,[w]):y(O,[w]),w[Bt]=void 0,b[K]===e&&delete b[K])};b[K]=e,m?N(m,[w,te]):te()},clone(w){const C=Gr(w,t,n,r,s);return s&&s(C),C}};return T}function Fi(e){if(es(e))return e=un(e),e.children=null,e}function yl(e){if(!es(e))return Mu(e.type)&&e.children?ju(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&fe(n.default))return n.default()}}function kn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,kn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zo(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;on.value,set:o=>n.value=o})}return n}const Fs=new WeakMap;function Vr(e,t,n,r,s=!1){if(le(e)){e.forEach((O,A)=>Vr(O,t&&(le(t)?t[A]:t),n,r,s));return}if(ir(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Vr(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?fi(r.component):r.el,a=s?null:o,{i:l,r:c}=e,d=t&&t.r,f=l.refs===Ce?l.refs={}:l.refs,h=l.setupState,p=ve(h),m=h===Ce?Jc:O=>Te(p,O);if(d!=null&&d!==c){if(bl(t),Oe(d))f[d]=null,m(d)&&(h[d]=null);else if(Re(d)){d.value=null;const O=t;O.k&&(f[O.k]=null)}}if(fe(c))Zr(c,l,12,[a,f]);else{const O=Oe(c),A=Re(c);if(O||A){const x=()=>{if(e.f){const P=O?m(c)?h[c]:f[c]:c.value;if(s)le(P)&&Wo(P,o);else if(le(P))P.includes(o)||P.push(o);else if(O)f[c]=[o],m(c)&&(h[c]=f[c]);else{const V=[o];c.value=V,e.k&&(f[e.k]=V)}}else O?(f[c]=a,m(c)&&(h[c]=a)):A&&(c.value=a,e.k&&(f[e.k]=a))};if(a){const P=()=>{x(),Fs.delete(e)};P.id=-1,Fs.set(e,P),qe(P,n)}else bl(e),x()}}}function bl(e){const t=Fs.get(e);t&&(t.flags|=8,Fs.delete(e))}const Al=e=>e.nodeType===8;Zs().requestIdleCallback;Zs().cancelIdleCallback;function A_(e,t){if(Al(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Al(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const ir=e=>!!e.type.__asyncLoader;function Nb(e){fe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:a,suspensible:l=!0,onError:c}=e;let d=null,f,h=0;const p=()=>(h++,d=null,m()),m=()=>{let O;return d||(O=d=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),c)return new Promise((x,P)=>{c(A,()=>x(p()),()=>P(A),h+1)});throw A}).then(A=>O!==d&&d?d:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),f=A,A)))};return ea({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(O,A,x){let P=!1;(A.bu||(A.bu=[])).push(()=>P=!0);const V=()=>{P||x()},H=o?()=>{const M=o(V,b=>A_(O,b));M&&(A.bum||(A.bum=[])).push(M)}:V;f?H():m().then(()=>!A.isUnmounted&&H())},get __asyncResolved(){return f},setup(){const O=He;if(ta(O),f)return()=>bs(f,O);const A=H=>{d=null,br(H,O,13,!r)};if(l&&O.suspense||pr)return m().then(H=>()=>bs(H,O)).catch(H=>(A(H),()=>r?Ne(r,{error:H}):null));const x=Rn(!1),P=Rn(),V=Rn(!!s);return s&&setTimeout(()=>{V.value=!1},s),a!=null&&setTimeout(()=>{if(!x.value&&!P.value){const H=new Error(`Async component timed out after ${a}ms.`);A(H),P.value=H}},a),m().then(()=>{x.value=!0,O.parent&&es(O.parent.vnode)&&O.parent.update()}).catch(H=>{A(H),P.value=H}),()=>{if(x.value&&f)return bs(f,O);if(P.value&&r)return Ne(r,{error:P.value});if(n&&!V.value)return bs(n,O)}}})}function bs(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,a=Ne(e,r,s);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const es=e=>e.type.__isKeepAlive;function Uu(e,t){Gu(e,"a",t)}function Ku(e,t){Gu(e,"da",t)}function Gu(e,t,n=He){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(ai(t,r,n),n){let s=n.parent;for(;s&&s.parent;)es(s.parent.vnode)&&T_(r,t,n,s),s=s.parent}}function T_(e,t,n,r){const s=ai(t,e,r,!0);li(()=>{Wo(r[t],s)},n)}function ai(e,t,n=He,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{Gt();const l=Vn(n),c=Ct(t,n,e,a);return l(),qt(),c});return r?s.unshift(o):s.push(o),o}}const Yt=e=>(t,n=He)=>{(!pr||e==="sp")&&ai(e,(...r)=>t(...r),n)},w_=Yt("bm"),na=Yt("m"),qu=Yt("bu"),Yu=Yt("u"),zu=Yt("bum"),li=Yt("um"),C_=Yt("sp"),S_=Yt("rtg"),O_=Yt("rtc");function N_(e,t=He){ai("ec",e,t)}const ra="components",x_="directives";function R_(e,t){return sa(ra,e,!0,t)||e}const Xu=Symbol.for("v-ndc");function I_(e){return Oe(e)?sa(ra,e,!1)||e:e||Xu}function xb(e){return sa(x_,e)}function sa(e,t,n=!0,r=!1){const s=Be||He;if(s){const o=s.type;if(e===ra){const l=Ov(o,!1);if(l&&(l===t||l===mt(t)||l===Qs(mt(t))))return o}const a=Tl(s[e]||o[e],t)||Tl(s.appContext[e],t);return!a&&r?o:a}}function Tl(e,t){return e&&(e[t]||e[mt(t)]||e[Qs(mt(t))])}function Rb(e,t,n,r){let s;const o=n,a=le(e);if(a||Oe(e)){const l=a&&ln(e);let c=!1,d=!1;l&&(c=!pt(e),d=cn(e),e=ni(e)),s=new Array(e.length);for(let f=0,h=e.length;ft(l,c,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let c=0,d=l.length;c{const o=r.fn(...s);return o&&(o.key=r.key),o}:r.fn)}return e}function Db(e,t,n={},r,s){if(Be.ce||Be.parent&&ir(Be.parent)&&Be.parent.ce){const d=Object.keys(n).length>0;return t!=="default"&&(n.name=t),It(),Yr(Xe,null,[Ne("slot",n,r&&r())],d?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),It();const a=o&&Qu(o(n)),l=n.key||a&&a.key,c=Yr(Xe,{key:(l&&!wt(l)?l:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function Qu(e){return e.some(t=>hr(t)?!(t.type===ke||t.type===Xe&&!Qu(t.children)):!0)?e:null}const lo=e=>e?Ef(e)?fi(e):lo(e.parent):null,Fr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>lo(e.parent),$root:e=>lo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Zu(e),$forceUpdate:e=>e.f||(e.f=()=>{Jo(e.update)}),$nextTick:e=>e.n||(e.n=oi.bind(e.proxy)),$watch:e=>ev.bind(e)}),Hi=(e,t)=>e!==Ce&&!e.__isScriptSetup&&Te(e,t),D_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:a,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Hi(r,t))return a[t]=1,r[t];if(s!==Ce&&Te(s,t))return a[t]=2,s[t];if((d=e.propsOptions[0])&&Te(d,t))return a[t]=3,o[t];if(n!==Ce&&Te(n,t))return a[t]=4,n[t];uo&&(a[t]=0)}}const f=Fr[t];let h,p;if(f)return t==="$attrs"&&Ke(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Ce&&Te(n,t))return a[t]=4,n[t];if(p=c.config.globalProperties,Te(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Hi(s,t)?(s[t]=n,!0):r!==Ce&&Te(r,t)?(r[t]=n,!0):Te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o,type:a}},l){let c,d;return!!(n[l]||e!==Ce&&l[0]!=="$"&&Te(e,l)||Hi(t,l)||(c=o[0])&&Te(c,l)||Te(r,l)||Te(Fr,l)||Te(s.config.globalProperties,l)||(d=a.__cssModules)&&d[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Lb(){return L_().slots}function L_(e){const t=pn();return t.setupContext||(t.setupContext=bf(t))}function co(e){return le(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Pb(e,t){const n=co(e);for(const r in t){if(r.startsWith("__skip"))continue;let s=n[r];s?le(s)||fe(s)?s=n[r]={type:s,default:t[r]}:s.default=t[r]:s===null&&(s=n[r]={default:t[r]}),s&&t[`__skip_${r}`]&&(s.skipFactory=!0)}return n}function $b(e){const t=pn();let n=e();return mo(),Uo(n)&&(n=n.catch(r=>{throw Vn(t),r})),[n,()=>Vn(t)]}let uo=!0;function P_(e){const t=Zu(e),n=e.proxy,r=e.ctx;uo=!1,t.beforeCreate&&wl(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:m,updated:O,activated:A,deactivated:x,beforeDestroy:P,beforeUnmount:V,destroyed:H,unmounted:M,render:b,renderTracked:y,renderTriggered:N,errorCaptured:T,serverPrefetch:w,expose:C,inheritAttrs:K,components:j,directives:te,filters:he}=t;if(d&&$_(d,r,null),a)for(const I in a){const U=a[I];fe(U)&&(r[I]=U.bind(n))}if(s){const I=s.call(n,n);we(I)&&(e.data=Jr(I))}if(uo=!0,o)for(const I in o){const U=o[I],G=fe(U)?U.bind(n,n):fe(U.get)?U.get.bind(n,n):At,X=!fe(U)&&fe(U.set)?U.set.bind(n):At,re=dt({get:G,set:X});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>re.value,set:ne=>re.value=ne})}if(l)for(const I in l)Ju(l[I],r,n,I);if(c){const I=fe(c)?c.call(n):c;Reflect.ownKeys(I).forEach(U=>{Ns(U,I[U])})}f&&wl(f,e,"c");function ie(I,U){le(U)?U.forEach(G=>I(G.bind(n))):U&&I(U.bind(n))}if(ie(w_,h),ie(na,p),ie(qu,m),ie(Yu,O),ie(Uu,A),ie(Ku,x),ie(N_,T),ie(O_,y),ie(S_,N),ie(zu,V),ie(li,M),ie(C_,w),le(C))if(C.length){const I=e.exposed||(e.exposed={});C.forEach(U=>{Object.defineProperty(I,U,{get:()=>n[U],set:G=>n[U]=G,enumerable:!0})})}else e.exposed||(e.exposed={});b&&e.render===At&&(e.render=b),K!=null&&(e.inheritAttrs=K),j&&(e.components=j),te&&(e.directives=te),w&&ta(e)}function $_(e,t,n=At){le(e)&&(e=fo(e));for(const r in e){const s=e[r];let o;we(s)?"default"in s?o=rt(s.from||r,s.default,!0):o=rt(s.from||r):o=rt(s),Re(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[r]=o}}function wl(e,t,n){Ct(le(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ju(e,t,n,r){let s=r.includes(".")?df(n,r):()=>n[r];if(Oe(e)){const o=t[e];fe(o)&&Dn(s,o)}else if(fe(e))Dn(s,e.bind(n));else if(we(e))if(le(e))e.forEach(o=>Ju(o,t,n,r));else{const o=fe(e.handler)?e.handler.bind(n):t[e.handler];fe(o)&&Dn(s,o,e)}}function Zu(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(d=>Hs(c,d,a,!0)),Hs(c,t,a)),we(t)&&o.set(t,c),c}function Hs(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Hs(e,o,n,!0),s&&s.forEach(a=>Hs(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const l=M_[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const M_={data:Cl,props:Sl,emits:Sl,methods:Ir,computed:Ir,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Ir,directives:Ir,watch:V_,provide:Cl,inject:k_};function Cl(e,t){return t?e?function(){return $e(fe(e)?e.call(this,this):e,fe(t)?t.call(this,this):t)}:t:e}function k_(e,t){return Ir(fo(e),fo(t))}function fo(e){if(le(e)){const t={};for(let n=0;n1)return n&&fe(t)?t.call(r&&r.proxy):t}}function B_(){return!!(pn()||In)}const tf={},nf=()=>Object.create(tf),rf=e=>Object.getPrototypeOf(e)===tf;function j_(e,t,n,r=!1){const s={},o=nf();e.propsDefaults=Object.create(null),sf(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=r?s:Cu(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function W_(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,l=ve(s),[c]=e.propsOptions;let d=!1;if((r||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,m]=of(h,t,!0);$e(a,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return we(e)&&r.set(e,nr),nr;if(le(o))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",oa=e=>le(e)?e.map(bt):[bt(e)],K_=(e,t,n)=>{if(t._n)return t;const r=Zn((...s)=>oa(t(...s)),n);return r._c=!1,r},af=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ia(s))continue;const o=e[s];if(fe(o))t[s]=K_(s,o,r);else if(o!=null){const a=oa(o);t[s]=()=>a}}},lf=(e,t)=>{const n=oa(t);e.slots.default=()=>n},cf=(e,t,n)=>{for(const r in t)(n||!ia(r))&&(e[r]=t[r])},G_=(e,t,n)=>{const r=e.slots=nf();if(e.vnode.shapeFlag&32){const s=t._;s?(cf(r,t,n),n&&tu(r,"_",s,!0)):af(t,r)}else t&&lf(e,t)},q_=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,a=Ce;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:cf(s,t,n):(o=!t.$stable,af(t,s)),a=t}else t&&(lf(e,t),a={default:1});if(o)for(const l in s)!ia(l)&&a[l]==null&&delete s[l]},qe=pv;function Y_(e){return z_(e)}function z_(e,t){const n=Zs();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:a,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:m=At,insertStaticContent:O}=e,A=(g,E,S,$=null,B=null,F=null,q=void 0,z=null,R=!!E.dynamicChildren)=>{if(g===E)return;g&&!Dt(g,E)&&($=L(g),ne(g,B,F,!0),g=null),E.patchFlag===-2&&(R=!1,E.dynamicChildren=null);const{type:W,ref:ce,shapeFlag:ee}=E;switch(W){case ui:x(g,E,S,$);break;case ke:P(g,E,S,$);break;case xs:g==null&&V(E,S,$,q);break;case Xe:j(g,E,S,$,B,F,q,z,R);break;default:ee&1?b(g,E,S,$,B,F,q,z,R):ee&6?te(g,E,S,$,B,F,q,z,R):(ee&64||ee&128)&&W.process(g,E,S,$,B,F,q,z,R,oe)}ce!=null&&B?Vr(ce,g&&g.ref,F,E||g,!E):ce==null&&g&&g.ref!=null&&Vr(g.ref,null,F,g,!0)},x=(g,E,S,$)=>{if(g==null)r(E.el=l(E.children),S,$);else{const B=E.el=g.el;E.children!==g.children&&d(B,E.children)}},P=(g,E,S,$)=>{g==null?r(E.el=c(E.children||""),S,$):E.el=g.el},V=(g,E,S,$)=>{[g.el,g.anchor]=O(g.children,E,S,$,g.el,g.anchor)},H=({el:g,anchor:E},S,$)=>{let B;for(;g&&g!==E;)B=p(g),r(g,S,$),g=B;r(E,S,$)},M=({el:g,anchor:E})=>{let S;for(;g&&g!==E;)S=p(g),s(g),g=S;s(E)},b=(g,E,S,$,B,F,q,z,R)=>{if(E.type==="svg"?q="svg":E.type==="math"&&(q="mathml"),g==null)y(E,S,$,B,F,q,z,R);else{const W=g.el&&g.el._isVueCE?g.el:null;try{W&&W._beginPatch(),w(g,E,B,F,q,z,R)}finally{W&&W._endPatch()}}},y=(g,E,S,$,B,F,q,z)=>{let R,W;const{props:ce,shapeFlag:ee,transition:ae,dirs:ue}=g;if(R=g.el=a(g.type,F,ce&&ce.is,ce),ee&8?f(R,g.children):ee&16&&T(g.children,R,null,$,B,Bi(g,F),q,z),ue&&Tn(g,null,$,"created"),N(R,g,g.scopeId,q,$),ce){for(const be in ce)be!=="value"&&!Pr(be)&&o(R,be,null,ce[be],F,$);"value"in ce&&o(R,"value",null,ce.value,F),(W=ce.onVnodeBeforeMount)&&Nt(W,$,g)}ue&&Tn(g,null,$,"beforeMount");const pe=X_(B,ae);pe&&ae.beforeEnter(R),r(R,E,S),((W=ce&&ce.onVnodeMounted)||pe||ue)&&qe(()=>{W&&Nt(W,$,g),pe&&ae.enter(R),ue&&Tn(g,null,$,"mounted")},B)},N=(g,E,S,$,B)=>{if(S&&m(g,S),$)for(let F=0;F<$.length;F++)m(g,$[F]);if(B){let F=B.subTree;if(E===F||pf(F.type)&&(F.ssContent===E||F.ssFallback===E)){const q=B.vnode;N(g,q,q.scopeId,q.slotScopeIds,B.parent)}}},T=(g,E,S,$,B,F,q,z,R=0)=>{for(let W=R;W{const z=E.el=g.el;let{patchFlag:R,dynamicChildren:W,dirs:ce}=E;R|=g.patchFlag&16;const ee=g.props||Ce,ae=E.props||Ce;let ue;if(S&&wn(S,!1),(ue=ae.onVnodeBeforeUpdate)&&Nt(ue,S,E,g),ce&&Tn(E,g,S,"beforeUpdate"),S&&wn(S,!0),(ee.innerHTML&&ae.innerHTML==null||ee.textContent&&ae.textContent==null)&&f(z,""),W?C(g.dynamicChildren,W,z,S,$,Bi(E,B),F):q||U(g,E,z,null,S,$,Bi(E,B),F,!1),R>0){if(R&16)K(z,ee,ae,S,B);else if(R&2&&ee.class!==ae.class&&o(z,"class",null,ae.class,B),R&4&&o(z,"style",ee.style,ae.style,B),R&8){const pe=E.dynamicProps;for(let be=0;be{ue&&Nt(ue,S,E,g),ce&&Tn(E,g,S,"updated")},$)},C=(g,E,S,$,B,F,q)=>{for(let z=0;z{if(E!==S){if(E!==Ce)for(const F in E)!Pr(F)&&!(F in S)&&o(g,F,E[F],null,B,$);for(const F in S){if(Pr(F))continue;const q=S[F],z=E[F];q!==z&&F!=="value"&&o(g,F,z,q,B,$)}"value"in S&&o(g,"value",E.value,S.value,B)}},j=(g,E,S,$,B,F,q,z,R)=>{const W=E.el=g?g.el:l(""),ce=E.anchor=g?g.anchor:l("");let{patchFlag:ee,dynamicChildren:ae,slotScopeIds:ue}=E;ue&&(z=z?z.concat(ue):ue),g==null?(r(W,S,$),r(ce,S,$),T(E.children||[],S,ce,B,F,q,z,R)):ee>0&&ee&64&&ae&&g.dynamicChildren?(C(g.dynamicChildren,ae,S,B,F,q,z),(E.key!=null||B&&E===B.subTree)&&aa(g,E,!0)):U(g,E,S,ce,B,F,q,z,R)},te=(g,E,S,$,B,F,q,z,R)=>{E.slotScopeIds=z,g==null?E.shapeFlag&512?B.ctx.activate(E,S,$,q,R):he(E,S,$,B,F,q,R):Ee(g,E,R)},he=(g,E,S,$,B,F,q)=>{const z=g.component=Tv(g,$,B);if(es(g)&&(z.ctx.renderer=oe),wv(z,!1,q),z.asyncDep){if(B&&B.registerDep(z,ie,q),!g.el){const R=z.subTree=Ne(ke);P(null,R,E,S),g.placeholder=R.el}}else ie(z,g,E,S,B,F,q)},Ee=(g,E,S)=>{const $=E.component=g.component;if(av(g,E,S))if($.asyncDep&&!$.asyncResolved){I($,E,S);return}else $.next=E,$.update();else E.el=g.el,$.vnode=E},ie=(g,E,S,$,B,F,q)=>{const z=()=>{if(g.isMounted){let{next:ee,bu:ae,u:ue,parent:pe,vnode:be}=g;{const at=uf(g);if(at){ee&&(ee.el=be.el,I(g,ee,q)),at.asyncDep.then(()=>{g.isUnmounted||z()});return}}let _e=ee,De;wn(g,!1),ee?(ee.el=be.el,I(g,ee,q)):ee=be,ae&&Ss(ae),(De=ee.props&&ee.props.onVnodeBeforeUpdate)&&Nt(De,pe,ee,be),wn(g,!0);const je=xl(g),_t=g.subTree;g.subTree=je,A(_t,je,h(_t.el),L(_t),g,B,F),ee.el=je.el,_e===null&&la(g,je.el),ue&&qe(ue,B),(De=ee.props&&ee.props.onVnodeUpdated)&&qe(()=>Nt(De,pe,ee,be),B)}else{let ee;const{el:ae,props:ue}=E,{bm:pe,m:be,parent:_e,root:De,type:je}=g,_t=ir(E);wn(g,!1),pe&&Ss(pe),!_t&&(ee=ue&&ue.onVnodeBeforeMount)&&Nt(ee,_e,E),wn(g,!0);{De.ce&&De.ce._def.shadowRoot!==!1&&De.ce._injectChildStyle(je);const at=g.subTree=xl(g);A(null,at,S,$,g,B,F),E.el=at.el}if(be&&qe(be,B),!_t&&(ee=ue&&ue.onVnodeMounted)){const at=E;qe(()=>Nt(ee,_e,at),B)}(E.shapeFlag&256||_e&&ir(_e.vnode)&&_e.vnode.shapeFlag&256)&&g.a&&qe(g.a,B),g.isMounted=!0,E=S=$=null}};g.scope.on();const R=g.effect=new cu(z);g.scope.off();const W=g.update=R.run.bind(R),ce=g.job=R.runIfDirty.bind(R);ce.i=g,ce.id=g.uid,R.scheduler=()=>Jo(ce),wn(g,!0),W()},I=(g,E,S)=>{E.component=g;const $=g.vnode.props;g.vnode=E,g.next=null,W_(g,E.props,$,S),q_(g,E.children,S),Gt(),ml(g),qt()},U=(g,E,S,$,B,F,q,z,R=!1)=>{const W=g&&g.children,ce=g?g.shapeFlag:0,ee=E.children,{patchFlag:ae,shapeFlag:ue}=E;if(ae>0){if(ae&128){X(W,ee,S,$,B,F,q,z,R);return}else if(ae&256){G(W,ee,S,$,B,F,q,z,R);return}}ue&8?(ce&16&&ye(W,B,F),ee!==W&&f(S,ee)):ce&16?ue&16?X(W,ee,S,$,B,F,q,z,R):ye(W,B,F,!0):(ce&8&&f(S,""),ue&16&&T(ee,S,$,B,F,q,z,R))},G=(g,E,S,$,B,F,q,z,R)=>{g=g||nr,E=E||nr;const W=g.length,ce=E.length,ee=Math.min(W,ce);let ae;for(ae=0;aece?ye(g,B,F,!0,!1,ee):T(E,S,$,B,F,q,z,R,ee)},X=(g,E,S,$,B,F,q,z,R)=>{let W=0;const ce=E.length;let ee=g.length-1,ae=ce-1;for(;W<=ee&&W<=ae;){const ue=g[W],pe=E[W]=R?rn(E[W]):bt(E[W]);if(Dt(ue,pe))A(ue,pe,S,null,B,F,q,z,R);else break;W++}for(;W<=ee&&W<=ae;){const ue=g[ee],pe=E[ae]=R?rn(E[ae]):bt(E[ae]);if(Dt(ue,pe))A(ue,pe,S,null,B,F,q,z,R);else break;ee--,ae--}if(W>ee){if(W<=ae){const ue=ae+1,pe=ueae)for(;W<=ee;)ne(g[W],B,F,!0),W++;else{const ue=W,pe=W,be=new Map;for(W=pe;W<=ae;W++){const We=E[W]=R?rn(E[W]):bt(E[W]);We.key!=null&&be.set(We.key,W)}let _e,De=0;const je=ae-pe+1;let _t=!1,at=0;const gn=new Array(je);for(W=0;W=je){ne(We,B,F,!0);continue}let lt;if(We.key!=null)lt=be.get(We.key);else for(_e=pe;_e<=ae;_e++)if(gn[_e-pe]===0&&Dt(We,E[_e])){lt=_e;break}lt===void 0?ne(We,B,F,!0):(gn[lt-pe]=W+1,lt>=at?at=lt:_t=!0,A(We,E[lt],S,null,B,F,q,z,R),De++)}const ts=_t?Q_(gn):nr;for(_e=ts.length-1,W=je-1;W>=0;W--){const We=pe+W,lt=E[We],zt=E[We+1],ns=We+1{const{el:F,type:q,transition:z,children:R,shapeFlag:W}=g;if(W&6){re(g.component.subTree,E,S,$);return}if(W&128){g.suspense.move(E,S,$);return}if(W&64){q.move(g,E,S,oe);return}if(q===Xe){r(F,E,S);for(let ee=0;eez.enter(F),B);else{const{leave:ee,delayLeave:ae,afterLeave:ue}=z,pe=()=>{g.ctx.isUnmounted?s(F):r(F,E,S)},be=()=>{F._isLeaving&&F[Bt](!0),ee(F,()=>{pe(),ue&&ue()})};ae?ae(F,pe,be):be()}else r(F,E,S)},ne=(g,E,S,$=!1,B=!1)=>{const{type:F,props:q,ref:z,children:R,dynamicChildren:W,shapeFlag:ce,patchFlag:ee,dirs:ae,cacheIndex:ue}=g;if(ee===-2&&(B=!1),z!=null&&(Gt(),Vr(z,null,S,g,!0),qt()),ue!=null&&(E.renderCache[ue]=void 0),ce&256){E.ctx.deactivate(g);return}const pe=ce&1&&ae,be=!ir(g);let _e;if(be&&(_e=q&&q.onVnodeBeforeUnmount)&&Nt(_e,E,g),ce&6)me(g.component,S,$);else{if(ce&128){g.suspense.unmount(S,$);return}pe&&Tn(g,null,E,"beforeUnmount"),ce&64?g.type.remove(g,E,S,oe,$):W&&!W.hasOnce&&(F!==Xe||ee>0&&ee&64)?ye(W,E,S,!1,!0):(F===Xe&&ee&384||!B&&ce&16)&&ye(R,E,S),$&&se(g)}(be&&(_e=q&&q.onVnodeUnmounted)||pe)&&qe(()=>{_e&&Nt(_e,E,g),pe&&Tn(g,null,E,"unmounted")},S)},se=g=>{const{type:E,el:S,anchor:$,transition:B}=g;if(E===Xe){de(S,$);return}if(E===xs){M(g);return}const F=()=>{s(S),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:q,delayLeave:z}=B,R=()=>q(S,F);z?z(g.el,F,R):R()}else F()},de=(g,E)=>{let S;for(;g!==E;)S=p(g),s(g),g=S;s(E)},me=(g,E,S)=>{const{bum:$,scope:B,job:F,subTree:q,um:z,m:R,a:W}=g;Nl(R),Nl(W),$&&Ss($),B.stop(),F&&(F.flags|=8,ne(q,g,E,S)),z&&qe(z,E),qe(()=>{g.isUnmounted=!0},E)},ye=(g,E,S,$=!1,B=!1,F=0)=>{for(let q=F;q{if(g.shapeFlag&6)return L(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const E=p(g.anchor||g.el),S=E&&E[$u];return S?p(S):E};let Q=!1;const Z=(g,E,S)=>{g==null?E._vnode&&ne(E._vnode,null,null,!0):A(E._vnode||null,g,E,null,null,null,S),E._vnode=g,Q||(Q=!0,ml(),Du(),Q=!1)},oe={p:A,um:ne,m:re,r:se,mt:he,mc:T,pc:U,pbc:C,n:L,o:e};return{render:Z,hydrate:void 0,createApp:H_(Z)}}function Bi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function wn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function X_(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function aa(e,t,n=!1){const r=e.children,s=t.children;if(le(r)&&le(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function uf(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:uf(t)}function Nl(e){if(e)for(let t=0;trt(J_);function Dn(e,t,n){return ff(e,t,n)}function ff(e,t,n=Ce){const{immediate:r,deep:s,flush:o,once:a}=n,l=$e({},n),c=t&&r||!t&&o!=="post";let d;if(pr){if(o==="sync"){const m=Z_();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=At,m.resume=At,m.pause=At,m}}const f=He;l.call=(m,O,A)=>Ct(m,f,O,A);let h=!1;o==="post"?l.scheduler=m=>{qe(m,f&&f.suspense)}:o!=="sync"&&(h=!0,l.scheduler=(m,O)=>{O?m():Jo(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const p=m_(e,t,l);return pr&&(d?d.push(p):c&&p()),p}function ev(e,t,n){const r=this.proxy,s=Oe(e)?e.includes(".")?df(r,e):()=>r[e]:e.bind(r,r);let o;fe(t)?o=t:(o=t.handler,n=t);const a=Vn(this),l=ff(s,o.bind(r),n);return a(),l}function df(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${hn(t)}Modifiers`];function nv(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let s=n;const o=t.startsWith("update:"),a=o&&tv(r,t.slice(7));a&&(a.trim&&(s=n.map(f=>Oe(f)?f.trim():f)),a.number&&(s=n.map(Js)));let l,c=r[l=Pi(t)]||r[l=Pi(mt(t))];!c&&o&&(c=r[l=Pi(hn(t))]),c&&Ct(c,e,6,s);const d=r[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ct(d,e,6,s)}}const rv=new WeakMap;function hf(e,t,n=!1){const r=n?rv:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let a={},l=!1;if(!fe(e)){const c=d=>{const f=hf(d,t,!0);f&&(l=!0,$e(a,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(we(e)&&r.set(e,null),null):(le(o)?o.forEach(c=>a[c]=null):$e(a,o),we(e)&&r.set(e,a),a)}function ci(e,t){return!e||!zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),Te(e,t[0].toLowerCase()+t.slice(1))||Te(e,hn(t))||Te(e,t))}function xl(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:a,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:m,ctx:O,inheritAttrs:A}=e,x=Vs(e);let P,V;try{if(n.shapeFlag&4){const M=s||r,b=M;P=bt(d.call(b,M,f,h,m,p,O)),V=l}else{const M=t;P=bt(M.length>1?M(h,{attrs:l,slots:a,emit:c}):M(h,null)),V=t.props?l:iv(l)}}catch(M){Hr.length=0,br(M,e,1),P=Ne(ke)}let H=P;if(V&&A!==!1){const M=Object.keys(V),{shapeFlag:b}=H;M.length&&b&7&&(o&&M.some(jo)&&(V=ov(V,o)),H=un(H,V,!1,!0))}return n.dirs&&(H=un(H,null,!1,!0),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&kn(H,n.transition),P=H,Vs(x),P}function sv(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||zs(n))&&((t||(t={}))[n]=e[n]);return t},ov=(e,t)=>{const n={};for(const r in e)(!jo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function av(e,t,n){const{props:r,children:s,component:o}=e,{props:a,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Rl(r,a,d):!!a;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;let po=0;const lv={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,a,l,c,d){if(e==null)uv(t,n,r,s,o,a,l,c,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}fv(e,t,n,r,s,a,l,c,d)}},hydrate:dv,normalize:hv},cv=lv;function qr(e,t){const n=e.props&&e.props[t];fe(n)&&n()}function uv(e,t,n,r,s,o,a,l,c){const{p:d,o:{createElement:f}}=c,h=f("div"),p=e.suspense=gf(e,s,r,t,h,n,o,a,l,c);d(null,p.pendingBranch=e.ssContent,h,null,r,p,o,a),p.deps>0?(qr(e,"onPending"),qr(e,"onFallback"),d(null,e.ssFallback,t,n,r,null,o,a),or(p,e.ssFallback)):p.resolve(!1,!0)}function fv(e,t,n,r,s,o,a,l,{p:c,um:d,o:{createElement:f}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const p=t.ssContent,m=t.ssFallback,{activeBranch:O,pendingBranch:A,isInFallback:x,isHydrating:P}=h;if(A)h.pendingBranch=p,Dt(A,p)?(c(A,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():x&&(P||(c(O,m,n,r,s,null,o,a,l),or(h,m)))):(h.pendingId=po++,P?(h.isHydrating=!1,h.activeBranch=A):d(A,s,h),h.deps=0,h.effects.length=0,h.hiddenContainer=f("div"),x?(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():(c(O,m,n,r,s,null,o,a,l),or(h,m))):O&&Dt(O,p)?(c(O,p,n,r,s,h,o,a,l),h.resolve(!0)):(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0&&h.resolve()));else if(O&&Dt(O,p))c(O,p,n,r,s,h,o,a,l),or(h,p);else if(qr(t,"onPending"),h.pendingBranch=p,p.shapeFlag&512?h.pendingId=p.component.suspenseId:h.pendingId=po++,c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0)h.resolve();else{const{timeout:V,pendingId:H}=h;V>0?setTimeout(()=>{h.pendingId===H&&h.fallback(m)},V):V===0&&h.fallback(m)}}function gf(e,t,n,r,s,o,a,l,c,d,f=!1){const{p:h,m:p,um:m,n:O,o:{parentNode:A,remove:x}}=d;let P;const V=gv(e);V&&t&&t.pendingBranch&&(P=t.pendingId,t.deps++);const H=e.props?nu(e.props.timeout):void 0,M=o,b={vnode:e,parent:t,parentComponent:n,namespace:a,container:r,hiddenContainer:s,deps:0,pendingId:po++,timeout:typeof H=="number"?H:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(y=!1,N=!1){const{vnode:T,activeBranch:w,pendingBranch:C,pendingId:K,effects:j,parentComponent:te,container:he,isInFallback:Ee}=b;let ie=!1;b.isHydrating?b.isHydrating=!1:y||(ie=w&&C.transition&&C.transition.mode==="out-in",ie&&(w.transition.afterLeave=()=>{K===b.pendingId&&(p(C,he,o===M?O(w):o,0),ks(j),Ee&&T.ssFallback&&(T.ssFallback.el=null))}),w&&(A(w.el)===he&&(o=O(w)),m(w,te,b,!0),!ie&&Ee&&T.ssFallback&&(T.ssFallback.el=null)),ie||p(C,he,o,0)),or(b,C),b.pendingBranch=null,b.isInFallback=!1;let I=b.parent,U=!1;for(;I;){if(I.pendingBranch){I.effects.push(...j),U=!0;break}I=I.parent}!U&&!ie&&ks(j),b.effects=[],V&&t&&t.pendingBranch&&P===t.pendingId&&(t.deps--,t.deps===0&&!N&&t.resolve()),qr(T,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:N,activeBranch:T,parentComponent:w,container:C,namespace:K}=b;qr(N,"onFallback");const j=O(T),te=()=>{b.isInFallback&&(h(null,y,C,j,w,null,K,l,c),or(b,y))},he=y.transition&&y.transition.mode==="out-in";he&&(T.transition.afterLeave=te),b.isInFallback=!0,m(T,w,null,!0),he||te()},move(y,N,T){b.activeBranch&&p(b.activeBranch,y,N,T),b.container=y},next(){return b.activeBranch&&O(b.activeBranch)},registerDep(y,N,T){const w=!!b.pendingBranch;w&&b.deps++;const C=y.vnode.el;y.asyncDep.catch(K=>{br(K,y,0)}).then(K=>{if(y.isUnmounted||b.isUnmounted||b.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:j}=y;_o(y,K),C&&(j.el=C);const te=!C&&y.subTree.el;N(y,j,A(C||y.subTree.el),C?null:O(y.subTree),b,a,T),te&&(j.placeholder=null,x(te)),la(y,j.el),w&&--b.deps===0&&b.resolve()})},unmount(y,N){b.isUnmounted=!0,b.activeBranch&&m(b.activeBranch,n,y,N),b.pendingBranch&&m(b.pendingBranch,n,y,N)}};return b}function dv(e,t,n,r,s,o,a,l,c){const d=t.suspense=gf(t,r,n,e.parentNode,document.createElement("div"),null,s,o,a,l,!0),f=c(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function hv(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Il(r?n.default:n),e.ssFallback=r?Il(n.fallback):Ne(ke)}function Il(e){let t;if(fe(e)){const n=dr&&e._c;n&&(e._d=!1,It()),e=e(),n&&(e._d=!0,t=et,mf())}return le(e)&&(e=sv(e)),e=bt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function pv(e,t){t&&t.pendingBranch?le(e)?t.effects.push(...e):t.effects.push(e):ks(e)}function or(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,la(r,s))}function gv(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Xe=Symbol.for("v-fgt"),ui=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),xs=Symbol.for("v-stc"),Hr=[];let et=null;function It(e=!1){Hr.push(et=e?null:[])}function mf(){Hr.pop(),et=Hr[Hr.length-1]||null}let dr=1;function Bs(e,t=!1){dr+=e,e<0&&et&&t&&(et.hasOnce=!0)}function _f(e){return e.dynamicChildren=dr>0?et||nr:null,mf(),dr>0&&et&&et.push(e),e}function As(e,t,n,r,s,o){return _f(tr(e,t,n,r,s,o,!0))}function Yr(e,t,n,r,s){return _f(Ne(e,t,n,r,s,!0))}function hr(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const vf=({key:e})=>e??null,Rs=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Re(e)||fe(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function tr(e,t=null,n=null,r=0,s=null,o=e===Xe?0:1,a=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vf(t),ref:t&&Rs(t),scopeId:Pu,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:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return l?(ca(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Oe(n)?8:16),dr>0&&!a&&et&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&et.push(c),c}const Ne=mv;function mv(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Xu)&&(e=ke),hr(e)){const l=un(e,t,!0);return n&&ca(l,n),dr>0&&!o&&et&&(l.shapeFlag&6?et[et.indexOf(e)]=l:et.push(l)),l.patchFlag=-2,l}if(Nv(e)&&(e=e.__vccOpts),t){t=_v(t);let{class:l,style:c}=t;l&&!Oe(l)&&(t.class=ti(l)),we(c)&&(Qo(c)&&!le(c)&&(c=$e({},c)),t.style=ei(c))}const a=Oe(e)?1:pf(e)?128:Mu(e)?64:we(e)?4:fe(e)?2:0;return tr(e,t,n,r,s,a,o,!0)}function _v(e){return e?Qo(e)||rf(e)?$e({},e):e:null}function un(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:a,children:l,transition:c}=e,d=t?yv(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&vf(d),ref:t&&t.ref?n&&o?le(o)?o.concat(Rs(t)):[o,Rs(t)]:Rs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&un(e.ssContent),ssFallback:e.ssFallback&&un(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&kn(f,c.clone(f)),f}function vv(e=" ",t=0){return Ne(ui,null,e,t)}function Ev(e="",t=!1){return t?(It(),Yr(ke,null,e)):Ne(ke,null,e)}function bt(e){return e==null||typeof e=="boolean"?Ne(ke):le(e)?Ne(Xe,null,e.slice()):hr(e)?rn(e):Ne(ui,null,String(e))}function rn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:un(e)}function ca(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(le(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ca(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!rf(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else fe(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[vv(t)]):n=8);e.children=t,e.shapeFlag|=n}function yv(...e){const t={};for(let n=0;nHe||Be;let js,go;{const e=Zs(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};js=t("__VUE_INSTANCE_SETTERS__",n=>He=n),go=t("__VUE_SSR_SETTERS__",n=>pr=n)}const Vn=e=>{const t=He;return js(e),e.scope.on(),()=>{e.scope.off(),js(t)}},mo=()=>{He&&He.scope.off(),js(null)};function Ef(e){return e.vnode.shapeFlag&4}let pr=!1;function wv(e,t=!1,n=!1){t&&go(t);const{props:r,children:s}=e.vnode,o=Ef(e);j_(e,r,o,t),G_(e,s,n||t);const a=o?Cv(e,t):void 0;return t&&go(!1),a}function Cv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,D_);const{setup:r}=n;if(r){Gt();const s=e.setupContext=r.length>1?bf(e):null,o=Vn(e),a=Zr(r,e,0,[e.props,s]),l=Uo(a);if(qt(),o(),(l||e.sp)&&!ir(e)&&ta(e),l){if(a.then(mo,mo),t)return a.then(c=>{_o(e,c)}).catch(c=>{br(c,e,0)});e.asyncDep=a}else _o(e,a)}else yf(e)}function _o(e,t,n){fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=Nu(t)),yf(e)}function yf(e,t,n){const r=e.type;e.render||(e.render=r.render||At);{const s=Vn(e);Gt();try{P_(e)}finally{qt(),s()}}}const Sv={get(e,t){return Ke(e,"get",""),e[t]}};function bf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sv),slots:e.slots,emit:e.emit,expose:t}}function fi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Nu(ii(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fr)return Fr[n](e)},has(t,n){return n in t||n in Fr}})):e.proxy}function Ov(e,t=!0){return fe(e)?e.displayName||e.name:e.name||t&&e.__name}function Nv(e){return fe(e)&&"__vccOpts"in e}const dt=(e,t)=>p_(e,t,pr);function ua(e,t,n){try{Bs(-1);const r=arguments.length;return r===2?we(t)&&!le(t)?hr(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&hr(n)&&(n=[n]),Ne(e,t,n))}finally{Bs(1)}}const xv="3.5.24";let vo;const Dl=typeof window<"u"&&window.trustedTypes;if(Dl)try{vo=Dl.createPolicy("vue",{createHTML:e=>e})}catch{}const Af=vo?e=>vo.createHTML(e):e=>e,Rv="http://www.w3.org/2000/svg",Iv="http://www.w3.org/1998/Math/MathML",Ht=typeof document<"u"?document:null,Ll=Ht&&Ht.createElement("template"),Dv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Ht.createElementNS(Rv,e):t==="mathml"?Ht.createElementNS(Iv,e):n?Ht.createElement(e,{is:n}):Ht.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ht.createTextNode(e),createComment:e=>Ht.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ht.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ll.innerHTML=Af(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Ll.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Jt="transition",Nr="animation",gr=Symbol("_vtc"),Tf={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},wf=$e({},Hu,Tf),Lv=e=>(e.displayName="Transition",e.props=wf,e),Pl=Lv((e,{slots:t})=>ua(b_,Cf(e),t)),Cn=(e,t=[])=>{le(e)?e.forEach(n=>n(...t)):e&&e(...t)},$l=e=>e?le(e)?e.some(t=>t.length>1):e.length>1:!1;function Cf(e){const t={};for(const j in e)j in Tf||(t[j]=e[j]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,O=Pv(s),A=O&&O[0],x=O&&O[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:H,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:N=V,onAppearCancelled:T=H}=t,w=(j,te,he,Ee)=>{j._enterCancelled=Ee,en(j,te?f:l),en(j,te?d:a),he&&he()},C=(j,te)=>{j._isLeaving=!1,en(j,h),en(j,m),en(j,p),te&&te()},K=j=>(te,he)=>{const Ee=j?N:V,ie=()=>w(te,j,he);Cn(Ee,[te,ie]),Ml(()=>{en(te,j?c:o),xt(te,j?f:l),$l(Ee)||kl(te,r,A,ie)})};return $e(t,{onBeforeEnter(j){Cn(P,[j]),xt(j,o),xt(j,a)},onBeforeAppear(j){Cn(y,[j]),xt(j,c),xt(j,d)},onEnter:K(!1),onAppear:K(!0),onLeave(j,te){j._isLeaving=!0;const he=()=>C(j,te);xt(j,h),j._enterCancelled?(xt(j,p),Eo(j)):(Eo(j),xt(j,p)),Ml(()=>{j._isLeaving&&(en(j,h),xt(j,m),$l(M)||kl(j,r,x,he))}),Cn(M,[j,he])},onEnterCancelled(j){w(j,!1,void 0,!0),Cn(H,[j])},onAppearCancelled(j){w(j,!0,void 0,!0),Cn(T,[j])},onLeaveCancelled(j){C(j),Cn(b,[j])}})}function Pv(e){if(e==null)return null;if(we(e))return[ji(e.enter),ji(e.leave)];{const t=ji(e);return[t,t]}}function ji(e){return nu(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[gr]||(e[gr]=new Set)).add(t)}function en(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[gr];n&&(n.delete(t),n.size||(e[gr]=void 0))}function Ml(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $v=0;function kl(e,t,n,r){const s=e._endId=++$v,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:c}=Sf(e,t);if(!a)return r();const d=a+"end";let f=0;const h=()=>{e.removeEventListener(d,p),o()},p=m=>{m.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[O]||"").split(", "),s=r(`${Jt}Delay`),o=r(`${Jt}Duration`),a=Vl(s,o),l=r(`${Nr}Delay`),c=r(`${Nr}Duration`),d=Vl(l,c);let f=null,h=0,p=0;t===Jt?a>0&&(f=Jt,h=a,p=o.length):t===Nr?d>0&&(f=Nr,h=d,p=c.length):(h=Math.max(a,d),f=h>0?a>d?Jt:Nr:null,p=f?f===Jt?o.length:c.length:0);const m=f===Jt&&/\b(?:transform|all)(?:,|$)/.test(r(`${Jt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:m}}function Vl(e,t){for(;e.lengthFl(n)+Fl(e[r])))}function Fl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Eo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Mv(e,t,n){const r=e[gr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ws=Symbol("_vod"),Of=Symbol("_vsh"),Mb={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ws]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xr(e,!0),r.enter(e)):r.leave(e,()=>{xr(e,!1)}):xr(e,t))},beforeUnmount(e,{value:t}){xr(e,t)}};function xr(e,t){e.style.display=t?e[Ws]:"none",e[Of]=!t}const Nf=Symbol("");function kb(e){const t=pn();if(!t)return;const n=t.ut=(s=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Us(o,s))},r=()=>{const s=e(t.proxy);t.ce?Us(t.ce,s):yo(t.subTree,s),n(s)};qu(()=>{ks(r)}),na(()=>{Dn(r,At,{flush:"post"});const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),li(()=>s.disconnect())})}function yo(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{yo(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Us(e.el,t);else if(e.type===Xe)e.children.forEach(n=>yo(n,t));else if(e.type===xs){let{el:n,anchor:r}=e;for(;n&&(Us(n,t),n!==r);)n=n.nextSibling}}function Us(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const s in t){const o=Bm(t[s]);n.setProperty(`--${s}`,o),r+=`--${s}: ${o};`}n[Nf]=r}}const kv=/(?:^|;)\s*display\s*:/;function Vv(e,t,n){const r=e.style,s=Oe(n);let o=!1;if(n&&!s){if(t)if(Oe(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Is(r,l,"")}else for(const a in t)n[a]==null&&Is(r,a,"");for(const a in n)a==="display"&&(o=!0),Is(r,a,n[a])}else if(s){if(t!==n){const a=r[Nf];a&&(n+=";"+a),r.cssText=n,o=kv.test(n)}}else t&&e.removeAttribute("style");Ws in e&&(e[Ws]=o?r.display:"",e[Of]&&(r.display="none"))}const Hl=/\s*!important$/;function Is(e,t,n){if(le(n))n.forEach(r=>Is(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Fv(e,t);Hl.test(n)?e.setProperty(hn(r),n.replace(Hl,""),"important"):e[r]=n}}const Bl=["Webkit","Moz","ms"],Wi={};function Fv(e,t){const n=Wi[t];if(n)return n;let r=mt(t);if(r!=="filter"&&r in e)return Wi[t]=r;r=Qs(r);for(let s=0;sUi||(Wv.then(()=>Ui=0),Ui=Date.now());function Kv(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Ct(Gv(r,n.value),t,5,[r])};return n.value=e,n.attached=Uv(),n}function Gv(e,t){if(le(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const ql=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,qv=(e,t,n,r,s,o)=>{const a=s==="svg";t==="class"?Mv(e,r,a):t==="style"?Vv(e,n,r):zs(t)?jo(t)||Bv(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Yv(e,t,r,a))?(Ul(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wl(e,t,r,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Oe(r))?Ul(e,mt(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Wl(e,t,r,a))};function Yv(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ql(t)&&fe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ql(t)&&Oe(n)?!1:t in e}const xf=new WeakMap,Rf=new WeakMap,Ks=Symbol("_moveCb"),Yl=Symbol("_enterCb"),zv=e=>(delete e.props.mode,e),Xv=zv({name:"TransitionGroup",props:$e({},wf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=pn(),r=Fu();let s,o;return Yu(()=>{if(!s.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!eE(s[0].el,n.vnode.el,a)){s=[];return}s.forEach(Qv),s.forEach(Jv);const l=s.filter(Zv);Eo(n.vnode.el),l.forEach(c=>{const d=c.el,f=d.style;xt(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const h=d[Ks]=p=>{p&&p.target!==d||(!p||p.propertyName.endsWith("transform"))&&(d.removeEventListener("transitionend",h),d[Ks]=null,en(d,a))};d.addEventListener("transitionend",h)}),s=[]}),()=>{const a=ve(e),l=Cf(a);let c=a.tag||Xe;if(s=[],o)for(let d=0;d{l.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:a}=Sf(r);return o.removeChild(r),a}const fn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return le(t)?n=>Ss(t,n):t};function tE(e){e.target.composing=!0}function zl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const gt=Symbol("_assign");function Xl(e,t,n){return t&&(e=e.trim()),n&&(e=Js(e)),e}const Ql={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[gt]=fn(s);const o=r||s.props&&s.props.type==="number";Ut(e,t?"change":"input",a=>{a.target.composing||e[gt](Xl(e.value,n,o))}),(n||o)&&Ut(e,"change",()=>{e.value=Xl(e.value,n,o)}),t||(Ut(e,"compositionstart",tE),Ut(e,"compositionend",zl),Ut(e,"change",zl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},a){if(e[gt]=fn(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Js(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},nE={deep:!0,created(e,t,n){e[gt]=fn(n),Ut(e,"change",()=>{const r=e._modelValue,s=mr(e),o=e.checked,a=e[gt];if(le(r)){const l=Go(r,s),c=l!==-1;if(o&&!c)a(r.concat(s));else if(!o&&c){const d=[...r];d.splice(l,1),a(d)}}else if(yr(r)){const l=new Set(r);o?l.add(s):l.delete(s),a(l)}else a(If(e,o))})},mounted:Jl,beforeUpdate(e,t,n){e[gt]=fn(n),Jl(e,t,n)}};function Jl(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(le(t))s=Go(t,r.props.value)>-1;else if(yr(t))s=t.has(r.props.value);else{if(t===n)return;s=Mn(t,If(e,!0))}e.checked!==s&&(e.checked=s)}const rE={created(e,{value:t},n){e.checked=Mn(t,n.props.value),e[gt]=fn(n),Ut(e,"change",()=>{e[gt](mr(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[gt]=fn(r),t!==n&&(e.checked=Mn(t,r.props.value))}},sE={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=yr(t);Ut(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Js(mr(a)):mr(a));e[gt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,oi(()=>{e._assigning=!1})}),e[gt]=fn(r)},mounted(e,{value:t}){Zl(e,t)},beforeUpdate(e,t,n){e[gt]=fn(n)},updated(e,{value:t}){e._assigning||Zl(e,t)}};function Zl(e,t){const n=e.multiple,r=le(t);if(!(n&&!r&&!yr(t))){for(let s=0,o=e.options.length;sString(d)===String(l)):a.selected=Go(t,l)>-1}else a.selected=t.has(l);else if(Mn(mr(a),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function mr(e){return"_value"in e?e._value:e.value}function If(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Fb={created(e,t,n){Ts(e,t,n,null,"created")},mounted(e,t,n){Ts(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Ts(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Ts(e,t,n,r,"updated")}};function iE(e,t){switch(e){case"SELECT":return sE;case"TEXTAREA":return Ql;default:switch(t){case"checkbox":return nE;case"radio":return rE;default:return Ql}}}function Ts(e,t,n,r,s){const a=iE(e.tagName,n.props&&n.props.type)[s];a&&a(e,t,n,r)}const oE=["ctrl","shift","alt","meta"],aE={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>oE.some(n=>e[`${n}Key`]&&!t.includes(n))},Hb=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=hn(s.key);if(t.some(a=>a===o||lE[a]===o))return e(s)}))},cE=$e({patchProp:qv},Dv);let ec;function uE(){return ec||(ec=Y_(cE))}const fE=((...e)=>{const t=uE().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=hE(r);if(!s)return;const o=t._component;!fe(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,dE(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function dE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function hE(e){return Oe(e)?document.querySelector(e):e}let Df;const di=e=>Df=e,Lf=Symbol();function bo(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Br;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Br||(Br={}));function pE(){const e=au(!0),t=e.run(()=>Rn({}));let n=[],r=[];const s=ii({install(o){di(s),s._a=o,o.provide(Lf,s),o.config.globalProperties.$pinia=s,r.forEach(a=>n.push(a)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Pf=()=>{};function tc(e,t,n,r=Pf){e.push(t);const s=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&lu()&&jm(s),s}function Xn(e,...t){e.slice().forEach(n=>{n(...t)})}const gE=e=>e(),nc=Symbol(),Ki=Symbol();function Ao(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];bo(s)&&bo(r)&&e.hasOwnProperty(n)&&!Re(r)&&!ln(r)?e[n]=Ao(s,r):e[n]=r}return e}const mE=Symbol();function _E(e){return!bo(e)||!Object.prototype.hasOwnProperty.call(e,mE)}const{assign:tn}=Object;function vE(e){return!!(Re(e)&&e.effect)}function EE(e,t,n,r){const{state:s,actions:o,getters:a}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=s?s():{});const f=u_(n.state.value[e]);return tn(f,o,Object.keys(a||{}).reduce((h,p)=>(h[p]=ii(dt(()=>{di(n);const m=n._s.get(e);return a[p].call(m,m)})),h),{}))}return c=$f(e,d,t,n,r,!0),c}function $f(e,t,n={},r,s,o){let a;const l=tn({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],m;const O=r.state.value[e];!o&&!O&&(r.state.value[e]={}),Rn({});let A;function x(T){let w;d=f=!1,typeof T=="function"?(T(r.state.value[e]),w={type:Br.patchFunction,storeId:e,events:m}):(Ao(r.state.value[e],T),w={type:Br.patchObject,payload:T,storeId:e,events:m});const C=A=Symbol();oi().then(()=>{A===C&&(d=!0)}),f=!0,Xn(h,w,r.state.value[e])}const P=o?function(){const{state:w}=n,C=w?w():{};this.$patch(K=>{tn(K,C)})}:Pf;function V(){a.stop(),h=[],p=[],r._s.delete(e)}const H=(T,w="")=>{if(nc in T)return T[Ki]=w,T;const C=function(){di(r);const K=Array.from(arguments),j=[],te=[];function he(I){j.push(I)}function Ee(I){te.push(I)}Xn(p,{args:K,name:C[Ki],store:b,after:he,onError:Ee});let ie;try{ie=T.apply(this&&this.$id===e?this:b,K)}catch(I){throw Xn(te,I),I}return ie instanceof Promise?ie.then(I=>(Xn(j,I),I)).catch(I=>(Xn(te,I),Promise.reject(I))):(Xn(j,ie),ie)};return C[nc]=!0,C[Ki]=w,C},M={_p:r,$id:e,$onAction:tc.bind(null,p),$patch:x,$reset:P,$subscribe(T,w={}){const C=tc(h,T,w.detached,()=>K()),K=a.run(()=>Dn(()=>r.state.value[e],j=>{(w.flush==="sync"?f:d)&&T({storeId:e,type:Br.direct,events:m},j)},tn({},c,w)));return C},$dispose:V},b=Jr(M);r._s.set(e,b);const N=(r._a&&r._a.runWithContext||gE)(()=>r._e.run(()=>(a=au()).run(()=>t({action:H}))));for(const T in N){const w=N[T];if(Re(w)&&!vE(w)||ln(w))o||(O&&_E(w)&&(Re(w)?w.value=O[T]:Ao(w,O[T])),r.state.value[e][T]=w);else if(typeof w=="function"){const C=H(w,T);N[T]=C,l.actions[T]=w}}return tn(b,N),tn(ve(b),N),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:T=>{x(w=>{tn(w,T)})}}),r._p.forEach(T=>{tn(b,a.run(()=>T({store:b,app:r._a,pinia:r,options:l})))}),O&&o&&n.hydrate&&n.hydrate(b.$state,O),d=!0,f=!0,b}function Mf(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(a,l){const c=B_();return a=a||(c?rt(Lf,null):null),a&&di(a),a=Df,a._s.has(e)||(s?$f(e,t,r,a):EE(e,r,a)),a._s.get(e)}return o.$id=e,o}const yE=""+new URL("../img/Logo-2-Rounded-512x512.png",import.meta.url).href;const er=typeof document<"u";function kf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function bE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&kf(e.default)}const Ae=Object.assign;function Gi(e,t){const n={};for(const r in t){const s=t[r];n[r]=St(s)?s.map(e):e(s)}return n}const jr=()=>{},St=Array.isArray;function rc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Vf=/#/g,AE=/&/g,TE=/\//g,wE=/=/g,CE=/\?/g,Ff=/\+/g,SE=/%5B/g,OE=/%5D/g,Hf=/%5E/g,NE=/%60/g,Bf=/%7B/g,xE=/%7C/g,jf=/%7D/g,RE=/%20/g;function fa(e){return e==null?"":encodeURI(""+e).replace(xE,"|").replace(SE,"[").replace(OE,"]")}function IE(e){return fa(e).replace(Bf,"{").replace(jf,"}").replace(Hf,"^")}function To(e){return fa(e).replace(Ff,"%2B").replace(RE,"+").replace(Vf,"%23").replace(AE,"%26").replace(NE,"`").replace(Bf,"{").replace(jf,"}").replace(Hf,"^")}function DE(e){return To(e).replace(wE,"%3D")}function LE(e){return fa(e).replace(Vf,"%23").replace(CE,"%3F")}function PE(e){return LE(e).replace(TE,"%2F")}function zr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const $E=/\/$/,ME=e=>e.replace($E,"");function qi(e,t,n="/"){let r,s={},o="",a="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),o=t.slice(c,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),a=t.slice(l,t.length)),r=HE(r??t,n),{fullPath:r+o+a,path:r,query:s,hash:zr(a)}}function kE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function sc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function VE(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&_r(t.matched[r],n.matched[s])&&Wf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _r(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!FE(e[n],t[n]))return!1;return!0}function FE(e,t){return St(e)?ic(e,t):St(t)?ic(t,e):e===t}function ic(e,t){return St(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function HE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(a).join("/")}const Zt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let wo=(function(e){return e.pop="pop",e.push="push",e})({}),Yi=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function BE(e){if(!e)if(er){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),ME(e)}const jE=/^[^#]+#/;function WE(e,t){return e.replace(jE,"#")+t}function UE(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const hi=()=>({left:window.scrollX,top:window.scrollY});function KE(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=UE(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function oc(e,t){return(history.state?history.state.position-t:-1)+e}const Co=new Map;function GE(e,t){Co.set(e,t)}function qE(e){const t=Co.get(e);return Co.delete(e),t}function YE(e){return typeof e=="string"||e&&typeof e=="object"}function Uf(e){return typeof e=="string"||typeof e=="symbol"}let xe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Kf=Symbol("");xe.MATCHER_NOT_FOUND+"",xe.NAVIGATION_GUARD_REDIRECT+"",xe.NAVIGATION_ABORTED+"",xe.NAVIGATION_CANCELLED+"",xe.NAVIGATION_DUPLICATED+"";function vr(e,t){return Ae(new Error,{type:e,[Kf]:!0},t)}function Ft(e,t){return e instanceof Error&&Kf in e&&(t==null||!!(e.type&t))}const zE=["params","query","hash"];function XE(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of zE)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function QE(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&To(s)):[r&&To(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function JE(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=St(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Gf=Symbol(""),lc=Symbol(""),pi=Symbol(""),da=Symbol(""),So=Symbol("");function Rr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function ZE(e,t,n){const r=()=>{e[t].delete(n)};li(r),Ku(r),Uu(()=>{e[t].add(n)}),e[t].add(n)}function jb(e){const t=rt(Gf,{}).value;t&&ZE(t,"updateGuards",e)}function sn(e,t,n,r,s,o=a=>a()){const a=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(vr(xe.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):YE(p)?c(vr(xe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[s]===a&&typeof p=="function"&&a.push(p),l())},f=o(()=>e.call(r&&r.instances[s],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function zi(e,t,n,r,s=o=>o()){const o=[];for(const a of e)for(const l in a.components){let c=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(kf(c)){const d=(c.__vccOpts||c)[t];d&&o.push(sn(d,n,r,a,l,s))}else{let d=c();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const h=bE(f)?f.default:f;a.mods[l]=f,a.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&sn(p,n,r,a,l,s)()}))}}return o}function ey(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;a_r(d,l))?r.push(l):n.push(l));const c=e.matched[a];c&&(t.matched.find(d=>_r(d,c))||s.push(c))}return[n,r,s]}let ty=()=>location.protocol+"//"+location.host;function qf(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),sc(l,"")}return sc(n,e)+r+s}function ny(e,t,n,r){let s=[],o=[],a=null;const l=({state:p})=>{const m=qf(e,location),O=n.value,A=t.value;let x=0;if(p){if(n.value=m,t.value=p,a&&a===O){a=null;return}x=A?p.position-A.position:0}else r(m);s.forEach(P=>{P(n.value,O,{delta:x,type:wo.pop,direction:x?x>0?Yi.forward:Yi.back:Yi.unknown})})};function c(){a=n.value}function d(p){s.push(p);const m=()=>{const O=s.indexOf(p);O>-1&&s.splice(O,1)};return o.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Ae({},p.state,{scroll:hi()}),"")}}function h(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:d,destroy:h}}function cc(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?hi():null}}function ry(e){const{history:t,location:n}=window,r={value:qf(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:ty()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),s.value=d}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function a(c,d){o(c,Ae({},t.state,cc(s.value.back,c,s.value.forward,!0),d,{position:s.value.position}),!0),r.value=c}function l(c,d){const f=Ae({},s.value,t.state,{forward:c,scroll:hi()});o(f.current,f,!0),o(c,Ae({},cc(r.value,c,null),{position:f.position+1},d),!1),r.value=c}return{location:r,state:s,push:l,replace:a}}function sy(e){e=BE(e);const t=ry(e),n=ny(e,t.state,t.location,t.replace);function r(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=Ae({location:"",base:e,go:r,createHref:WE.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function iy(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),sy(e)}let On=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Pe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Pe||{});const oy={type:On.Static,value:""},ay=/[a-zA-Z0-9_]/;function ly(e){if(!e)return[[]];if(e==="/")return[[oy]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${d}": ${m}`)}let n=Pe.Static,r=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let l=0,c,d="",f="";function h(){d&&(n===Pe.Static?o.push({type:On.Static,value:d}):n===Pe.Param||n===Pe.ParamRegExp||n===Pe.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:On.Param,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;lt.length?t.length===1&&t[0]===Ye.Static+Ye.Segment?1:-1:0}function Yf(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const hy={strict:!1,end:!0,sensitive:!1};function py(e,t,n){const r=fy(ly(e.path),n),s=Ae(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function gy(e,t){const n=[],r=new Map;t=rc(hy,t);function s(h){return r.get(h)}function o(h,p,m){const O=!m,A=hc(h);A.aliasOf=m&&m.record;const x=rc(t,h),P=[A];if("alias"in h){const M=typeof h.alias=="string"?[h.alias]:h.alias;for(const b of M)P.push(hc(Ae({},A,{components:m?m.record.components:A.components,path:b,aliasOf:m?m.record:A})))}let V,H;for(const M of P){const{path:b}=M;if(p&&b[0]!=="/"){const y=p.record.path,N=y[y.length-1]==="/"?"":"/";M.path=p.record.path+(b&&N+b)}if(V=py(M,p,x),m?m.alias.push(V):(H=H||V,H!==V&&H.alias.push(V),O&&h.name&&!pc(V)&&a(h.name)),zf(V)&&c(V),A.children){const y=A.children;for(let N=0;N{a(H)}:jr}function a(h){if(Uf(h)){const p=r.get(h);p&&(r.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&r.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function l(){return n}function c(h){const p=vy(h,n);n.splice(p,0,h),h.record.name&&!pc(h)&&r.set(h.record.name,h)}function d(h,p){let m,O={},A,x;if("name"in h&&h.name){if(m=r.get(h.name),!m)throw vr(xe.MATCHER_NOT_FOUND,{location:h});x=m.record.name,O=Ae(dc(p.params,m.keys.filter(H=>!H.optional).concat(m.parent?m.parent.keys.filter(H=>H.optional):[]).map(H=>H.name)),h.params&&dc(h.params,m.keys.map(H=>H.name))),A=m.stringify(O)}else if(h.path!=null)A=h.path,m=n.find(H=>H.re.test(A)),m&&(O=m.parse(A),x=m.record.name);else{if(m=p.name?r.get(p.name):n.find(H=>H.re.test(p.path)),!m)throw vr(xe.MATCHER_NOT_FOUND,{location:h,currentLocation:p});x=m.record.name,O=Ae({},p.params,h.params),A=m.stringify(O)}const P=[];let V=m;for(;V;)P.unshift(V.record),V=V.parent;return{name:x,path:A,params:O,matched:P,meta:_y(P)}}e.forEach(h=>o(h));function f(){n.length=0,r.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:s}}function dc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function hc(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:my(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function my(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function pc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _y(e){return e.reduce((t,n)=>Ae(t,n.meta),{})}function vy(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Yf(e,t[o])<0?r=o:n=o+1}const s=Ey(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Ey(e){let t=e;for(;t=t.parent;)if(zf(t)&&Yf(e,t)===0)return t}function zf({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function gc(e){const t=rt(pi),n=rt(da),r=dt(()=>{const c=nt(e.to);return t.resolve(c)}),s=dt(()=>{const{matched:c}=r.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(_r.bind(null,f));if(p>-1)return p;const m=mc(c[d-2]);return d>1&&mc(f)===m&&h[h.length-1].path!==m?h.findIndex(_r.bind(null,c[d-2])):p}),o=dt(()=>s.value>-1&&wy(n.params,r.value.params)),a=dt(()=>s.value>-1&&s.value===n.matched.length-1&&Wf(n.params,r.value.params));function l(c={}){if(Ty(c)){const d=t[nt(e.replace)?"replace":"push"](nt(e.to)).catch(jr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:dt(()=>r.value.href),isActive:o,isExactActive:a,navigate:l}}function yy(e){return e.length===1?e[0]:e}const by=ea({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:gc,setup(e,{slots:t}){const n=Jr(gc(e)),{options:r}=rt(pi),s=dt(()=>({[_c(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[_c(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&yy(t.default(n));return e.custom?o:ua("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Ay=by;function Ty(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wy(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!St(s)||s.length!==r.length||r.some((o,a)=>o!==s[a]))return!1}return!0}function mc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const _c=(e,t,n)=>e??t??n,Cy=ea({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=rt(So),s=dt(()=>e.route||r.value),o=rt(lc,0),a=dt(()=>{let d=nt(o);const{matched:f}=s.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=dt(()=>s.value.matched[a.value]);Ns(lc,dt(()=>a.value+1)),Ns(Gf,l),Ns(So,s);const c=Rn();return Dn(()=>[c.value,l.value,e.name],([d,f,h],[p,m,O])=>{f&&(f.instances[h]=d,m&&m!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),d&&f&&(!m||!_r(f,m)||!p)&&(f.enterCallbacks[h]||[]).forEach(A=>A(d))},{flush:"post"}),()=>{const d=s.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return vc(n.default,{Component:p,route:d});const m=h.props[f],O=m?m===!0?d.params:typeof m=="function"?m(d):m:null,x=ua(p,Ae({},O,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return vc(n.default,{Component:x,route:d})||x}}});function vc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Xf=Cy;function Sy(e){const t=gy(e.routes,e),n=e.parseQuery||QE,r=e.stringifyQuery||ac,s=e.history,o=Rr(),a=Rr(),l=Rr(),c=Su(Zt);let d=Zt;er&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Gi.bind(null,L=>""+L),h=Gi.bind(null,PE),p=Gi.bind(null,zr);function m(L,Q){let Z,oe;return Uf(L)?(Z=t.getRecordMatcher(L),oe=Q):oe=L,t.addRoute(oe,Z)}function O(L){const Q=t.getRecordMatcher(L);Q&&t.removeRoute(Q)}function A(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function P(L,Q){if(Q=Ae({},Q||c.value),typeof L=="string"){const S=qi(n,L,Q.path),$=t.resolve({path:S.path},Q),B=s.createHref(S.fullPath);return Ae(S,$,{params:p($.params),hash:zr(S.hash),redirectedFrom:void 0,href:B})}let Z;if(L.path!=null)Z=Ae({},L,{path:qi(n,L.path,Q.path).path});else{const S=Ae({},L.params);for(const $ in S)S[$]==null&&delete S[$];Z=Ae({},L,{params:h(S)}),Q.params=h(Q.params)}const oe=t.resolve(Z,Q),D=L.hash||"";oe.params=f(p(oe.params));const g=kE(r,Ae({},L,{hash:IE(D),path:oe.path})),E=s.createHref(g);return Ae({fullPath:g,hash:D,query:r===ac?JE(L.query):L.query||{}},oe,{redirectedFrom:void 0,href:E})}function V(L){return typeof L=="string"?qi(n,L,c.value.path):Ae({},L)}function H(L,Q){if(d!==L)return vr(xe.NAVIGATION_CANCELLED,{from:Q,to:L})}function M(L){return N(L)}function b(L){return M(Ae(V(L),{replace:!0}))}function y(L,Q){const Z=L.matched[L.matched.length-1];if(Z&&Z.redirect){const{redirect:oe}=Z;let D=typeof oe=="function"?oe(L,Q):oe;return typeof D=="string"&&(D=D.includes("?")||D.includes("#")?D=V(D):{path:D},D.params={}),Ae({query:L.query,hash:L.hash,params:D.path!=null?{}:L.params},D)}}function N(L,Q){const Z=d=P(L),oe=c.value,D=L.state,g=L.force,E=L.replace===!0,S=y(Z,oe);if(S)return N(Ae(V(S),{state:typeof S=="object"?Ae({},D,S.state):D,force:g,replace:E}),Q||Z);const $=Z;$.redirectedFrom=Q;let B;return!g&&VE(r,oe,Z)&&(B=vr(xe.NAVIGATION_DUPLICATED,{to:$,from:oe}),re(oe,oe,!0,!1)),(B?Promise.resolve(B):C($,oe)).catch(F=>Ft(F)?Ft(F,xe.NAVIGATION_GUARD_REDIRECT)?F:X(F):U(F,$,oe)).then(F=>{if(F){if(Ft(F,xe.NAVIGATION_GUARD_REDIRECT))return N(Ae({replace:E},V(F.to),{state:typeof F.to=="object"?Ae({},D,F.to.state):D,force:g}),Q||$)}else F=j($,oe,!0,E,D);return K($,oe,F),F})}function T(L,Q){const Z=H(L,Q);return Z?Promise.reject(Z):Promise.resolve()}function w(L){const Q=de.values().next().value;return Q&&typeof Q.runWithContext=="function"?Q.runWithContext(L):L()}function C(L,Q){let Z;const[oe,D,g]=ey(L,Q);Z=zi(oe.reverse(),"beforeRouteLeave",L,Q);for(const S of oe)S.leaveGuards.forEach($=>{Z.push(sn($,L,Q))});const E=T.bind(null,L,Q);return Z.push(E),ye(Z).then(()=>{Z=[];for(const S of o.list())Z.push(sn(S,L,Q));return Z.push(E),ye(Z)}).then(()=>{Z=zi(D,"beforeRouteUpdate",L,Q);for(const S of D)S.updateGuards.forEach($=>{Z.push(sn($,L,Q))});return Z.push(E),ye(Z)}).then(()=>{Z=[];for(const S of g)if(S.beforeEnter)if(St(S.beforeEnter))for(const $ of S.beforeEnter)Z.push(sn($,L,Q));else Z.push(sn(S.beforeEnter,L,Q));return Z.push(E),ye(Z)}).then(()=>(L.matched.forEach(S=>S.enterCallbacks={}),Z=zi(g,"beforeRouteEnter",L,Q,w),Z.push(E),ye(Z))).then(()=>{Z=[];for(const S of a.list())Z.push(sn(S,L,Q));return Z.push(E),ye(Z)}).catch(S=>Ft(S,xe.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function K(L,Q,Z){l.list().forEach(oe=>w(()=>oe(L,Q,Z)))}function j(L,Q,Z,oe,D){const g=H(L,Q);if(g)return g;const E=Q===Zt,S=er?history.state:{};Z&&(oe||E?s.replace(L.fullPath,Ae({scroll:E&&S&&S.scroll},D)):s.push(L.fullPath,D)),c.value=L,re(L,Q,Z,E),X()}let te;function he(){te||(te=s.listen((L,Q,Z)=>{if(!me.listening)return;const oe=P(L),D=y(oe,me.currentRoute.value);if(D){N(Ae(D,{replace:!0,force:!0}),oe).catch(jr);return}d=oe;const g=c.value;er&&GE(oc(g.fullPath,Z.delta),hi()),C(oe,g).catch(E=>Ft(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_CANCELLED)?E:Ft(E,xe.NAVIGATION_GUARD_REDIRECT)?(N(Ae(V(E.to),{force:!0}),oe).then(S=>{Ft(S,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&!Z.delta&&Z.type===wo.pop&&s.go(-1,!1)}).catch(jr),Promise.reject()):(Z.delta&&s.go(-Z.delta,!1),U(E,oe,g))).then(E=>{E=E||j(oe,g,!1),E&&(Z.delta&&!Ft(E,xe.NAVIGATION_CANCELLED)?s.go(-Z.delta,!1):Z.type===wo.pop&&Ft(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),K(oe,g,E)}).catch(jr)}))}let Ee=Rr(),ie=Rr(),I;function U(L,Q,Z){X(L);const oe=ie.list();return oe.length?oe.forEach(D=>D(L,Q,Z)):console.error(L),Promise.reject(L)}function G(){return I&&c.value!==Zt?Promise.resolve():new Promise((L,Q)=>{Ee.add([L,Q])})}function X(L){return I||(I=!L,he(),Ee.list().forEach(([Q,Z])=>L?Z(L):Q()),Ee.reset()),L}function re(L,Q,Z,oe){const{scrollBehavior:D}=e;if(!er||!D)return Promise.resolve();const g=!Z&&qE(oc(L.fullPath,0))||(oe||!Z)&&history.state&&history.state.scroll||null;return oi().then(()=>D(L,Q,g)).then(E=>E&&KE(E)).catch(E=>U(E,L,Q))}const ne=L=>s.go(L);let se;const de=new Set,me={currentRoute:c,listening:!0,addRoute:m,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:A,resolve:P,options:e,push:M,replace:b,go:ne,back:()=>ne(-1),forward:()=>ne(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:ie.add,isReady:G,install(L){L.component("RouterLink",Ay),L.component("RouterView",Xf),L.config.globalProperties.$router=me,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>nt(c)}),er&&!se&&c.value===Zt&&(se=!0,M(s.location).catch(oe=>{}));const Q={};for(const oe in Zt)Object.defineProperty(Q,oe,{get:()=>c.value[oe],enumerable:!0});L.provide(pi,me),L.provide(da,Cu(Q)),L.provide(So,c);const Z=L.unmount;de.add(L),L.unmount=function(){de.delete(L),de.size<1&&(d=Zt,te&&te(),te=null,c.value=Zt,se=!1,I=!1),Z()}}};function ye(L){return L.reduce((Q,Z)=>Q.then(()=>w(Z)),Promise.resolve())}return me}function Wb(){return rt(pi)}function Oy(e){return rt(da)}const Ec="[a-fA-F\\d:]",on=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Ec})|(?<=${Ec})(?=\\s|$))`:"",yt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Le="[a-fA-F\\d]{1,4}",gi=` +(?: +(?:${Le}:){7}(?:${Le}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 +(?:${Le}:){6}(?:${yt}|:${Le}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 +(?:${Le}:){5}(?::${yt}|(?::${Le}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 +(?:${Le}:){4}(?:(?::${Le}){0,1}:${yt}|(?::${Le}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 +(?:${Le}:){3}(?:(?::${Le}){0,2}:${yt}|(?::${Le}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 +(?:${Le}:){2}(?:(?::${Le}){0,3}:${yt}|(?::${Le}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 +(?:${Le}:){1}(?:(?::${Le}){0,4}:${yt}|(?::${Le}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 +(?::(?:(?::${Le}){0,5}:${yt}|(?::${Le}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 +)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 +`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Ny=new RegExp(`(?:^${yt}$)|(?:^${gi}$)`),xy=new RegExp(`^${yt}$`),Ry=new RegExp(`^${gi}$`),mi=e=>e&&e.exact?Ny:new RegExp(`(?:${on(e)}${yt}${on(e)})|(?:${on(e)}${gi}${on(e)})`,"g");mi.v4=e=>e&&e.exact?xy:new RegExp(`${on(e)}${yt}${on(e)}`,"g");mi.v6=e=>e&&e.exact?Ry:new RegExp(`${on(e)}${gi}${on(e)}`,"g");const Qf={exact:!1},Jf=`${mi.v4().source}\\/(3[0-2]|[12]?[0-9])`,Zf=`${mi.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,Iy=new RegExp(`^${Jf}$`),Dy=new RegExp(`^${Zf}$`),Ly=({exact:e}=Qf)=>e?Iy:new RegExp(Jf,"g"),Py=({exact:e}=Qf)=>e?Dy:new RegExp(Zf,"g"),ed=Ly({exact:!0}),td=Py({exact:!0}),ha=e=>ed.test(e)?4:td.test(e)?6:0;ha.v4=e=>ed.test(e);ha.v6=e=>td.test(e);const tt=e=>{const t=$t();if(t.Locale===null)return e;const r=Object.keys(t.Locale).filter(s=>e.match(new RegExp("^"+s+"$","gi"))!==null);return r.length===0||r.length>1||t.Locale[r[0]].length===0?e:e.replace(new RegExp(r[0],"gi"),t.Locale[r[0]])};var Xi={},Qi,yc;function $y(){return yc||(yc=1,Qi={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Qi}var Ji,bc;function My(){if(bc)return Ji;bc=1;var e={px:{px:1,cm:96/2.54,mm:96/25.4,in:96,pt:96/72,pc:16},cm:{px:2.54/96,cm:1,mm:.1,in:2.54,pt:2.54/72,pc:2.54/6},mm:{px:25.4/96,cm:10,mm:1,in:25.4,pt:25.4/72,pc:25.4/6},in:{px:1/96,cm:1/2.54,mm:1/25.4,in:1,pt:1/72,pc:1/6},pt:{px:.75,cm:72/2.54,mm:72/25.4,in:72,pt:1,pc:12},pc:{px:6/96,cm:6/2.54,mm:6/25.4,in:6,pt:6/72,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:400/360,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:1/360,grad:1/400,rad:.5/Math.PI,turn:1},s:{s:1,ms:1/1e3},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:1/1e3,kHz:1},dpi:{dpi:1,dpcm:1/2.54,dppx:1/96},dpcm:{dpi:2.54,dpcm:1,dppx:2.54/96},dppx:{dpi:96,dpcm:96/2.54,dppx:1}};return Ji=function(t,n,r,s){if(!e.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!e[r].hasOwnProperty(n))throw new Error("Cannot convert from "+n+" to "+r);var o=e[r][n]*t;return s!==!1?(s=Math.pow(10,parseInt(s)||5),Math.round(o*s)/s):o},Ji}var Ac;function ky(){return Ac||(Ac=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromRgba=T,e.fromRgb=w,e.fromHsla=C,e.fromHsl=K,e.fromString=Ee,e.default=void 0;var t=r($y()),n=r(My());function r(I){return I&&I.__esModule?I:{default:I}}function s(I,U){if(!(I instanceof U))throw new TypeError("Cannot call a class as a function")}function o(I,U){for(var G=0;GI.length)&&(U=I.length);for(var G=0,X=new Array(U);G"u"||!(Symbol.iterator in Object(I)))){var G=[],X=!0,re=!1,ne=void 0;try{for(var se=I[Symbol.iterator](),de;!(X=(de=se.next()).done)&&(G.push(de.value),!(U&&G.length===U));X=!0);}catch(me){re=!0,ne=me}finally{try{!X&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p(I){if(Array.isArray(I))return I}var m=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,A=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,x=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,P=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,V=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,H=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M(I,U){return I.indexOf(U)>-1}function b(I,U,G){var X=I/255,re=U/255,ne=G/255,se=Math.max(X,re,ne),de=Math.min(X,re,ne),me=se-de,ye=(se+de)/2;if(me===0)return[0,0,ye*100];var L=me/(1-Math.abs(2*ye-1)),Q=(function(){switch(se){case X:return(re-ne)/me%6;case re:return(ne-X)/me+2;default:return(X-re)/me+4}})();return[Q*60,L*100,ye*100]}function y(I,U,G){var X=I/60,re=U/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(X%2-1)),me=ne-se/2,ye=(function(){return X<1?[se,de,0]:X<2?[de,se,0]:X<3?[0,se,de]:X<4?[0,de,se]:X<5?[de,0,se]:[se,0,de]})(),L=l(ye,3),Q=L[0],Z=L[1],oe=L[2];return[(Q+me)*255,(Z+me)*255,(oe+me)*255]}var N=(function(){function I(U){var G=l(U,4),X=G[0],re=G[1],ne=G[2],se=G[3];s(this,I),this.values=[Math.max(Math.min(parseInt(X,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a(I,[{key:"toRgbString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(X,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(X,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),X=l(G,4),re=X[0],ne=X[1],se=X[2],de=X[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return X=Number(X).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(X).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3],de=b(X,re,ne),me=l(de,3),ye=me[0],L=me[1],Q=me[2];return[ye,L,Q,se]}}]),I})();function T(I){var U=l(I,4),G=U[0],X=U[1],re=U[2],ne=U[3];return new N([G,X,re,ne])}function w(I){var U=l(I,3),G=U[0],X=U[1],re=U[2];return T([G,X,re,1])}function C(I){var U=l(I,4),G=U[0],X=U[1],re=U[2],ne=U[3],se=y(G,X,re),de=l(se,3),me=de[0],ye=de[1],L=de[2];return T([me,ye,L,ne])}function K(I){var U=l(I,3),G=U[0],X=U[1],re=U[2];return C([G,X,re,1])}function j(I){var U=m.exec(I)||O.exec(I),G=l(U,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=parseInt(X.length<2?X.repeat(2):X,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,T([X,re,ne,se])}function te(I){var U=A.exec(I)||P.exec(I)||x.exec(I)||V.exec(I),G=l(U,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=M(X,"%")?parseInt(X,10)*255/100:parseInt(X,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),T([X,re,ne,se])}function he(I){var U=H.exec(I),G=l(U,6),X=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",X=(0,n.default)(parseFloat(X),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),C([X,ne,se,de])}function Ee(I){return t.default[I]?w(t.default[I]):m.test(I)||O.test(I)?j(I):A.test(I)||P.test(I)||x.test(I)||V.test(I)?te(I):H.test(I)?he(I):null}var ie={fromString:Ee,fromRgb:w,fromRgba:T,fromHsl:K,fromHsla:C};e.default=ie})(Xi)),Xi}var Vy=ky();const Fy=Mf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:tt("Name"),Status:tt("Status"),"DataUsage.Total":tt("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:tt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:tt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:tt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:tt("Date"),value:"date",type:"date"}],Operator:[{display:tt("larger than"),value:"lgt"}],Action:[{display:tt("Restrict Peer"),value:"restrict"},{display:tt("Delete Peer"),value:"delete"},{display:tt("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=Vy.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ha(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),Hy=async()=>{let e=!1;return await Ln("/api/validateAuthentication",{},t=>{e=t.status}),e},Fn=Sy({history:iy(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>Ie(()=>import("./index-CNpdctLQ.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>Ie(()=>import("./configurationList-DZ8s_3m3.js"),__vite__mapDeps([6,1,7,8,9,10]),import.meta.url),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>Ie(()=>import("./settings-Pu99wEIv.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17,18]),import.meta.url),children:[{name:"WGDashboard Settings",path:"",component:()=>Ie(()=>import("./wgdashboardSettings-1ZVC2T1K.js"),__vite__mapDeps([19,1,13,3,14,15,16]),import.meta.url),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>Ie(()=>import("./peerDefaultSettings-DwXMLijS.js"),__vite__mapDeps([20,1,12]),import.meta.url),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>Ie(()=>import("./wireguardConfigurationSettings-DVf20tDl.js"),__vite__mapDeps([21,17,1,18]),import.meta.url),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>Ie(()=>import("./ping-Dcho8zUm.js"),__vite__mapDeps([22,1,23,24,25,26,27]),import.meta.url)},{path:"traceroute",name:"Traceroute",component:()=>Ie(()=>import("./traceroute-0ZnREFaN.js"),__vite__mapDeps([28,23,24,25,26,1,29]),import.meta.url)},{name:"New Configuration",path:"new_configuration",component:()=>Ie(()=>import("./newConfiguration-Cf-XQ6D8.js"),__vite__mapDeps([30,31,1,32,33]),import.meta.url),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>Ie(()=>import("./restoreConfiguration-wW2xOYsw.js"),__vite__mapDeps([34,1,3,7,31,35]),import.meta.url),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>Ie(()=>import("./systemStatus-Ba_q2UdD.js"),__vite__mapDeps([36,1,8,9,37,3,38]),import.meta.url),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>Ie(()=>import("./clients-15IHrs0x.js"),__vite__mapDeps([39,40,1,41]),import.meta.url),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>Ie(()=>import("./clientViewer-BgfH726S.js"),__vite__mapDeps([42,40,1,43]),import.meta.url),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>Ie(()=>import("./dashboardWebHooks-BmRLNEC1.js"),__vite__mapDeps([44,1,45]),import.meta.url),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>Ie(()=>import("./configuration-0xJI58FG.js"),[],import.meta.url),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>Ie(()=>import("./peerList-CPiA0nLD.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]),import.meta.url)}]}]},{path:"/signin",component:()=>Ie(()=>import("./signin-7XmHRYpi.js"),__vite__mapDeps([48,2,1,3,4,49]),import.meta.url),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>Ie(()=>import("./setup-D0Q0qQii.js"),__vite__mapDeps([50,1]),import.meta.url),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>Ie(()=>import("./totp-XesjjJo-.js"),__vite__mapDeps([51,52,32,1]),import.meta.url),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>Ie(()=>import("./share-LLVdD8M-.js"),__vite__mapDeps([53,52,32,1,54]),import.meta.url),meta:{title:"Share",hideTopNav:!0}}]});Fn.beforeEach(async(e,t,n)=>{const r=Fy(),s=$t();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await Hy()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});Fn.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const By=Object.freeze(Object.defineProperty({__proto__:null,default:Fn},Symbol.toStringTag,{value:"Module"})),_i=()=>{let e={"Content-Type":"application/json"};try{const n=$t().getActiveCrossServer();if(n&&(e["wg-dashboard-apikey"]=n.apiKey,n.headers))for(let r of Object.values(n.headers))r.key&&r.value&&!Object.keys(e).includes(r.key)&&(e[r.key]=r.value)}catch{}return e},vi=e=>{try{const n=$t().getActiveCrossServer();if(n)return`${n.host}${e}`}catch{}return`./.${e}`},Ln=async(e,t=void 0,n=void 0)=>{const r=new URLSearchParams(t);await fetch(`${vi(e)}?${r.toString()}`,{headers:_i()}).then(s=>{const o=$t();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),Fn.push({path:"/signin"})})},Ub=async(e,t,n)=>{await fetch(`${vi(e)}`,{headers:_i(),method:"POST",body:JSON.stringify(t)}).then(r=>{const s=$t();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),Fn.push({path:"/signin"})})},Kb=async(e,t,n)=>{await fetch(`${vi(e)}`,{headers:_i(),method:"PUT",body:JSON.stringify(t)}).then(r=>{const s=$t();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),Fn.push({path:"/signin"})})},Gb=async(e,t,n)=>{await fetch(`${vi(e)}`,{headers:_i(),method:"DELETE",body:JSON.stringify(t)}).then(r=>{const s=$t();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),Fn.push({path:"/signin"})})},Ve=[];for(let e=0;e<256;++e)Ve.push((e+256).toString(16).slice(1));function jy(e,t=0){return(Ve[e[t+0]]+Ve[e[t+1]]+Ve[e[t+2]]+Ve[e[t+3]]+"-"+Ve[e[t+4]]+Ve[e[t+5]]+"-"+Ve[e[t+6]]+Ve[e[t+7]]+"-"+Ve[e[t+8]]+Ve[e[t+9]]+"-"+Ve[e[t+10]]+Ve[e[t+11]]+Ve[e[t+12]]+Ve[e[t+13]]+Ve[e[t+14]]+Ve[e[t+15]]).toLowerCase()}let Zi;const Wy=new Uint8Array(16);function Uy(){if(!Zi){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Zi=crypto.getRandomValues.bind(crypto)}return Zi(Wy)}const Ky=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Tc={randomUUID:Ky};function Gy(e,t,n){e=e||{};const r=e.random??e.rng?.()??Uy();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n=n||0,n<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let s=0;s<16;++s)t[n+s]=r[s];return t}return jy(r)}function wc(e,t,n){return Tc.randomUUID&&!t&&!e?Tc.randomUUID():Gy(e,t,n)}const $t=Mf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:null,HelpAgent:{Enable:!1}}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[wc().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},async setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e),await Ln("/api/locale",{},t=>{this.Locale=t.data})},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await Ln("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await Ln("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:wc(),from:tt(e),content:tt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(r=>e.match(new RegExp("^"+r+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}},persist:{pick:["HelpAgent.Enable"]}});(function(){function e(b){var y=new Float64Array(16);if(b)for(var N=0;N>16&1),T[C-1]&=65535;T[15]=w[15]-32767-(T[14]>>16&1),N=T[15]>>16&1,T[14]&=65535,r(w,T,1-N)}for(var C=0;C<16;++C)b[2*C]=w[C]&255,b[2*C+1]=w[C]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function r(b,y,N){for(var T,w=~(N-1),C=0;C<16;++C)T=w&(b[C]^y[C]),b[C]^=T,y[C]^=T}function s(b,y,N){for(var T=0;T<16;++T)b[T]=y[T]+N[T]|0}function o(b,y,N){for(var T=0;T<16;++T)b[T]=y[T]-N[T]|0}function a(b,y,N){for(var T=new Float64Array(31),w=0;w<16;++w)for(var C=0;C<16;++C)T[w+C]+=y[w]*N[C];for(var w=0;w<15;++w)T[w]+=38*T[w+16];for(var w=0;w<16;++w)b[w]=T[w];n(b),n(b)}function l(b,y){for(var N=e(),T=0;T<16;++T)N[T]=y[T];for(var T=253;T>=0;--T)a(N,N,N),T!==2&&T!==4&&a(N,N,y);for(var T=0;T<16;++T)b[T]=N[T]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,N=new Uint8Array(32),T=e([1]),w=e([9]),C=e(),K=e([1]),j=e(),te=e(),he=e([56129,1]),Ee=e([9]),ie=0;ie<32;++ie)N[ie]=b[ie];c(N);for(var ie=254;ie>=0;--ie)y=N[ie>>>3]>>>(ie&7)&1,r(T,w,y),r(C,K,y),s(j,T,C),o(T,T,C),s(C,w,K),o(w,w,K),a(K,j,j),a(te,T,T),a(T,C,T),a(C,w,j),s(j,T,C),o(T,T,C),a(w,T,T),o(C,K,te),a(T,C,he),s(T,T,K),a(C,C,T),a(T,K,te),a(K,w,Ee),a(w,j,j),r(T,w,y),r(C,K,y);return l(C,C),a(T,T,C),t(N,T),N}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var N=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),T=0;T<4;++T)b[T]=N[T]+65+(25-N[T]>>8&6)-(51-N[T]>>8&75)-(61-N[T]>>8&15)+(62-N[T]>>8&3)}function m(b){var y,N=new Uint8Array(44);for(y=0;y<32/3;++y)p(N.subarray(y*4),b.subarray(y*3));return p(N.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),N[43]=61,String.fromCharCode.apply(null,N)}function O(b){let y=window.atob(b),N=y.length,T=new Uint8Array(N);for(let C=0;C>>8&255,y>>>16&255,y>>>24&255)}function x(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var N=0;N>>1:y>>>1;H.table[N]=y}}for(var w=-1,C=0;C>>8^H.table[(w^b[C])&255];return(w^-1)>>>0}function M(b){for(var y=[],N=[],T=0,w=0;w{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Yy=["data-bs-theme"],zy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},Xy={class:"container-fluid d-flex text-body align-items-center"},Qy={key:0,class:"bi bi-list"},Jy={key:1,class:"bi bi-x-lg"},Zy={__name:"App",setup(e){const t=$t();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP?(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0,t.ActiveServerConfiguration&&Ln("/api/locale",{},r=>{t.Locale=r.data})):Ln("/api/locale",{},r=>{t.Locale=r.data}),Dn(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=Oy();return(r,s)=>{const o=R_("RouterLink");return It(),As("div",{class:"h-100 bg-body","data-bs-theme":nt(t).Configuration?.Server.dashboard_theme},[s[2]||(s[2]=tr("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),nt(n).meta.hideTopNav?Ev("",!0):(It(),As("nav",zy,[tr("div",Xy,[Ne(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Zn(()=>[...s[1]||(s[1]=[tr("img",{src:yE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])]),_:1}),tr("a",{role:"button",class:"navbarBtn text-body",onClick:s[0]||(s[0]=a=>nt(t).ShowNavBar=!nt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[Ne(Pl,{name:"fade2",mode:"out-in"},{default:Zn(()=>[nt(t).ShowNavBar?(It(),As("i",Jy)):(It(),As("i",Qy))]),_:1})])])])),(It(),Yr(cv,null,{default:Zn(()=>[Ne(nt(Xf),null,{default:Zn(({Component:a})=>[Ne(Pl,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Zn(()=>[(It(),Yr(I_(a)))]),_:2},1024)]),_:1})]),_:1}))],8,Yy)}}},eb=qy(Zy,[["__scopeId","data-v-ddb6150e"]]);function tb(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=pa(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function nd(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return pa(e,nd(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function rd(e,t){return t.map(n=>n.split(".")).map(n=>[n,tb(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>pa(n,r[1],r[0]),{})}function sd(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>nd(n,r),e)}function Cc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),m=o?rd(p,o):p,O=a?sd(m,a):m;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function Sc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?rd(e,o):e,c=a?sd(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function nb(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function rb(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const l=r._s.get(s.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const a=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:l=!0}={})=>{a.forEach(c=>{Cc(s,c,e,l)})},s.$persist=()=>{a.forEach(l=>{Sc(s.$state,l)})},a.forEach(l=>{Cc(s,l,e),s.$subscribe((c,d)=>Sc(d,l),{detached:!0})})}function sb(e={}){return function(t){rb(t,n=>{const r=nb(n.key,t.store.$id);return{key:(e.key?e.key:s=>s)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:s=>JSON.stringify(s),deserialize:s=>JSON.parse(s)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var ib=sb();const id=new URLSearchParams(window.location.search),Oo=id.get("state"),No=id.get("code");Oo&&No&&(window.history.replaceState({},"",window.location.pathname),console.log("After replaceState:",window.location.href));const Oc=async()=>{const{default:e}=await Ie(async()=>{const{default:r}=await Promise.resolve().then(()=>By);return{default:r}},void 0,import.meta.url),t=fE(eb);t.use(e);const n=pE();n.use(ib),n.use(({store:r})=>{r.$router=ii(e)}),t.use(n),t.mount("#app"),console.log("After router import:",window.location.href)},ob=e=>`./.${e}`;Oo&&No?await fetch(ob("/api/oidc/authenticate"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({provider:Oo,code:No,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname})}).then(e=>e.json()).then(async e=>{e.status?window.location.replace(window.location.protocol+"//"+window.location.host+window.location.pathname):(await Oc(),$t().newMessage("Server OIDC",e.message,"danger"))}):await Oc();export{Fb as $,wc as A,ea as B,sE as C,$t as D,$b as E,Xe as F,tt as G,Dn as H,Bb as I,Jr as J,Wb as K,Oy as L,Nb as M,Ie as N,yb as O,Tb as P,Su as Q,ua as R,cv as S,Vb as T,xv as U,li as V,Fy as W,ve as X,Qo as Y,oi as Z,qy as _,tr as a,Ob as a0,jb as a1,xb as a2,Hb as a3,vi as a4,Mf as a5,Gb as a6,Kb as a7,lu as a8,jm as a9,Ab as aa,Pb as ab,Lb as ac,Ib as ad,Ns as ae,oo as af,wb as ag,Db as ah,bb as ai,_v as aj,Sb as ak,rt as al,yv as am,qu as an,Mb as ao,Ne as b,As as c,Ev as d,vv as e,It as f,Ln as g,R_ as h,Rb as i,Yr as j,Pl as k,I_ as l,Cb as m,ti as n,na as o,kb as p,dt as q,Rn as r,ei as s,Hm as t,nt as u,nE as v,Zn as w,zu as x,Ql as y,Ub as z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-DXzxfcZW.js b/src/static/dist/WGDashboardAdmin/assets/index-DXzxfcZW.js deleted file mode 100644 index b392f331..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/index-DXzxfcZW.js +++ /dev/null @@ -1,14 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-eUjmVFiu.js","./localeText-Dmcj5qqx.js","./message-DC-PB7Ii.js","./dayjs.min-C-brjxlJ.js","./message-Bh5W0B3y.css","./index-CpoCtfuw.css","./configurationList-BcQfpCge.js","./protocolBadge-BttcwGux.js","./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js","./storageMount-CiBujS1C.css","./configurationList-CG9tP7oL.css","./settings-B0rj7fKl.js","./peersDefaultSettingsInput-KXSGcg6g.js","./dashboardEmailSettings-BNCV3lPl.js","./vue-datepicker-vren6E8j.js","./index-CRsyV-e7.js","./dashboardEmailSettings-BxtXuVtX.css","./dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js","./dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","./wgdashboardSettings-KKzd6SNM.js","./peerDefaultSettings-DoiohEBz.js","./wireguardConfigurationSettings-BjFdnYVv.js","./ping-eM7EblSL.js","./osmap-VxPm4_Yh.js","./Vector-CuSZivra.js","./Vector-BtPuoxOl.css","./osmap-CsoM1fIq.css","./ping-DgbK5UF9.css","./traceroute-C_Rw3NHe.js","./traceroute-D9mlT_ah.css","./newConfiguration-Cu3W-j8E.js","./index-Bno8fcdN.js","./galois-field-I2lBzzs-.js","./newConfiguration-DKjGLwK7.css","./restoreConfiguration-BLKIuEYB.js","./restoreConfiguration-Go8Q_2zy.css","./systemStatus-DR2cmn_N.js","./index-Bf88kmMW.js","./systemStatus-Dve-9tnj.css","./clients-dPj1ZA29.js","./DashboardClientAssignmentStore-UJ0gvgel.js","./clients-CfS2KUuu.css","./clientViewer-zQHAiseB.js","./clientViewer-C5axh9P7.css","./dashboardWebHooks-BrixRm6N.js","./dashboardWebHooks-Dl-enc0Z.css","./peerList-Dmgo6XiS.js","./peerList-7q3zheYP.css","./signin-AbhxYXGe.js","./signin-DZT8PIVl.css","./setup-B3e2Ponu.js","./totp-CJ63kZAX.js","./browser-DFwZaPoQ.js","./share-CNjkYxw_.js","./share-e5E8P3Ro.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;S=0,Ee=he?"width":"height",ie=ur(t,{placement:U,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),I=he?te?it:Je:te?st:Qe;b[Ee]>y[Ee]&&(I=Ss(I));var K=Ss(I),G=[];if(o&&G.push(ie[j]<=0),l&&G.push(ie[I]<=0,ie[K]<=0),G.every(function(de){return de})){C=U,T=!1;break}N.set(U,G)}if(T)for(var X=O?3:1,re=function(me){var ye=M.find(function(L){var Q=N.get(L);if(Q)return Q.slice(0,me).every(function(Z){return Z})});if(ye)return C=ye,"break"},ne=X;ne>0;ne--){var se=re(ne);if(se==="break")break}t.placement!==C&&(t.modifiersData[r]._skip=!0,t.placement=C,t.reset=!0)}}const Uc={name:"flip",enabled:!0,phase:"main",fn:tm,requiresIfExists:["offset"],data:{_skip:!1}};function sl(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function il(e){return[Qe,it,st,Je].some(function(t){return e[t]>=0})}function nm(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,a=ur(t,{elementContext:"reference"}),l=ur(t,{altBoundary:!0}),c=sl(a,r),d=sl(l,s,o),f=il(c),h=il(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const Gc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:nm};function rm(e,t,n){var r=Lt(e),s=[Je,Qe].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*s,[Je,it].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function sm(e){var t=e.state,n=e.options,r=e.name,s=n.offset,o=s===void 0?[0,0]:s,a=wo.reduce(function(f,h){return f[h]=rm(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}const qc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:sm};function im(e){var t=e.state,n=e.name;t.modifiersData[n]=Kc({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Mo={name:"popperOffsets",enabled:!0,phase:"read",fn:im,data:{}};function om(e){return e==="x"?"y":"x"}function am(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,m=p===void 0?!0:p,O=n.tetherOffset,A=O===void 0?0:O,x=ur(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),P=Lt(t.placement),V=cr(t.placement),H=!V,M=Ro(P),b=om(M),y=t.modifiersData.popperOffsets,N=t.rects.reference,T=t.rects.popper,C=typeof A=="function"?A(Object.assign({},t.rects,{placement:t.placement})):A,S=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),U=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(y){if(o){var te,he=M==="y"?Qe:Je,Ee=M==="y"?st:it,ie=M==="y"?"height":"width",I=y[M],K=I+x[he],G=I-x[Ee],X=m?-T[ie]/2:0,re=V===Ln?N[ie]:T[ie],ne=V===Ln?-T[ie]:-N[ie],se=t.elements.arrow,de=m&&se?xo(se):{width:0,height:0},me=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Fc(),ye=me[he],L=me[Ee],Q=Dr(0,N[ie],de[ie]),Z=H?N[ie]/2-X-Q-ye-S.mainAxis:re-Q-ye-S.mainAxis,oe=H?-N[ie]/2+X+Q+L+S.mainAxis:ne+Q+L+S.mainAxis,D=t.elements.arrow&&Xr(t.elements.arrow),g=D?M==="y"?D.clientTop||0:D.clientLeft||0:0,E=(te=U?.[M])!=null?te:0,w=I+Z-E-g,$=I+oe-E,B=Dr(m?Ds(K,w):K,I,m?On(G,$):G);y[M]=B,j[M]=B-I}if(l){var F,q=M==="x"?Qe:Je,z=M==="x"?st:it,R=y[b],W=b==="y"?"height":"width",ce=R+x[q],ee=R-x[z],ae=[Qe,Je].indexOf(P)!==-1,ue=(F=U?.[b])!=null?F:0,pe=ae?ce:R-N[W]-T[W]-ue+S.altAxis,be=ae?R+N[W]+T[W]-ue-S.altAxis:ee,_e=m&&ae?Vg(pe,R,be):Dr(m?pe:ce,R,m?be:ee);y[b]=_e,j[b]=_e-R}t.modifiersData[r]=j}}const Yc={name:"preventOverflow",enabled:!0,phase:"main",fn:am,requiresIfExists:["offset"]};function lm(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function cm(e){return e===ot(e)||!ht(e)?Lo(e):lm(e)}function um(e){var t=e.getBoundingClientRect(),n=ar(t.width)/e.offsetWidth||1,r=ar(t.height)/e.offsetHeight||1;return n!==1||r!==1}function fm(e,t,n){n===void 0&&(n=!1);var r=ht(t),s=ht(t)&&um(t),o=fn(t),a=lr(e,s,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Pt(t)!=="body"||$o(o))&&(l=cm(t)),ht(t)?(c=lr(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=Po(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function dm(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&s(c)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),r}function hm(e){var t=dm(e);return Mc.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function pm(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function gm(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var ol={placement:"bottom",modifiers:[],strategy:"absolute"};function al(){for(var e=arguments.length,t=new Array(e),n=0;n_[u]})}}return i.default=_,Object.freeze(i)}const s=r(n),o=new Map,a={set(_,i,u){o.has(_)||o.set(_,new Map);const v=o.get(_);if(!v.has(i)&&v.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(v.keys())[0]}.`);return}v.set(i,u)},get(_,i){return o.has(_)&&o.get(_).get(i)||null},remove(_,i){if(!o.has(_))return;const u=o.get(_);u.delete(i),u.size===0&&o.delete(_)}},l=1e6,c=1e3,d="transitionend",f=_=>(_&&window.CSS&&window.CSS.escape&&(_=_.replace(/#([^\s"#']+)/g,(i,u)=>`#${CSS.escape(u)}`)),_),h=_=>_==null?`${_}`:Object.prototype.toString.call(_).match(/\s([a-z]+)/i)[1].toLowerCase(),p=_=>{do _+=Math.floor(Math.random()*l);while(document.getElementById(_));return _},m=_=>{if(!_)return 0;let{transitionDuration:i,transitionDelay:u}=window.getComputedStyle(_);const v=Number.parseFloat(i),k=Number.parseFloat(u);return!v&&!k?0:(i=i.split(",")[0],u=u.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(u))*c)},O=_=>{_.dispatchEvent(new Event(d))},A=_=>!_||typeof _!="object"?!1:(typeof _.jquery<"u"&&(_=_[0]),typeof _.nodeType<"u"),x=_=>A(_)?_.jquery?_[0]:_:typeof _=="string"&&_.length>0?document.querySelector(f(_)):null,P=_=>{if(!A(_)||_.getClientRects().length===0)return!1;const i=getComputedStyle(_).getPropertyValue("visibility")==="visible",u=_.closest("details:not([open])");if(!u)return i;if(u!==_){const v=_.closest("summary");if(v&&v.parentNode!==u||v===null)return!1}return i},V=_=>!_||_.nodeType!==Node.ELEMENT_NODE||_.classList.contains("disabled")?!0:typeof _.disabled<"u"?_.disabled:_.hasAttribute("disabled")&&_.getAttribute("disabled")!=="false",H=_=>{if(!document.documentElement.attachShadow)return null;if(typeof _.getRootNode=="function"){const i=_.getRootNode();return i instanceof ShadowRoot?i:null}return _ instanceof ShadowRoot?_:_.parentNode?H(_.parentNode):null},M=()=>{},b=_=>{_.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,N=[],T=_=>{document.readyState==="loading"?(N.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of N)i()}),N.push(_)):_()},C=()=>document.documentElement.dir==="rtl",S=_=>{T(()=>{const i=y();if(i){const u=_.NAME,v=i.fn[u];i.fn[u]=_.jQueryInterface,i.fn[u].Constructor=_,i.fn[u].noConflict=()=>(i.fn[u]=v,_.jQueryInterface)}})},U=(_,i=[],u=_)=>typeof _=="function"?_.call(...i):u,j=(_,i,u=!0)=>{if(!u){U(_);return}const k=m(i)+5;let J=!1;const Y=({target:ge})=>{ge===i&&(J=!0,i.removeEventListener(d,Y),U(_))};i.addEventListener(d,Y),setTimeout(()=>{J||O(i)},k)},te=(_,i,u,v)=>{const k=_.length;let J=_.indexOf(i);return J===-1?!u&&v?_[k-1]:_[0]:(J+=u?1:-1,v&&(J=(J+k)%k),_[Math.max(0,Math.min(J,k-1))])},he=/[^.]*(?=\..*)\.|.*/,Ee=/\..*/,ie=/::\d+$/,I={};let K=1;const G={mouseenter:"mouseover",mouseleave:"mouseout"},X=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function re(_,i){return i&&`${i}::${K++}`||_.uidEvent||K++}function ne(_){const i=re(_);return _.uidEvent=i,I[i]=I[i]||{},I[i]}function se(_,i){return function u(v){return g(v,{delegateTarget:_}),u.oneOff&&D.off(_,v.type,i),i.apply(_,[v])}}function de(_,i,u){return function v(k){const J=_.querySelectorAll(i);for(let{target:Y}=k;Y&&Y!==this;Y=Y.parentNode)for(const ge of J)if(ge===Y)return g(k,{delegateTarget:Y}),v.oneOff&&D.off(_,k.type,i,u),u.apply(Y,[k])}}function me(_,i,u=null){return Object.values(_).find(v=>v.callable===i&&v.delegationSelector===u)}function ye(_,i,u){const v=typeof i=="string",k=v?u:i||u;let J=oe(_);return X.has(J)||(J=_),[v,k,J]}function L(_,i,u,v,k){if(typeof i!="string"||!_)return;let[J,Y,ge]=ye(i,u,v);i in G&&(Y=(Dg=>function(qn){if(!qn.relatedTarget||qn.relatedTarget!==qn.delegateTarget&&!qn.delegateTarget.contains(qn.relatedTarget))return Dg.call(this,qn)})(Y));const Ze=ne(_),ut=Ze[ge]||(Ze[ge]={}),Me=me(ut,Y,J?u:null);if(Me){Me.oneOff=Me.oneOff&&k;return}const Ot=re(Y,i.replace(he,"")),Et=J?de(_,u,Y):se(_,Y);Et.delegationSelector=J?u:null,Et.callable=Y,Et.oneOff=k,Et.uidEvent=Ot,ut[Ot]=Et,_.addEventListener(ge,Et,J)}function Q(_,i,u,v,k){const J=me(i[u],v,k);J&&(_.removeEventListener(u,J,!!k),delete i[u][J.uidEvent])}function Z(_,i,u,v){const k=i[u]||{};for(const[J,Y]of Object.entries(k))J.includes(v)&&Q(_,i,u,Y.callable,Y.delegationSelector)}function oe(_){return _=_.replace(Ee,""),G[_]||_}const D={on(_,i,u,v){L(_,i,u,v,!1)},one(_,i,u,v){L(_,i,u,v,!0)},off(_,i,u,v){if(typeof i!="string"||!_)return;const[k,J,Y]=ye(i,u,v),ge=Y!==i,Ze=ne(_),ut=Ze[Y]||{},Me=i.startsWith(".");if(typeof J<"u"){if(!Object.keys(ut).length)return;Q(_,Ze,Y,J,k?u:null);return}if(Me)for(const Ot of Object.keys(Ze))Z(_,Ze,Ot,i.slice(1));for(const[Ot,Et]of Object.entries(ut)){const ps=Ot.replace(ie,"");(!ge||i.includes(ps))&&Q(_,Ze,Y,Et.callable,Et.delegationSelector)}},trigger(_,i,u){if(typeof i!="string"||!_)return null;const v=y(),k=oe(i),J=i!==k;let Y=null,ge=!0,Ze=!0,ut=!1;J&&v&&(Y=v.Event(i,u),v(_).trigger(Y),ge=!Y.isPropagationStopped(),Ze=!Y.isImmediatePropagationStopped(),ut=Y.isDefaultPrevented());const Me=g(new Event(i,{bubbles:ge,cancelable:!0}),u);return ut&&Me.preventDefault(),Ze&&_.dispatchEvent(Me),Me.defaultPrevented&&Y&&Y.preventDefault(),Me}};function g(_,i={}){for(const[u,v]of Object.entries(i))try{_[u]=v}catch{Object.defineProperty(_,u,{configurable:!0,get(){return v}})}return _}function E(_){if(_==="true")return!0;if(_==="false")return!1;if(_===Number(_).toString())return Number(_);if(_===""||_==="null")return null;if(typeof _!="string")return _;try{return JSON.parse(decodeURIComponent(_))}catch{return _}}function w(_){return _.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const $={setDataAttribute(_,i,u){_.setAttribute(`data-bs-${w(i)}`,u)},removeDataAttribute(_,i){_.removeAttribute(`data-bs-${w(i)}`)},getDataAttributes(_){if(!_)return{};const i={},u=Object.keys(_.dataset).filter(v=>v.startsWith("bs")&&!v.startsWith("bsConfig"));for(const v of u){let k=v.replace(/^bs/,"");k=k.charAt(0).toLowerCase()+k.slice(1),i[k]=E(_.dataset[v])}return i},getDataAttribute(_,i){return E(_.getAttribute(`data-bs-${w(i)}`))}};class B{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,u){const v=A(u)?$.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...A(u)?$.getDataAttributes(u):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,u=this.constructor.DefaultType){for(const[v,k]of Object.entries(u)){const J=i[v],Y=A(J)?"element":h(J);if(!new RegExp(k).test(Y))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${Y}" but expected type "${k}".`)}}}const F="5.3.8";class q extends B{constructor(i,u){super(),i=x(i),i&&(this._element=i,this._config=this._getConfig(u),a.set(this._element,this.constructor.DATA_KEY,this))}dispose(){a.remove(this._element,this.constructor.DATA_KEY),D.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,u,v=!0){j(i,u,v)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return a.get(x(i),this.DATA_KEY)}static getOrCreateInstance(i,u={}){return this.getInstance(i)||new this(i,typeof u=="object"?u:null)}static get VERSION(){return F}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const z=_=>{let i=_.getAttribute("data-bs-target");if(!i||i==="#"){let u=_.getAttribute("href");if(!u||!u.includes("#")&&!u.startsWith("."))return null;u.includes("#")&&!u.startsWith("#")&&(u=`#${u.split("#")[1]}`),i=u&&u!=="#"?u.trim():null}return i?i.split(",").map(u=>f(u)).join(","):null},R={find(_,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,_))},findOne(_,i=document.documentElement){return Element.prototype.querySelector.call(i,_)},children(_,i){return[].concat(..._.children).filter(u=>u.matches(i))},parents(_,i){const u=[];let v=_.parentNode.closest(i);for(;v;)u.push(v),v=v.parentNode.closest(i);return u},prev(_,i){let u=_.previousElementSibling;for(;u;){if(u.matches(i))return[u];u=u.previousElementSibling}return[]},next(_,i){let u=_.nextElementSibling;for(;u;){if(u.matches(i))return[u];u=u.nextElementSibling}return[]},focusableChildren(_){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(u=>`${u}:not([tabindex^="-"])`).join(",");return this.find(i,_).filter(u=>!V(u)&&P(u))},getSelectorFromElement(_){const i=z(_);return i&&R.findOne(i)?i:null},getElementFromSelector(_){const i=z(_);return i?R.findOne(i):null},getMultipleElementsFromSelector(_){const i=z(_);return i?R.find(i):[]}},W=(_,i="hide")=>{const u=`click.dismiss${_.EVENT_KEY}`,v=_.NAME;D.on(document,u,`[data-bs-dismiss="${v}"]`,function(k){if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),V(this))return;const J=R.getElementFromSelector(this)||this.closest(`.${v}`);_.getOrCreateInstance(J)[i]()})},ce="alert",ae=".bs.alert",ue=`close${ae}`,pe=`closed${ae}`,be="fade",_e="show";class Ie extends q{static get NAME(){return ce}close(){if(D.trigger(this._element,ue).defaultPrevented)return;this._element.classList.remove(_e);const u=this._element.classList.contains(be);this._queueCallback(()=>this._destroyElement(),this._element,u)}_destroyElement(){this._element.remove(),D.trigger(this._element,pe),this.dispose()}static jQueryInterface(i){return this.each(function(){const u=Ie.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}W(Ie,"close"),S(Ie);const je="button",at=".bs.button",pn=".data-api",ts="active",We='[data-bs-toggle="button"]',lt=`click${at}${pn}`;class Yt extends q{static get NAME(){return je}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(ts))}static jQueryInterface(i){return this.each(function(){const u=Yt.getOrCreateInstance(this);i==="toggle"&&u[i]()})}}D.on(document,lt,We,_=>{_.preventDefault();const i=_.target.closest(We);Yt.getOrCreateInstance(i).toggle()}),S(Yt);const ns="swipe",Fn=".bs.swipe",sd=`touchstart${Fn}`,id=`touchmove${Fn}`,od=`touchend${Fn}`,ad=`pointerdown${Fn}`,ld=`pointerup${Fn}`,cd="touch",ud="pen",fd="pointer-event",dd=40,hd={endCallback:null,leftCallback:null,rightCallback:null},pd={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class rs extends B{constructor(i,u){super(),this._element=i,!(!i||!rs.isSupported())&&(this._config=this._getConfig(u),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return hd}static get DefaultType(){return pd}static get NAME(){return ns}dispose(){D.off(this._element,Fn)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),U(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=dd)return;const u=i/this._deltaX;this._deltaX=0,u&&U(u>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(D.on(this._element,ad,i=>this._start(i)),D.on(this._element,ld,i=>this._end(i)),this._element.classList.add(fd)):(D.on(this._element,sd,i=>this._start(i)),D.on(this._element,id,i=>this._move(i)),D.on(this._element,od,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===ud||i.pointerType===cd)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const gd="carousel",zt=".bs.carousel",ha=".data-api",md="ArrowLeft",_d="ArrowRight",vd=500,Ar="next",Hn="prev",Bn="left",ss="right",Ed=`slide${zt}`,_i=`slid${zt}`,yd=`keydown${zt}`,bd=`mouseenter${zt}`,Ad=`mouseleave${zt}`,Td=`dragstart${zt}`,Cd=`load${zt}${ha}`,Sd=`click${zt}${ha}`,pa="carousel",is="active",wd="slide",Od="carousel-item-end",Nd="carousel-item-start",xd="carousel-item-next",Rd="carousel-item-prev",ga=".active",ma=".carousel-item",Id=ga+ma,Dd=".carousel-item img",Ld=".carousel-indicators",Pd="[data-bs-slide], [data-bs-slide-to]",$d='[data-bs-ride="carousel"]',Md={[md]:ss,[_d]:Bn},kd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Vd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class jn extends q{constructor(i,u){super(i,u),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne(Ld,this._element),this._addEventListeners(),this._config.ride===pa&&this.cycle()}static get Default(){return kd}static get DefaultType(){return Vd}static get NAME(){return gd}next(){this._slide(Ar)}nextWhenVisible(){!document.hidden&&P(this._element)&&this.next()}prev(){this._slide(Hn)}pause(){this._isSliding&&O(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){D.one(this._element,_i,()=>this.cycle());return}this.cycle()}}to(i){const u=this._getItems();if(i>u.length-1||i<0)return;if(this._isSliding){D.one(this._element,_i,()=>this.to(i));return}const v=this._getItemIndex(this._getActive());if(v===i)return;const k=i>v?Ar:Hn;this._slide(k,u[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&D.on(this._element,yd,i=>this._keydown(i)),this._config.pause==="hover"&&(D.on(this._element,bd,()=>this.pause()),D.on(this._element,Ad,()=>this._maybeEnableCycle())),this._config.touch&&rs.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const v of R.find(Dd,this._element))D.on(v,Td,k=>k.preventDefault());const u={leftCallback:()=>this._slide(this._directionToOrder(Bn)),rightCallback:()=>this._slide(this._directionToOrder(ss)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),vd+this._config.interval))}};this._swipeHelper=new rs(this._element,u)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const u=Md[i.key];u&&(i.preventDefault(),this._slide(this._directionToOrder(u)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const u=R.findOne(ga,this._indicatorsElement);u.classList.remove(is),u.removeAttribute("aria-current");const v=R.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);v&&(v.classList.add(is),v.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const u=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=u||this._config.defaultInterval}_slide(i,u=null){if(this._isSliding)return;const v=this._getActive(),k=i===Ar,J=u||te(this._getItems(),v,k,this._config.wrap);if(J===v)return;const Y=this._getItemIndex(J),ge=ps=>D.trigger(this._element,ps,{relatedTarget:J,direction:this._orderToDirection(i),from:this._getItemIndex(v),to:Y});if(ge(Ed).defaultPrevented||!v||!J)return;const ut=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(Y),this._activeElement=J;const Me=k?Nd:Od,Ot=k?xd:Rd;J.classList.add(Ot),b(J),v.classList.add(Me),J.classList.add(Me);const Et=()=>{J.classList.remove(Me,Ot),J.classList.add(is),v.classList.remove(is,Ot,Me),this._isSliding=!1,ge(_i)};this._queueCallback(Et,v,this._isAnimated()),ut&&this.cycle()}_isAnimated(){return this._element.classList.contains(wd)}_getActive(){return R.findOne(Id,this._element)}_getItems(){return R.find(ma,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return C()?i===Bn?Hn:Ar:i===Bn?Ar:Hn}_orderToDirection(i){return C()?i===Hn?Bn:ss:i===Hn?ss:Bn}static jQueryInterface(i){return this.each(function(){const u=jn.getOrCreateInstance(this,i);if(typeof i=="number"){u.to(i);return}if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,Sd,Pd,function(_){const i=R.getElementFromSelector(this);if(!i||!i.classList.contains(pa))return;_.preventDefault();const u=jn.getOrCreateInstance(i),v=this.getAttribute("data-bs-slide-to");if(v){u.to(v),u._maybeEnableCycle();return}if($.getDataAttribute(this,"slide")==="next"){u.next(),u._maybeEnableCycle();return}u.prev(),u._maybeEnableCycle()}),D.on(window,Cd,()=>{const _=R.find($d);for(const i of _)jn.getOrCreateInstance(i)}),S(jn);const Fd="collapse",Tr=".bs.collapse",Hd=".data-api",Bd=`show${Tr}`,jd=`shown${Tr}`,Wd=`hide${Tr}`,Kd=`hidden${Tr}`,Ud=`click${Tr}${Hd}`,vi="show",Wn="collapse",os="collapsing",Gd="collapsed",qd=`:scope .${Wn} .${Wn}`,Yd="collapse-horizontal",zd="width",Xd="height",Qd=".collapse.show, .collapse.collapsing",Ei='[data-bs-toggle="collapse"]',Jd={parent:null,toggle:!0},Zd={parent:"(null|element)",toggle:"boolean"};class Kn extends q{constructor(i,u){super(i,u),this._isTransitioning=!1,this._triggerArray=[];const v=R.find(Ei);for(const k of v){const J=R.getSelectorFromElement(k),Y=R.find(J).filter(ge=>ge===this._element);J!==null&&Y.length&&this._triggerArray.push(k)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Jd}static get DefaultType(){return Zd}static get NAME(){return Fd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Qd).filter(ge=>ge!==this._element).map(ge=>Kn.getOrCreateInstance(ge,{toggle:!1}))),i.length&&i[0]._isTransitioning||D.trigger(this._element,Bd).defaultPrevented)return;for(const ge of i)ge.hide();const v=this._getDimension();this._element.classList.remove(Wn),this._element.classList.add(os),this._element.style[v]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const k=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Wn,vi),this._element.style[v]="",D.trigger(this._element,jd)},Y=`scroll${v[0].toUpperCase()+v.slice(1)}`;this._queueCallback(k,this._element,!0),this._element.style[v]=`${this._element[Y]}px`}hide(){if(this._isTransitioning||!this._isShown()||D.trigger(this._element,Wd).defaultPrevented)return;const u=this._getDimension();this._element.style[u]=`${this._element.getBoundingClientRect()[u]}px`,b(this._element),this._element.classList.add(os),this._element.classList.remove(Wn,vi);for(const k of this._triggerArray){const J=R.getElementFromSelector(k);J&&!this._isShown(J)&&this._addAriaAndCollapsedClass([k],!1)}this._isTransitioning=!0;const v=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Wn),D.trigger(this._element,Kd)};this._element.style[u]="",this._queueCallback(v,this._element,!0)}_isShown(i=this._element){return i.classList.contains(vi)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=x(i.parent),i}_getDimension(){return this._element.classList.contains(Yd)?zd:Xd}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(Ei);for(const u of i){const v=R.getElementFromSelector(u);v&&this._addAriaAndCollapsedClass([u],this._isShown(v))}}_getFirstLevelChildren(i){const u=R.find(qd,this._config.parent);return R.find(i,this._config.parent).filter(v=>!u.includes(v))}_addAriaAndCollapsedClass(i,u){if(i.length)for(const v of i)v.classList.toggle(Gd,!u),v.setAttribute("aria-expanded",u)}static jQueryInterface(i){const u={};return typeof i=="string"&&/show|hide/.test(i)&&(u.toggle=!1),this.each(function(){const v=Kn.getOrCreateInstance(this,u);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i]()}})}}D.on(document,Ud,Ei,function(_){(_.target.tagName==="A"||_.delegateTarget&&_.delegateTarget.tagName==="A")&&_.preventDefault();for(const i of R.getMultipleElementsFromSelector(this))Kn.getOrCreateInstance(i,{toggle:!1}).toggle()}),S(Kn);const _a="dropdown",gn=".bs.dropdown",yi=".data-api",eh="Escape",va="Tab",th="ArrowUp",Ea="ArrowDown",nh=2,rh=`hide${gn}`,sh=`hidden${gn}`,ih=`show${gn}`,oh=`shown${gn}`,ya=`click${gn}${yi}`,ba=`keydown${gn}${yi}`,ah=`keyup${gn}${yi}`,Un="show",lh="dropup",ch="dropend",uh="dropstart",fh="dropup-center",dh="dropdown-center",mn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',hh=`${mn}.${Un}`,as=".dropdown-menu",ph=".navbar",gh=".navbar-nav",mh=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",_h=C()?"top-end":"top-start",vh=C()?"top-start":"top-end",Eh=C()?"bottom-end":"bottom-start",yh=C()?"bottom-start":"bottom-end",bh=C()?"left-start":"right-start",Ah=C()?"right-start":"left-start",Th="top",Ch="bottom",Sh={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},wh={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class vt extends q{constructor(i,u){super(i,u),this._popper=null,this._parent=this._element.parentNode,this._menu=R.next(this._element,as)[0]||R.prev(this._element,as)[0]||R.findOne(as,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Sh}static get DefaultType(){return wh}static get NAME(){return _a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(V(this._element)||this._isShown())return;const i={relatedTarget:this._element};if(!D.trigger(this._element,ih,i).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(gh))for(const v of[].concat(...document.body.children))D.on(v,"mouseover",M);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Un),this._element.classList.add(Un),D.trigger(this._element,oh,i)}}hide(){if(V(this._element)||!this._isShown())return;const i={relatedTarget:this._element};this._completeHide(i)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(i){if(!D.trigger(this._element,rh,i).defaultPrevented){if("ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))D.off(v,"mouseover",M);this._popper&&this._popper.destroy(),this._menu.classList.remove(Un),this._element.classList.remove(Un),this._element.setAttribute("aria-expanded","false"),$.removeDataAttribute(this._menu,"popper"),D.trigger(this._element,sh,i)}}_getConfig(i){if(i=super._getConfig(i),typeof i.reference=="object"&&!A(i.reference)&&typeof i.reference.getBoundingClientRect!="function")throw new TypeError(`${_a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return i}_createPopper(){if(typeof s>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let i=this._element;this._config.reference==="parent"?i=this._parent:A(this._config.reference)?i=x(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const u=this._getPopperConfig();this._popper=s.createPopper(i,this._menu,u)}_isShown(){return this._menu.classList.contains(Un)}_getPlacement(){const i=this._parent;if(i.classList.contains(ch))return bh;if(i.classList.contains(uh))return Ah;if(i.classList.contains(fh))return Th;if(i.classList.contains(dh))return Ch;const u=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(lh)?u?vh:_h:u?yh:Eh}_detectNavbar(){return this._element.closest(ph)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&($.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...U(this._config.popperConfig,[void 0,i])}}_selectMenuItem({key:i,target:u}){const v=R.find(mh,this._menu).filter(k=>P(k));v.length&&te(v,u,i===Ea,!v.includes(u)).focus()}static jQueryInterface(i){return this.each(function(){const u=vt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}static clearMenus(i){if(i.button===nh||i.type==="keyup"&&i.key!==va)return;const u=R.find(hh);for(const v of u){const k=vt.getInstance(v);if(!k||k._config.autoClose===!1)continue;const J=i.composedPath(),Y=J.includes(k._menu);if(J.includes(k._element)||k._config.autoClose==="inside"&&!Y||k._config.autoClose==="outside"&&Y||k._menu.contains(i.target)&&(i.type==="keyup"&&i.key===va||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const ge={relatedTarget:k._element};i.type==="click"&&(ge.clickEvent=i),k._completeHide(ge)}}static dataApiKeydownHandler(i){const u=/input|textarea/i.test(i.target.tagName),v=i.key===eh,k=[th,Ea].includes(i.key);if(!k&&!v||u&&!v)return;i.preventDefault();const J=this.matches(mn)?this:R.prev(this,mn)[0]||R.next(this,mn)[0]||R.findOne(mn,i.delegateTarget.parentNode),Y=vt.getOrCreateInstance(J);if(k){i.stopPropagation(),Y.show(),Y._selectMenuItem(i);return}Y._isShown()&&(i.stopPropagation(),Y.hide(),J.focus())}}D.on(document,ba,mn,vt.dataApiKeydownHandler),D.on(document,ba,as,vt.dataApiKeydownHandler),D.on(document,ya,vt.clearMenus),D.on(document,ah,vt.clearMenus),D.on(document,ya,mn,function(_){_.preventDefault(),vt.getOrCreateInstance(this).toggle()}),S(vt);const Aa="backdrop",Oh="fade",Ta="show",Ca=`mousedown.bs.${Aa}`,Nh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},xh={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Sa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return Nh}static get DefaultType(){return xh}static get NAME(){return Aa}show(i){if(!this._config.isVisible){U(i);return}this._append();const u=this._getElement();this._config.isAnimated&&b(u),u.classList.add(Ta),this._emulateAnimation(()=>{U(i)})}hide(i){if(!this._config.isVisible){U(i);return}this._getElement().classList.remove(Ta),this._emulateAnimation(()=>{this.dispose(),U(i)})}dispose(){this._isAppended&&(D.off(this._element,Ca),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(Oh),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=x(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),D.on(i,Ca,()=>{U(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){j(i,this._getElement(),this._config.isAnimated)}}const Rh="focustrap",ls=".bs.focustrap",Ih=`focusin${ls}`,Dh=`keydown.tab${ls}`,Lh="Tab",Ph="forward",wa="backward",$h={autofocus:!0,trapElement:null},Mh={autofocus:"boolean",trapElement:"element"};class Oa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return $h}static get DefaultType(){return Mh}static get NAME(){return Rh}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),D.off(document,ls),D.on(document,Ih,i=>this._handleFocusin(i)),D.on(document,Dh,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,D.off(document,ls))}_handleFocusin(i){const{trapElement:u}=this._config;if(i.target===document||i.target===u||u.contains(i.target))return;const v=R.focusableChildren(u);v.length===0?u.focus():this._lastTabNavDirection===wa?v[v.length-1].focus():v[0].focus()}_handleKeydown(i){i.key===Lh&&(this._lastTabNavDirection=i.shiftKey?wa:Ph)}}const Na=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",xa=".sticky-top",cs="padding-right",Ra="margin-right";class bi{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,cs,u=>u+i),this._setElementAttributes(Na,cs,u=>u+i),this._setElementAttributes(xa,Ra,u=>u-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,cs),this._resetElementAttributes(Na,cs),this._resetElementAttributes(xa,Ra)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,u,v){const k=this.getWidth(),J=Y=>{if(Y!==this._element&&window.innerWidth>Y.clientWidth+k)return;this._saveInitialAttribute(Y,u);const ge=window.getComputedStyle(Y).getPropertyValue(u);Y.style.setProperty(u,`${v(Number.parseFloat(ge))}px`)};this._applyManipulationCallback(i,J)}_saveInitialAttribute(i,u){const v=i.style.getPropertyValue(u);v&&$.setDataAttribute(i,u,v)}_resetElementAttributes(i,u){const v=k=>{const J=$.getDataAttribute(k,u);if(J===null){k.style.removeProperty(u);return}$.removeDataAttribute(k,u),k.style.setProperty(u,J)};this._applyManipulationCallback(i,v)}_applyManipulationCallback(i,u){if(A(i)){u(i);return}for(const v of R.find(i,this._element))u(v)}}const kh="modal",ct=".bs.modal",Vh=".data-api",Fh="Escape",Hh=`hide${ct}`,Bh=`hidePrevented${ct}`,Ia=`hidden${ct}`,Da=`show${ct}`,jh=`shown${ct}`,Wh=`resize${ct}`,Kh=`click.dismiss${ct}`,Uh=`mousedown.dismiss${ct}`,Gh=`keydown.dismiss${ct}`,qh=`click${ct}${Vh}`,La="modal-open",Yh="fade",Pa="show",Ai="modal-static",zh=".modal.show",Xh=".modal-dialog",Qh=".modal-body",Jh='[data-bs-toggle="modal"]',Zh={backdrop:!0,focus:!0,keyboard:!0},ep={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class _n extends q{constructor(i,u){super(i,u),this._dialog=R.findOne(Xh,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new bi,this._addEventListeners()}static get Default(){return Zh}static get DefaultType(){return ep}static get NAME(){return kh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||D.trigger(this._element,Da,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(La),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||D.trigger(this._element,Hh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Pa),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){D.off(window,ct),D.off(this._dialog,ct),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Sa({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Oa({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const u=R.findOne(Qh,this._dialog);u&&(u.scrollTop=0),b(this._element),this._element.classList.add(Pa);const v=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,D.trigger(this._element,jh,{relatedTarget:i})};this._queueCallback(v,this._dialog,this._isAnimated())}_addEventListeners(){D.on(this._element,Gh,i=>{if(i.key===Fh){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),D.on(window,Wh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),D.on(this._element,Uh,i=>{D.one(this._element,Kh,u=>{if(!(this._element!==i.target||this._element!==u.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(La),this._resetAdjustments(),this._scrollBar.reset(),D.trigger(this._element,Ia)})}_isAnimated(){return this._element.classList.contains(Yh)}_triggerBackdropTransition(){if(D.trigger(this._element,Bh).defaultPrevented)return;const u=this._element.scrollHeight>document.documentElement.clientHeight,v=this._element.style.overflowY;v==="hidden"||this._element.classList.contains(Ai)||(u||(this._element.style.overflowY="hidden"),this._element.classList.add(Ai),this._queueCallback(()=>{this._element.classList.remove(Ai),this._queueCallback(()=>{this._element.style.overflowY=v},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,u=this._scrollBar.getWidth(),v=u>0;if(v&&!i){const k=C()?"paddingLeft":"paddingRight";this._element.style[k]=`${u}px`}if(!v&&i){const k=C()?"paddingRight":"paddingLeft";this._element.style[k]=`${u}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,u){return this.each(function(){const v=_n.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i](u)}})}}D.on(document,qh,Jh,function(_){const i=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&_.preventDefault(),D.one(i,Da,k=>{k.defaultPrevented||D.one(i,Ia,()=>{P(this)&&this.focus()})});const u=R.findOne(zh);u&&_n.getInstance(u).hide(),_n.getOrCreateInstance(i).toggle(this)}),W(_n),S(_n);const tp="offcanvas",$t=".bs.offcanvas",$a=".data-api",np=`load${$t}${$a}`,rp="Escape",Ma="show",ka="showing",Va="hiding",sp="offcanvas-backdrop",Fa=".offcanvas.show",ip=`show${$t}`,op=`shown${$t}`,ap=`hide${$t}`,Ha=`hidePrevented${$t}`,Ba=`hidden${$t}`,lp=`resize${$t}`,cp=`click${$t}${$a}`,up=`keydown.dismiss${$t}`,fp='[data-bs-toggle="offcanvas"]',dp={backdrop:!0,keyboard:!0,scroll:!1},hp={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Mt extends q{constructor(i,u){super(i,u),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return dp}static get DefaultType(){return hp}static get NAME(){return tp}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||D.trigger(this._element,ip,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new bi().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ka);const v=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Ma),this._element.classList.remove(ka),D.trigger(this._element,op,{relatedTarget:i})};this._queueCallback(v,this._element,!0)}hide(){if(!this._isShown||D.trigger(this._element,ap).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Va),this._backdrop.hide();const u=()=>{this._element.classList.remove(Ma,Va),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new bi().reset(),D.trigger(this._element,Ba)};this._queueCallback(u,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){D.trigger(this._element,Ha);return}this.hide()},u=!!this._config.backdrop;return new Sa({className:sp,isVisible:u,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:u?i:null})}_initializeFocusTrap(){return new Oa({trapElement:this._element})}_addEventListeners(){D.on(this._element,up,i=>{if(i.key===rp){if(this._config.keyboard){this.hide();return}D.trigger(this._element,Ha)}})}static jQueryInterface(i){return this.each(function(){const u=Mt.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}D.on(document,cp,fp,function(_){const i=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&_.preventDefault(),V(this))return;D.one(i,Ba,()=>{P(this)&&this.focus()});const u=R.findOne(Fa);u&&u!==i&&Mt.getInstance(u).hide(),Mt.getOrCreateInstance(i).toggle(this)}),D.on(window,np,()=>{for(const _ of R.find(Fa))Mt.getOrCreateInstance(_).show()}),D.on(window,lp,()=>{for(const _ of R.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(_).position!=="fixed"&&Mt.getOrCreateInstance(_).hide()}),W(Mt),S(Mt);const ja={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},pp=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),gp=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,mp=(_,i)=>{const u=_.nodeName.toLowerCase();return i.includes(u)?pp.has(u)?!!gp.test(_.nodeValue):!0:i.filter(v=>v instanceof RegExp).some(v=>v.test(u))};function _p(_,i,u){if(!_.length)return _;if(u&&typeof u=="function")return u(_);const k=new window.DOMParser().parseFromString(_,"text/html"),J=[].concat(...k.body.querySelectorAll("*"));for(const Y of J){const ge=Y.nodeName.toLowerCase();if(!Object.keys(i).includes(ge)){Y.remove();continue}const Ze=[].concat(...Y.attributes),ut=[].concat(i["*"]||[],i[ge]||[]);for(const Me of Ze)mp(Me,ut)||Y.removeAttribute(Me.nodeName)}return k.body.innerHTML}const vp="TemplateFactory",Ep={allowList:ja,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},yp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},bp={entry:"(string|element|function|null)",selector:"(string|element)"};class Ap extends B{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return Ep}static get DefaultType(){return yp}static get NAME(){return vp}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[k,J]of Object.entries(this._config.content))this._setContent(i,J,k);const u=i.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&u.classList.add(...v.split(" ")),u}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[u,v]of Object.entries(i))super._typeCheckConfig({selector:u,entry:v},bp)}_setContent(i,u,v){const k=R.findOne(v,i);if(k){if(u=this._resolvePossibleFunction(u),!u){k.remove();return}if(A(u)){this._putElementInTemplate(x(u),k);return}if(this._config.html){k.innerHTML=this._maybeSanitize(u);return}k.textContent=u}}_maybeSanitize(i){return this._config.sanitize?_p(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return U(i,[void 0,this])}_putElementInTemplate(i,u){if(this._config.html){u.innerHTML="",u.append(i);return}u.textContent=i.textContent}}const Tp="tooltip",Cp=new Set(["sanitize","allowList","sanitizeFn"]),Ti="fade",Sp="modal",us="show",wp=".tooltip-inner",Wa=`.${Sp}`,Ka="hide.bs.modal",Cr="hover",Ci="focus",Si="click",Op="manual",Np="hide",xp="hidden",Rp="show",Ip="shown",Dp="inserted",Lp="click",Pp="focusin",$p="focusout",Mp="mouseenter",kp="mouseleave",Vp={AUTO:"auto",TOP:"top",RIGHT:C()?"left":"right",BOTTOM:"bottom",LEFT:C()?"right":"left"},Fp={allowList:ja,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Hp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class vn extends q{constructor(i,u){if(typeof s>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(i,u),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Fp}static get DefaultType(){return Hp}static get NAME(){return Tp}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),D.off(this._element.closest(Wa),Ka,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=D.trigger(this._element,this.constructor.eventName(Rp)),v=(H(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!v)return;this._disposePopper();const k=this._getTipElement();this._element.setAttribute("aria-describedby",k.getAttribute("id"));const{container:J}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(J.append(k),D.trigger(this._element,this.constructor.eventName(Dp))),this._popper=this._createPopper(k),k.classList.add(us),"ontouchstart"in document.documentElement)for(const ge of[].concat(...document.body.children))D.on(ge,"mouseover",M);const Y=()=>{D.trigger(this._element,this.constructor.eventName(Ip)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(Y,this.tip,this._isAnimated())}hide(){if(!this._isShown()||D.trigger(this._element,this.constructor.eventName(Np)).defaultPrevented)return;if(this._getTipElement().classList.remove(us),"ontouchstart"in document.documentElement)for(const k of[].concat(...document.body.children))D.off(k,"mouseover",M);this._activeTrigger[Si]=!1,this._activeTrigger[Ci]=!1,this._activeTrigger[Cr]=!1,this._isHovered=null;const v=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),D.trigger(this._element,this.constructor.eventName(xp)))};this._queueCallback(v,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const u=this._getTemplateFactory(i).toHtml();if(!u)return null;u.classList.remove(Ti,us),u.classList.add(`bs-${this.constructor.NAME}-auto`);const v=p(this.constructor.NAME).toString();return u.setAttribute("id",v),this._isAnimated()&&u.classList.add(Ti),u}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new Ap({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[wp]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ti)}_isShown(){return this.tip&&this.tip.classList.contains(us)}_createPopper(i){const u=U(this._config.placement,[this,i,this._element]),v=Vp[u.toUpperCase()];return s.createPopper(this._element,i,this._getPopperConfig(v))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_resolvePossibleFunction(i){return U(i,[this._element,this._element])}_getPopperConfig(i){const u={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:v=>{this._getTipElement().setAttribute("data-popper-placement",v.state.placement)}}]};return{...u,...U(this._config.popperConfig,[void 0,u])}}_setListeners(){const i=this._config.trigger.split(" ");for(const u of i)if(u==="click")D.on(this._element,this.constructor.eventName(Lp),this._config.selector,v=>{const k=this._initializeOnDelegatedTarget(v);k._activeTrigger[Si]=!(k._isShown()&&k._activeTrigger[Si]),k.toggle()});else if(u!==Op){const v=u===Cr?this.constructor.eventName(Mp):this.constructor.eventName(Pp),k=u===Cr?this.constructor.eventName(kp):this.constructor.eventName($p);D.on(this._element,v,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusin"?Ci:Cr]=!0,Y._enter()}),D.on(this._element,k,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusout"?Ci:Cr]=Y._element.contains(J.relatedTarget),Y._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},D.on(this._element.closest(Wa),Ka,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,u){clearTimeout(this._timeout),this._timeout=setTimeout(i,u)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const u=$.getDataAttributes(this._element);for(const v of Object.keys(u))Cp.has(v)&&delete u[v];return i={...u,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:x(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[u,v]of Object.entries(this._config))this.constructor.Default[u]!==v&&(i[u]=v);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const u=vn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}S(vn);const Bp="popover",jp=".popover-header",Wp=".popover-body",Kp={...vn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Up={...vn.DefaultType,content:"(null|string|element|function)"};class fs extends vn{static get Default(){return Kp}static get DefaultType(){return Up}static get NAME(){return Bp}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[jp]:this._getTitle(),[Wp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const u=fs.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}S(fs);const Gp="scrollspy",wi=".bs.scrollspy",qp=".data-api",Yp=`activate${wi}`,Ua=`click${wi}`,zp=`load${wi}${qp}`,Xp="dropdown-item",Gn="active",Qp='[data-bs-spy="scroll"]',Oi="[href]",Jp=".nav, .list-group",Ga=".nav-link",Zp=`${Ga}, .nav-item > ${Ga}, .list-group-item`,eg=".dropdown",tg=".dropdown-toggle",ng={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},rg={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Sr extends q{constructor(i,u){super(i,u),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ng}static get DefaultType(){return rg}static get NAME(){return Gp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=x(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(u=>Number.parseFloat(u))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(D.off(this._config.target,Ua),D.on(this._config.target,Ua,Oi,i=>{const u=this._observableSections.get(i.target.hash);if(u){i.preventDefault();const v=this._rootElement||window,k=u.offsetTop-this._element.offsetTop;if(v.scrollTo){v.scrollTo({top:k,behavior:"smooth"});return}v.scrollTop=k}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(u=>this._observerCallback(u),i)}_observerCallback(i){const u=Y=>this._targetLinks.get(`#${Y.target.id}`),v=Y=>{this._previousScrollData.visibleEntryTop=Y.target.offsetTop,this._process(u(Y))},k=(this._rootElement||document.documentElement).scrollTop,J=k>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=k;for(const Y of i){if(!Y.isIntersecting){this._activeTarget=null,this._clearActiveClass(u(Y));continue}const ge=Y.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(J&&ge){if(v(Y),!k)return;continue}!J&&!ge&&v(Y)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=R.find(Oi,this._config.target);for(const u of i){if(!u.hash||V(u))continue;const v=R.findOne(decodeURI(u.hash),this._element);P(v)&&(this._targetLinks.set(decodeURI(u.hash),u),this._observableSections.set(u.hash,v))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(Gn),this._activateParents(i),D.trigger(this._element,Yp,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(Xp)){R.findOne(tg,i.closest(eg)).classList.add(Gn);return}for(const u of R.parents(i,Jp))for(const v of R.prev(u,Zp))v.classList.add(Gn)}_clearActiveClass(i){i.classList.remove(Gn);const u=R.find(`${Oi}.${Gn}`,i);for(const v of u)v.classList.remove(Gn)}static jQueryInterface(i){return this.each(function(){const u=Sr.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(window,zp,()=>{for(const _ of R.find(Qp))Sr.getOrCreateInstance(_)}),S(Sr);const sg="tab",En=".bs.tab",ig=`hide${En}`,og=`hidden${En}`,ag=`show${En}`,lg=`shown${En}`,cg=`click${En}`,ug=`keydown${En}`,fg=`load${En}`,dg="ArrowLeft",qa="ArrowRight",hg="ArrowUp",Ya="ArrowDown",Ni="Home",za="End",yn="active",Xa="fade",xi="show",pg="dropdown",Qa=".dropdown-toggle",gg=".dropdown-menu",Ri=`:not(${Qa})`,mg='.list-group, .nav, [role="tablist"]',_g=".nav-item, .list-group-item",vg=`.nav-link${Ri}, .list-group-item${Ri}, [role="tab"]${Ri}`,Ja='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ii=`${vg}, ${Ja}`,Eg=`.${yn}[data-bs-toggle="tab"], .${yn}[data-bs-toggle="pill"], .${yn}[data-bs-toggle="list"]`;class bn extends q{constructor(i){super(i),this._parent=this._element.closest(mg),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),D.on(this._element,ug,u=>this._keydown(u)))}static get NAME(){return sg}show(){const i=this._element;if(this._elemIsActive(i))return;const u=this._getActiveElem(),v=u?D.trigger(u,ig,{relatedTarget:i}):null;D.trigger(i,ag,{relatedTarget:u}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(u,i),this._activate(i,u))}_activate(i,u){if(!i)return;i.classList.add(yn),this._activate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(xi);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),D.trigger(i,lg,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Xa))}_deactivate(i,u){if(!i)return;i.classList.remove(yn),i.blur(),this._deactivate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(xi);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),D.trigger(i,og,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Xa))}_keydown(i){if(![dg,qa,hg,Ya,Ni,za].includes(i.key))return;i.stopPropagation(),i.preventDefault();const u=this._getChildren().filter(k=>!V(k));let v;if([Ni,za].includes(i.key))v=u[i.key===Ni?0:u.length-1];else{const k=[qa,Ya].includes(i.key);v=te(u,i.target,k,!0)}v&&(v.focus({preventScroll:!0}),bn.getOrCreateInstance(v).show())}_getChildren(){return R.find(Ii,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,u){this._setAttributeIfNotExists(i,"role","tablist");for(const v of u)this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const u=this._elemIsActive(i),v=this._getOuterElement(i);i.setAttribute("aria-selected",u),v!==i&&this._setAttributeIfNotExists(v,"role","presentation"),u||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const u=R.getElementFromSelector(i);u&&(this._setAttributeIfNotExists(u,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(u,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,u){const v=this._getOuterElement(i);if(!v.classList.contains(pg))return;const k=(J,Y)=>{const ge=R.findOne(J,v);ge&&ge.classList.toggle(Y,u)};k(Qa,yn),k(gg,xi),v.setAttribute("aria-expanded",u)}_setAttributeIfNotExists(i,u,v){i.hasAttribute(u)||i.setAttribute(u,v)}_elemIsActive(i){return i.classList.contains(yn)}_getInnerElement(i){return i.matches(Ii)?i:R.findOne(Ii,i)}_getOuterElement(i){return i.closest(_g)||i}static jQueryInterface(i){return this.each(function(){const u=bn.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,cg,Ja,function(_){["A","AREA"].includes(this.tagName)&&_.preventDefault(),!V(this)&&bn.getOrCreateInstance(this).show()}),D.on(window,fg,()=>{for(const _ of R.find(Eg))bn.getOrCreateInstance(_)}),S(bn);const yg="toast",Xt=".bs.toast",bg=`mouseover${Xt}`,Ag=`mouseout${Xt}`,Tg=`focusin${Xt}`,Cg=`focusout${Xt}`,Sg=`hide${Xt}`,wg=`hidden${Xt}`,Og=`show${Xt}`,Ng=`shown${Xt}`,xg="fade",Za="hide",ds="show",hs="showing",Rg={animation:"boolean",autohide:"boolean",delay:"number"},Ig={animation:!0,autohide:!0,delay:5e3};class wr extends q{constructor(i,u){super(i,u),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ig}static get DefaultType(){return Rg}static get NAME(){return yg}show(){if(D.trigger(this._element,Og).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(xg);const u=()=>{this._element.classList.remove(hs),D.trigger(this._element,Ng),this._maybeScheduleHide()};this._element.classList.remove(Za),b(this._element),this._element.classList.add(ds,hs),this._queueCallback(u,this._element,this._config.animation)}hide(){if(!this.isShown()||D.trigger(this._element,Sg).defaultPrevented)return;const u=()=>{this._element.classList.add(Za),this._element.classList.remove(hs,ds),D.trigger(this._element,wg)};this._element.classList.add(hs),this._queueCallback(u,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ds),super.dispose()}isShown(){return this._element.classList.contains(ds)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,u){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=u;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=u;break}}if(u){this._clearTimeout();return}const v=i.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){D.on(this._element,bg,i=>this._onInteraction(i,!0)),D.on(this._element,Ag,i=>this._onInteraction(i,!1)),D.on(this._element,Tg,i=>this._onInteraction(i,!0)),D.on(this._element,Cg,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const u=wr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}return W(wr),S(wr),{Alert:Ie,Button:Yt,Carousel:jn,Collapse:Kn,Dropdown:vt,Modal:_n,Offcanvas:Mt,Popover:fs,ScrollSpy:Sr,Tab:bn,Toast:wr,Tooltip:vn}}))})(Cs)),Cs.exports}Cm();function ko(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Se={},tr=[],At=()=>{},zc=()=>!1,zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vo=e=>e.startsWith("onUpdate:"),$e=Object.assign,Fo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Sm=Object.prototype.hasOwnProperty,Te=(e,t)=>Sm.call(e,t),le=Array.isArray,nr=e=>Qr(e)==="[object Map]",Er=e=>Qr(e)==="[object Set]",cl=e=>Qr(e)==="[object Date]",fe=e=>typeof e=="function",Oe=e=>typeof e=="string",Ct=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",Ho=e=>(Ce(e)||fe(e))&&fe(e.then)&&fe(e.catch),Xc=Object.prototype.toString,Qr=e=>Xc.call(e),wm=e=>Qr(e).slice(8,-1),Qc=e=>Qr(e)==="[object Object]",Bo=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pr=ko(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Xs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Om=/-\w/g,mt=Xs(e=>e.replace(Om,t=>t.slice(1).toUpperCase())),Nm=/\B([A-Z])/g,dn=Xs(e=>e.replace(Nm,"-$1").toLowerCase()),Qs=Xs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Di=Xs(e=>e?`on${Qs(e)}`:""),on=(e,t)=>!Object.is(e,t),ws=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Zc=e=>{const t=Oe(e)?Number(e):NaN;return isNaN(t)?e:t};let ul;const Zs=()=>ul||(ul=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ei(e){if(le(e)){const t={};for(let n=0;n{if(n){const r=n.split(Rm);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ti(e){let t="";if(Oe(e))t=e;else if(le(e))for(let n=0;n$n(n,t))}const tu=e=>!!(e&&e.__v_isRef===!0),Mm=e=>Oe(e)?e:e==null?"":le(e)||Ce(e)&&(e.toString===Xc||!fe(e.toString))?tu(e)?Mm(e.value):JSON.stringify(e,nu,2):String(e),nu=(e,t)=>tu(t)?nu(e,t.value):nr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Li(r,o)+" =>"]=s,n),{})}:Er(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Li(n))}:Ct(t)?Li(t):Ce(t)&&!le(t)&&!Qc(t)?String(t):t,Li=(e,t="")=>{var n;return Ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function km(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}let Ke;class ru{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Mr){let t=Mr;for(Mr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$r;){let t=$r;for($r=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function cu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function uu(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Uo(r),Fm(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function to(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wr)||(e.globalVersion=Wr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!to(e))))return;e.flags|=2;const t=e.dep,n=we,r=Tt;we=e,Tt=!0;try{cu(e);const s=e.fn(e._value);(t.version===0||on(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{we=n,Tt=r,uu(e),e.flags&=-3}}function Uo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Uo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Fm(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Tt=!0;const du=[];function Ut(){du.push(Tt),Tt=!1}function Gt(){const e=du.pop();Tt=e===void 0?!0:e}function fl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=we;we=void 0;try{t()}finally{we=n}}}let Wr=0;class Hm{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Go{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!we||!Tt||we===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==we)n=this.activeLink=new Hm(we,this),we.deps?(n.prevDep=we.depsTail,we.depsTail.nextDep=n,we.depsTail=n):we.deps=we.depsTail=n,hu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=we.depsTail,n.nextDep=void 0,we.depsTail.nextDep=n,we.depsTail=n,we.deps===n&&(we.deps=r)}return n}trigger(t){this.version++,Wr++,this.notify(t)}notify(t){Wo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ko()}}}function hu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)hu(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ls=new WeakMap,Nn=Symbol(""),no=Symbol(""),Kr=Symbol("");function Ue(e,t,n){if(Tt&&we){let r=Ls.get(e);r||Ls.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Go),s.map=r,s.key=n),s.track()}}function Bt(e,t,n,r,s,o){const a=Ls.get(e);if(!a){Wr++;return}const l=c=>{c&&c.trigger()};if(Wo(),t==="clear")a.forEach(l);else{const c=le(e),d=c&&Bo(n);if(c&&n==="length"){const f=Number(r);a.forEach((h,p)=>{(p==="length"||p===Kr||!Ct(p)&&p>=f)&&l(h)})}else switch((n!==void 0||a.has(void 0))&&l(a.get(n)),d&&l(a.get(Kr)),t){case"add":c?d&&l(a.get("length")):(l(a.get(Nn)),nr(e)&&l(a.get(no)));break;case"delete":c||(l(a.get(Nn)),nr(e)&&l(a.get(no)));break;case"set":nr(e)&&l(a.get(Nn));break}}Ko()}function Bm(e,t){const n=Ls.get(e);return n&&n.get(t)}function Yn(e){const t=ve(e);return t===e?t:(Ue(t,"iterate",Kr),pt(e)?t:t.map(Fe))}function ni(e){return Ue(e=ve(e),"iterate",Kr),e}const jm={__proto__:null,[Symbol.iterator](){return $i(this,Symbol.iterator,Fe)},concat(...e){return Yn(this).concat(...e.map(t=>le(t)?Yn(t):t))},entries(){return $i(this,"entries",e=>(e[1]=Fe(e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(Fe),arguments)},find(e,t){return kt(this,"find",e,t,Fe,arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,Fe,arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Mi(this,"includes",e)},indexOf(...e){return Mi(this,"indexOf",e)},join(e){return Yn(this).join(e)},lastIndexOf(...e){return Mi(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return Or(this,"pop")},push(...e){return Or(this,"push",e)},reduce(e,...t){return dl(this,"reduce",e,t)},reduceRight(e,...t){return dl(this,"reduceRight",e,t)},shift(){return Or(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return Or(this,"splice",e)},toReversed(){return Yn(this).toReversed()},toSorted(e){return Yn(this).toSorted(e)},toSpliced(...e){return Yn(this).toSpliced(...e)},unshift(...e){return Or(this,"unshift",e)},values(){return $i(this,"values",Fe)}};function $i(e,t,n){const r=ni(e),s=r[t]();return r!==e&&!pt(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Wm=Array.prototype;function kt(e,t,n,r,s,o){const a=ni(e),l=a!==e&&!pt(e),c=a[t];if(c!==Wm[t]){const h=c.apply(e,o);return l?Fe(h):h}let d=n;a!==e&&(l?d=function(h,p){return n.call(this,Fe(h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(a,d,r);return l&&s?s(f):f}function dl(e,t,n,r){const s=ni(e);let o=n;return s!==e&&(pt(e)?n.length>3&&(o=function(a,l,c){return n.call(this,a,l,c,e)}):o=function(a,l,c){return n.call(this,a,Fe(l),c,e)}),s[t](o,...r)}function Mi(e,t,n){const r=ve(e);Ue(r,"iterate",Kr);const s=r[t](...n);return(s===-1||s===!1)&&qo(n[0])?(n[0]=ve(n[0]),r[t](...n)):s}function Or(e,t,n=[]){Ut(),Wo();const r=ve(e)[t].apply(e,n);return Ko(),Gt(),r}const Km=ko("__proto__,__v_isRef,__isVue"),pu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ct));function Um(e){Ct(e)||(e=String(e));const t=ve(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class gu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?bu:yu:o?Eu:vu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=le(t);if(!s){let c;if(a&&(c=jm[n]))return c;if(n==="hasOwnProperty")return Um}const l=Reflect.get(t,n,Re(t)?t:r);if((Ct(n)?pu.has(n):Km(n))||(s||Ue(t,"get",n),o))return l;if(Re(l)){const c=a&&Bo(n)?l:l.value;return s&&Ce(c)?so(c):c}return Ce(l)?s?so(l):Jr(l):l}}class mu extends gu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=ln(o);if(!pt(r)&&!ln(r)&&(o=ve(o),r=ve(r)),!le(t)&&Re(o)&&!Re(r))return c||(o.value=r),!0}const a=le(t)&&Bo(n)?Number(n)e,ms=e=>Reflect.getPrototypeOf(e);function Xm(e,t,n){return function(...r){const s=this.__v_raw,o=ve(s),a=nr(o),l=e==="entries"||e===Symbol.iterator&&a,c=e==="keys"&&a,d=s[e](...r),f=n?ro:t?Ps:Fe;return!t&&Ue(o,"iterate",c?no:Nn),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function _s(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qm(e,t){const n={get(s){const o=this.__v_raw,a=ve(o),l=ve(s);e||(on(s,l)&&Ue(a,"get",s),Ue(a,"get",l));const{has:c}=ms(a),d=t?ro:e?Ps:Fe;if(c.call(a,s))return d(o.get(s));if(c.call(a,l))return d(o.get(l));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(ve(s),"iterate",Nn),s.size},has(s){const o=this.__v_raw,a=ve(o),l=ve(s);return e||(on(s,l)&&Ue(a,"has",s),Ue(a,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const a=this,l=a.__v_raw,c=ve(l),d=t?ro:e?Ps:Fe;return!e&&Ue(c,"iterate",Nn),l.forEach((f,h)=>s.call(o,d(f),d(h),a))}};return $e(n,e?{add:_s("add"),set:_s("set"),delete:_s("delete"),clear:_s("clear")}:{add(s){!t&&!pt(s)&&!ln(s)&&(s=ve(s));const o=ve(this);return ms(o).has.call(o,s)||(o.add(s),Bt(o,"add",s,s)),this},set(s,o){!t&&!pt(o)&&!ln(o)&&(o=ve(o));const a=ve(this),{has:l,get:c}=ms(a);let d=l.call(a,s);d||(s=ve(s),d=l.call(a,s));const f=c.call(a,s);return a.set(s,o),d?on(o,f)&&Bt(a,"set",s,o):Bt(a,"add",s,o),this},delete(s){const o=ve(this),{has:a,get:l}=ms(o);let c=a.call(o,s);c||(s=ve(s),c=a.call(o,s)),l&&l.call(o,s);const d=o.delete(s);return c&&Bt(o,"delete",s,void 0),d},clear(){const s=ve(this),o=s.size!==0,a=s.clear();return o&&Bt(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Xm(s,e,t)}),n}function ri(e,t){const n=Qm(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Te(n,s)&&s in r?n:r,s,o)}const Jm={get:ri(!1,!1)},Zm={get:ri(!1,!0)},e_={get:ri(!0,!1)},t_={get:ri(!0,!0)},vu=new WeakMap,Eu=new WeakMap,yu=new WeakMap,bu=new WeakMap;function n_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function r_(e){return e.__v_skip||!Object.isExtensible(e)?0:n_(wm(e))}function Jr(e){return ln(e)?e:si(e,!1,Gm,Jm,vu)}function Au(e){return si(e,!1,Ym,Zm,Eu)}function so(e){return si(e,!0,qm,e_,yu)}function vb(e){return si(e,!0,zm,t_,bu)}function si(e,t,n,r,s){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r_(e);if(o===0)return e;const a=s.get(e);if(a)return a;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function an(e){return ln(e)?an(e.__v_raw):!!(e&&e.__v_isReactive)}function ln(e){return!!(e&&e.__v_isReadonly)}function pt(e){return!!(e&&e.__v_isShallow)}function qo(e){return e?!!e.__v_raw:!1}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function ii(e){return!Te(e,"__v_skip")&&Object.isExtensible(e)&&Jc(e,"__v_skip",!0),e}const Fe=e=>Ce(e)?Jr(e):e,Ps=e=>Ce(e)?so(e):e;function Re(e){return e?e.__v_isRef===!0:!1}function xn(e){return Cu(e,!1)}function Tu(e){return Cu(e,!0)}function Cu(e,t){return Re(e)?e:new s_(e,t)}class s_{constructor(t,n){this.dep=new Go,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ve(t),this._value=n?t:Fe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||pt(t)||ln(t);t=r?t:ve(t),on(t,n)&&(this._rawValue=t,this._value=r?t:Fe(t),this.dep.trigger())}}function nt(e){return Re(e)?e.value:e}function Eb(e){return fe(e)?e():nt(e)}const i_={get:(e,t,n)=>t==="__v_raw"?e:nt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Re(s)&&!Re(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Su(e){return an(e)?e:new Proxy(e,i_)}function o_(e){const t=le(e)?new Array(e.length):{};for(const n in e)t[n]=wu(e,n);return t}class a_{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Bm(ve(this._object),this._key)}}class l_{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function yb(e,t,n){return Re(e)?e:fe(e)?new l_(e):Ce(e)&&arguments.length>1?wu(e,t,n):xn(e)}function wu(e,t,n){const r=e[t];return Re(r)?r:new a_(e,t,n)}class c_{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Go(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&we!==this)return lu(this,!0),!0}get value(){const t=this.dep.track();return fu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function u_(e,t,n=!1){let r,s;return fe(e)?r=e:(r=e.get,s=e.set),new c_(r,s,n)}const vs={},$s=new WeakMap;let Sn;function f_(e,t=!1,n=Sn){if(n){let r=$s.get(n);r||$s.set(n,r=[]),r.push(e)}}function d_(e,t,n=Se){const{immediate:r,deep:s,once:o,scheduler:a,augmentJob:l,call:c}=n,d=M=>s?M:pt(M)||s===!1||s===0?jt(M,1):jt(M);let f,h,p,m,O=!1,A=!1;if(Re(e)?(h=()=>e.value,O=pt(e)):an(e)?(h=()=>d(e),O=!0):le(e)?(A=!0,O=e.some(M=>an(M)||pt(M)),h=()=>e.map(M=>{if(Re(M))return M.value;if(an(M))return d(M);if(fe(M))return c?c(M,2):M()})):fe(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){Ut();try{p()}finally{Gt()}}const M=Sn;Sn=f;try{return c?c(e,3,[m]):e(m)}finally{Sn=M}}:h=At,t&&s){const M=h,b=s===!0?1/0:s;h=()=>jt(M(),b)}const x=iu(),P=()=>{f.stop(),x&&x.active&&Fo(x.effects,f)};if(o&&t){const M=t;t=(...b)=>{M(...b),P()}}let V=A?new Array(e.length).fill(vs):vs;const H=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const b=f.run();if(s||O||(A?b.some((y,N)=>on(y,V[N])):on(b,V))){p&&p();const y=Sn;Sn=f;try{const N=[b,V===vs?void 0:A&&V[0]===vs?[]:V,m];V=b,c?c(t,3,N):t(...N)}finally{Sn=y}}}else f.run()};return l&&l(H),f=new ou(h),f.scheduler=a?()=>a(H,!1):H,m=M=>f_(M,!1,f),p=f.onStop=()=>{const M=$s.get(f);if(M){if(c)c(M,4);else for(const b of M)b();$s.delete(f)}},t?r?H(!0):V=f.run():a?a(H.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function jt(e,t=1/0,n){if(t<=0||!Ce(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Re(e))jt(e.value,t,n);else if(le(e))for(let r=0;r{jt(r,t,n)});else if(Qc(e)){for(const r in e)jt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&jt(e[r],t,n)}return e}function Zr(e,t,n,r){try{return r?e(...r):e()}catch(s){yr(s,t,n)}}function St(e,t,n,r){if(fe(e)){const s=Zr(e,t,n,r);return s&&Ho(s)&&s.catch(o=>{yr(o,t,n)}),s}if(le(e)){const s=[];for(let o=0;o>>1,s=ze[r],o=Ur(s);o=Ur(n)?ze.push(e):ze.splice(p_(t),0,e),e.flags|=1,Nu()}}function Nu(){Ms||(Ms=Ou.then(Ru))}function ks(e){le(e)?rr.push(...e):tn&&e.id===-1?tn.splice(Qn+1,0,e):e.flags&1||(rr.push(e),e.flags|=1),Nu()}function hl(e,t,n=Rt+1){for(;nUr(n)-Ur(r));if(rr.length=0,tn){tn.push(...t);return}for(tn=t,Qn=0;Qne.id==null?e.flags&2?-1:1/0:e.id;function Ru(e){try{for(Rt=0;Rt{r._d&&Bs(-1);const o=Vs(t);let a;try{a=e(...s)}finally{Vs(o),r._d&&Bs(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function bb(e,t){if(Be===null)return e;const n=fi(Be),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,kr=e=>e&&(e.disabled||e.disabled===""),pl=e=>e&&(e.defer||e.defer===""),gl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ml=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,io=(e,t)=>{const n=e&&e.to;return Oe(n)?t?t(n):null:n},Pu={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,a,l,c,d){const{mc:f,pc:h,pbc:p,o:{insert:m,querySelector:O,createText:A,createComment:x}}=d,P=kr(t.props);let{shapeFlag:V,children:H,dynamicChildren:M}=t;if(e==null){const b=t.el=A(""),y=t.anchor=A("");m(b,n,r),m(y,n,r);const N=(C,S)=>{V&16&&f(H,C,S,s,o,a,l,c)},T=()=>{const C=t.target=io(t.props,O),S=$u(C,t,A,m);C&&(a!=="svg"&&gl(C)?a="svg":a!=="mathml"&&ml(C)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(C),P||(N(C,S),Os(t,!1)))};P&&(N(n,y),Os(t,!0)),pl(t.props)?(t.el.__isMounted=!1,qe(()=>{T(),delete t.el.__isMounted},o)):T()}else{if(pl(t.props)&&e.el.__isMounted===!1){qe(()=>{Pu.process(e,t,n,r,s,o,a,l,c,d)},o);return}t.el=e.el,t.targetStart=e.targetStart;const b=t.anchor=e.anchor,y=t.target=e.target,N=t.targetAnchor=e.targetAnchor,T=kr(e.props),C=T?n:y,S=T?b:N;if(a==="svg"||gl(y)?a="svg":(a==="mathml"||ml(y))&&(a="mathml"),M?(p(e.dynamicChildren,M,C,s,o,a,l),ra(e,t,!0)):c||h(e,t,C,S,s,o,a,l,!1),P)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Es(t,n,b,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const U=t.target=io(t.props,O);U&&Es(t,U,null,d,0)}else T&&Es(t,y,N,d,1);Os(t,P)}},remove(e,t,n,{um:r,o:{remove:s}},o){const{shapeFlag:a,children:l,anchor:c,targetStart:d,targetAnchor:f,target:h,props:p}=e;if(h&&(s(d),s(f)),o&&s(c),a&16){const m=o||!kr(p);for(let O=0;O{e.isMounted=!0}),Gu(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],ku={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},Vu=e=>{const t=e.subTree;return t.component?Vu(t.component):t},m_={name:"BaseTransition",props:ku,setup(e,{slots:t}){const n=hn(),r=Mu();return()=>{const s=t.default&&zo(t.default(),!0);if(!s||!s.length)return;const o=Fu(s),a=ve(e),{mode:l}=a;if(r.isLeaving)return ki(o);const c=_l(o);if(!c)return ki(o);let d=Gr(c,a,r,n,h=>d=h);c.type!==ke&&Mn(c,d);let f=n.subTree&&_l(n.subTree);if(f&&f.type!==ke&&!Dt(f,c)&&Vu(n).type!==ke){let h=Gr(f,a,r,n);if(Mn(f,h),l==="out-in"&&c.type!==ke)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},ki(o);l==="in-out"&&c.type!==ke?h.delayLeave=(p,m,O)=>{const A=Hu(r,f);A[String(f.key)]=f,p[Ht]=()=>{m(),p[Ht]=void 0,delete d.delayedLeave,f=void 0},d.delayedLeave=()=>{O(),delete d.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return o}}};function Fu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ke){t=n;break}}return t}const __=m_;function Hu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Gr(e,t,n,r,s){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:m,onAfterLeave:O,onLeaveCancelled:A,onBeforeAppear:x,onAppear:P,onAfterAppear:V,onAppearCancelled:H}=t,M=String(e.key),b=Hu(n,e),y=(C,S)=>{C&&St(C,r,9,S)},N=(C,S)=>{const U=S[1];y(C,S),le(C)?C.every(j=>j.length<=1)&&U():C.length<=1&&U()},T={mode:a,persisted:l,beforeEnter(C){let S=c;if(!n.isMounted)if(o)S=x||c;else return;C[Ht]&&C[Ht](!0);const U=b[M];U&&Dt(e,U)&&U.el[Ht]&&U.el[Ht](),y(S,[C])},enter(C){let S=d,U=f,j=h;if(!n.isMounted)if(o)S=P||d,U=V||f,j=H||h;else return;let te=!1;const he=C[ys]=Ee=>{te||(te=!0,Ee?y(j,[C]):y(U,[C]),T.delayedLeave&&T.delayedLeave(),C[ys]=void 0)};S?N(S,[C,he]):he()},leave(C,S){const U=String(e.key);if(C[ys]&&C[ys](!0),n.isUnmounting)return S();y(p,[C]);let j=!1;const te=C[Ht]=he=>{j||(j=!0,S(),he?y(A,[C]):y(O,[C]),C[Ht]=void 0,b[U]===e&&delete b[U])};b[U]=e,m?N(m,[C,te]):te()},clone(C){const S=Gr(C,t,n,r,s);return s&&s(S),S}};return T}function ki(e){if(es(e))return e=cn(e),e.children=null,e}function _l(e){if(!es(e))return Lu(e.type)&&e.children?Fu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&fe(n.default))return n.default()}}function Mn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zo(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;on.value,set:o=>n.value=o})}return n}const Fs=new WeakMap;function Vr(e,t,n,r,s=!1){if(le(e)){e.forEach((O,A)=>Vr(O,t&&(le(t)?t[A]:t),n,r,s));return}if(sr(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Vr(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?fi(r.component):r.el,a=s?null:o,{i:l,r:c}=e,d=t&&t.r,f=l.refs===Se?l.refs={}:l.refs,h=l.setupState,p=ve(h),m=h===Se?zc:O=>Te(p,O);if(d!=null&&d!==c){if(vl(t),Oe(d))f[d]=null,m(d)&&(h[d]=null);else if(Re(d)){d.value=null;const O=t;O.k&&(f[O.k]=null)}}if(fe(c))Zr(c,l,12,[a,f]);else{const O=Oe(c),A=Re(c);if(O||A){const x=()=>{if(e.f){const P=O?m(c)?h[c]:f[c]:c.value;if(s)le(P)&&Fo(P,o);else if(le(P))P.includes(o)||P.push(o);else if(O)f[c]=[o],m(c)&&(h[c]=f[c]);else{const V=[o];c.value=V,e.k&&(f[e.k]=V)}}else O?(f[c]=a,m(c)&&(h[c]=a)):A&&(c.value=a,e.k&&(f[e.k]=a))};if(a){const P=()=>{x(),Fs.delete(e)};P.id=-1,Fs.set(e,P),qe(P,n)}else vl(e),x()}}}function vl(e){const t=Fs.get(e);t&&(t.flags|=8,Fs.delete(e))}const El=e=>e.nodeType===8;Zs().requestIdleCallback;Zs().cancelIdleCallback;function v_(e,t){if(El(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(El(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const sr=e=>!!e.type.__asyncLoader;function Cb(e){fe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:a,suspensible:l=!0,onError:c}=e;let d=null,f,h=0;const p=()=>(h++,d=null,m()),m=()=>{let O;return d||(O=d=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),c)return new Promise((x,P)=>{c(A,()=>x(p()),()=>P(A),h+1)});throw A}).then(A=>O!==d&&d?d:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),f=A,A)))};return Xo({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(O,A,x){let P=!1;(A.bu||(A.bu=[])).push(()=>P=!0);const V=()=>{P||x()},H=o?()=>{const M=o(V,b=>v_(O,b));M&&(A.bum||(A.bum=[])).push(M)}:V;f?H():m().then(()=>!A.isUnmounted&&H())},get __asyncResolved(){return f},setup(){const O=He;if(Qo(O),f)return()=>bs(f,O);const A=H=>{d=null,yr(H,O,13,!r)};if(l&&O.suspense||hr)return m().then(H=>()=>bs(H,O)).catch(H=>(A(H),()=>r?Ne(r,{error:H}):null));const x=xn(!1),P=xn(),V=xn(!!s);return s&&setTimeout(()=>{V.value=!1},s),a!=null&&setTimeout(()=>{if(!x.value&&!P.value){const H=new Error(`Async component timed out after ${a}ms.`);A(H),P.value=H}},a),m().then(()=>{x.value=!0,O.parent&&es(O.parent.vnode)&&O.parent.update()}).catch(H=>{A(H),P.value=H}),()=>{if(x.value&&f)return bs(f,O);if(P.value&&r)return Ne(r,{error:P.value});if(n&&!V.value)return bs(n,O)}}})}function bs(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,a=Ne(e,r,s);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const es=e=>e.type.__isKeepAlive;function Bu(e,t){Wu(e,"a",t)}function ju(e,t){Wu(e,"da",t)}function Wu(e,t,n=He){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(ai(t,r,n),n){let s=n.parent;for(;s&&s.parent;)es(s.parent.vnode)&&E_(r,t,n,s),s=s.parent}}function E_(e,t,n,r){const s=ai(t,e,r,!0);li(()=>{Fo(r[t],s)},n)}function ai(e,t,n=He,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{Ut();const l=kn(n),c=St(t,n,e,a);return l(),Gt(),c});return r?s.unshift(o):s.push(o),o}}const qt=e=>(t,n=He)=>{(!hr||e==="sp")&&ai(e,(...r)=>t(...r),n)},y_=qt("bm"),Jo=qt("m"),Ku=qt("bu"),Uu=qt("u"),Gu=qt("bum"),li=qt("um"),b_=qt("sp"),A_=qt("rtg"),T_=qt("rtc");function C_(e,t=He){ai("ec",e,t)}const Zo="components",S_="directives";function w_(e,t){return ea(Zo,e,!0,t)||e}const qu=Symbol.for("v-ndc");function O_(e){return Oe(e)?ea(Zo,e,!1)||e:e||qu}function Sb(e){return ea(S_,e)}function ea(e,t,n=!0,r=!1){const s=Be||He;if(s){const o=s.type;if(e===Zo){const l=Tv(o,!1);if(l&&(l===t||l===mt(t)||l===Qs(mt(t))))return o}const a=yl(s[e]||o[e],t)||yl(s.appContext[e],t);return!a&&r?o:a}}function yl(e,t){return e&&(e[t]||e[mt(t)]||e[Qs(mt(t))])}function wb(e,t,n,r){let s;const o=n,a=le(e);if(a||Oe(e)){const l=a&&an(e);let c=!1,d=!1;l&&(c=!pt(e),d=ln(e),e=ni(e)),s=new Array(e.length);for(let f=0,h=e.length;ft(l,c,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let c=0,d=l.length;c{const o=r.fn(...s);return o&&(o.key=r.key),o}:r.fn)}return e}function Nb(e,t,n={},r,s){if(Be.ce||Be.parent&&sr(Be.parent)&&Be.parent.ce){const d=Object.keys(n).length>0;return t!=="default"&&(n.name=t),It(),Yr(Xe,null,[Ne("slot",n,r&&r())],d?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),It();const a=o&&Yu(o(n)),l=n.key||a&&a.key,c=Yr(Xe,{key:(l&&!Ct(l)?l:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function Yu(e){return e.some(t=>dr(t)?!(t.type===ke||t.type===Xe&&!Yu(t.children)):!0)?e:null}const oo=e=>e?mf(e)?fi(e):oo(e.parent):null,Fr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>oo(e.parent),$root:e=>oo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xu(e),$forceUpdate:e=>e.f||(e.f=()=>{Yo(e.update)}),$nextTick:e=>e.n||(e.n=oi.bind(e.proxy)),$watch:e=>X_.bind(e)}),Vi=(e,t)=>e!==Se&&!e.__isScriptSetup&&Te(e,t),N_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:a,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Vi(r,t))return a[t]=1,r[t];if(s!==Se&&Te(s,t))return a[t]=2,s[t];if((d=e.propsOptions[0])&&Te(d,t))return a[t]=3,o[t];if(n!==Se&&Te(n,t))return a[t]=4,n[t];lo&&(a[t]=0)}}const f=Fr[t];let h,p;if(f)return t==="$attrs"&&Ue(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Se&&Te(n,t))return a[t]=4,n[t];if(p=c.config.globalProperties,Te(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Vi(s,t)?(s[t]=n,!0):r!==Se&&Te(r,t)?(r[t]=n,!0):Te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o,type:a}},l){let c,d;return!!(n[l]||e!==Se&&l[0]!=="$"&&Te(e,l)||Vi(t,l)||(c=o[0])&&Te(c,l)||Te(r,l)||Te(Fr,l)||Te(s.config.globalProperties,l)||(d=a.__cssModules)&&d[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function xb(){return x_().slots}function x_(e){const t=hn();return t.setupContext||(t.setupContext=vf(t))}function ao(e){return le(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Rb(e,t){const n=ao(e);for(const r in t){if(r.startsWith("__skip"))continue;let s=n[r];s?le(s)||fe(s)?s=n[r]={type:s,default:t[r]}:s.default=t[r]:s===null&&(s=n[r]={default:t[r]}),s&&t[`__skip_${r}`]&&(s.skipFactory=!0)}return n}function Ib(e){const t=hn();let n=e();return po(),Ho(n)&&(n=n.catch(r=>{throw kn(t),r})),[n,()=>kn(t)]}let lo=!0;function R_(e){const t=Xu(e),n=e.proxy,r=e.ctx;lo=!1,t.beforeCreate&&bl(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:m,updated:O,activated:A,deactivated:x,beforeDestroy:P,beforeUnmount:V,destroyed:H,unmounted:M,render:b,renderTracked:y,renderTriggered:N,errorCaptured:T,serverPrefetch:C,expose:S,inheritAttrs:U,components:j,directives:te,filters:he}=t;if(d&&I_(d,r,null),a)for(const I in a){const K=a[I];fe(K)&&(r[I]=K.bind(n))}if(s){const I=s.call(n,n);Ce(I)&&(e.data=Jr(I))}if(lo=!0,o)for(const I in o){const K=o[I],G=fe(K)?K.bind(n,n):fe(K.get)?K.get.bind(n,n):At,X=!fe(K)&&fe(K.set)?K.set.bind(n):At,re=dt({get:G,set:X});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>re.value,set:ne=>re.value=ne})}if(l)for(const I in l)zu(l[I],r,n,I);if(c){const I=fe(c)?c.call(n):c;Reflect.ownKeys(I).forEach(K=>{Ns(K,I[K])})}f&&bl(f,e,"c");function ie(I,K){le(K)?K.forEach(G=>I(G.bind(n))):K&&I(K.bind(n))}if(ie(y_,h),ie(Jo,p),ie(Ku,m),ie(Uu,O),ie(Bu,A),ie(ju,x),ie(C_,T),ie(T_,y),ie(A_,N),ie(Gu,V),ie(li,M),ie(b_,C),le(S))if(S.length){const I=e.exposed||(e.exposed={});S.forEach(K=>{Object.defineProperty(I,K,{get:()=>n[K],set:G=>n[K]=G,enumerable:!0})})}else e.exposed||(e.exposed={});b&&e.render===At&&(e.render=b),U!=null&&(e.inheritAttrs=U),j&&(e.components=j),te&&(e.directives=te),C&&Qo(e)}function I_(e,t,n=At){le(e)&&(e=co(e));for(const r in e){const s=e[r];let o;Ce(s)?"default"in s?o=rt(s.from||r,s.default,!0):o=rt(s.from||r):o=rt(s),Re(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[r]=o}}function bl(e,t,n){St(le(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function zu(e,t,n,r){let s=r.includes(".")?cf(n,r):()=>n[r];if(Oe(e)){const o=t[e];fe(o)&&In(s,o)}else if(fe(e))In(s,e.bind(n));else if(Ce(e))if(le(e))e.forEach(o=>zu(o,t,n,r));else{const o=fe(e.handler)?e.handler.bind(n):t[e.handler];fe(o)&&In(s,o,e)}}function Xu(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(d=>Hs(c,d,a,!0)),Hs(c,t,a)),Ce(t)&&o.set(t,c),c}function Hs(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Hs(e,o,n,!0),s&&s.forEach(a=>Hs(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const l=D_[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const D_={data:Al,props:Tl,emits:Tl,methods:Ir,computed:Ir,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Ir,directives:Ir,watch:P_,provide:Al,inject:L_};function Al(e,t){return t?e?function(){return $e(fe(e)?e.call(this,this):e,fe(t)?t.call(this,this):t)}:t:e}function L_(e,t){return Ir(co(e),co(t))}function co(e){if(le(e)){const t={};for(let n=0;n1)return n&&fe(t)?t.call(r&&r.proxy):t}}function k_(){return!!(hn()||Rn)}const Ju={},Zu=()=>Object.create(Ju),ef=e=>Object.getPrototypeOf(e)===Ju;function V_(e,t,n,r=!1){const s={},o=Zu();e.propsDefaults=Object.create(null),tf(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=r?s:Au(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function F_(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,l=ve(s),[c]=e.propsOptions;let d=!1;if((r||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,m]=nf(h,t,!0);$e(a,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Ce(e)&&r.set(e,tr),tr;if(le(o))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",na=e=>le(e)?e.map(bt):[bt(e)],B_=(e,t,n)=>{if(t._n)return t;const r=Jn((...s)=>na(t(...s)),n);return r._c=!1,r},rf=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ta(s))continue;const o=e[s];if(fe(o))t[s]=B_(s,o,r);else if(o!=null){const a=na(o);t[s]=()=>a}}},sf=(e,t)=>{const n=na(t);e.slots.default=()=>n},of=(e,t,n)=>{for(const r in t)(n||!ta(r))&&(e[r]=t[r])},j_=(e,t,n)=>{const r=e.slots=Zu();if(e.vnode.shapeFlag&32){const s=t._;s?(of(r,t,n),n&&Jc(r,"_",s,!0)):rf(t,r)}else t&&sf(e,t)},W_=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,a=Se;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:of(s,t,n):(o=!t.$stable,rf(t,s)),a=t}else t&&(sf(e,t),a={default:1});if(o)for(const l in s)!ta(l)&&a[l]==null&&delete s[l]},qe=uv;function K_(e){return U_(e)}function U_(e,t){const n=Zs();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:a,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:m=At,insertStaticContent:O}=e,A=(g,E,w,$=null,B=null,F=null,q=void 0,z=null,R=!!E.dynamicChildren)=>{if(g===E)return;g&&!Dt(g,E)&&($=L(g),ne(g,B,F,!0),g=null),E.patchFlag===-2&&(R=!1,E.dynamicChildren=null);const{type:W,ref:ce,shapeFlag:ee}=E;switch(W){case ui:x(g,E,w,$);break;case ke:P(g,E,w,$);break;case xs:g==null&&V(E,w,$,q);break;case Xe:j(g,E,w,$,B,F,q,z,R);break;default:ee&1?b(g,E,w,$,B,F,q,z,R):ee&6?te(g,E,w,$,B,F,q,z,R):(ee&64||ee&128)&&W.process(g,E,w,$,B,F,q,z,R,oe)}ce!=null&&B?Vr(ce,g&&g.ref,F,E||g,!E):ce==null&&g&&g.ref!=null&&Vr(g.ref,null,F,g,!0)},x=(g,E,w,$)=>{if(g==null)r(E.el=l(E.children),w,$);else{const B=E.el=g.el;E.children!==g.children&&d(B,E.children)}},P=(g,E,w,$)=>{g==null?r(E.el=c(E.children||""),w,$):E.el=g.el},V=(g,E,w,$)=>{[g.el,g.anchor]=O(g.children,E,w,$,g.el,g.anchor)},H=({el:g,anchor:E},w,$)=>{let B;for(;g&&g!==E;)B=p(g),r(g,w,$),g=B;r(E,w,$)},M=({el:g,anchor:E})=>{let w;for(;g&&g!==E;)w=p(g),s(g),g=w;s(E)},b=(g,E,w,$,B,F,q,z,R)=>{if(E.type==="svg"?q="svg":E.type==="math"&&(q="mathml"),g==null)y(E,w,$,B,F,q,z,R);else{const W=g.el&&g.el._isVueCE?g.el:null;try{W&&W._beginPatch(),C(g,E,B,F,q,z,R)}finally{W&&W._endPatch()}}},y=(g,E,w,$,B,F,q,z)=>{let R,W;const{props:ce,shapeFlag:ee,transition:ae,dirs:ue}=g;if(R=g.el=a(g.type,F,ce&&ce.is,ce),ee&8?f(R,g.children):ee&16&&T(g.children,R,null,$,B,Fi(g,F),q,z),ue&&An(g,null,$,"created"),N(R,g,g.scopeId,q,$),ce){for(const be in ce)be!=="value"&&!Pr(be)&&o(R,be,null,ce[be],F,$);"value"in ce&&o(R,"value",null,ce.value,F),(W=ce.onVnodeBeforeMount)&&Nt(W,$,g)}ue&&An(g,null,$,"beforeMount");const pe=G_(B,ae);pe&&ae.beforeEnter(R),r(R,E,w),((W=ce&&ce.onVnodeMounted)||pe||ue)&&qe(()=>{W&&Nt(W,$,g),pe&&ae.enter(R),ue&&An(g,null,$,"mounted")},B)},N=(g,E,w,$,B)=>{if(w&&m(g,w),$)for(let F=0;F<$.length;F++)m(g,$[F]);if(B){let F=B.subTree;if(E===F||ff(F.type)&&(F.ssContent===E||F.ssFallback===E)){const q=B.vnode;N(g,q,q.scopeId,q.slotScopeIds,B.parent)}}},T=(g,E,w,$,B,F,q,z,R=0)=>{for(let W=R;W{const z=E.el=g.el;let{patchFlag:R,dynamicChildren:W,dirs:ce}=E;R|=g.patchFlag&16;const ee=g.props||Se,ae=E.props||Se;let ue;if(w&&Tn(w,!1),(ue=ae.onVnodeBeforeUpdate)&&Nt(ue,w,E,g),ce&&An(E,g,w,"beforeUpdate"),w&&Tn(w,!0),(ee.innerHTML&&ae.innerHTML==null||ee.textContent&&ae.textContent==null)&&f(z,""),W?S(g.dynamicChildren,W,z,w,$,Fi(E,B),F):q||K(g,E,z,null,w,$,Fi(E,B),F,!1),R>0){if(R&16)U(z,ee,ae,w,B);else if(R&2&&ee.class!==ae.class&&o(z,"class",null,ae.class,B),R&4&&o(z,"style",ee.style,ae.style,B),R&8){const pe=E.dynamicProps;for(let be=0;be{ue&&Nt(ue,w,E,g),ce&&An(E,g,w,"updated")},$)},S=(g,E,w,$,B,F,q)=>{for(let z=0;z{if(E!==w){if(E!==Se)for(const F in E)!Pr(F)&&!(F in w)&&o(g,F,E[F],null,B,$);for(const F in w){if(Pr(F))continue;const q=w[F],z=E[F];q!==z&&F!=="value"&&o(g,F,z,q,B,$)}"value"in w&&o(g,"value",E.value,w.value,B)}},j=(g,E,w,$,B,F,q,z,R)=>{const W=E.el=g?g.el:l(""),ce=E.anchor=g?g.anchor:l("");let{patchFlag:ee,dynamicChildren:ae,slotScopeIds:ue}=E;ue&&(z=z?z.concat(ue):ue),g==null?(r(W,w,$),r(ce,w,$),T(E.children||[],w,ce,B,F,q,z,R)):ee>0&&ee&64&&ae&&g.dynamicChildren?(S(g.dynamicChildren,ae,w,B,F,q,z),(E.key!=null||B&&E===B.subTree)&&ra(g,E,!0)):K(g,E,w,ce,B,F,q,z,R)},te=(g,E,w,$,B,F,q,z,R)=>{E.slotScopeIds=z,g==null?E.shapeFlag&512?B.ctx.activate(E,w,$,q,R):he(E,w,$,B,F,q,R):Ee(g,E,R)},he=(g,E,w,$,B,F,q)=>{const z=g.component=Ev(g,$,B);if(es(g)&&(z.ctx.renderer=oe),yv(z,!1,q),z.asyncDep){if(B&&B.registerDep(z,ie,q),!g.el){const R=z.subTree=Ne(ke);P(null,R,E,w),g.placeholder=R.el}}else ie(z,g,E,w,B,F,q)},Ee=(g,E,w)=>{const $=E.component=g.component;if(rv(g,E,w))if($.asyncDep&&!$.asyncResolved){I($,E,w);return}else $.next=E,$.update();else E.el=g.el,$.vnode=E},ie=(g,E,w,$,B,F,q)=>{const z=()=>{if(g.isMounted){let{next:ee,bu:ae,u:ue,parent:pe,vnode:be}=g;{const at=af(g);if(at){ee&&(ee.el=be.el,I(g,ee,q)),at.asyncDep.then(()=>{g.isUnmounted||z()});return}}let _e=ee,Ie;Tn(g,!1),ee?(ee.el=be.el,I(g,ee,q)):ee=be,ae&&ws(ae),(Ie=ee.props&&ee.props.onVnodeBeforeUpdate)&&Nt(Ie,pe,ee,be),Tn(g,!0);const je=wl(g),_t=g.subTree;g.subTree=je,A(_t,je,h(_t.el),L(_t),g,B,F),ee.el=je.el,_e===null&&sa(g,je.el),ue&&qe(ue,B),(Ie=ee.props&&ee.props.onVnodeUpdated)&&qe(()=>Nt(Ie,pe,ee,be),B)}else{let ee;const{el:ae,props:ue}=E,{bm:pe,m:be,parent:_e,root:Ie,type:je}=g,_t=sr(E);Tn(g,!1),pe&&ws(pe),!_t&&(ee=ue&&ue.onVnodeBeforeMount)&&Nt(ee,_e,E),Tn(g,!0);{Ie.ce&&Ie.ce._def.shadowRoot!==!1&&Ie.ce._injectChildStyle(je);const at=g.subTree=wl(g);A(null,at,w,$,g,B,F),E.el=at.el}if(be&&qe(be,B),!_t&&(ee=ue&&ue.onVnodeMounted)){const at=E;qe(()=>Nt(ee,_e,at),B)}(E.shapeFlag&256||_e&&sr(_e.vnode)&&_e.vnode.shapeFlag&256)&&g.a&&qe(g.a,B),g.isMounted=!0,E=w=$=null}};g.scope.on();const R=g.effect=new ou(z);g.scope.off();const W=g.update=R.run.bind(R),ce=g.job=R.runIfDirty.bind(R);ce.i=g,ce.id=g.uid,R.scheduler=()=>Yo(ce),Tn(g,!0),W()},I=(g,E,w)=>{E.component=g;const $=g.vnode.props;g.vnode=E,g.next=null,F_(g,E.props,$,w),W_(g,E.children,w),Ut(),hl(g),Gt()},K=(g,E,w,$,B,F,q,z,R=!1)=>{const W=g&&g.children,ce=g?g.shapeFlag:0,ee=E.children,{patchFlag:ae,shapeFlag:ue}=E;if(ae>0){if(ae&128){X(W,ee,w,$,B,F,q,z,R);return}else if(ae&256){G(W,ee,w,$,B,F,q,z,R);return}}ue&8?(ce&16&&ye(W,B,F),ee!==W&&f(w,ee)):ce&16?ue&16?X(W,ee,w,$,B,F,q,z,R):ye(W,B,F,!0):(ce&8&&f(w,""),ue&16&&T(ee,w,$,B,F,q,z,R))},G=(g,E,w,$,B,F,q,z,R)=>{g=g||tr,E=E||tr;const W=g.length,ce=E.length,ee=Math.min(W,ce);let ae;for(ae=0;aece?ye(g,B,F,!0,!1,ee):T(E,w,$,B,F,q,z,R,ee)},X=(g,E,w,$,B,F,q,z,R)=>{let W=0;const ce=E.length;let ee=g.length-1,ae=ce-1;for(;W<=ee&&W<=ae;){const ue=g[W],pe=E[W]=R?nn(E[W]):bt(E[W]);if(Dt(ue,pe))A(ue,pe,w,null,B,F,q,z,R);else break;W++}for(;W<=ee&&W<=ae;){const ue=g[ee],pe=E[ae]=R?nn(E[ae]):bt(E[ae]);if(Dt(ue,pe))A(ue,pe,w,null,B,F,q,z,R);else break;ee--,ae--}if(W>ee){if(W<=ae){const ue=ae+1,pe=ueae)for(;W<=ee;)ne(g[W],B,F,!0),W++;else{const ue=W,pe=W,be=new Map;for(W=pe;W<=ae;W++){const We=E[W]=R?nn(E[W]):bt(E[W]);We.key!=null&&be.set(We.key,W)}let _e,Ie=0;const je=ae-pe+1;let _t=!1,at=0;const pn=new Array(je);for(W=0;W=je){ne(We,B,F,!0);continue}let lt;if(We.key!=null)lt=be.get(We.key);else for(_e=pe;_e<=ae;_e++)if(pn[_e-pe]===0&&Dt(We,E[_e])){lt=_e;break}lt===void 0?ne(We,B,F,!0):(pn[lt-pe]=W+1,lt>=at?at=lt:_t=!0,A(We,E[lt],w,null,B,F,q,z,R),Ie++)}const ts=_t?q_(pn):tr;for(_e=ts.length-1,W=je-1;W>=0;W--){const We=pe+W,lt=E[We],Yt=E[We+1],ns=We+1{const{el:F,type:q,transition:z,children:R,shapeFlag:W}=g;if(W&6){re(g.component.subTree,E,w,$);return}if(W&128){g.suspense.move(E,w,$);return}if(W&64){q.move(g,E,w,oe);return}if(q===Xe){r(F,E,w);for(let ee=0;eez.enter(F),B);else{const{leave:ee,delayLeave:ae,afterLeave:ue}=z,pe=()=>{g.ctx.isUnmounted?s(F):r(F,E,w)},be=()=>{F._isLeaving&&F[Ht](!0),ee(F,()=>{pe(),ue&&ue()})};ae?ae(F,pe,be):be()}else r(F,E,w)},ne=(g,E,w,$=!1,B=!1)=>{const{type:F,props:q,ref:z,children:R,dynamicChildren:W,shapeFlag:ce,patchFlag:ee,dirs:ae,cacheIndex:ue}=g;if(ee===-2&&(B=!1),z!=null&&(Ut(),Vr(z,null,w,g,!0),Gt()),ue!=null&&(E.renderCache[ue]=void 0),ce&256){E.ctx.deactivate(g);return}const pe=ce&1&&ae,be=!sr(g);let _e;if(be&&(_e=q&&q.onVnodeBeforeUnmount)&&Nt(_e,E,g),ce&6)me(g.component,w,$);else{if(ce&128){g.suspense.unmount(w,$);return}pe&&An(g,null,E,"beforeUnmount"),ce&64?g.type.remove(g,E,w,oe,$):W&&!W.hasOnce&&(F!==Xe||ee>0&&ee&64)?ye(W,E,w,!1,!0):(F===Xe&&ee&384||!B&&ce&16)&&ye(R,E,w),$&&se(g)}(be&&(_e=q&&q.onVnodeUnmounted)||pe)&&qe(()=>{_e&&Nt(_e,E,g),pe&&An(g,null,E,"unmounted")},w)},se=g=>{const{type:E,el:w,anchor:$,transition:B}=g;if(E===Xe){de(w,$);return}if(E===xs){M(g);return}const F=()=>{s(w),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:q,delayLeave:z}=B,R=()=>q(w,F);z?z(g.el,F,R):R()}else F()},de=(g,E)=>{let w;for(;g!==E;)w=p(g),s(g),g=w;s(E)},me=(g,E,w)=>{const{bum:$,scope:B,job:F,subTree:q,um:z,m:R,a:W}=g;Sl(R),Sl(W),$&&ws($),B.stop(),F&&(F.flags|=8,ne(q,g,E,w)),z&&qe(z,E),qe(()=>{g.isUnmounted=!0},E)},ye=(g,E,w,$=!1,B=!1,F=0)=>{for(let q=F;q{if(g.shapeFlag&6)return L(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const E=p(g.anchor||g.el),w=E&&E[Du];return w?p(w):E};let Q=!1;const Z=(g,E,w)=>{g==null?E._vnode&&ne(E._vnode,null,null,!0):A(E._vnode||null,g,E,null,null,null,w),E._vnode=g,Q||(Q=!0,hl(),xu(),Q=!1)},oe={p:A,um:ne,m:re,r:se,mt:he,mc:T,pc:K,pbc:S,n:L,o:e};return{render:Z,hydrate:void 0,createApp:M_(Z)}}function Fi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Tn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function G_(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ra(e,t,n=!1){const r=e.children,s=t.children;if(le(r)&&le(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function af(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:af(t)}function Sl(e){if(e)for(let t=0;trt(Y_);function In(e,t,n){return lf(e,t,n)}function lf(e,t,n=Se){const{immediate:r,deep:s,flush:o,once:a}=n,l=$e({},n),c=t&&r||!t&&o!=="post";let d;if(hr){if(o==="sync"){const m=z_();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=At,m.resume=At,m.pause=At,m}}const f=He;l.call=(m,O,A)=>St(m,f,O,A);let h=!1;o==="post"?l.scheduler=m=>{qe(m,f&&f.suspense)}:o!=="sync"&&(h=!0,l.scheduler=(m,O)=>{O?m():Yo(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const p=d_(e,t,l);return hr&&(d?d.push(p):c&&p()),p}function X_(e,t,n){const r=this.proxy,s=Oe(e)?e.includes(".")?cf(r,e):()=>r[e]:e.bind(r,r);let o;fe(t)?o=t:(o=t.handler,n=t);const a=kn(this),l=lf(s,o.bind(r),n);return a(),l}function cf(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${dn(t)}Modifiers`];function J_(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Se;let s=n;const o=t.startsWith("update:"),a=o&&Q_(r,t.slice(7));a&&(a.trim&&(s=n.map(f=>Oe(f)?f.trim():f)),a.number&&(s=n.map(Js)));let l,c=r[l=Di(t)]||r[l=Di(mt(t))];!c&&o&&(c=r[l=Di(dn(t))]),c&&St(c,e,6,s);const d=r[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,St(d,e,6,s)}}const Z_=new WeakMap;function uf(e,t,n=!1){const r=n?Z_:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let a={},l=!1;if(!fe(e)){const c=d=>{const f=uf(d,t,!0);f&&(l=!0,$e(a,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Ce(e)&&r.set(e,null),null):(le(o)?o.forEach(c=>a[c]=null):$e(a,o),Ce(e)&&r.set(e,a),a)}function ci(e,t){return!e||!zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),Te(e,t[0].toLowerCase()+t.slice(1))||Te(e,dn(t))||Te(e,t))}function wl(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:a,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:m,ctx:O,inheritAttrs:A}=e,x=Vs(e);let P,V;try{if(n.shapeFlag&4){const M=s||r,b=M;P=bt(d.call(b,M,f,h,m,p,O)),V=l}else{const M=t;P=bt(M.length>1?M(h,{attrs:l,slots:a,emit:c}):M(h,null)),V=t.props?l:tv(l)}}catch(M){Hr.length=0,yr(M,e,1),P=Ne(ke)}let H=P;if(V&&A!==!1){const M=Object.keys(V),{shapeFlag:b}=H;M.length&&b&7&&(o&&M.some(Vo)&&(V=nv(V,o)),H=cn(H,V,!1,!0))}return n.dirs&&(H=cn(H,null,!1,!0),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&Mn(H,n.transition),P=H,Vs(x),P}function ev(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||zs(n))&&((t||(t={}))[n]=e[n]);return t},nv=(e,t)=>{const n={};for(const r in e)(!Vo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function rv(e,t,n){const{props:r,children:s,component:o}=e,{props:a,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ol(r,a,d):!!a;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;let fo=0;const sv={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,a,l,c,d){if(e==null)ov(t,n,r,s,o,a,l,c,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}av(e,t,n,r,s,a,l,c,d)}},hydrate:lv,normalize:cv},iv=sv;function qr(e,t){const n=e.props&&e.props[t];fe(n)&&n()}function ov(e,t,n,r,s,o,a,l,c){const{p:d,o:{createElement:f}}=c,h=f("div"),p=e.suspense=df(e,s,r,t,h,n,o,a,l,c);d(null,p.pendingBranch=e.ssContent,h,null,r,p,o,a),p.deps>0?(qr(e,"onPending"),qr(e,"onFallback"),d(null,e.ssFallback,t,n,r,null,o,a),ir(p,e.ssFallback)):p.resolve(!1,!0)}function av(e,t,n,r,s,o,a,l,{p:c,um:d,o:{createElement:f}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const p=t.ssContent,m=t.ssFallback,{activeBranch:O,pendingBranch:A,isInFallback:x,isHydrating:P}=h;if(A)h.pendingBranch=p,Dt(A,p)?(c(A,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():x&&(P||(c(O,m,n,r,s,null,o,a,l),ir(h,m)))):(h.pendingId=fo++,P?(h.isHydrating=!1,h.activeBranch=A):d(A,s,h),h.deps=0,h.effects.length=0,h.hiddenContainer=f("div"),x?(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():(c(O,m,n,r,s,null,o,a,l),ir(h,m))):O&&Dt(O,p)?(c(O,p,n,r,s,h,o,a,l),h.resolve(!0)):(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0&&h.resolve()));else if(O&&Dt(O,p))c(O,p,n,r,s,h,o,a,l),ir(h,p);else if(qr(t,"onPending"),h.pendingBranch=p,p.shapeFlag&512?h.pendingId=p.component.suspenseId:h.pendingId=fo++,c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0)h.resolve();else{const{timeout:V,pendingId:H}=h;V>0?setTimeout(()=>{h.pendingId===H&&h.fallback(m)},V):V===0&&h.fallback(m)}}function df(e,t,n,r,s,o,a,l,c,d,f=!1){const{p:h,m:p,um:m,n:O,o:{parentNode:A,remove:x}}=d;let P;const V=fv(e);V&&t&&t.pendingBranch&&(P=t.pendingId,t.deps++);const H=e.props?Zc(e.props.timeout):void 0,M=o,b={vnode:e,parent:t,parentComponent:n,namespace:a,container:r,hiddenContainer:s,deps:0,pendingId:fo++,timeout:typeof H=="number"?H:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(y=!1,N=!1){const{vnode:T,activeBranch:C,pendingBranch:S,pendingId:U,effects:j,parentComponent:te,container:he,isInFallback:Ee}=b;let ie=!1;b.isHydrating?b.isHydrating=!1:y||(ie=C&&S.transition&&S.transition.mode==="out-in",ie&&(C.transition.afterLeave=()=>{U===b.pendingId&&(p(S,he,o===M?O(C):o,0),ks(j),Ee&&T.ssFallback&&(T.ssFallback.el=null))}),C&&(A(C.el)===he&&(o=O(C)),m(C,te,b,!0),!ie&&Ee&&T.ssFallback&&(T.ssFallback.el=null)),ie||p(S,he,o,0)),ir(b,S),b.pendingBranch=null,b.isInFallback=!1;let I=b.parent,K=!1;for(;I;){if(I.pendingBranch){I.effects.push(...j),K=!0;break}I=I.parent}!K&&!ie&&ks(j),b.effects=[],V&&t&&t.pendingBranch&&P===t.pendingId&&(t.deps--,t.deps===0&&!N&&t.resolve()),qr(T,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:N,activeBranch:T,parentComponent:C,container:S,namespace:U}=b;qr(N,"onFallback");const j=O(T),te=()=>{b.isInFallback&&(h(null,y,S,j,C,null,U,l,c),ir(b,y))},he=y.transition&&y.transition.mode==="out-in";he&&(T.transition.afterLeave=te),b.isInFallback=!0,m(T,C,null,!0),he||te()},move(y,N,T){b.activeBranch&&p(b.activeBranch,y,N,T),b.container=y},next(){return b.activeBranch&&O(b.activeBranch)},registerDep(y,N,T){const C=!!b.pendingBranch;C&&b.deps++;const S=y.vnode.el;y.asyncDep.catch(U=>{yr(U,y,0)}).then(U=>{if(y.isUnmounted||b.isUnmounted||b.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:j}=y;go(y,U),S&&(j.el=S);const te=!S&&y.subTree.el;N(y,j,A(S||y.subTree.el),S?null:O(y.subTree),b,a,T),te&&(j.placeholder=null,x(te)),sa(y,j.el),C&&--b.deps===0&&b.resolve()})},unmount(y,N){b.isUnmounted=!0,b.activeBranch&&m(b.activeBranch,n,y,N),b.pendingBranch&&m(b.pendingBranch,n,y,N)}};return b}function lv(e,t,n,r,s,o,a,l,c){const d=t.suspense=df(t,r,n,e.parentNode,document.createElement("div"),null,s,o,a,l,!0),f=c(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function cv(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Nl(r?n.default:n),e.ssFallback=r?Nl(n.fallback):Ne(ke)}function Nl(e){let t;if(fe(e)){const n=fr&&e._c;n&&(e._d=!1,It()),e=e(),n&&(e._d=!0,t=et,hf())}return le(e)&&(e=ev(e)),e=bt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function uv(e,t){t&&t.pendingBranch?le(e)?t.effects.push(...e):t.effects.push(e):ks(e)}function ir(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,sa(r,s))}function fv(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Xe=Symbol.for("v-fgt"),ui=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),xs=Symbol.for("v-stc"),Hr=[];let et=null;function It(e=!1){Hr.push(et=e?null:[])}function hf(){Hr.pop(),et=Hr[Hr.length-1]||null}let fr=1;function Bs(e,t=!1){fr+=e,e<0&&et&&t&&(et.hasOnce=!0)}function pf(e){return e.dynamicChildren=fr>0?et||tr:null,hf(),fr>0&&et&&et.push(e),e}function As(e,t,n,r,s,o){return pf(er(e,t,n,r,s,o,!0))}function Yr(e,t,n,r,s){return pf(Ne(e,t,n,r,s,!0))}function dr(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const gf=({key:e})=>e??null,Rs=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Re(e)||fe(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function er(e,t=null,n=null,r=0,s=null,o=e===Xe?0:1,a=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gf(t),ref:t&&Rs(t),scopeId:Iu,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:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return l?(ia(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Oe(n)?8:16),fr>0&&!a&&et&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&et.push(c),c}const Ne=dv;function dv(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===qu)&&(e=ke),dr(e)){const l=cn(e,t,!0);return n&&ia(l,n),fr>0&&!o&&et&&(l.shapeFlag&6?et[et.indexOf(e)]=l:et.push(l)),l.patchFlag=-2,l}if(Cv(e)&&(e=e.__vccOpts),t){t=hv(t);let{class:l,style:c}=t;l&&!Oe(l)&&(t.class=ti(l)),Ce(c)&&(qo(c)&&!le(c)&&(c=$e({},c)),t.style=ei(c))}const a=Oe(e)?1:ff(e)?128:Lu(e)?64:Ce(e)?4:fe(e)?2:0;return er(e,t,n,r,s,a,o,!0)}function hv(e){return e?qo(e)||ef(e)?$e({},e):e:null}function cn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:a,children:l,transition:c}=e,d=t?mv(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&gf(d),ref:t&&t.ref?n&&o?le(o)?o.concat(Rs(t)):[o,Rs(t)]:Rs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cn(e.ssContent),ssFallback:e.ssFallback&&cn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Mn(f,c.clone(f)),f}function pv(e=" ",t=0){return Ne(ui,null,e,t)}function gv(e="",t=!1){return t?(It(),Yr(ke,null,e)):Ne(ke,null,e)}function bt(e){return e==null||typeof e=="boolean"?Ne(ke):le(e)?Ne(Xe,null,e.slice()):dr(e)?nn(e):Ne(ui,null,String(e))}function nn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:cn(e)}function ia(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(le(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ia(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ef(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else fe(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[pv(t)]):n=8);e.children=t,e.shapeFlag|=n}function mv(...e){const t={};for(let n=0;nHe||Be;let js,ho;{const e=Zs(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};js=t("__VUE_INSTANCE_SETTERS__",n=>He=n),ho=t("__VUE_SSR_SETTERS__",n=>hr=n)}const kn=e=>{const t=He;return js(e),e.scope.on(),()=>{e.scope.off(),js(t)}},po=()=>{He&&He.scope.off(),js(null)};function mf(e){return e.vnode.shapeFlag&4}let hr=!1;function yv(e,t=!1,n=!1){t&&ho(t);const{props:r,children:s}=e.vnode,o=mf(e);V_(e,r,o,t),j_(e,s,n||t);const a=o?bv(e,t):void 0;return t&&ho(!1),a}function bv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,N_);const{setup:r}=n;if(r){Ut();const s=e.setupContext=r.length>1?vf(e):null,o=kn(e),a=Zr(r,e,0,[e.props,s]),l=Ho(a);if(Gt(),o(),(l||e.sp)&&!sr(e)&&Qo(e),l){if(a.then(po,po),t)return a.then(c=>{go(e,c)}).catch(c=>{yr(c,e,0)});e.asyncDep=a}else go(e,a)}else _f(e)}function go(e,t,n){fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=Su(t)),_f(e)}function _f(e,t,n){const r=e.type;e.render||(e.render=r.render||At);{const s=kn(e);Ut();try{R_(e)}finally{Gt(),s()}}}const Av={get(e,t){return Ue(e,"get",""),e[t]}};function vf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Av),slots:e.slots,emit:e.emit,expose:t}}function fi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Su(ii(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fr)return Fr[n](e)},has(t,n){return n in t||n in Fr}})):e.proxy}function Tv(e,t=!0){return fe(e)?e.displayName||e.name:e.name||t&&e.__name}function Cv(e){return fe(e)&&"__vccOpts"in e}const dt=(e,t)=>u_(e,t,hr);function oa(e,t,n){try{Bs(-1);const r=arguments.length;return r===2?Ce(t)&&!le(t)?dr(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&dr(n)&&(n=[n]),Ne(e,t,n))}finally{Bs(1)}}const Sv="3.5.24";let mo;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{mo=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const Ef=mo?e=>mo.createHTML(e):e=>e,wv="http://www.w3.org/2000/svg",Ov="http://www.w3.org/1998/Math/MathML",Ft=typeof document<"u"?document:null,Rl=Ft&&Ft.createElement("template"),Nv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Ft.createElementNS(wv,e):t==="mathml"?Ft.createElementNS(Ov,e):n?Ft.createElement(e,{is:n}):Ft.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ft.createTextNode(e),createComment:e=>Ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rl.innerHTML=Ef(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Rl.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qt="transition",Nr="animation",pr=Symbol("_vtc"),yf={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},bf=$e({},ku,yf),xv=e=>(e.displayName="Transition",e.props=bf,e),Il=xv((e,{slots:t})=>oa(__,Af(e),t)),Cn=(e,t=[])=>{le(e)?e.forEach(n=>n(...t)):e&&e(...t)},Dl=e=>e?le(e)?e.some(t=>t.length>1):e.length>1:!1;function Af(e){const t={};for(const j in e)j in yf||(t[j]=e[j]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,O=Rv(s),A=O&&O[0],x=O&&O[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:H,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:N=V,onAppearCancelled:T=H}=t,C=(j,te,he,Ee)=>{j._enterCancelled=Ee,Zt(j,te?f:l),Zt(j,te?d:a),he&&he()},S=(j,te)=>{j._isLeaving=!1,Zt(j,h),Zt(j,m),Zt(j,p),te&&te()},U=j=>(te,he)=>{const Ee=j?N:V,ie=()=>C(te,j,he);Cn(Ee,[te,ie]),Ll(()=>{Zt(te,j?c:o),xt(te,j?f:l),Dl(Ee)||Pl(te,r,A,ie)})};return $e(t,{onBeforeEnter(j){Cn(P,[j]),xt(j,o),xt(j,a)},onBeforeAppear(j){Cn(y,[j]),xt(j,c),xt(j,d)},onEnter:U(!1),onAppear:U(!0),onLeave(j,te){j._isLeaving=!0;const he=()=>S(j,te);xt(j,h),j._enterCancelled?(xt(j,p),_o(j)):(_o(j),xt(j,p)),Ll(()=>{j._isLeaving&&(Zt(j,h),xt(j,m),Dl(M)||Pl(j,r,x,he))}),Cn(M,[j,he])},onEnterCancelled(j){C(j,!1,void 0,!0),Cn(H,[j])},onAppearCancelled(j){C(j,!0,void 0,!0),Cn(T,[j])},onLeaveCancelled(j){S(j),Cn(b,[j])}})}function Rv(e){if(e==null)return null;if(Ce(e))return[Hi(e.enter),Hi(e.leave)];{const t=Hi(e);return[t,t]}}function Hi(e){return Zc(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[pr]||(e[pr]=new Set)).add(t)}function Zt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[pr];n&&(n.delete(t),n.size||(e[pr]=void 0))}function Ll(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Iv=0;function Pl(e,t,n,r){const s=e._endId=++Iv,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:c}=Tf(e,t);if(!a)return r();const d=a+"end";let f=0;const h=()=>{e.removeEventListener(d,p),o()},p=m=>{m.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[O]||"").split(", "),s=r(`${Qt}Delay`),o=r(`${Qt}Duration`),a=$l(s,o),l=r(`${Nr}Delay`),c=r(`${Nr}Duration`),d=$l(l,c);let f=null,h=0,p=0;t===Qt?a>0&&(f=Qt,h=a,p=o.length):t===Nr?d>0&&(f=Nr,h=d,p=c.length):(h=Math.max(a,d),f=h>0?a>d?Qt:Nr:null,p=f?f===Qt?o.length:c.length:0);const m=f===Qt&&/\b(?:transform|all)(?:,|$)/.test(r(`${Qt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:m}}function $l(e,t){for(;e.lengthMl(n)+Ml(e[r])))}function Ml(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _o(e){return(e?e.ownerDocument:document).body.offsetHeight}function Dv(e,t,n){const r=e[pr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ws=Symbol("_vod"),Cf=Symbol("_vsh"),Db={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ws]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xr(e,!0),r.enter(e)):r.leave(e,()=>{xr(e,!1)}):xr(e,t))},beforeUnmount(e,{value:t}){xr(e,t)}};function xr(e,t){e.style.display=t?e[Ws]:"none",e[Cf]=!t}const Sf=Symbol("");function Lb(e){const t=hn();if(!t)return;const n=t.ut=(s=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Ks(o,s))},r=()=>{const s=e(t.proxy);t.ce?Ks(t.ce,s):vo(t.subTree,s),n(s)};Ku(()=>{ks(r)}),Jo(()=>{In(r,At,{flush:"post"});const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),li(()=>s.disconnect())})}function vo(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{vo(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ks(e.el,t);else if(e.type===Xe)e.children.forEach(n=>vo(n,t));else if(e.type===xs){let{el:n,anchor:r}=e;for(;n&&(Ks(n,t),n!==r);)n=n.nextSibling}}function Ks(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const s in t){const o=km(t[s]);n.setProperty(`--${s}`,o),r+=`--${s}: ${o};`}n[Sf]=r}}const Lv=/(?:^|;)\s*display\s*:/;function Pv(e,t,n){const r=e.style,s=Oe(n);let o=!1;if(n&&!s){if(t)if(Oe(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Is(r,l,"")}else for(const a in t)n[a]==null&&Is(r,a,"");for(const a in n)a==="display"&&(o=!0),Is(r,a,n[a])}else if(s){if(t!==n){const a=r[Sf];a&&(n+=";"+a),r.cssText=n,o=Lv.test(n)}}else t&&e.removeAttribute("style");Ws in e&&(e[Ws]=o?r.display:"",e[Cf]&&(r.display="none"))}const kl=/\s*!important$/;function Is(e,t,n){if(le(n))n.forEach(r=>Is(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=$v(e,t);kl.test(n)?e.setProperty(dn(r),n.replace(kl,""),"important"):e[r]=n}}const Vl=["Webkit","Moz","ms"],Bi={};function $v(e,t){const n=Bi[t];if(n)return n;let r=mt(t);if(r!=="filter"&&r in e)return Bi[t]=r;r=Qs(r);for(let s=0;sji||(Fv.then(()=>ji=0),ji=Date.now());function Bv(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;St(jv(r,n.value),t,5,[r])};return n.value=e,n.attached=Hv(),n}function jv(e,t){if(le(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Kl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wv=(e,t,n,r,s,o)=>{const a=s==="svg";t==="class"?Dv(e,r,a):t==="style"?Pv(e,n,r):zs(t)?Vo(t)||kv(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kv(e,t,r,a))?(Bl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Hl(e,t,r,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Oe(r))?Bl(e,mt(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Hl(e,t,r,a))};function Kv(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kl(t)&&fe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Kl(t)&&Oe(n)?!1:t in e}const wf=new WeakMap,Of=new WeakMap,Us=Symbol("_moveCb"),Ul=Symbol("_enterCb"),Uv=e=>(delete e.props.mode,e),Gv=Uv({name:"TransitionGroup",props:$e({},bf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=hn(),r=Mu();let s,o;return Uu(()=>{if(!s.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!Xv(s[0].el,n.vnode.el,a)){s=[];return}s.forEach(qv),s.forEach(Yv);const l=s.filter(zv);_o(n.vnode.el),l.forEach(c=>{const d=c.el,f=d.style;xt(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const h=d[Us]=p=>{p&&p.target!==d||(!p||p.propertyName.endsWith("transform"))&&(d.removeEventListener("transitionend",h),d[Us]=null,Zt(d,a))};d.addEventListener("transitionend",h)}),s=[]}),()=>{const a=ve(e),l=Af(a);let c=a.tag||Xe;if(s=[],o)for(let d=0;d{l.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:a}=Tf(r);return o.removeChild(r),a}const un=e=>{const t=e.props["onUpdate:modelValue"]||!1;return le(t)?n=>ws(t,n):t};function Qv(e){e.target.composing=!0}function Gl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const gt=Symbol("_assign");function ql(e,t,n){return t&&(e=e.trim()),n&&(e=Js(e)),e}const Yl={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[gt]=un(s);const o=r||s.props&&s.props.type==="number";Wt(e,t?"change":"input",a=>{a.target.composing||e[gt](ql(e.value,n,o))}),(n||o)&&Wt(e,"change",()=>{e.value=ql(e.value,n,o)}),t||(Wt(e,"compositionstart",Qv),Wt(e,"compositionend",Gl),Wt(e,"change",Gl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},a){if(e[gt]=un(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Js(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},Jv={deep:!0,created(e,t,n){e[gt]=un(n),Wt(e,"change",()=>{const r=e._modelValue,s=gr(e),o=e.checked,a=e[gt];if(le(r)){const l=jo(r,s),c=l!==-1;if(o&&!c)a(r.concat(s));else if(!o&&c){const d=[...r];d.splice(l,1),a(d)}}else if(Er(r)){const l=new Set(r);o?l.add(s):l.delete(s),a(l)}else a(Nf(e,o))})},mounted:zl,beforeUpdate(e,t,n){e[gt]=un(n),zl(e,t,n)}};function zl(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(le(t))s=jo(t,r.props.value)>-1;else if(Er(t))s=t.has(r.props.value);else{if(t===n)return;s=$n(t,Nf(e,!0))}e.checked!==s&&(e.checked=s)}const Zv={created(e,{value:t},n){e.checked=$n(t,n.props.value),e[gt]=un(n),Wt(e,"change",()=>{e[gt](gr(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[gt]=un(r),t!==n&&(e.checked=$n(t,r.props.value))}},eE={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Er(t);Wt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Js(gr(a)):gr(a));e[gt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,oi(()=>{e._assigning=!1})}),e[gt]=un(r)},mounted(e,{value:t}){Xl(e,t)},beforeUpdate(e,t,n){e[gt]=un(n)},updated(e,{value:t}){e._assigning||Xl(e,t)}};function Xl(e,t){const n=e.multiple,r=le(t);if(!(n&&!r&&!Er(t))){for(let s=0,o=e.options.length;sString(d)===String(l)):a.selected=jo(t,l)>-1}else a.selected=t.has(l);else if($n(gr(a),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function gr(e){return"_value"in e?e._value:e.value}function Nf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const $b={created(e,t,n){Ts(e,t,n,null,"created")},mounted(e,t,n){Ts(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Ts(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Ts(e,t,n,r,"updated")}};function tE(e,t){switch(e){case"SELECT":return eE;case"TEXTAREA":return Yl;default:switch(t){case"checkbox":return Jv;case"radio":return Zv;default:return Yl}}}function Ts(e,t,n,r,s){const a=tE(e.tagName,n.props&&n.props.type)[s];a&&a(e,t,n,r)}const nE=["ctrl","shift","alt","meta"],rE={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nE.some(n=>e[`${n}Key`]&&!t.includes(n))},Mb=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=dn(s.key);if(t.some(a=>a===o||sE[a]===o))return e(s)}))},iE=$e({patchProp:Wv},Nv);let Ql;function oE(){return Ql||(Ql=K_(iE))}const aE=((...e)=>{const t=oE().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=cE(r);if(!s)return;const o=t._component;!fe(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,lE(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function lE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cE(e){return Oe(e)?document.querySelector(e):e}let xf;const di=e=>xf=e,Rf=Symbol();function Eo(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Br;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Br||(Br={}));function uE(){const e=su(!0),t=e.run(()=>xn({}));let n=[],r=[];const s=ii({install(o){di(s),s._a=o,o.provide(Rf,s),o.config.globalProperties.$pinia=s,r.forEach(a=>n.push(a)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const If=()=>{};function Jl(e,t,n,r=If){e.push(t);const s=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&iu()&&Vm(s),s}function zn(e,...t){e.slice().forEach(n=>{n(...t)})}const fE=e=>e(),Zl=Symbol(),Wi=Symbol();function yo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];Eo(s)&&Eo(r)&&e.hasOwnProperty(n)&&!Re(r)&&!an(r)?e[n]=yo(s,r):e[n]=r}return e}const dE=Symbol();function hE(e){return!Eo(e)||!Object.prototype.hasOwnProperty.call(e,dE)}const{assign:en}=Object;function pE(e){return!!(Re(e)&&e.effect)}function gE(e,t,n,r){const{state:s,actions:o,getters:a}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=s?s():{});const f=o_(n.state.value[e]);return en(f,o,Object.keys(a||{}).reduce((h,p)=>(h[p]=ii(dt(()=>{di(n);const m=n._s.get(e);return a[p].call(m,m)})),h),{}))}return c=Df(e,d,t,n,r,!0),c}function Df(e,t,n={},r,s,o){let a;const l=en({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],m;const O=r.state.value[e];!o&&!O&&(r.state.value[e]={}),xn({});let A;function x(T){let C;d=f=!1,typeof T=="function"?(T(r.state.value[e]),C={type:Br.patchFunction,storeId:e,events:m}):(yo(r.state.value[e],T),C={type:Br.patchObject,payload:T,storeId:e,events:m});const S=A=Symbol();oi().then(()=>{A===S&&(d=!0)}),f=!0,zn(h,C,r.state.value[e])}const P=o?function(){const{state:C}=n,S=C?C():{};this.$patch(U=>{en(U,S)})}:If;function V(){a.stop(),h=[],p=[],r._s.delete(e)}const H=(T,C="")=>{if(Zl in T)return T[Wi]=C,T;const S=function(){di(r);const U=Array.from(arguments),j=[],te=[];function he(I){j.push(I)}function Ee(I){te.push(I)}zn(p,{args:U,name:S[Wi],store:b,after:he,onError:Ee});let ie;try{ie=T.apply(this&&this.$id===e?this:b,U)}catch(I){throw zn(te,I),I}return ie instanceof Promise?ie.then(I=>(zn(j,I),I)).catch(I=>(zn(te,I),Promise.reject(I))):(zn(j,ie),ie)};return S[Zl]=!0,S[Wi]=C,S},M={_p:r,$id:e,$onAction:Jl.bind(null,p),$patch:x,$reset:P,$subscribe(T,C={}){const S=Jl(h,T,C.detached,()=>U()),U=a.run(()=>In(()=>r.state.value[e],j=>{(C.flush==="sync"?f:d)&&T({storeId:e,type:Br.direct,events:m},j)},en({},c,C)));return S},$dispose:V},b=Jr(M);r._s.set(e,b);const N=(r._a&&r._a.runWithContext||fE)(()=>r._e.run(()=>(a=su()).run(()=>t({action:H}))));for(const T in N){const C=N[T];if(Re(C)&&!pE(C)||an(C))o||(O&&hE(C)&&(Re(C)?C.value=O[T]:yo(C,O[T])),r.state.value[e][T]=C);else if(typeof C=="function"){const S=H(C,T);N[T]=S,l.actions[T]=C}}return en(b,N),en(ve(b),N),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:T=>{x(C=>{en(C,T)})}}),r._p.forEach(T=>{en(b,a.run(()=>T({store:b,app:r._a,pinia:r,options:l})))}),O&&o&&n.hydrate&&n.hydrate(b.$state,O),d=!0,f=!0,b}function Lf(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(a,l){const c=k_();return a=a||(c?rt(Rf,null):null),a&&di(a),a=xf,a._s.has(e)||(s?Df(e,t,r,a):gE(e,r,a)),a._s.get(e)}return o.$id=e,o}const mE=""+new URL("../img/Logo-2-Rounded-512x512.png",import.meta.url).href;const Zn=typeof document<"u";function Pf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _E(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Pf(e.default)}const Ae=Object.assign;function Ki(e,t){const n={};for(const r in t){const s=t[r];n[r]=wt(s)?s.map(e):e(s)}return n}const jr=()=>{},wt=Array.isArray;function ec(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const $f=/#/g,vE=/&/g,EE=/\//g,yE=/=/g,bE=/\?/g,Mf=/\+/g,AE=/%5B/g,TE=/%5D/g,kf=/%5E/g,CE=/%60/g,Vf=/%7B/g,SE=/%7C/g,Ff=/%7D/g,wE=/%20/g;function aa(e){return e==null?"":encodeURI(""+e).replace(SE,"|").replace(AE,"[").replace(TE,"]")}function OE(e){return aa(e).replace(Vf,"{").replace(Ff,"}").replace(kf,"^")}function bo(e){return aa(e).replace(Mf,"%2B").replace(wE,"+").replace($f,"%23").replace(vE,"%26").replace(CE,"`").replace(Vf,"{").replace(Ff,"}").replace(kf,"^")}function NE(e){return bo(e).replace(yE,"%3D")}function xE(e){return aa(e).replace($f,"%23").replace(bE,"%3F")}function RE(e){return xE(e).replace(EE,"%2F")}function zr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const IE=/\/$/,DE=e=>e.replace(IE,"");function Ui(e,t,n="/"){let r,s={},o="",a="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),o=t.slice(c,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),a=t.slice(l,t.length)),r=ME(r??t,n),{fullPath:r+o+a,path:r,query:s,hash:zr(a)}}function LE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function tc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function PE(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&mr(t.matched[r],n.matched[s])&&Hf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function mr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Hf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!$E(e[n],t[n]))return!1;return!0}function $E(e,t){return wt(e)?nc(e,t):wt(t)?nc(t,e):e===t}function nc(e,t){return wt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ME(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(a).join("/")}const Jt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ao=(function(e){return e.pop="pop",e.push="push",e})({}),Gi=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function kE(e){if(!e)if(Zn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),DE(e)}const VE=/^[^#]+#/;function FE(e,t){return e.replace(VE,"#")+t}function HE(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const hi=()=>({left:window.scrollX,top:window.scrollY});function BE(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=HE(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function rc(e,t){return(history.state?history.state.position-t:-1)+e}const To=new Map;function jE(e,t){To.set(e,t)}function WE(e){const t=To.get(e);return To.delete(e),t}function KE(e){return typeof e=="string"||e&&typeof e=="object"}function Bf(e){return typeof e=="string"||typeof e=="symbol"}let xe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const jf=Symbol("");xe.MATCHER_NOT_FOUND+"",xe.NAVIGATION_GUARD_REDIRECT+"",xe.NAVIGATION_ABORTED+"",xe.NAVIGATION_CANCELLED+"",xe.NAVIGATION_DUPLICATED+"";function _r(e,t){return Ae(new Error,{type:e,[jf]:!0},t)}function Vt(e,t){return e instanceof Error&&jf in e&&(t==null||!!(e.type&t))}const UE=["params","query","hash"];function GE(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of UE)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function qE(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&bo(s)):[r&&bo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function YE(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=wt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Wf=Symbol(""),ic=Symbol(""),pi=Symbol(""),la=Symbol(""),Co=Symbol("");function Rr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function zE(e,t,n){const r=()=>{e[t].delete(n)};li(r),ju(r),Bu(()=>{e[t].add(n)}),e[t].add(n)}function Vb(e){const t=rt(Wf,{}).value;t&&zE(t,"updateGuards",e)}function rn(e,t,n,r,s,o=a=>a()){const a=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(_r(xe.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):KE(p)?c(_r(xe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[s]===a&&typeof p=="function"&&a.push(p),l())},f=o(()=>e.call(r&&r.instances[s],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function qi(e,t,n,r,s=o=>o()){const o=[];for(const a of e)for(const l in a.components){let c=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(Pf(c)){const d=(c.__vccOpts||c)[t];d&&o.push(rn(d,n,r,a,l,s))}else{let d=c();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const h=_E(f)?f.default:f;a.mods[l]=f,a.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&rn(p,n,r,a,l,s)()}))}}return o}function XE(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;amr(d,l))?r.push(l):n.push(l));const c=e.matched[a];c&&(t.matched.find(d=>mr(d,c))||s.push(c))}return[n,r,s]}let QE=()=>location.protocol+"//"+location.host;function Kf(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),tc(l,"")}return tc(n,e)+r+s}function JE(e,t,n,r){let s=[],o=[],a=null;const l=({state:p})=>{const m=Kf(e,location),O=n.value,A=t.value;let x=0;if(p){if(n.value=m,t.value=p,a&&a===O){a=null;return}x=A?p.position-A.position:0}else r(m);s.forEach(P=>{P(n.value,O,{delta:x,type:Ao.pop,direction:x?x>0?Gi.forward:Gi.back:Gi.unknown})})};function c(){a=n.value}function d(p){s.push(p);const m=()=>{const O=s.indexOf(p);O>-1&&s.splice(O,1)};return o.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Ae({},p.state,{scroll:hi()}),"")}}function h(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:d,destroy:h}}function oc(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?hi():null}}function ZE(e){const{history:t,location:n}=window,r={value:Kf(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:QE()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),s.value=d}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function a(c,d){o(c,Ae({},t.state,oc(s.value.back,c,s.value.forward,!0),d,{position:s.value.position}),!0),r.value=c}function l(c,d){const f=Ae({},s.value,t.state,{forward:c,scroll:hi()});o(f.current,f,!0),o(c,Ae({},oc(r.value,c,null),{position:f.position+1},d),!1),r.value=c}return{location:r,state:s,push:l,replace:a}}function ey(e){e=kE(e);const t=ZE(e),n=JE(e,t.state,t.location,t.replace);function r(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=Ae({location:"",base:e,go:r,createHref:FE.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function ty(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ey(e)}let wn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Pe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Pe||{});const ny={type:wn.Static,value:""},ry=/[a-zA-Z0-9_]/;function sy(e){if(!e)return[[]];if(e==="/")return[[ny]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${d}": ${m}`)}let n=Pe.Static,r=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let l=0,c,d="",f="";function h(){d&&(n===Pe.Static?o.push({type:wn.Static,value:d}):n===Pe.Param||n===Pe.ParamRegExp||n===Pe.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:wn.Param,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;lt.length?t.length===1&&t[0]===Ye.Static+Ye.Segment?1:-1:0}function Uf(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cy={strict:!1,end:!0,sensitive:!1};function uy(e,t,n){const r=ay(sy(e.path),n),s=Ae(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fy(e,t){const n=[],r=new Map;t=ec(cy,t);function s(h){return r.get(h)}function o(h,p,m){const O=!m,A=uc(h);A.aliasOf=m&&m.record;const x=ec(t,h),P=[A];if("alias"in h){const M=typeof h.alias=="string"?[h.alias]:h.alias;for(const b of M)P.push(uc(Ae({},A,{components:m?m.record.components:A.components,path:b,aliasOf:m?m.record:A})))}let V,H;for(const M of P){const{path:b}=M;if(p&&b[0]!=="/"){const y=p.record.path,N=y[y.length-1]==="/"?"":"/";M.path=p.record.path+(b&&N+b)}if(V=uy(M,p,x),m?m.alias.push(V):(H=H||V,H!==V&&H.alias.push(V),O&&h.name&&!fc(V)&&a(h.name)),Gf(V)&&c(V),A.children){const y=A.children;for(let N=0;N{a(H)}:jr}function a(h){if(Bf(h)){const p=r.get(h);p&&(r.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&r.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function l(){return n}function c(h){const p=py(h,n);n.splice(p,0,h),h.record.name&&!fc(h)&&r.set(h.record.name,h)}function d(h,p){let m,O={},A,x;if("name"in h&&h.name){if(m=r.get(h.name),!m)throw _r(xe.MATCHER_NOT_FOUND,{location:h});x=m.record.name,O=Ae(cc(p.params,m.keys.filter(H=>!H.optional).concat(m.parent?m.parent.keys.filter(H=>H.optional):[]).map(H=>H.name)),h.params&&cc(h.params,m.keys.map(H=>H.name))),A=m.stringify(O)}else if(h.path!=null)A=h.path,m=n.find(H=>H.re.test(A)),m&&(O=m.parse(A),x=m.record.name);else{if(m=p.name?r.get(p.name):n.find(H=>H.re.test(p.path)),!m)throw _r(xe.MATCHER_NOT_FOUND,{location:h,currentLocation:p});x=m.record.name,O=Ae({},p.params,h.params),A=m.stringify(O)}const P=[];let V=m;for(;V;)P.unshift(V.record),V=V.parent;return{name:x,path:A,params:O,matched:P,meta:hy(P)}}e.forEach(h=>o(h));function f(){n.length=0,r.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:s}}function cc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function uc(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dy(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dy(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function fc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hy(e){return e.reduce((t,n)=>Ae(t,n.meta),{})}function py(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Uf(e,t[o])<0?r=o:n=o+1}const s=gy(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gy(e){let t=e;for(;t=t.parent;)if(Gf(t)&&Uf(e,t)===0)return t}function Gf({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function dc(e){const t=rt(pi),n=rt(la),r=dt(()=>{const c=nt(e.to);return t.resolve(c)}),s=dt(()=>{const{matched:c}=r.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(mr.bind(null,f));if(p>-1)return p;const m=hc(c[d-2]);return d>1&&hc(f)===m&&h[h.length-1].path!==m?h.findIndex(mr.bind(null,c[d-2])):p}),o=dt(()=>s.value>-1&&yy(n.params,r.value.params)),a=dt(()=>s.value>-1&&s.value===n.matched.length-1&&Hf(n.params,r.value.params));function l(c={}){if(Ey(c)){const d=t[nt(e.replace)?"replace":"push"](nt(e.to)).catch(jr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:dt(()=>r.value.href),isActive:o,isExactActive:a,navigate:l}}function my(e){return e.length===1?e[0]:e}const _y=Xo({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:dc,setup(e,{slots:t}){const n=Jr(dc(e)),{options:r}=rt(pi),s=dt(()=>({[pc(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[pc(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&my(t.default(n));return e.custom?o:oa("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),vy=_y;function Ey(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function yy(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!wt(s)||s.length!==r.length||r.some((o,a)=>o!==s[a]))return!1}return!0}function hc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const pc=(e,t,n)=>e??t??n,by=Xo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=rt(Co),s=dt(()=>e.route||r.value),o=rt(ic,0),a=dt(()=>{let d=nt(o);const{matched:f}=s.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=dt(()=>s.value.matched[a.value]);Ns(ic,dt(()=>a.value+1)),Ns(Wf,l),Ns(Co,s);const c=xn();return In(()=>[c.value,l.value,e.name],([d,f,h],[p,m,O])=>{f&&(f.instances[h]=d,m&&m!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),d&&f&&(!m||!mr(f,m)||!p)&&(f.enterCallbacks[h]||[]).forEach(A=>A(d))},{flush:"post"}),()=>{const d=s.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return gc(n.default,{Component:p,route:d});const m=h.props[f],O=m?m===!0?d.params:typeof m=="function"?m(d):m:null,x=oa(p,Ae({},O,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return gc(n.default,{Component:x,route:d})||x}}});function gc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qf=by;function Ay(e){const t=fy(e.routes,e),n=e.parseQuery||qE,r=e.stringifyQuery||sc,s=e.history,o=Rr(),a=Rr(),l=Rr(),c=Tu(Jt);let d=Jt;Zn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Ki.bind(null,L=>""+L),h=Ki.bind(null,RE),p=Ki.bind(null,zr);function m(L,Q){let Z,oe;return Bf(L)?(Z=t.getRecordMatcher(L),oe=Q):oe=L,t.addRoute(oe,Z)}function O(L){const Q=t.getRecordMatcher(L);Q&&t.removeRoute(Q)}function A(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function P(L,Q){if(Q=Ae({},Q||c.value),typeof L=="string"){const w=Ui(n,L,Q.path),$=t.resolve({path:w.path},Q),B=s.createHref(w.fullPath);return Ae(w,$,{params:p($.params),hash:zr(w.hash),redirectedFrom:void 0,href:B})}let Z;if(L.path!=null)Z=Ae({},L,{path:Ui(n,L.path,Q.path).path});else{const w=Ae({},L.params);for(const $ in w)w[$]==null&&delete w[$];Z=Ae({},L,{params:h(w)}),Q.params=h(Q.params)}const oe=t.resolve(Z,Q),D=L.hash||"";oe.params=f(p(oe.params));const g=LE(r,Ae({},L,{hash:OE(D),path:oe.path})),E=s.createHref(g);return Ae({fullPath:g,hash:D,query:r===sc?YE(L.query):L.query||{}},oe,{redirectedFrom:void 0,href:E})}function V(L){return typeof L=="string"?Ui(n,L,c.value.path):Ae({},L)}function H(L,Q){if(d!==L)return _r(xe.NAVIGATION_CANCELLED,{from:Q,to:L})}function M(L){return N(L)}function b(L){return M(Ae(V(L),{replace:!0}))}function y(L,Q){const Z=L.matched[L.matched.length-1];if(Z&&Z.redirect){const{redirect:oe}=Z;let D=typeof oe=="function"?oe(L,Q):oe;return typeof D=="string"&&(D=D.includes("?")||D.includes("#")?D=V(D):{path:D},D.params={}),Ae({query:L.query,hash:L.hash,params:D.path!=null?{}:L.params},D)}}function N(L,Q){const Z=d=P(L),oe=c.value,D=L.state,g=L.force,E=L.replace===!0,w=y(Z,oe);if(w)return N(Ae(V(w),{state:typeof w=="object"?Ae({},D,w.state):D,force:g,replace:E}),Q||Z);const $=Z;$.redirectedFrom=Q;let B;return!g&&PE(r,oe,Z)&&(B=_r(xe.NAVIGATION_DUPLICATED,{to:$,from:oe}),re(oe,oe,!0,!1)),(B?Promise.resolve(B):S($,oe)).catch(F=>Vt(F)?Vt(F,xe.NAVIGATION_GUARD_REDIRECT)?F:X(F):K(F,$,oe)).then(F=>{if(F){if(Vt(F,xe.NAVIGATION_GUARD_REDIRECT))return N(Ae({replace:E},V(F.to),{state:typeof F.to=="object"?Ae({},D,F.to.state):D,force:g}),Q||$)}else F=j($,oe,!0,E,D);return U($,oe,F),F})}function T(L,Q){const Z=H(L,Q);return Z?Promise.reject(Z):Promise.resolve()}function C(L){const Q=de.values().next().value;return Q&&typeof Q.runWithContext=="function"?Q.runWithContext(L):L()}function S(L,Q){let Z;const[oe,D,g]=XE(L,Q);Z=qi(oe.reverse(),"beforeRouteLeave",L,Q);for(const w of oe)w.leaveGuards.forEach($=>{Z.push(rn($,L,Q))});const E=T.bind(null,L,Q);return Z.push(E),ye(Z).then(()=>{Z=[];for(const w of o.list())Z.push(rn(w,L,Q));return Z.push(E),ye(Z)}).then(()=>{Z=qi(D,"beforeRouteUpdate",L,Q);for(const w of D)w.updateGuards.forEach($=>{Z.push(rn($,L,Q))});return Z.push(E),ye(Z)}).then(()=>{Z=[];for(const w of g)if(w.beforeEnter)if(wt(w.beforeEnter))for(const $ of w.beforeEnter)Z.push(rn($,L,Q));else Z.push(rn(w.beforeEnter,L,Q));return Z.push(E),ye(Z)}).then(()=>(L.matched.forEach(w=>w.enterCallbacks={}),Z=qi(g,"beforeRouteEnter",L,Q,C),Z.push(E),ye(Z))).then(()=>{Z=[];for(const w of a.list())Z.push(rn(w,L,Q));return Z.push(E),ye(Z)}).catch(w=>Vt(w,xe.NAVIGATION_CANCELLED)?w:Promise.reject(w))}function U(L,Q,Z){l.list().forEach(oe=>C(()=>oe(L,Q,Z)))}function j(L,Q,Z,oe,D){const g=H(L,Q);if(g)return g;const E=Q===Jt,w=Zn?history.state:{};Z&&(oe||E?s.replace(L.fullPath,Ae({scroll:E&&w&&w.scroll},D)):s.push(L.fullPath,D)),c.value=L,re(L,Q,Z,E),X()}let te;function he(){te||(te=s.listen((L,Q,Z)=>{if(!me.listening)return;const oe=P(L),D=y(oe,me.currentRoute.value);if(D){N(Ae(D,{replace:!0,force:!0}),oe).catch(jr);return}d=oe;const g=c.value;Zn&&jE(rc(g.fullPath,Z.delta),hi()),S(oe,g).catch(E=>Vt(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_CANCELLED)?E:Vt(E,xe.NAVIGATION_GUARD_REDIRECT)?(N(Ae(V(E.to),{force:!0}),oe).then(w=>{Vt(w,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&!Z.delta&&Z.type===Ao.pop&&s.go(-1,!1)}).catch(jr),Promise.reject()):(Z.delta&&s.go(-Z.delta,!1),K(E,oe,g))).then(E=>{E=E||j(oe,g,!1),E&&(Z.delta&&!Vt(E,xe.NAVIGATION_CANCELLED)?s.go(-Z.delta,!1):Z.type===Ao.pop&&Vt(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),U(oe,g,E)}).catch(jr)}))}let Ee=Rr(),ie=Rr(),I;function K(L,Q,Z){X(L);const oe=ie.list();return oe.length?oe.forEach(D=>D(L,Q,Z)):console.error(L),Promise.reject(L)}function G(){return I&&c.value!==Jt?Promise.resolve():new Promise((L,Q)=>{Ee.add([L,Q])})}function X(L){return I||(I=!L,he(),Ee.list().forEach(([Q,Z])=>L?Z(L):Q()),Ee.reset()),L}function re(L,Q,Z,oe){const{scrollBehavior:D}=e;if(!Zn||!D)return Promise.resolve();const g=!Z&&WE(rc(L.fullPath,0))||(oe||!Z)&&history.state&&history.state.scroll||null;return oi().then(()=>D(L,Q,g)).then(E=>E&&BE(E)).catch(E=>K(E,L,Q))}const ne=L=>s.go(L);let se;const de=new Set,me={currentRoute:c,listening:!0,addRoute:m,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:A,resolve:P,options:e,push:M,replace:b,go:ne,back:()=>ne(-1),forward:()=>ne(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:ie.add,isReady:G,install(L){L.component("RouterLink",vy),L.component("RouterView",qf),L.config.globalProperties.$router=me,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>nt(c)}),Zn&&!se&&c.value===Jt&&(se=!0,M(s.location).catch(oe=>{}));const Q={};for(const oe in Jt)Object.defineProperty(Q,oe,{get:()=>c.value[oe],enumerable:!0});L.provide(pi,me),L.provide(la,Au(Q)),L.provide(Co,c);const Z=L.unmount;de.add(L),L.unmount=function(){de.delete(L),de.size<1&&(d=Jt,te&&te(),te=null,c.value=Jt,se=!1,I=!1),Z()}}};function ye(L){return L.reduce((Q,Z)=>Q.then(()=>C(Z)),Promise.resolve())}return me}function Fb(){return rt(pi)}function Ty(e){return rt(la)}const Cy="modulepreload",Sy=function(e,t){return new URL(e,t).href},mc={},De=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let d=function(f){return Promise.all(f.map(h=>Promise.resolve(h).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const a=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),c=l?.nonce||l?.getAttribute("nonce");s=d(n.map(f=>{if(f=Sy(f,r),f in mc)return;mc[f]=!0;const h=f.endsWith(".css"),p=h?'[rel="stylesheet"]':"";if(r)for(let O=a.length-1;O>=0;O--){const A=a[O];if(A.href===f&&(!h||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${p}`))return;const m=document.createElement("link");if(m.rel=h?"stylesheet":Cy,h||(m.as="script"),m.crossOrigin="",m.href=f,c&&m.setAttribute("nonce",c),document.head.appendChild(m),h)return new Promise((O,A)=>{m.addEventListener("load",O),m.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${f}`)))})}))}function o(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return s.then(a=>{for(const l of a||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},_c="[a-fA-F\\d:]",sn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${_c})|(?<=${_c})(?=\\s|$))`:"",yt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Le="[a-fA-F\\d]{1,4}",gi=` -(?: -(?:${Le}:){7}(?:${Le}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 -(?:${Le}:){6}(?:${yt}|:${Le}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 -(?:${Le}:){5}(?::${yt}|(?::${Le}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 -(?:${Le}:){4}(?:(?::${Le}){0,1}:${yt}|(?::${Le}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 -(?:${Le}:){3}(?:(?::${Le}){0,2}:${yt}|(?::${Le}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 -(?:${Le}:){2}(?:(?::${Le}){0,3}:${yt}|(?::${Le}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 -(?:${Le}:){1}(?:(?::${Le}){0,4}:${yt}|(?::${Le}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 -(?::(?:(?::${Le}){0,5}:${yt}|(?::${Le}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 -)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 -`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),wy=new RegExp(`(?:^${yt}$)|(?:^${gi}$)`),Oy=new RegExp(`^${yt}$`),Ny=new RegExp(`^${gi}$`),mi=e=>e&&e.exact?wy:new RegExp(`(?:${sn(e)}${yt}${sn(e)})|(?:${sn(e)}${gi}${sn(e)})`,"g");mi.v4=e=>e&&e.exact?Oy:new RegExp(`${sn(e)}${yt}${sn(e)}`,"g");mi.v6=e=>e&&e.exact?Ny:new RegExp(`${sn(e)}${gi}${sn(e)}`,"g");const Yf={exact:!1},zf=`${mi.v4().source}\\/(3[0-2]|[12]?[0-9])`,Xf=`${mi.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,xy=new RegExp(`^${zf}$`),Ry=new RegExp(`^${Xf}$`),Iy=({exact:e}=Yf)=>e?xy:new RegExp(zf,"g"),Dy=({exact:e}=Yf)=>e?Ry:new RegExp(Xf,"g"),Qf=Iy({exact:!0}),Jf=Dy({exact:!0}),ca=e=>Qf.test(e)?4:Jf.test(e)?6:0;ca.v4=e=>Qf.test(e);ca.v6=e=>Jf.test(e);const tt=e=>{const t=Vn();if(t.Locale===null)return e;const r=Object.keys(t.Locale).filter(s=>e.match(new RegExp("^"+s+"$","gi"))!==null);return r.length===0||r.length>1||t.Locale[r[0]].length===0?e:e.replace(new RegExp(r[0],"gi"),t.Locale[r[0]])};var Yi={},zi,vc;function Ly(){return vc||(vc=1,zi={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),zi}var Xi,Ec;function Py(){if(Ec)return Xi;Ec=1;var e={px:{px:1,cm:96/2.54,mm:96/25.4,in:96,pt:96/72,pc:16},cm:{px:2.54/96,cm:1,mm:.1,in:2.54,pt:2.54/72,pc:2.54/6},mm:{px:25.4/96,cm:10,mm:1,in:25.4,pt:25.4/72,pc:25.4/6},in:{px:1/96,cm:1/2.54,mm:1/25.4,in:1,pt:1/72,pc:1/6},pt:{px:.75,cm:72/2.54,mm:72/25.4,in:72,pt:1,pc:12},pc:{px:6/96,cm:6/2.54,mm:6/25.4,in:6,pt:6/72,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:400/360,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:1/360,grad:1/400,rad:.5/Math.PI,turn:1},s:{s:1,ms:1/1e3},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:1/1e3,kHz:1},dpi:{dpi:1,dpcm:1/2.54,dppx:1/96},dpcm:{dpi:2.54,dpcm:1,dppx:2.54/96},dppx:{dpi:96,dpcm:96/2.54,dppx:1}};return Xi=function(t,n,r,s){if(!e.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!e[r].hasOwnProperty(n))throw new Error("Cannot convert from "+n+" to "+r);var o=e[r][n]*t;return s!==!1?(s=Math.pow(10,parseInt(s)||5),Math.round(o*s)/s):o},Xi}var yc;function $y(){return yc||(yc=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromRgba=T,e.fromRgb=C,e.fromHsla=S,e.fromHsl=U,e.fromString=Ee,e.default=void 0;var t=r(Ly()),n=r(Py());function r(I){return I&&I.__esModule?I:{default:I}}function s(I,K){if(!(I instanceof K))throw new TypeError("Cannot call a class as a function")}function o(I,K){for(var G=0;GI.length)&&(K=I.length);for(var G=0,X=new Array(K);G"u"||!(Symbol.iterator in Object(I)))){var G=[],X=!0,re=!1,ne=void 0;try{for(var se=I[Symbol.iterator](),de;!(X=(de=se.next()).done)&&(G.push(de.value),!(K&&G.length===K));X=!0);}catch(me){re=!0,ne=me}finally{try{!X&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p(I){if(Array.isArray(I))return I}var m=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,A=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,x=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,P=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,V=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,H=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M(I,K){return I.indexOf(K)>-1}function b(I,K,G){var X=I/255,re=K/255,ne=G/255,se=Math.max(X,re,ne),de=Math.min(X,re,ne),me=se-de,ye=(se+de)/2;if(me===0)return[0,0,ye*100];var L=me/(1-Math.abs(2*ye-1)),Q=(function(){switch(se){case X:return(re-ne)/me%6;case re:return(ne-X)/me+2;default:return(X-re)/me+4}})();return[Q*60,L*100,ye*100]}function y(I,K,G){var X=I/60,re=K/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(X%2-1)),me=ne-se/2,ye=(function(){return X<1?[se,de,0]:X<2?[de,se,0]:X<3?[0,se,de]:X<4?[0,de,se]:X<5?[de,0,se]:[se,0,de]})(),L=l(ye,3),Q=L[0],Z=L[1],oe=L[2];return[(Q+me)*255,(Z+me)*255,(oe+me)*255]}var N=(function(){function I(K){var G=l(K,4),X=G[0],re=G[1],ne=G[2],se=G[3];s(this,I),this.values=[Math.max(Math.min(parseInt(X,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a(I,[{key:"toRgbString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(X,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(X,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),X=l(G,4),re=X[0],ne=X[1],se=X[2],de=X[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return X=Number(X).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(X).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3],de=b(X,re,ne),me=l(de,3),ye=me[0],L=me[1],Q=me[2];return[ye,L,Q,se]}}]),I})();function T(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3];return new N([G,X,re,ne])}function C(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return T([G,X,re,1])}function S(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3],se=y(G,X,re),de=l(se,3),me=de[0],ye=de[1],L=de[2];return T([me,ye,L,ne])}function U(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return S([G,X,re,1])}function j(I){var K=m.exec(I)||O.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=parseInt(X.length<2?X.repeat(2):X,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,T([X,re,ne,se])}function te(I){var K=A.exec(I)||P.exec(I)||x.exec(I)||V.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=M(X,"%")?parseInt(X,10)*255/100:parseInt(X,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),T([X,re,ne,se])}function he(I){var K=H.exec(I),G=l(K,6),X=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",X=(0,n.default)(parseFloat(X),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),S([X,ne,se,de])}function Ee(I){return t.default[I]?C(t.default[I]):m.test(I)||O.test(I)?j(I):A.test(I)||P.test(I)||x.test(I)||V.test(I)?te(I):H.test(I)?he(I):null}var ie={fromString:Ee,fromRgb:C,fromRgba:T,fromHsl:U,fromHsla:S};e.default=ie})(Yi)),Yi}var My=$y();const ky=Lf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:tt("Name"),Status:tt("Status"),"DataUsage.Total":tt("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:tt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:tt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:tt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:tt("Date"),value:"date",type:"date"}],Operator:[{display:tt("larger than"),value:"lgt"}],Action:[{display:tt("Restrict Peer"),value:"restrict"},{display:tt("Delete Peer"),value:"delete"},{display:tt("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=My.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ca(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),Vy=async()=>{let e=!1;return await Dn("/api/validateAuthentication",{},t=>{e=t.status}),e},br=Ay({history:ty(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>De(()=>import("./index-eUjmVFiu.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>De(()=>import("./configurationList-BcQfpCge.js"),__vite__mapDeps([6,1,7,8,9,10]),import.meta.url),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>De(()=>import("./settings-B0rj7fKl.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17,18]),import.meta.url),children:[{name:"WGDashboard Settings",path:"",component:()=>De(()=>import("./wgdashboardSettings-KKzd6SNM.js"),__vite__mapDeps([19,1,13,3,14,15,16]),import.meta.url),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>De(()=>import("./peerDefaultSettings-DoiohEBz.js"),__vite__mapDeps([20,1,12]),import.meta.url),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>De(()=>import("./wireguardConfigurationSettings-BjFdnYVv.js"),__vite__mapDeps([21,17,1,18]),import.meta.url),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>De(()=>import("./ping-eM7EblSL.js"),__vite__mapDeps([22,1,23,24,25,26,27]),import.meta.url)},{path:"traceroute",name:"Traceroute",component:()=>De(()=>import("./traceroute-C_Rw3NHe.js"),__vite__mapDeps([28,23,24,25,26,1,29]),import.meta.url)},{name:"New Configuration",path:"new_configuration",component:()=>De(()=>import("./newConfiguration-Cu3W-j8E.js"),__vite__mapDeps([30,31,1,32,33]),import.meta.url),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>De(()=>import("./restoreConfiguration-BLKIuEYB.js"),__vite__mapDeps([34,1,3,7,31,35]),import.meta.url),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>De(()=>import("./systemStatus-DR2cmn_N.js"),__vite__mapDeps([36,1,8,9,37,3,38]),import.meta.url),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>De(()=>import("./clients-dPj1ZA29.js"),__vite__mapDeps([39,40,1,41]),import.meta.url),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>De(()=>import("./clientViewer-zQHAiseB.js"),__vite__mapDeps([42,40,1,43]),import.meta.url),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>De(()=>import("./dashboardWebHooks-BrixRm6N.js"),__vite__mapDeps([44,1,45]),import.meta.url),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>De(()=>import("./configuration-CwxFz-wp.js"),[],import.meta.url),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>De(()=>import("./peerList-Dmgo6XiS.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]),import.meta.url)}]}]},{path:"/signin",component:()=>De(()=>import("./signin-AbhxYXGe.js"),__vite__mapDeps([48,2,1,3,4,49]),import.meta.url),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>De(()=>import("./setup-B3e2Ponu.js"),__vite__mapDeps([50,1]),import.meta.url),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>De(()=>import("./totp-CJ63kZAX.js"),__vite__mapDeps([51,52,32,1]),import.meta.url),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>De(()=>import("./share-CNjkYxw_.js"),__vite__mapDeps([53,52,32,1,54]),import.meta.url),meta:{title:"Share",hideTopNav:!0}}]});br.beforeEach(async(e,t,n)=>{const r=ky(),s=Vn();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await Vy()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});br.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const Zf=()=>{let e={"Content-Type":"application/json"};const n=Vn().getActiveCrossServer();if(n&&(e["wg-dashboard-apikey"]=n.apiKey,n.headers))for(let r of Object.values(n.headers))r.key&&r.value&&!Object.keys(e).includes(r.key)&&(e[r.key]=r.value);return e},ed=e=>{const n=Vn().getActiveCrossServer();return n?`${n.host}${e}`:`./.${e}`},Dn=async(e,t=void 0,n=void 0)=>{const r=new URLSearchParams(t);await fetch(`${ed(e)}?${r.toString()}`,{headers:Zf()}).then(s=>{const o=Vn();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),br.push({path:"/signin"})})},Hb=async(e,t,n)=>{await fetch(`${ed(e)}`,{headers:Zf(),method:"POST",body:JSON.stringify(t)}).then(r=>{const s=Vn();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),br.push({path:"/signin"})})},Ve=[];for(let e=0;e<256;++e)Ve.push((e+256).toString(16).slice(1));function Fy(e,t=0){return(Ve[e[t+0]]+Ve[e[t+1]]+Ve[e[t+2]]+Ve[e[t+3]]+"-"+Ve[e[t+4]]+Ve[e[t+5]]+"-"+Ve[e[t+6]]+Ve[e[t+7]]+"-"+Ve[e[t+8]]+Ve[e[t+9]]+"-"+Ve[e[t+10]]+Ve[e[t+11]]+Ve[e[t+12]]+Ve[e[t+13]]+Ve[e[t+14]]+Ve[e[t+15]]).toLowerCase()}let Qi;const Hy=new Uint8Array(16);function By(){if(!Qi){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Qi=crypto.getRandomValues.bind(crypto)}return Qi(Hy)}const jy=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),bc={randomUUID:jy};function Wy(e,t,n){e=e||{};const r=e.random??e.rng?.()??By();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n=n||0,n<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let s=0;s<16;++s)t[n+s]=r[s];return t}return Fy(r)}function Ac(e,t,n){return bc.randomUUID&&!t&&!e?bc.randomUUID():Wy(e,t,n)}const Vn=Lf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:null,HelpAgent:{Enable:!1}}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[Ac().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},async setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e),await Dn("/api/locale",{},t=>{this.Locale=t.data})},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await Dn("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await Dn("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Ac(),from:tt(e),content:tt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(r=>e.match(new RegExp("^"+r+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}},persist:{pick:["HelpAgent.Enable"]}});(function(){function e(b){var y=new Float64Array(16);if(b)for(var N=0;N>16&1),T[S-1]&=65535;T[15]=C[15]-32767-(T[14]>>16&1),N=T[15]>>16&1,T[14]&=65535,r(C,T,1-N)}for(var S=0;S<16;++S)b[2*S]=C[S]&255,b[2*S+1]=C[S]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function r(b,y,N){for(var T,C=~(N-1),S=0;S<16;++S)T=C&(b[S]^y[S]),b[S]^=T,y[S]^=T}function s(b,y,N){for(var T=0;T<16;++T)b[T]=y[T]+N[T]|0}function o(b,y,N){for(var T=0;T<16;++T)b[T]=y[T]-N[T]|0}function a(b,y,N){for(var T=new Float64Array(31),C=0;C<16;++C)for(var S=0;S<16;++S)T[C+S]+=y[C]*N[S];for(var C=0;C<15;++C)T[C]+=38*T[C+16];for(var C=0;C<16;++C)b[C]=T[C];n(b),n(b)}function l(b,y){for(var N=e(),T=0;T<16;++T)N[T]=y[T];for(var T=253;T>=0;--T)a(N,N,N),T!==2&&T!==4&&a(N,N,y);for(var T=0;T<16;++T)b[T]=N[T]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,N=new Uint8Array(32),T=e([1]),C=e([9]),S=e(),U=e([1]),j=e(),te=e(),he=e([56129,1]),Ee=e([9]),ie=0;ie<32;++ie)N[ie]=b[ie];c(N);for(var ie=254;ie>=0;--ie)y=N[ie>>>3]>>>(ie&7)&1,r(T,C,y),r(S,U,y),s(j,T,S),o(T,T,S),s(S,C,U),o(C,C,U),a(U,j,j),a(te,T,T),a(T,S,T),a(S,C,j),s(j,T,S),o(T,T,S),a(C,T,T),o(S,U,te),a(T,S,he),s(T,T,U),a(S,S,T),a(T,U,te),a(U,C,Ee),a(C,j,j),r(T,C,y),r(S,U,y);return l(S,S),a(T,T,S),t(N,T),N}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var N=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),T=0;T<4;++T)b[T]=N[T]+65+(25-N[T]>>8&6)-(51-N[T]>>8&75)-(61-N[T]>>8&15)+(62-N[T]>>8&3)}function m(b){var y,N=new Uint8Array(44);for(y=0;y<32/3;++y)p(N.subarray(y*4),b.subarray(y*3));return p(N.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),N[43]=61,String.fromCharCode.apply(null,N)}function O(b){let y=window.atob(b),N=y.length,T=new Uint8Array(N);for(let S=0;S>>8&255,y>>>16&255,y>>>24&255)}function x(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var N=0;N>>1:y>>>1;H.table[N]=y}}for(var C=-1,S=0;S>>8^H.table[(C^b[S])&255];return(C^-1)>>>0}function M(b){for(var y=[],N=[],T=0,C=0;C{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Uy=["data-bs-theme"],Gy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},qy={class:"container-fluid d-flex text-body align-items-center"},Yy={key:0,class:"bi bi-list"},zy={key:1,class:"bi bi-x-lg"},Xy={__name:"App",setup(e){const t=Vn();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP?(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0,t.ActiveServerConfiguration&&Dn("/api/locale",{},r=>{t.Locale=r.data})):Dn("/api/locale",{},r=>{t.Locale=r.data}),In(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=Ty();return(r,s)=>{const o=w_("RouterLink");return It(),As("div",{class:"h-100 bg-body","data-bs-theme":nt(t).Configuration?.Server.dashboard_theme},[s[2]||(s[2]=er("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),nt(n).meta.hideTopNav?gv("",!0):(It(),As("nav",Gy,[er("div",qy,[Ne(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Jn(()=>[...s[1]||(s[1]=[er("img",{src:mE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])]),_:1}),er("a",{role:"button",class:"navbarBtn text-body",onClick:s[0]||(s[0]=a=>nt(t).ShowNavBar=!nt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[Ne(Il,{name:"fade2",mode:"out-in"},{default:Jn(()=>[nt(t).ShowNavBar?(It(),As("i",zy)):(It(),As("i",Yy))]),_:1})])])])),(It(),Yr(iv,null,{default:Jn(()=>[Ne(nt(qf),null,{default:Jn(({Component:a})=>[Ne(Il,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Jn(()=>[(It(),Yr(O_(a)))]),_:2},1024)]),_:1})]),_:1}))],8,Uy)}}},Qy=Ky(Xy,[["__scopeId","data-v-ddb6150e"]]);function Jy(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=ua(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function td(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return ua(e,td(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function nd(e,t){return t.map(n=>n.split(".")).map(n=>[n,Jy(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>ua(n,r[1],r[0]),{})}function rd(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>td(n,r),e)}function Tc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),m=o?nd(p,o):p,O=a?rd(m,a):m;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function Cc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?nd(e,o):e,c=a?rd(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function Zy(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function eb(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const l=r._s.get(s.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const a=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:l=!0}={})=>{a.forEach(c=>{Tc(s,c,e,l)})},s.$persist=()=>{a.forEach(l=>{Cc(s.$state,l)})},a.forEach(l=>{Tc(s,l,e),s.$subscribe((c,d)=>Cc(d,l),{detached:!0})})}function tb(e={}){return function(t){eb(t,n=>{const r=Zy(n.key,t.store.$id);return{key:(e.key?e.key:s=>s)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:s=>JSON.stringify(s),deserialize:s=>JSON.parse(s)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var nb=tb();const fa=aE(Qy);fa.use(br);const da=uE();da.use(nb);da.use(({store:e})=>{e.$router=ii(br)});fa.use(da);fa.mount("#app");export{$b as $,Ac as A,Xo as B,eE as C,Vn as D,Ib as E,Xe as F,tt as G,In as H,kb as I,Jr as J,Fb as K,Ty as L,Cb as M,De as N,mb as O,Eb as P,Tu as Q,oa as R,iv as S,Pb as T,Sv as U,li as V,ky as W,ve as X,qo as Y,oi as Z,Ky as _,er as a,Tb as a0,Vb as a1,Sb as a2,Mb as a3,ed as a4,Lf as a5,iu as a6,Vm as a7,vb as a8,Rb as a9,xb as aa,Ob as ab,Ns as ac,so as ad,yb as ae,Nb as af,_b as ag,hv as ah,Ab as ai,rt as aj,mv as ak,Ku as al,Db as am,Ne as b,As as c,gv as d,pv as e,It as f,Dn as g,w_ as h,wb as i,Yr as j,Il as k,O_ as l,bb as m,ti as n,Jo as o,Lb as p,dt as q,xn as r,ei as s,Mm as t,nt as u,Jv as v,Jn as w,Gu as x,Yl as y,Hb as z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-CRsyV-e7.js b/src/static/dist/WGDashboardAdmin/assets/index-i3npkoSo.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/index-CRsyV-e7.js rename to src/static/dist/WGDashboardAdmin/assets/index-i3npkoSo.js index 0e123ae9..12e571ad 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-CRsyV-e7.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-i3npkoSo.js @@ -1 +1 @@ -import{H as I,q as w,P as S,J as k,Q as L,u as R}from"./index-DXzxfcZW.js";const W=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const X=Object.prototype.toString,Y=t=>X.call(t)==="[object Object]",$=()=>{};function C(t){return Array.isArray(t)?t:[t]}function q(t,a,r){return I(t,a,{...r,immediate:!0})}const O=W?window:void 0;function P(t){var a;const r=S(t);return(a=r?.$el)!==null&&a!==void 0?a:r}function T(...t){const a=(o,u,s,d)=>(o.addEventListener(u,s,d),()=>o.removeEventListener(u,s,d)),r=w(()=>{const o=C(S(t[0])).filter(u=>u!=null);return o.every(u=>typeof u!="string")?o:void 0});return q(()=>{var o,u;return[(o=(u=r.value)===null||u===void 0?void 0:u.map(s=>P(s)))!==null&&o!==void 0?o:[O].filter(s=>s!=null),C(S(r.value?t[1]:t[0])),C(R(r.value?t[2]:t[1])),S(r.value?t[3]:t[2])]},([o,u,s,d],p,c)=>{if(!o?.length||!u?.length||!s?.length)return;const f=Y(d)?{...d}:d,v=o.flatMap(b=>u.flatMap(h=>s.map(y=>a(b,h,y,f))));c(()=>{v.forEach(b=>b())})},{flush:"post"})}function B(t,a,r={}){const{window:o=O,ignore:u=[],capture:s=!0,detectIframe:d=!1,controls:p=!1}=r;if(!o)return p?{stop:$,cancel:$,trigger:$}:$;let c=!0;const f=e=>S(u).some(n=>{if(typeof n=="string")return Array.from(o.document.querySelectorAll(n)).some(i=>i===e.target||e.composedPath().includes(i));{const i=P(n);return i&&(e.target===i||e.composedPath().includes(i))}});function v(e){const n=S(e);return n&&n.$.subTree.shapeFlag===16}function b(e,n){const i=S(e),m=i.$.subTree&&i.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(A=>A.el===n.target||n.composedPath().includes(A.el))}const h=e=>{const n=P(t);if(e.target!=null&&!(!(n instanceof Element)&&v(t)&&b(t,e))&&!(!n||n===e.target||e.composedPath().includes(n))){if("detail"in e&&e.detail===0&&(c=!f(e)),!c){c=!0;return}a(e)}};let y=!1;const E=[T(o,"click",e=>{y||(y=!0,setTimeout(()=>{y=!1},0),h(e))},{passive:!0,capture:s}),T(o,"pointerdown",e=>{const n=P(t);c=!f(e)&&!!(n&&!e.composedPath().includes(n))},{passive:!0}),d&&T(o,"blur",e=>{setTimeout(()=>{var n;const i=P(t);((n=o.document.activeElement)===null||n===void 0?void 0:n.tagName)==="IFRAME"&&!i?.contains(o.document.activeElement)&&a(e)},0)},{passive:!0})].filter(Boolean),x=()=>E.forEach(e=>e());return p?{stop:x,cancel:()=>{c=!1},trigger:e=>{c=!0,h(e),c=!1}}:x}function D(t,a={}){const{threshold:r=50,onSwipe:o,onSwipeEnd:u,onSwipeStart:s,passive:d=!0}=a,p=k({x:0,y:0}),c=k({x:0,y:0}),f=w(()=>p.x-c.x),v=w(()=>p.y-c.y),{max:b,abs:h}=Math,y=w(()=>b(h(f.value),h(v.value))>=r),E=L(!1),x=w(()=>y.value?h(f.value)>h(v.value)?f.value>0?"left":"right":v.value>0?"up":"down":"none"),e=l=>[l.touches[0].clientX,l.touches[0].clientY],n=(l,g)=>{p.x=l,p.y=g},i=(l,g)=>{c.x=l,c.y=g},m={passive:d,capture:!d},A=l=>{E.value&&u?.(l,x.value),E.value=!1},j=[T(t,"touchstart",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);n(g,M),i(g,M),s?.(l)},m),T(t,"touchmove",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);i(g,M),m.capture&&!m.passive&&Math.abs(f.value)>Math.abs(v.value)&&l.preventDefault(),!E.value&&y.value&&(E.value=!0),E.value&&o?.(l)},m),T(t,["touchend","touchcancel"],A,m)];return{isSwiping:E,direction:x,coordsStart:p,coordsEnd:c,lengthX:f,lengthY:v,stop:()=>j.forEach(l=>l())}}export{D as a,B as o,P as u}; +import{H as I,q as w,P as S,J as k,Q as L,u as R}from"./index-DM7YJCOo.js";const W=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const X=Object.prototype.toString,Y=t=>X.call(t)==="[object Object]",$=()=>{};function C(t){return Array.isArray(t)?t:[t]}function q(t,a,r){return I(t,a,{...r,immediate:!0})}const O=W?window:void 0;function P(t){var a;const r=S(t);return(a=r?.$el)!==null&&a!==void 0?a:r}function T(...t){const a=(o,u,s,d)=>(o.addEventListener(u,s,d),()=>o.removeEventListener(u,s,d)),r=w(()=>{const o=C(S(t[0])).filter(u=>u!=null);return o.every(u=>typeof u!="string")?o:void 0});return q(()=>{var o,u;return[(o=(u=r.value)===null||u===void 0?void 0:u.map(s=>P(s)))!==null&&o!==void 0?o:[O].filter(s=>s!=null),C(S(r.value?t[1]:t[0])),C(R(r.value?t[2]:t[1])),S(r.value?t[3]:t[2])]},([o,u,s,d],p,c)=>{if(!o?.length||!u?.length||!s?.length)return;const f=Y(d)?{...d}:d,v=o.flatMap(b=>u.flatMap(h=>s.map(y=>a(b,h,y,f))));c(()=>{v.forEach(b=>b())})},{flush:"post"})}function B(t,a,r={}){const{window:o=O,ignore:u=[],capture:s=!0,detectIframe:d=!1,controls:p=!1}=r;if(!o)return p?{stop:$,cancel:$,trigger:$}:$;let c=!0;const f=e=>S(u).some(n=>{if(typeof n=="string")return Array.from(o.document.querySelectorAll(n)).some(i=>i===e.target||e.composedPath().includes(i));{const i=P(n);return i&&(e.target===i||e.composedPath().includes(i))}});function v(e){const n=S(e);return n&&n.$.subTree.shapeFlag===16}function b(e,n){const i=S(e),m=i.$.subTree&&i.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(A=>A.el===n.target||n.composedPath().includes(A.el))}const h=e=>{const n=P(t);if(e.target!=null&&!(!(n instanceof Element)&&v(t)&&b(t,e))&&!(!n||n===e.target||e.composedPath().includes(n))){if("detail"in e&&e.detail===0&&(c=!f(e)),!c){c=!0;return}a(e)}};let y=!1;const E=[T(o,"click",e=>{y||(y=!0,setTimeout(()=>{y=!1},0),h(e))},{passive:!0,capture:s}),T(o,"pointerdown",e=>{const n=P(t);c=!f(e)&&!!(n&&!e.composedPath().includes(n))},{passive:!0}),d&&T(o,"blur",e=>{setTimeout(()=>{var n;const i=P(t);((n=o.document.activeElement)===null||n===void 0?void 0:n.tagName)==="IFRAME"&&!i?.contains(o.document.activeElement)&&a(e)},0)},{passive:!0})].filter(Boolean),x=()=>E.forEach(e=>e());return p?{stop:x,cancel:()=>{c=!1},trigger:e=>{c=!0,h(e),c=!1}}:x}function D(t,a={}){const{threshold:r=50,onSwipe:o,onSwipeEnd:u,onSwipeStart:s,passive:d=!0}=a,p=k({x:0,y:0}),c=k({x:0,y:0}),f=w(()=>p.x-c.x),v=w(()=>p.y-c.y),{max:b,abs:h}=Math,y=w(()=>b(h(f.value),h(v.value))>=r),E=L(!1),x=w(()=>y.value?h(f.value)>h(v.value)?f.value>0?"left":"right":v.value>0?"up":"down":"none"),e=l=>[l.touches[0].clientX,l.touches[0].clientY],n=(l,g)=>{p.x=l,p.y=g},i=(l,g)=>{c.x=l,c.y=g},m={passive:d,capture:!d},A=l=>{E.value&&u?.(l,x.value),E.value=!1},j=[T(t,"touchstart",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);n(g,M),i(g,M),s?.(l)},m),T(t,"touchmove",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);i(g,M),m.capture&&!m.passive&&Math.abs(f.value)>Math.abs(v.value)&&l.preventDefault(),!E.value&&y.value&&(E.value=!0),E.value&&o?.(l)},m),T(t,["touchend","touchcancel"],A,m)];return{isSwiping:E,direction:x,coordsStart:p,coordsEnd:c,lengthX:f,lengthY:v,stop:()=>j.forEach(l=>l())}}export{D as a,B as o,P as u}; diff --git a/src/static/dist/WGDashboardAdmin/assets/localeText-Dmcj5qqx.js b/src/static/dist/WGDashboardAdmin/assets/localeText-BJvnc1lF.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/localeText-Dmcj5qqx.js rename to src/static/dist/WGDashboardAdmin/assets/localeText-BJvnc1lF.js index 1478ab94..2a07fda2 100644 --- a/src/static/dist/WGDashboardAdmin/assets/localeText-Dmcj5qqx.js +++ b/src/static/dist/WGDashboardAdmin/assets/localeText-BJvnc1lF.js @@ -1 +1 @@ -import{_ as e,G as t,c as o,t as a,f as c}from"./index-DXzxfcZW.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; +import{_ as e,G as t,c as o,t as a,f as c}from"./index-DM7YJCOo.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; diff --git a/src/static/dist/WGDashboardAdmin/assets/message-DC-PB7Ii.js b/src/static/dist/WGDashboardAdmin/assets/message-BLvFM11v.js similarity index 84% rename from src/static/dist/WGDashboardAdmin/assets/message-DC-PB7Ii.js rename to src/static/dist/WGDashboardAdmin/assets/message-BLvFM11v.js index 30672461..fe08670b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/message-DC-PB7Ii.js +++ b/src/static/dist/WGDashboardAdmin/assets/message-BLvFM11v.js @@ -1 +1 @@ -import{L as l}from"./localeText-Dmcj5qqx.js";import{d as c}from"./dayjs.min-C-brjxlJ.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-DXzxfcZW.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; +import{L as l}from"./localeText-BJvnc1lF.js";import{d as c}from"./dayjs.min-DZl6XMNW.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-DM7YJCOo.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cu3W-j8E.js b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cf-XQ6D8.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cu3W-j8E.js rename to src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cf-XQ6D8.js index 776674a4..cd645a4a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cu3W-j8E.js +++ b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-Cf-XQ6D8.js @@ -1,3 +1,3 @@ -import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,H as N,q as j,c as a,f as n,a as e,d as I,m as y,b as r,t as _,y as P,C as H,F as T,i as A,e as U,n as D,z as E,E as Z,g as q,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-DXzxfcZW.js";import{L as g}from"./localeText-Dmcj5qqx.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=o=>{const t=o.split(` +import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,H as N,q as j,c as a,f as n,a as e,d as I,m as y,b as r,t as _,y as P,C as H,F as T,i as A,e as U,n as D,z as E,E as Z,g as q,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-DM7YJCOo.js";import{L as g}from"./localeText-BJvnc1lF.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=o=>{const t=o.split(` `),s={};for(let f of t){if(f==="[Peer]")break;if(f.length>0){let l=f.replace(" = ","=");l.indexOf("=")>-1&&(l=[l.slice(0,l.indexOf("=")),l.slice(l.indexOf("=")+1)],l[0]==="ListenPort"?s[l[0]]=parseInt(l[1]):s[l[0]]=l[1])}}return s},oe=o=>{const t=o.split(` `),s=[];let f=-1;const l=t.indexOf("[Peer]");if(l===-1)return!1;for(let d=l;d-1&&(b=[b.slice(0,b.indexOf("=")),b.slice(b.indexOf("=")+1)],s[f][b[0]]=b[1])}return s};te();const ne={class:"card rounded-3"},ie={class:"card-body"},ae={class:"row"},le={class:"col-sm"},re={class:"d-flex flex-column gap-2"},de={class:"d-flex align-items-center"},ue={class:"text-muted"},ce={key:0,class:"mb-0 ms-auto"},pe={key:0,class:"d-flex gap-2 flex-column"},me={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},fe={class:"badge rounded-pill text-bg-success ms-auto"},be={value:void 0,disabled:""},ve=["value"],ge={class:"col-sm"},he={class:"d-flex flex-column gap-2 h-100"},ye={class:"d-flex align-items-center"},we={class:"text-muted"},_e={key:0,class:"mb-0 ms-auto"},Ce={key:1,class:"d-flex ms-auto align-items-center"},Pe={key:0,class:"d-flex gap-2 flex-column mt-auto"},xe={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},Se={class:"badge rounded-pill text-bg-success ms-auto"},$e={value:void 0,disabled:""},Le=["value"],ke={key:0,class:"d-flex gap-2"},Ie={key:1,class:"d-flex gap-2"},M=G({__name:"newConfigurationTemplate",props:["template","edit","isNew","peersCount"],emits:["subnet","port","update","remove"],setup(o,{emit:t}){const s=o,f=B(),l=h(!1);s.edit&&(l.value=!0);const d=h({...s.template});h(256);const b=h([]);h(20);const u=t,S=h(void 0),i=h(void 0),x=h([]),$=()=>{if(b.value=[],s.template.Subnet){let v=new Set([...V(s.template.Subnet)]);if(s.peersCount&&s.peersCount>0){for(let k of f.Configurations){let K=k.Address.replace(" ","").split(",");for(let R of K)W(s.template.Subnet,R)&&(v=v.difference(new Set([...V(R)])))}let c=Math.floor(v.size/s.peersCount),p=0;v=Array.from(v);for(let k=0;k<(c>10?10:c);k++)b.value.push(z(v.slice(p,p+s.peersCount))),p+=s.peersCount}}},m=()=>{if(s.template.ListenPortStart&&s.template.ListenPortEnd){let v=s.template.ListenPortStart,c=s.template.ListenPortEnd;v>c&&(v=s.template.ListenPortEnd,c=s.template.ListenPortStart);let p=new Set(Array.from({length:c-v+1},(k,K)=>v+K));x.value=[...p.difference(new Set(f.Configurations.map(k=>Number(k.ListenPort))))]}};J(()=>{s.isNew||($(),m())}),N(()=>s.peersCount,()=>{$()}),N(S,()=>{u("subnet",S.value)}),N(i,()=>{u("port",i.value)}),N(()=>s.template,()=>{$(),m()},{deep:!0});const w=j(()=>{try{const{start:v,end:c}=F(d.value.Subnet);if(c-v>=1000000n)throw new Error("Too many IPs");return d.value.Subnet&&d.value.ListenPortStart&&d.value.ListenPortEnd&&d.value.ListenPortEnd>=d.value.ListenPortStart}catch{return!1}}),L=async()=>{await E("/api/newConfigurationTemplates/updateTemplate",{Template:d.value},v=>{v.status&&(u("update",d.value),l.value=!1)})},C=async()=>{await E("/api/newConfigurationTemplates/deleteTemplate",{Template:d.value},v=>{v.status&&u("remove",d)})};return(v,c)=>(n(),a("div",ne,[e("div",ie,[e("div",ae,[e("div",le,[e("div",re,[e("div",de,[e("label",ue,[e("small",null,[r(g,{t:"Subnet"})])]),l.value?y((n(),a("input",{key:1,class:"form-control-sm form-control rounded-3 w-auto ms-auto","onUpdate:modelValue":c[0]||(c[0]=p=>d.value.Subnet=p)},null,512)),[[P,d.value.Subnet]]):(n(),a("p",ce,[e("small",null,_(o.template.Subnet),1)]))]),l.value?I("",!0):(n(),a("div",pe,[e("label",me,[e("small",null,[r(g,{t:"Available Subnets"})]),e("span",fe,_(b.value.length),1)]),y(e("select",{"onUpdate:modelValue":c[1]||(c[1]=p=>S.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",be,[r(g,{t:"Select..."})]),(n(!0),a(T,null,A(b.value,p=>(n(),a("option",{value:p.join(", ")},_(p.join(", ")),9,ve))),256))],512),[[H,S.value]])]))])]),e("div",ge,[e("div",he,[e("div",ye,[e("label",we,[e("small",null,[r(g,{t:"Listen Port Range"})])]),l.value?(n(),a("div",Ce,[y(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[2]||(c[2]=p=>d.value.ListenPortStart=p),type:"number"},null,512),[[P,d.value.ListenPortStart]]),c[10]||(c[10]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),y(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[3]||(c[3]=p=>d.value.ListenPortEnd=p),type:"number"},null,512),[[P,d.value.ListenPortEnd]])])):(n(),a("p",_e,[e("small",null,[U(_(o.template.ListenPortStart),1),c[9]||(c[9]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),U(" "+_(o.template.ListenPortEnd),1)])]))]),l.value?I("",!0):(n(),a("div",Pe,[e("label",xe,[e("small",null,[r(g,{t:"Available Ports"})]),e("span",Se,_(x.value.length),1)]),y(e("select",{"onUpdate:modelValue":c[4]||(c[4]=p=>i.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",$e,[r(g,{t:"Select..."})]),(n(!0),a(T,null,A([...x.value],p=>(n(),a("option",{value:p},_(p),9,Le))),256))],512),[[H,i.value]])]))])])]),c[11]||(c[11]=e("hr",null,null,-1)),l.value?(n(),a("div",Ie,[e("button",{type:"button",onClick:c[7]||(c[7]=p=>o.isNew?u("remove"):l.value=!1),class:"ms-auto btn btn-sm border-secondary-subtle bg-secondary-subtle text-secondary-emphasis rounded-3"},[r(g,{t:"Cancel"})]),e("button",{type:"button",onClick:c[8]||(c[8]=p=>L()),class:D([{disabled:!w.value},"btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"])},[r(g,{t:"Save"})],2)])):(n(),a("div",ke,[e("button",{type:"button",onClick:c[5]||(c[5]=p=>{l.value=!0,d.value={...s.template}}),class:"ms-auto btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"},[r(g,{t:"Edit"})]),e("button",{type:"button",onClick:c[6]||(c[6]=p=>C()),class:"btn btn-sm border-danger-subtle bg-danger-subtle text-danger-emphasis rounded-3"},[r(g,{t:"Delete"})])]))])]))}}),Te={class:"card rounded-3"},Ae={class:"card-header"},Ne={class:"d-flex align-items-center"},Ue={class:"text-muted"},Ke={class:"card-body"},Oe={key:0,class:"d-flex gap-2 align-items-center mb-2"},De={class:"text-muted",style:{"white-space":"nowrap"}},Ee={class:"row g-2"},qe={key:0,class:"col-12"},Re={class:"text-center text-muted m-0"},Ve={class:"col-12"},He={class:"col-12"},Me=G({__name:"newConfigurationTemplates",emits:["subnet","port"],async setup(o,{emit:t}){let s,f;const l=t,d=h([]),b=async()=>{await q("/api/newConfigurationTemplates",{},$=>{d.value=$.data})};[s,f]=Z(()=>b()),await s,f();const u=h([]),S=async()=>{await q("/api/newConfigurationTemplates/createTemplate",{},$=>{u.value.push($.data)})},i=h(256),x=h(256);return($,m)=>(n(),a("div",Te,[e("div",Ae,[e("div",Ne,[r(g,{t:"Subnets & Listen Ports Templates"}),e("button",{type:"button",onClick:m[0]||(m[0]=w=>S()),class:"btn btn-sm bg-success-subtle text-success-emphasis border-success-subtle rounded-3 ms-auto"},[m[9]||(m[9]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(g,{t:"Add Template"})])]),e("small",Ue,[r(g,{t:"Create templates to keep track a list of available Subnets & Listen Ports"})])]),e("div",Ke,[d.value.length>0?(n(),a("div",Oe,[e("label",De,[e("small",null,[r(g,{t:"No. of IP Address / Subnet"})])]),y(e("input",{type:"number","onUpdate:modelValue":m[1]||(m[1]=w=>i.value=w),onChange:m[2]||(m[2]=w=>x.value=i.value),class:"form-control form-control-sm rounded-3 w-100 ms-auto"},null,544),[[P,i.value]])])):I("",!0),e("div",Ee,[u.value.length===0&&d.value.length===0?(n(),a("div",qe,[e("p",Re,[r(g,{t:"No Templates"})])])):I("",!0),(n(!0),a(T,null,A(u.value,w=>(n(),a("div",Ve,[r(M,{edit:!0,isNew:!0,onRemove:L=>u.value=u.value.filter(C=>C.TemplateID!==w.TemplateID),onUpdate:L=>{u.value=u.value.filter(C=>C.TemplateID!==w.TemplateID),b()},onSubnet:m[3]||(m[3]=L=>l("subnet",L)),onPort:m[4]||(m[4]=L=>l("port",L)),template:w},null,8,["onRemove","onUpdate","template"])]))),256)),(n(!0),a(T,null,A(d.value,(w,L)=>(n(),a("div",He,[(n(),Q(M,{key:w.TemplateID,peersCount:x.value,onRemove:m[5]||(m[5]=C=>b()),onUpdate:m[6]||(m[6]=C=>b()),onSubnet:m[7]||(m[7]=C=>l("subnet",C)),onPort:m[8]||(m[8]=C=>l("port",C)),template:w},null,8,["peersCount","template"]))]))),256))])])]))}}),Fe={name:"newConfiguration",components:{NewConfigurationTemplates:Me,LocaleText:g},async setup(){const o=B(),t=h([]);await q("/api/protocolsEnabled",{},f=>{t.value=f.data});const s=ee();return{store:o,protocols:t,dashboardStore:s}},data(){return{newConfiguration:{ConfigurationName:"",Address:"",ListenPort:"",PrivateKey:"",PublicKey:"",PresharedKey:"",PreUp:"",PreDown:"",PostUp:"",PostDown:"",Table:"",Protocol:"wg",Jc:5,Jmin:49,Jmax:998,S1:17,S2:110,S3:1,S4:2,H1:0,H2:0,H3:0,H4:0,I1:"0",I2:"0",I3:"0",I4:"0",I5:"0"},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair(),["H1","H2","H3","H4"].forEach(o=>{this.newConfiguration[o]=this.rand(1,2**31)}),["I1","I2","I3","I4","I5"].forEach(o=>{this.newConfiguration[o]="0"})},methods:{rand(o,t){return Math.floor(Math.random()*(t-o)+o)},wireguardGenerateKeypair(){const o=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=o.privateKey,this.newConfiguration.PublicKey=o.publicKey,this.newConfiguration.PresharedKey=o.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await E("/api/addWireguardConfiguration",this.newConfiguration,async o=>{o.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=o.message,document.querySelector(`#${o.data}`).classList.remove("is-valid"),document.querySelector(`#${o.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(o){const t=o.target.files[0];if(!t)return!1;const s=new FileReader;s.onload=f=>{this.parseInterfaceResult=se(f.target.result),this.parsePeersResult=oe(f.target.result);let l=0;if(this.parseInterfaceResult){this.newConfiguration.ConfigurationName=t.name.replace(".conf","");for(let d of Object.keys(this.parseInterfaceResult))Object.keys(this.newConfiguration).includes(d)&&(this.newConfiguration[d]=this.parseInterfaceResult[d],l+=1)}l>0?this.dashboardStore.newMessage("WGDashboard",`Parse successful! Updated ${l} field(s)`,"success"):this.dashboardStore.newMessage("WGDashboard","Parse failed","danger")},s.readAsText(t)}},computed:{goodToSubmit(){let o=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return o.find(s=>this.newConfiguration[s].length===0)===void 0&&t.find(s=>s.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(o){let t=document.querySelector("#Address");if(t){t.classList.remove("is-invalid","is-valid");try{this.numberOfAvailableIPs=0,o.replace(" ","").split(",").forEach(s=>{let f=F(s),l=Number(f.end-f.start);this.numberOfAvailableIPs+=l+1}),t.classList.add("is-valid")}catch(s){console.log(s),this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}}},"newConfiguration.ListenPort"(o){let t=document.querySelector("#ListenPort");t&&(t.classList.remove("is-invalid","is-valid"),o<0||o>65353||!Number.isInteger(o)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.ConfigurationName"(o){let t=document.querySelector("#ConfigurationName");t&&(t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(o)||o.length===0||this.store.Configurations.find(s=>s.Name===o)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.PrivateKey"(o){let t=document.querySelector("#PrivateKey");if(t){t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(o),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},mounted(){document.querySelector("#fileUpload").addEventListener("change",this.readFile,!1)}},Ge={class:"mt-md-5 mt-3 text-body"},Be={class:"container mb-4"},We={class:"mb-4 d-flex align-items-center gap-4 align-items-center"},ze={class:"mb-0"},Je={class:"d-flex gap-2 ms-auto"},je={class:"card rounded-3 shadow"},Ze={class:"card-header"},Qe={class:"card-body d-flex gap-2 protocolBtnGroup"},Xe={key:0,class:"bi bi-check-circle-fill me-2"},Ye={key:1,class:"bi bi-circle me-2"},et={key:0,class:"bi bi-check-circle-fill me-2"},tt={key:1,class:"bi bi-circle me-2"},st={class:"card rounded-3 shadow"},ot={class:"card-header"},nt={class:"card-body"},it=["disabled"],at={class:"invalid-feedback"},lt={key:0},rt={key:1},dt={class:"mb-0"},ut={class:"card rounded-3 shadow"},ct={class:"card-header"},pt={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},mt={class:"mb-2"},ft={class:"text-muted fw-bold mb-1"},bt={class:"input-group"},vt=["disabled"],gt={class:"text-muted fw-bold mb-1"},ht={class:"card rounded-3 shadow"},yt={class:"card-header"},wt={class:"card-body"},_t=["disabled"],Ct={class:"invalid-feedback"},Pt={key:0},xt={key:1},St={class:"card rounded-3 shadow"},$t={class:"card-header d-flex align-items-center"},Lt={class:"badge rounded-pill text-bg-success ms-auto"},kt={class:"card-body"},It=["disabled"],Tt={class:"invalid-feedback"},At={key:0},Nt={key:1},Ut={class:"accordion",id:"newConfigurationOptionalAccordion"},Kt={class:"accordion-item"},Ot={class:"accordion-header"},Dt={class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Et={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},qt={class:"accordion-body d-flex flex-column gap-3"},Rt={class:"card rounded-3"},Vt={class:"card-header"},Ht={class:"card-body"},Mt=["id","onUpdate:modelValue"],Ft={class:"card rounded-3"},Gt={class:"card-header"},Bt={class:"card-body"},Wt=["id","onUpdate:modelValue"],zt=["disabled"],Jt={key:0,class:"d-flex w-100"},jt={key:1,class:"d-flex w-100"},Zt={key:2,class:"d-flex w-100 align-items-center"};function Qt(o,t,s,f,l,d){const b=O("RouterLink"),u=O("LocaleText"),S=O("NewConfigurationTemplates");return n(),a("div",Ge,[e("div",Be,[e("div",We,[r(b,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:Y(()=>[...t[12]||(t[12]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])]),_:1}),e("h2",ze,[r(u,{t:"New Configuration"})]),e("div",Je,[e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[0]||(t[0]=i=>d.openFileUpload()),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-upload me-2"},null,-1)),r(u,{t:"Open File"})]),t[14]||(t[14]=e("input",{type:"file",id:"fileUpload",multiple:"",class:"d-none",accept:"text/plain"},null,-1))])]),e("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[11]||(t[11]=i=>{i.preventDefault(),this.saveNewConfiguration()})},[e("div",je,[e("div",Ze,[r(u,{t:"Protocol"})]),e("div",Qe,[this.protocols.includes("wg")?(n(),a("a",{key:0,onClick:t[1]||(t[1]=i=>this.newConfiguration.Protocol="wg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="wg"},"btn btn-primary wireguardBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="wg"?(n(),a("i",Xe)):(n(),a("i",Ye)),t[15]||(t[15]=e("strong",null," WireGuard ",-1))],2)):I("",!0),this.protocols.includes("awg")?(n(),a("a",{key:1,onClick:t[2]||(t[2]=i=>this.newConfiguration.Protocol="awg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="awg"},"btn btn-primary amneziawgBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="awg"?(n(),a("i",et)):(n(),a("i",tt)),t[16]||(t[16]=e("strong",null," AmneziaWG ",-1))],2)):I("",!0)])]),e("div",st,[e("div",ot,[r(u,{t:"Configuration Name"})]),e("div",nt,[y(e("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[3]||(t[3]=i=>this.newConfiguration.ConfigurationName=i),disabled:this.loading,required:""},null,8,it),[[P,this.newConfiguration.ConfigurationName]]),e("div",at,[this.error?(n(),a("div",lt,_(this.errorMessage),1)):(n(),a("div",rt,[r(u,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",dt,[e("li",null,[r(u,{t:"Configuration name already exist."})]),e("li",null,[r(u,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])])]),e("div",ut,[e("div",ct,[r(u,{t:"Private Key"}),t[17]||(t[17]=U(" & ",-1)),r(u,{t:"Public Key"})]),e("div",pt,[e("div",mt,[e("label",ft,[e("small",null,[r(u,{t:"Private Key"})])]),e("div",bt,[y(e("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[4]||(t[4]=i=>this.newConfiguration.PrivateKey=i)},null,8,vt),[[P,this.newConfiguration.PrivateKey]]),e("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[5]||(t[5]=i=>d.wireguardGenerateKeypair())},[...t[18]||(t[18]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])])])]),e("div",null,[e("label",gt,[e("small",null,[r(u,{t:"Public Key"})])]),y(e("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[6]||(t[6]=i=>this.newConfiguration.PublicKey=i),disabled:""},null,512),[[P,this.newConfiguration.PublicKey]])])])]),r(S,{onSubnet:t[7]||(t[7]=i=>this.newConfiguration.Address=i),onPort:t[8]||(t[8]=i=>this.newConfiguration.ListenPort=i)}),e("div",ht,[e("div",yt,[r(u,{t:"Listen Port"})]),e("div",wt,[y(e("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[9]||(t[9]=i=>this.newConfiguration.ListenPort=i),disabled:this.loading,required:""},null,8,_t),[[P,this.newConfiguration.ListenPort]]),e("div",Ct,[this.error?(n(),a("div",Pt,_(this.errorMessage),1)):(n(),a("div",xt,[r(u,{t:"Invalid port"})]))])])]),e("div",St,[e("div",$t,[r(u,{t:"IP Address/CIDR"}),e("span",Lt,[r(u,{t:l.numberOfAvailableIPs+" Available IP Address"},null,8,["t"])])]),e("div",kt,[y(e("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[10]||(t[10]=i=>this.newConfiguration.Address=i),disabled:this.loading,required:""},null,8,It),[[P,this.newConfiguration.Address]]),e("div",Tt,[this.error?(n(),a("div",At,_(this.errorMessage),1)):(n(),a("div",Nt," IP Address/CIDR is invalid "))])])]),t[23]||(t[23]=e("hr",null,null,-1)),e("div",Ut,[e("div",Kt,[e("h2",Ot,[e("button",Dt,[r(u,{t:"Optional Settings"})])]),e("div",Et,[e("div",qt,[(n(),a(T,null,A(["Table","PreUp","PreDown","PostUp","PostDown"],i=>e("div",Rt,[e("div",Vt,_(i),1),e("div",Ht,[y(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Mt),[[P,this.newConfiguration[i]]])])])),64)),this.newConfiguration.Protocol==="awg"?(n(),a(T,{key:0},A(["Jc","Jmin","Jmax","S1","S2","S3","S4","H1","H2","H3","H4","I1","I2","I3","I4","I5"],i=>e("div",Ft,[e("div",Gt,_(i),1),e("div",Bt,[y(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Wt),[[P,this.newConfiguration[i]]])])])),64)):I("",!0)])])])]),e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit||this.loading||this.success},[this.success?(n(),a("span",Jt,[r(u,{t:"Success"}),t[19]||(t[19]=U("! ",-1)),t[20]||(t[20]=e("i",{class:"bi bi-check-circle-fill ms-2"},null,-1))])):this.loading?(n(),a("span",Zt,[r(u,{t:"Saving..."}),t[22]||(t[22]=e("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1))])):(n(),a("span",jt,[t[21]||(t[21]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),r(u,{t:"Save"})]))],8,zt)],32)])])}const ss=X(Fe,[["render",Qt],["__scopeId","data-v-14fcf0ee"]]);export{ss as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/osmap-VxPm4_Yh.js b/src/static/dist/WGDashboardAdmin/assets/osmap-BMy-ioUU.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/osmap-VxPm4_Yh.js rename to src/static/dist/WGDashboardAdmin/assets/osmap-BMy-ioUU.js index f89da9f5..44ba7f0e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/osmap-VxPm4_Yh.js +++ b/src/static/dist/WGDashboardAdmin/assets/osmap-BMy-ioUU.js @@ -1 +1 @@ -import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-CuSZivra.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-DXzxfcZW.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; +import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-CuSZivra.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-DM7YJCOo.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-DYVvA8h_.js b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-DYVvA8h_.js deleted file mode 100644 index b383dce1..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-DYVvA8h_.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as b,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,I as F,d as g,G as B,r as L,$ as T,g as V,L as G,E as R,q as D,H as q,j as K,z as W}from"./index-DXzxfcZW.js";import{L as p}from"./localeText-Dmcj5qqx.js";const J={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},z={for:"peer_endpoint_allowed_ips",class:"form-label"},H={class:"text-muted"},Q=["disabled"];function Y(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("label",z,[e("small",H,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-3",{"is-invalid":u.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Q),[[f,this.endpointAllowedIps]])])}const Z=k(J,[["render",Y]]),X={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),r=L("");return Object.keys(l.availableIp).length>0&&(r.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:r}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return B("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},ee={class:"d-flex flex-column flex-md-row mb-2"},te={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},se={class:"text-muted"},ae={class:"form-check form-switch ms-md-auto"},le={class:"form-check-label",for:"disableIPValidation"},oe={class:"d-flex"},ie=["onClick"],de={class:"d-flex gap-2 align-items-center"},ne={class:"input-group"},re=["placeholder","disabled"],ue=["disabled"],ce={class:"text-muted"},pe={class:"dropdown flex-grow-1"},he=["disabled"],be={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},_e={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},ve=["onClick"],fe={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ye={class:"me-auto"},ge={key:0,class:"px-3 py-2"},we={key:0,class:"text-muted"},xe={key:1,class:"text-muted"};function $e(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("div",ee,[e("label",te,[e("small",se,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ae,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",le,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",oe,[e("div",{class:b(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(E,{name:"list"},{default:j(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},[...t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)])],8,ie)]))),128))]),_:1})],2)]),e("div",de,[e("div",ne,[h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>u.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,re),[[f,u.customAvailableIp]]),e("button",{class:b(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},[...t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)])],10,ue)]),e("small",ce,[o(s,{t:"or"})]),e("div",pe,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",be,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",_e,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:b([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,ve))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",fe,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ye,[e("small",null,S(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",ge,[this.availableIpSearchString?(i(),d("small",we,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",xe,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ie=k(X,[["render",$e],["__scopeId","data-v-ed72944d"]]),Ae={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Pe={for:"peer_DNS_textbox",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"];function Ce(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("label",Pe,[e("small",Se,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ke),[[f,this.dns]])])}const Le=k(Ae,[["render",Ce]]),Oe={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},Ne={for:"peer_name_textbox",class:"form-label"},Te={class:"text-muted"},De=["disabled"];function Be(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("label",Ne,[e("small",Te,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,De),[[f,this.data.name]])],2)}const Ve=k(Oe,[["render",Be]]),Me={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ue={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Ee={class:"input-group"},Fe=["type","disabled"],Ge=["disabled"],Re={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},We={class:"text-muted"},Je={class:"form-check form-switch ms-md-auto"},ze=["disabled"],He={class:"form-check-label",for:"enablePublicKeyEdit"},Qe=["disabled","type"];function Ye(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",{class:b(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ue,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:b(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Ee,[h(e("input",{type:this.view?"text":"password",class:b(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[T,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},[...t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])],8,Ge)):g("",!0)])]),e("div",null,[e("div",Re,[e("label",qe,[e("small",We,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",Je,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,ze),[[A,this.editKey]]),e("label",He,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:b(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Qe),[[T,this.keypair.publicKey]])])],2)}const Ze=k(Me,[["render",Ye]]),Xe={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return B("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&V("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},et={class:"form-check form-switch"},tt=["disabled"],st={class:"form-check-label me-2",for:"bulk_add"},at={class:"text-muted d-block"},lt={key:0,class:"form-group"},ot=["max","placeholder"],it={class:"text-muted"};function dt(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("div",et,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,tt),[[A,this.data.bulkAdd]]),e("label",st,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:b({"mb-0":!this.data.bulkAdd})},[e("small",at,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",lt,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,ot),[[f,this.data.bulkAddAmount]]),e("small",it,[o(s,{t:"You can add up to "+_.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const nt=k(Xe,[["render",dt]]),rt={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ut={class:"d-flex align-items-start"},ct={for:"peer_preshared_key_textbox",class:"form-label"},pt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},bt=["disabled"];function mt(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("div",ut,[e("label",ct,[e("small",pt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,bt),[[f,this.data.preshared_key]])])}const _t=k(rt,[["render",mt]]),vt={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},ft={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},yt=["disabled"];function gt(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("label",ft,[e("small",kt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,yt),[[f,this.data.mtu]])])}const wt=k(vt,[["render",gt]]),xt={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},$t={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},At=["disabled"];function Pt(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",null,[e("label",$t,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,At),[[f,this.data.keepalive]])])}const St=k(xt,[["render",Pt]]),Kt={name:"notesInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},Ct={for:"peer_notes_textbox",class:"form-label"},Lt={class:"text-muted"},Ot=["disabled"];function Nt(l,t,n,r,u,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("label",Ct,[e("small",Lt,[o(s,{t:"Notes"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.notes=a),id:"peer_notes_textbox",placeholder:""},null,8,Ot),[[f,this.data.notes]])],2)}const Tt=k(Kt,[["render",Nt]]),Dt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Bt={class:"container d-flex h-100 w-100"},Vt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Mt={class:"card rounded-3 shadow flex-grow-1"},Ut={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},jt={class:"mb-0"},Et={class:"card-body px-4 pb-4"},Ft={class:"d-flex flex-column gap-2"},Gt={class:"accordion mb-3",id:"peerAddModalAccordion"},Rt={class:"accordion-item"},qt={class:"accordion-header"},Wt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Jt={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},zt={class:"accordion-body rounded-bottom-3"},Ht={class:"d-flex flex-column gap-2"},Qt={class:"row gy-3"},Yt={key:0,class:"col-sm"},Zt={class:"col-sm"},Xt={class:"col-sm"},es={key:1,class:"col-12"},ts={class:"form-check form-switch"},ss={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},as={class:"fw-bold"},ls={class:"d-flex mt-2"},os=["disabled"],is={key:0,class:"bi bi-plus-circle-fill me-2"},rs={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),_=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:u.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:u.Configuration.Peers.peer_endpoint_allowed_ip,notes:"",keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>V("/api/getAvailableIPs/"+P.params.id,{},v=>{v.status&&(a.value=v.data)})),await n,r();const N=t;D(()=>_.Configurations.find(v=>v.Name===P.params.id).Protocol);const M=D(()=>{let v=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(v=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(v=!1)}),v}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,v=>{v.status?(u.newMessage("Server","Peer created successfully","success"),N("addedPeers")):u.newMessage("Server",v.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(v,m)=>(i(),d("div",Dt,[e("div",Bt,[e("div",Vt,[e("div",Mt,[e("div",Ut,[e("h4",jt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:m[0]||(m[0]=x=>N("close"))})]),e("div",Et,[e("div",Ft,[o(nt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[m[3]||(m[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Ve,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Tt,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ze,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ie,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),m[5]||(m[5]=e("hr",null,null,-1)),e("div",Gt,[e("div",Rt,[e("h2",qt,[e("button",Wt,[o(p,{t:"Advanced Options"})])]),e("div",Jt,[e("div",zt,[e("div",Ht,[o(Le,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Z,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Qt,[s.value.bulkAdd?g("",!0):(i(),d("div",Yt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Zt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Xt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",es,[e("div",ts,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":m[1]||(m[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",ss,[e("small",as,[o(p,{t:"Pre-Shared Key"}),m[4]||(m[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",ls,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:m[2]||(m[2]=x=>U())},[c.value?g("",!0):(i(),d("i",is)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,os)])])])])])],512))}};export{rs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-OeLCdC_5.js b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-OeLCdC_5.js new file mode 100644 index 00000000..152efbbb --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-OeLCdC_5.js @@ -0,0 +1 @@ +import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as b,W as $,D as I,v as A,w as E,F as C,i as O,t as S,T as j,I as F,d as g,G as D,r as L,$ as B,g as V,L as G,E as R,q as T,H as q,u as W,j as K,z as J}from"./index-DM7YJCOo.js";import{L as p}from"./localeText-BJvnc1lF.js";const z={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},H={for:"peer_endpoint_allowed_ips",class:"form-label"},Q={class:"text-muted"},Y=["disabled"];function Z(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("label",H,[e("small",Q,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-3",{"is-invalid":r.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Y),[[f,this.endpointAllowedIps]])])}const X=k(z,[["render",Z]]),ee={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),u=L("");return Object.keys(l.availableIp).length>0&&(u.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:u}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return D("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},te={class:"d-flex flex-column flex-md-row mb-2"},se={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},ae={class:"text-muted"},le={class:"form-check form-switch ms-md-auto"},oe={class:"form-check-label",for:"disableIPValidation"},ie={class:"d-flex"},de=["onClick"],ne={class:"d-flex gap-2 align-items-center"},re={class:"input-group"},ue=["placeholder","disabled"],ce=["disabled"],pe={class:"text-muted"},he={class:"dropdown flex-grow-1"},be=["disabled"],me={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},_e={class:"px-3 d-flex gap-3 align-items-center"},ve={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},fe=["onClick"],ke={class:"overflow-y-scroll",style:{height:"270px"}},ye=["onClick"],ge={class:"me-auto"},we={key:0,class:"px-3 py-2"},xe={key:0,class:"text-muted"},$e={key:1,class:"text-muted"};function Ie(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("div",te,[e("label",se,[e("small",ae,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",le,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",oe,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",ie,[e("div",{class:b(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(j,{name:"list"},{default:E(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},[...t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)])],8,de)]))),128))]),_:1})],2)]),e("div",ne,[e("div",re,[h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>r.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,ue),[[f,r.customAvailableIp]]),e("button",{class:b(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},[...t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)])],10,ce)]),e("small",pe,[o(s,{t:"or"})]),e("div",he,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,be),this.availableIp?(i(),d("ul",me,[e("li",null,[e("div",_e,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",ve,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:b([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,fe))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",ke,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ge,[e("small",null,S(a),1)])],8,ye)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",we,[this.availableIpSearchString?(i(),d("small",xe,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",$e,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ae=k(ee,[["render",Ie],["__scopeId","data-v-ed72944d"]]),Pe={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Se={for:"peer_DNS_textbox",class:"form-label"},Ke={class:"text-muted"},Ce=["disabled"];function Le(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("label",Se,[e("small",Ke,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:b(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ce),[[f,this.dns]])])}const Oe=k(Pe,[["render",Le]]),Ne={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},Be={for:"peer_name_textbox",class:"form-label"},Te={class:"text-muted"},De=["disabled"];function Ve(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("label",Be,[e("small",Te,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,De),[[f,this.data.name]])],2)}const Me=k(Ne,[["render",Ve]]),Ue={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ee={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Fe={class:"input-group"},Ge=["type","disabled"],Re=["disabled"],qe={class:"d-flex flex-column flex-md-row mb-2"},We={for:"public_key",class:"form-label mb-0"},Je={class:"text-muted"},ze={class:"form-check form-switch ms-md-auto"},He=["disabled"],Qe={class:"form-check-label",for:"enablePublicKeyEdit"},Ye=["disabled","type"];function Ze(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",{class:b(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ee,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:b(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Fe,[h(e("input",{type:this.view?"text":"password",class:b(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Ge),[[B,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},[...t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])],8,Re)):g("",!0)])]),e("div",null,[e("div",qe,[e("label",We,[e("small",Je,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ze,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,He),[[A,this.editKey]]),e("label",Qe,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:b(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Ye),[[B,this.keypair.publicKey]])])],2)}const Xe=k(Ue,[["render",Ze]]),et={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return D("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&V("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},tt={class:"form-check form-switch"},st=["disabled"],at={class:"form-check-label me-2",for:"bulk_add"},lt={class:"text-muted d-block"},ot={key:0,class:"form-group"},it=["max","placeholder"],dt={class:"text-muted"};function nt(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("div",tt,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,st),[[A,this.data.bulkAdd]]),e("label",at,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:b({"mb-0":!this.data.bulkAdd})},[e("small",lt,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",ot,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,it),[[f,this.data.bulkAddAmount]]),e("small",dt,[o(s,{t:"You can add up to "+_.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const rt=k(et,[["render",nt]]),ut={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,defaultEnabled:Boolean},data(){return{enable:!1}},mounted(){(!!(this.data&&this.data.preshared_key&&this.data.preshared_key.length>0)||this.defaultEnabled)&&(this.enable=!0)},watch:{enable(){this.enable?this.data.preshared_key||(this.data.preshared_key=window.wireguard.generateKeypair().presharedKey):this.data.preshared_key=""}}},ct={class:"d-flex align-items-start"},pt={for:"peer_preshared_key_textbox",class:"form-label"},ht={class:"text-muted"},bt={class:"form-check form-switch ms-auto"},mt=["disabled"];function _t(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("div",ct,[e("label",pt,[e("small",ht,[o(s,{t:"Pre-Shared Key"})])]),e("div",bt,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,mt),[[f,this.data.preshared_key]])])}const vt=k(ut,[["render",_t]]),ft={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},kt={for:"peer_mtu",class:"form-label"},yt={class:"text-muted"},gt=["disabled"];function wt(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("label",kt,[e("small",yt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,gt),[[f,this.data.mtu]])])}const xt=k(ft,[["render",wt]]),$t={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},It={for:"peer_keep_alive",class:"form-label"},At={class:"text-muted"},Pt=["disabled"];function St(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",null,[e("label",It,[e("small",At,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,Pt),[[f,this.data.keepalive]])])}const Kt=k($t,[["render",St]]),Ct={name:"notesInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},Lt={for:"peer_notes_textbox",class:"form-label"},Ot={class:"text-muted"},Nt=["disabled"];function Bt(l,t,n,u,r,_){const s=y("LocaleText");return i(),d("div",{class:b({inactiveField:this.bulk})},[e("label",Lt,[e("small",Ot,[o(s,{t:"Notes"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.notes=a),id:"peer_notes_textbox",placeholder:""},null,8,Nt),[[f,this.data.notes]])],2)}const Tt=k(Ct,[["render",Bt]]),Dt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Vt={class:"container d-flex h-100 w-100"},Mt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ut={class:"card rounded-3 shadow flex-grow-1"},Et={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},jt={class:"mb-0"},Ft={class:"card-body px-4 pb-4"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"accordion mb-3",id:"peerAddModalAccordion"},qt={class:"accordion-item"},Wt={class:"accordion-header"},Jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},zt={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ht={class:"accordion-body rounded-bottom-3"},Qt={class:"d-flex flex-column gap-2"},Yt={class:"row gy-3"},Zt={key:0,class:"col-sm"},Xt={class:"col-sm"},es={class:"col-sm"},ts={key:1,class:"col-12"},ss={class:"form-check form-switch"},as={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},ls={class:"fw-bold"},os={class:"d-flex mt-2"},is=["disabled"],ds={key:0,class:"bi bi-plus-circle-fill me-2"},us={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,u;const r=I(),_=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:r.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:r.Configuration.Peers.peer_endpoint_allowed_ip,notes:"",keepalive:parseInt(r.Configuration.Peers.peer_keep_alive),mtu:parseInt(r.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!!r.Configuration.Peers.peer_preshared_key_default,allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,u]=R(()=>V("/api/getAvailableIPs/"+P.params.id,{},v=>{v.status&&(a.value=v.data)})),await n,u();const N=t;T(()=>_.Configurations.find(v=>v.Name===P.params.id).Protocol);const M=T(()=>{let v=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(v=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(v=!1)}),v}),U=()=>{c.value=!0,J("/api/addPeers/"+P.params.id,s.value,v=>{v.status?(r.newMessage("Server","Peer created successfully","success"),N("addedPeers")):r.newMessage("Server",v.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(v,m)=>(i(),d("div",Dt,[e("div",Vt,[e("div",Mt,[e("div",Ut,[e("div",Et,[e("h4",jt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:m[0]||(m[0]=x=>N("close"))})]),e("div",Ft,[e("div",Gt,[o(rt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[m[3]||(m[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Me,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Tt,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Xe,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ae,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),m[5]||(m[5]=e("hr",null,null,-1)),e("div",Rt,[e("div",qt,[e("h2",Wt,[e("button",Jt,[o(p,{t:"Advanced Options"})])]),e("div",zt,[e("div",Ht,[e("div",Qt,[o(Oe,{saving:c.value,data:s.value},null,8,["saving","data"]),o(X,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Yt,[s.value.bulkAdd?g("",!0):(i(),d("div",Zt,[o(vt,{saving:c.value,data:s.value,bulk:s.value.bulkAdd,defaultEnabled:!!W(r).Configuration.Peers.peer_preshared_key_default},null,8,["saving","data","bulk","defaultEnabled"])])),e("div",Xt,[o(xt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",es,[o(Kt,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",ts,[e("div",ss,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":m[1]||(m[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",as,[e("small",ls,[o(p,{t:"Pre-Shared Key"}),m[4]||(m[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",os,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:m[2]||(m[2]=x=>U())},[c.value?g("",!0):(i(),d("i",ds)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,is)])])])])])],512))}};export{us as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-6AiX7tcN.js b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DifkpEnI.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/peerAssignModal-6AiX7tcN.js rename to src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DifkpEnI.js index fc8f68bb..b8cb21c5 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-6AiX7tcN.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DifkpEnI.js @@ -1 +1 @@ -import{L as g}from"./localeText-Dmcj5qqx.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as E,m as G,y as I,j as N,d as w,_ as D,w as P,T as L,E as A}from"./index-DXzxfcZW.js";import{D as C}from"./DashboardClientAssignmentStore-UJ0gvgel.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=E({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),G(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},[...s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)])],2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; +import{L as g}from"./localeText-BJvnc1lF.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as E,m as G,y as I,j as N,d as w,_ as D,w as P,T as L,E as A}from"./index-DM7YJCOo.js";import{D as C}from"./DashboardClientAssignmentStore-Cx8hQRjk.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=E({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),G(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},[...s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)])],2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DYL9iPih.js b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BnkO4W2k.js similarity index 92% rename from src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DYL9iPih.js rename to src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BnkO4W2k.js index ad812e10..834ed0f7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DYL9iPih.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BnkO4W2k.js @@ -1 +1 @@ -import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-DXzxfcZW.js";import{L as T}from"./localeText-Dmcj5qqx.js";import"./browser-DFwZaPoQ.js";import"./galois-field-I2lBzzs-.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,[...e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)])])):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,[...e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)])])):(n(),i("span",$,[...e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])]))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; +import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-DM7YJCOo.js";import{L as T}from"./localeText-BJvnc1lF.js";import"./browser-CUYUHo3j.js";import"./galois-field-I2lBzzs-.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,[...e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)])])):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,[...e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)])])):(n(),i("span",$,[...e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])]))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DoiohEBz.js b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DoiohEBz.js deleted file mode 100644 index aa473ec1..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DoiohEBz.js +++ /dev/null @@ -1 +0,0 @@ -import{L as o}from"./localeText-Dmcj5qqx.js";import{P as t}from"./peersDefaultSettingsInput-KXSGcg6g.js";import{B as s,c as l,a,b as e,f as n}from"./index-DXzxfcZW.js";const r={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},c={class:"my-2"},_={class:"card-body"},D=s({__name:"peerDefaultSettings",setup(p){return(g,m)=>(n(),l("div",r,[a("div",i,[a("div",d,[a("h6",c,[e(o,{t:"Peer Default Settings"})])]),a("div",_,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DwXMLijS.js b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DwXMLijS.js new file mode 100644 index 00000000..ef226cc6 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DwXMLijS.js @@ -0,0 +1 @@ +import{L as r}from"./localeText-BJvnc1lF.js";import{P as t}from"./peersDefaultSettingsInput-n69y01QP.js";import{B as l,c as o,a,b as e,f as s}from"./index-DM7YJCOo.js";const n={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},_={class:"my-2"},c={class:"card-body"},D=l({__name:"peerDefaultSettings",setup(p){return(f,g)=>(s(),o("div",n,[a("div",i,[a("div",d,[a("h6",_,[e(r,{t:"Peer Default Settings"})])]),a("div",c,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"peer_preshared_key_default",title:"Pre-Shared Key Default"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobs-BohMmJ6r.js b/src/static/dist/WGDashboardAdmin/assets/peerJobs-ZmnTraTM.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/peerJobs-BohMmJ6r.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobs-ZmnTraTM.js index 755354cd..028fee9c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobs-BohMmJ6r.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobs-ZmnTraTM.js @@ -1 +1 @@ -import{a as p,S as b}from"./schedulePeerJob-DOBEE-kC.js";import{_ as h,h as i,c as a,f as s,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-DXzxfcZW.js";import{L as w}from"./localeText-Dmcj5qqx.js";import"./vue-datepicker-vren6E8j.js";import"./index-CRsyV-e7.js";import"./dayjs.min-C-brjxlJ.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return s(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=o=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(s(!0),a(_,null,f(this.selectedPeer.jobs,(o,E)=>(s(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(o),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:o.JobID,pjob:o},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(s(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const H=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{H as default}; +import{a as p,S as b}from"./schedulePeerJob-jjF9HAtj.js";import{_ as h,h as i,c as a,f as s,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-DM7YJCOo.js";import{L as w}from"./localeText-BJvnc1lF.js";import"./vue-datepicker-9N8DgATH.js";import"./index-i3npkoSo.js";import"./dayjs.min-DZl6XMNW.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return s(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=o=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(s(!0),a(_,null,f(this.selectedPeer.jobs,(o,E)=>(s(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(o),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:o.JobID,pjob:o},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(s(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const H=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-U6Im7M7I.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-afK2ah32.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-U6Im7M7I.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-afK2ah32.js index d0e81476..a39d259f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-U6Im7M7I.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-afK2ah32.js @@ -1 +1 @@ -import{S as _}from"./schedulePeerJob-DOBEE-kC.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-DXzxfcZW.js";import{L as x}from"./localeText-Dmcj5qqx.js";import"./vue-datepicker-vren6E8j.js";import"./index-CRsyV-e7.js";import"./dayjs.min-C-brjxlJ.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const X=g(J,[["render",W]]);export{X as default}; +import{S as _}from"./schedulePeerJob-jjF9HAtj.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-DM7YJCOo.js";import{L as x}from"./localeText-BJvnc1lF.js";import"./vue-datepicker-9N8DgATH.js";import"./index-i3npkoSo.js";import"./dayjs.min-DZl6XMNW.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const X=g(J,[["render",W]]);export{X as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DK50Rsqo.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DK50Rsqo.js deleted file mode 100644 index 6417affd..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DK50Rsqo.js +++ /dev/null @@ -1 +0,0 @@ -import{d as m}from"./dayjs.min-C-brjxlJ.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-DXzxfcZW.js";import{L as k}from"./localeText-Dmcj5qqx.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,[...t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)])])):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"||o.Status==="true"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"||o.Status==="true"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ",-1)])])):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ",-1)])])):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DdRCnHbg.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DdRCnHbg.js new file mode 100644 index 00000000..91f21711 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DdRCnHbg.js @@ -0,0 +1 @@ +import{d as m}from"./dayjs.min-DZl6XMNW.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-DM7YJCOo.js";import{L as k}from"./localeText-BJvnc1lF.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/PeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,[...t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)])])):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"||o.Status==="true"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"||o.Status==="true"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ",-1)])])):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ",-1)])])):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerList-Dmgo6XiS.js b/src/static/dist/WGDashboardAdmin/assets/peerList-CPiA0nLD.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerList-Dmgo6XiS.js rename to src/static/dist/WGDashboardAdmin/assets/peerList-CPiA0nLD.js index 23fadb52..ad48d2f8 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerList-Dmgo6XiS.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerList-CPiA0nLD.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./peerAssignModal-6AiX7tcN.js","./localeText-Dmcj5qqx.js","./index-DXzxfcZW.js","./index-DOyBHXAH.css","./DashboardClientAssignmentStore-UJ0gvgel.js","./peerAssignModal--_bmFbmn.css","./peerShareLinkModal-DxuNjkHr.js","./dayjs.min-C-brjxlJ.js","./vue-datepicker-vren6E8j.js","./index-CRsyV-e7.js","./peerShareLinkModal-GoWqB_pD.css","./peerJobs-BohMmJ6r.js","./schedulePeerJob-DOBEE-kC.js","./schedulePeerJob-DUtdD062.css","./peerJobs-D_dDl936.css","./peerQRCode-9EMvi21e.js","./browser-DFwZaPoQ.js","./galois-field-I2lBzzs-.js","./peerQRCode-BmkCjxyX.css","./peerConfigurationFile-DYL9iPih.js","./peerConfigurationFile-Z9ms5mIx.css","./peerSettings-BaolbZx6.js","./peerSettings-DxOHL3dW.css","./peerSearchBar-CA_ypq6G.js","./peerSearchBar-Dtpovmxo.css","./peerJobsAllModal-U6Im7M7I.js","./peerJobsLogsModal-DK50Rsqo.js","./editConfiguration-DAk3sv1F.js","./editConfiguration-CJDa1AqT.css","./selectPeers-B0fPm0MS.js","./selectPeers-ChWyERy7.css","./peerAddModal-DYVvA8h_.js","./peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); -import{r as q,L as $e,D as oe,o as ne,H as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as T,d as O,t as S,g as ee,B as U,W as ie,m as de,n as B,s as pe,y as ke,F,i as G,_ as K,J as _e,v as Pe,w as W,j as I,T as me,k as ae,A as ze,z as X,h as le,e as E,M as V,N as J,O as Ce,E as He,S as Ye}from"./index-DXzxfcZW.js";import{_ as Ge}from"./protocolBadge-BttcwGux.js";import{L as x}from"./localeText-Dmcj5qqx.js";import{C as Se,L as De,B as Oe,a as qe,b as Me,c as Ie,p as Te,d as je,e as Be,f as Ae,P as Le,i as Re,h as Ve,g as ge}from"./index-Bf88kmMW.js";import{d as Q}from"./dayjs.min-C-brjxlJ.js";import{o as Je}from"./index-CRsyV-e7.js";import{M as Ue,V as We,k as be,T as Qe,O as Ke,n as Ze,F as we,P as Xe,o as et,p as tt,C as lt,q as st,r as ot,s as it}from"./Vector-CuSZivra.js";import{p as at}from"./index-Bno8fcdN.js";const nt={class:"row gx-2 gy-2 mb-3"},rt={class:"col-12"},dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},ct={class:"card-header bg-transparent border-0"},ut={class:"text-muted"},ft={class:"card-body pt-1"},pt={class:"col-sm col-lg-6"},mt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},gt={class:"card-header bg-transparent border-0 d-flex align-items-center"},ht={class:"text-muted"},bt={key:0,class:"text-primary fw-bold ms-auto"},vt={class:"card-body pt-1"},kt={class:"col-sm col-lg-6"},wt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},yt={class:"card-header bg-transparent border-0 d-flex align-items-center"},xt={class:"text-muted"},$t={key:0,class:"text-success fw-bold ms-auto"},_t={class:"card-body pt-1"},Pt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Ae,Le,Re);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),m=$e(),r=oe(),u=q(void 0),_=async()=>{await ee("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:m.params.id},D=>{let b=Q().format("hh:mm:ss A");(D.data.sent!==0&&D.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(D.data.sent),s.value.timestamp.push(b),s.value.data.push(D.data.recv))})},g=()=>{clearInterval(u.value),u.value=void 0,t.configurationInfo.Status&&(u.value=setInterval(()=>{_()},parseInt(r.Configuration.Server.dashboard_refresh_interval)))};ne(()=>{g()}),se(()=>t.configurationInfo.Status,()=>{g()}),se(()=>r.Configuration.Server.dashboard_refresh_interval,()=>{g()}),re(()=>{clearInterval(u.value),u.value=void 0});const d=N(()=>{let D=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:D.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:D.map(b=>b.cumu_data+b.total_data),backgroundColor:D.map(b=>"#ffc107"),tooltip:{callbacks:{label:b=>`${b.formattedValue} GB`}}}]}}),f=N(()=>({labels:[...a.value.timestamp],datasets:[{label:H("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=N(()=>({labels:[...s.value.timestamp],datasets:[{label:H("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),w=N(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(D,b)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:D=>`${D.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(D,b)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(D,b)=>(o(),c("div",nt,[e("div",rt,[e("div",dt,[e("div",ct,[e("small",ut,[n(x,{t:"Peers Data Usage"})])]),e("div",ft,[n(T(Ve),{data:d.value,options:w.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",pt,[e("div",mt,[e("div",gt,[e("small",ht,[n(x,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),c("small",bt,S(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(T(ge),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",kt,[e("div",wt,[e("div",yt,[e("small",xt,[n(x,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),c("small",$t,S(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(T(ge),{options:$.value,data:f.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Ct=61698,St=61705,Dt=61707,Ot=61709,qt=61777,Mt=61778,It=61780,Tt=61781,jt=61785,Bt=61817,At=61824,Lt=61826,Rt=61828,Nt=61832,Et=61834,Ft=61835,zt=61836,Ht=61837,Yt=61839,Gt=61844,Vt=61858,Jt=61860,Ut=61861,Wt=61864,Qt=61876,Kt=61896,Zt=61897,Xt=61898,el=61900,tl=61910,ll=61912,sl=61914,ol=61916,il=61917,al=61918,nl=61920,rl=61942,dl=61964,cl=61972,ul=61976,fl=61984,pl=61985,ml=61987,gl=62018,hl=62019,bl=62020,vl=62021,kl=62023,wl=62024,yl=62056,xl=62062,$l=62066,_l=62090,Pl=62096,Cl=62099,Sl=62145,Dl=62147,Ol=62149,ql=62152,Ml=62156,Il=62158,Tl=62159,jl=62161,Bl=62163,Al=62164,Ll=62166,Rl=62173,Nl=62176,El=62179,Fl=62186,zl=62193,Hl=62207,Yl=62208,Gl=62210,Vl=62217,Jl=62218,Ul=62221,Wl=62222,Ql=62224,Kl=62227,Zl=62229,Xl=62255,es=62257,ts=62268,ls=62269,ss=62273,os=62274,is=62275,as=62276,ns=62400,rs=62402,ds=62403,cs=62410,us=62412,fs=62413,ps=62414,ms=62415,gs=62423,hs=62425,bs=62426,vs=62428,ks=62429,ws=62431,ys=62433,xs=62437,$s=62438,_s=62442,Ps=62444,Cs=62445,Ss=62446,Ds=62447,Os=62448,qs=62460,Ms=62463,Is=62473,Ts=62474,js=62482,Bs=62483,As=62484,Ls=62487,Rs=62490,Ns=62493,Es=62497,Fs=62501,zs=62502,Hs=62503,Ys=62506,Gs=62507,Vs=62509,Js=62511,Us=62516,Ws=62519,Qs=62520,Ks=62534,Zs=62535,Xs=62536,eo=62539,to=62541,lo=62543,so=62545,oo=62546,io=62548,ao=62550,no=62555,ro=62571,co=62575,uo=62577,fo=62578,po=62585,mo=62587,go=62588,ho=62589,bo=62591,vo=62593,ko=62594,wo=62596,yo=62608,xo=62610,$o=62611,_o=62615,Po=62617,Co=62619,So=62621,Do=62627,Oo=62633,qo=62636,Mo=62637,Io=62638,To=62641,jo=62642,Bo=62643,Ao=62644,Lo=62660,Ro=62662,No=62664,Eo=62667,Fo=62670,zo=62672,Ho=62673,Yo=62689,Go=62695,Vo=62701,Jo=62703,Uo=62709,Wo=62711,Qo=62718,Ko=62719,Zo=62721,Xo=62723,ei=62732,ti=62733,li=62735,si=62746,oi=62748,ii=62752,ai=62754,ni=62755,ri=62757,di=62759,ci=62760,ui=62761,fi=62762,pi=62764,mi=62766,gi=62783,hi=62785,bi=62787,vi=62788,ki=62794,wi=62796,yi=62821,xi=62826,$i=62827,_i=62828,Pi=62829,Ci=62830,Si=62831,Di=62844,Oi=62846,qi=62847,Mi=62848,Ii=62849,Ti=62852,ji=62853,Bi=62856,Ai=62857,Li=62859,Ri=62861,Ni=62867,Ei=62869,Fi=62871,zi=62872,Hi=62882,Yi=62883,Gi=62885,Vi=62887,Ji=62890,Ui=62894,Wi=62896,Qi=62898,Ki=62899,Zi=62913,Xi=62915,ea=62924,ta=62930,la=62937,sa=62938,oa=62939,ia=62940,aa=62942,na=62944,ra=62946,da=62949,ca=62951,ua=62954,fa=62955,pa=62957,ma=62958,ga=62959,ha=62967,ba=62973,va=62974,ka=62976,wa=62978,ya=62979,xa=62984,$a=62985,_a=62994,Pa=62996,Ca=62997,Sa=62998,Da=62999,Oa=63e3,qa=63004,Ma=63005,Ia=63008,Ta=63009,ja=63018,Ba=63019,Aa=63022,La=63023,Ra=63028,Na=63047,Ea=63048,Fa=63055,za=63056,Ha=63059,Ya=63062,Ga=63064,Va=63066,Ja=63067,Ua=63069,Wa=63070,Qa=63068,Ka=63071,Za=63072,Xa=63073,en=63074,tn=63075,ln=63076,sn=63077,on=63078,an=63080,nn=63081,rn=63082,dn=63083,cn=63085,un=63087,fn=63088,pn=63089,mn=63092,gn=63093,hn=63099,bn=63101,vn=63105,kn=63106,wn=63108,yn=63109,xn=63111,$n=63113,_n=63132,Pn=63133,Cn=63134,Sn=63137,Dn=63144,On=63145,qn=63148,Mn=63151,In=63152,Tn=63153,jn=63168,Bn=63169,An=63179,Ln=63180,Rn=63188,Nn=63189,En=63191,Fn=63198,zn=63201,Hn=63203,Yn=63205,Gn=63207,Vn=63212,Jn=63216,Un=63230,Wn=63241,Qn=63245,Kn=63283,Zn=63345,Xn=63346,er=63348,tr=63351,lr=63353,sr=63357,or=63361,ir=63365,ar=63369,nr=63371,rr=63372,dr=63373,cr=63437,ur=63438,fr=63439,pr=63440,mr=63441,gr=63455,hr=63459,br=63469,vr=63478,kr=63486,wr=63488,yr=63497,xr=63498,$r=63499,_r=63507,Pr=63513,Cr=63522,Sr=63523,Dr=63524,Or=63527,qr=63528,Mr=63529,Ir=63530,Tr=63558,jr=63559,Br=63560,Ar=63561,Lr=63562,Rr=63565,Nr=63613,Er=63659,Fr=63662,zr=63684,Hr=63686,Yr=63687,Gr=63692,Vr=63114,Jr=63117,Ur=63138,Wr=63158,Qr=63170,Kr=63200,Zr=63213,Xr=63214,ed=63321,td=63337,ld=63380,sd=63423,od=63428,id=63448,ad=63460,nd=63461,rd=63480,dd=63500,cd=63501,ud=63695,fd=63702,pd=63703,md=63705,gd=63706,hd=63712,bd=63714,vd=63716,kd=63718,wd=63719,yd=63723,xd=63724,$d=63726,_d=63728,Pd=63733,Cd=63740,Sd=63744,Dd=63746,Od=63747,qd=63481,Md=63748,Id=63750,Td=63754,jd=63756,Bd=63760,Ad=63762,Ld=63764,Rd=63765,Nd=63766,Ed=63767,Fd=63768,zd=63769,ve={123:63103,"alarm-fill":61697,alarm:Ct,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:St,"app-indicator":61706,app:Dt,"archive-fill":61708,archive:Ot,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:qt,at:Mt,"award-fill":61779,award:It,back:Tt,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:jt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Bt,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:At,"basket2-fill":61825,basket2:Lt,"basket3-fill":61827,basket3:Rt,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Nt,"bell-fill":61833,bell:Et,bezier:Ft,bezier2:zt,bicycle:Ht,"binoculars-fill":61838,binoculars:Yt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Gt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:Vt,"bookmarks-fill":61859,bookmarks:Jt,bookshelf:Ut,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:Wt,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:Qt,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:Kt,braces:Zt,bricks:Xt,"briefcase-fill":61899,briefcase:el,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:tl,"brush-fill":61911,brush:ll,"bucket-fill":61913,bucket:sl,"bug-fill":61915,bug:ol,building:il,bullseye:al,"calculator-fill":61919,calculator:nl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:rl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:dl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:cl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:ul,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:fl,camera2:pl,"capslock-fill":61986,capslock:ml,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:gl,cart2:hl,cart3:bl,cart4:vl,"cash-stack":62022,cash:kl,cast:wl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:yl,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:xl,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:$l,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:_l,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Pl,"clock-fill":62097,"clock-history":62098,clock:Cl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Sl,"clouds-fill":62146,clouds:Dl,"cloudy-fill":62148,cloudy:Ol,"code-slash":62150,"code-square":62151,code:ql,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:Ml,"columns-gap":62157,columns:Il,command:Tl,"compass-fill":62160,compass:jl,"cone-striped":62162,cone:Bl,controller:Al,"cpu-fill":62165,cpu:Ll,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Rl,"cup-fill":62174,"cup-straw":62175,cup:Nl,"cursor-fill":62177,"cursor-text":62178,cursor:El,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Fl,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:zl,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Hl,discord:Yl,"display-fill":62209,display:Gl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:Vl,download:Jl,"droplet-fill":62219,"droplet-half":62220,droplet:Ul,earbuds:Wl,"easel-fill":62223,easel:Ql,"egg-fill":62225,"egg-fried":62226,egg:Kl,"eject-fill":62228,eject:Zl,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:Xl,"eraser-fill":62256,eraser:es,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ts,exclude:ls,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:ss,eyedropper:os,eyeglasses:is,facebook:as,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:ns,"files-alt":62401,files:rs,film:ds,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:cs,"flag-fill":62411,flag:us,flower1:fs,flower2:ps,flower3:ms,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:gs,"folder2-open":62424,folder2:hs,fonts:bs,"forward-fill":62427,forward:vs,front:ks,"fullscreen-exit":62430,fullscreen:ws,"funnel-fill":62432,funnel:ys,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:xs,gem:$s,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:_s,"gift-fill":62443,gift:Ps,github:Cs,globe:Ss,globe2:Ds,google:Os,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:qs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Ms,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Is,hash:Ts,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:js,headphones:Bs,headset:As,"heart-fill":62485,"heart-half":62486,heart:Ls,"heptagon-fill":62488,"heptagon-half":62489,heptagon:Rs,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Ns,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Es,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Fs,hr:zs,hurricane:Hs,"image-alt":62504,"image-fill":62505,image:Ys,images:Gs,"inbox-fill":62508,inbox:Vs,"inboxes-fill":62510,inboxes:Js,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:Us,"input-cursor-text":62517,"input-cursor":62518,instagram:Ws,intersect:Qs,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:Ks,journals:Zs,joystick:Xs,"justify-left":62537,"justify-right":62538,justify:eo,"kanban-fill":62540,kanban:to,"key-fill":62542,key:lo,"keyboard-fill":62544,keyboard:so,ladder:oo,"lamp-fill":62547,lamp:io,"laptop-fill":62549,laptop:ao,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:no,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:ro,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:co,"link-45deg":62576,link:uo,linkedin:fo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:po,"lock-fill":62586,lock:mo,mailbox:go,mailbox2:ho,"map-fill":62590,map:bo,"markdown-fill":62592,markdown:vo,mask:ko,"megaphone-fill":62595,megaphone:wo,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:yo,"minecart-loaded":62609,minecart:xo,moisture:$o,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:_o,"mouse-fill":62616,mouse:Po,"mouse2-fill":62618,mouse2:Co,"mouse3-fill":62620,mouse3:So,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Do,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Oo,"octagon-fill":62634,"octagon-half":62635,octagon:qo,option:Mo,outlet:Io,"paint-bucket":62639,"palette-fill":62640,palette:To,palette2:jo,paperclip:Bo,paragraph:Ao,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Lo,"peace-fill":62661,peace:Ro,"pen-fill":62663,pen:No,"pencil-fill":62665,"pencil-square":62666,pencil:Eo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Fo,"people-fill":62671,people:zo,percent:Ho,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Yo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Go,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:Vo,"pip-fill":62702,pip:Jo,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:Uo,"plug-fill":62710,plug:Wo,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:Qo,power:Ko,"printer-fill":62720,printer:Zo,"puzzle-fill":62722,puzzle:Xo,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ei,rainbow:ti,"receipt-cutoff":62734,receipt:li,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:si,"record2-fill":62747,record2:oi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:ii,"rss-fill":62753,rss:ai,rulers:ni,"save-fill":62756,save:ri,"save2-fill":62758,save2:di,scissors:ci,screwdriver:ui,search:fi,"segmented-nav":62763,server:pi,"share-fill":62765,share:mi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:gi,"shift-fill":62784,shift:hi,"shop-window":62786,shop:bi,shuffle:vi,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:ki,"sim-fill":62795,sim:wi,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:yi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:xi,sliders:$i,smartwatch:_i,snow:Pi,snow2:Ci,snow3:Si,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Di,"speaker-fill":62845,speaker:Oi,speedometer:qi,speedometer2:Mi,spellcheck:Ii,"square-fill":62850,"square-half":62851,square:Ti,stack:ji,"star-fill":62854,"star-half":62855,star:Bi,stars:Ai,"stickies-fill":62858,stickies:Li,"sticky-fill":62860,sticky:Ri,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ni,"stoplights-fill":62868,stoplights:Ei,"stopwatch-fill":62870,stopwatch:Fi,subtract:zi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Hi,sunglasses:Yi,"sunrise-fill":62884,sunrise:Gi,"sunset-fill":62886,sunset:Vi,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:Ji,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:Ui,"tag-fill":62895,tag:Wi,"tags-fill":62897,tags:Qi,telegram:Ki,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:Zi,"terminal-fill":62914,terminal:Xi,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ea,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:ta,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:la,toggles2:sa,tools:oa,tornado:ia,"trash-fill":62941,trash:aa,"trash2-fill":62943,trash2:na,"tree-fill":62945,tree:ra,"triangle-fill":62947,"triangle-half":62948,triangle:da,"trophy-fill":62950,trophy:ca,"tropical-storm":62952,"truck-flatbed":62953,truck:ua,tsunami:fa,"tv-fill":62956,tv:pa,twitch:ma,twitter:ga,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:ha,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:ba,union:va,"unlock-fill":62975,unlock:ka,"upc-scan":62977,upc:wa,upload:ya,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:xa,voicemail:$a,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:_a,"wallet-fill":62995,wallet:Pa,wallet2:Ca,watch:Sa,water:Da,whatsapp:Oa,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:qa,wind:Ma,"window-dock":63006,"window-sidebar":63007,window:Ia,wrench:Ta,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:ja,youtube:Ba,"zoom-in":63020,"zoom-out":63021,bank:Aa,bank2:La,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Ra,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Na,messenger:Ea,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Fa,reddit:za,"safe-fill":63057,"safe2-fill":63058,safe2:Ha,"sd-card-fill":63060,"sd-card":63061,skype:Ya,"slash-lg":63063,translate:Ga,"x-lg":63065,safe:Va,apple:Ja,microsoft:Ua,windows:Wa,behance:Qa,dribbble:Ka,line:Za,medium:Xa,paypal:en,pinterest:tn,signal:ln,snapchat:sn,spotify:on,"stack-overflow":63079,strava:an,wordpress:nn,vimeo:rn,activity:dn,"easel2-fill":63084,easel2:cn,"easel3-fill":63086,easel3:un,fan:fn,fingerprint:pn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:mn,magic:gn,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:hn,"webcam-fill":63100,webcam:bn,"yin-yang":63102,"bandaid-fill":63104,bandaid:vn,bluetooth:kn,"body-text":63107,boombox:wn,boxes:yn,"dpad-fill":63110,dpad:xn,"ear-fill":63112,ear:$n,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:_n,git:Pn,infinity:Cn,"list-columns-reverse":63135,"list-columns":63136,meta:Sn,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Dn,playstation:On,"plus-slash-minus":63146,"projector-fill":63147,projector:qn,"qr-code-scan":63149,"qr-code":63150,quora:Mn,quote:In,robot:Tn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:jn,steam:Bn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:An,tiktok:Ln,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:Rn,ethernet:Nn,"hdmi-fill":63190,hdmi:En,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Fn,"boombox-fill":63199,displayport:zn,"gpu-card":63202,memory:Hn,"modem-fill":63204,modem:Yn,"motherboard-fill":63206,motherboard:Gn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:Vn,"thunderbolt-fill":63215,thunderbolt:Jn,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:Un,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:Wn,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:Qn,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:Kn,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:Zn,hearts:Xn,"hospital-fill":63347,hospital:er,"house-heart-fill":63349,"house-heart":63350,incognito:tr,"magnet-fill":63352,magnet:lr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:sr,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:or,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:ir,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:ar,"trash3-fill":63370,trash3:nr,valentine:rr,valentine2:dr,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:cr,alexa:ur,alipay:fr,android:pr,android2:mr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:gr,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:hr,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:br,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:vr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:kr,"lungs-fill":63487,lungs:wr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:yr,prescription:xr,prescription2:$r,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:_r,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Pr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:Cr,unindent:Sr,unity:Dr,"universal-access-circle":63525,"universal-access":63526,virus:Or,virus2:qr,wechat:Mr,yelp:Ir,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Tr,stripe:jr,subscript:Br,superscript:Ar,trello:Lr,"envelope-at-fill":63563,"envelope-at":63564,regex:Rr,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Nr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Er,"taxi-front-fill":63660,"taxi-front":63661,amd:Fr,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:zr,"houses-fill":63685,houses:Hr,nvidia:Yr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Gr,"alphabet-uppercase":62117,alphabet:Vr,amazon:Jr,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:Ur,"ban-fill":63139,ban:Wr,bing:Qr,cake:Kr,cake2:Zr,cookie:Xr,copy:ed,crosshair:td,crosshair2:ld,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:sd,feather2:od,"floppy-fill":63429,floppy:id,"floppy2-fill":63449,floppy2:ad,gitlab:nd,highlighter:rd,"marker-tip":63490,"nvme-fill":63491,nvme:dd,opencollective:cd,"pci-card-network":63693,"pci-card-sound":63694,radar:ud,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:fd,substack:pd,"threads-fill":63704,threads:md,transparency:gd,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:hd,"backpack2-fill":63713,backpack2:bd,"backpack3-fill":63715,backpack3:vd,"backpack4-fill":63717,backpack4:kd,brilliance:wd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:yd,exposure:xd,"gender-neuter":63725,highlights:$d,"luggage-fill":63727,luggage:_d,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Pd,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:Cd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Sd,"suitcase2-fill":63745,suitcase2:Dd,vignette:Od,bluesky:qd,tux:Md,"beaker-fill":63749,beaker:Id,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Td,"leaf-fill":63755,leaf:jd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Bd,"battery-low":63761,anthropic:Ad,"apple-music":63763,claude:Ld,openai:Rd,perplexity:Nd,css:Ed,javascript:Fd,typescript:zd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Hd={class:"border rounded-3 p-2"},Yd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Gd=["aria-label"],Vd={key:1,style:{"white-space":"nowrap"}},Jd=["disabled","placeholder"],Ud=U({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ie(),s=l,m=t,r=q(s.group.GroupName),u=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(_=>_!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(_,g)=>(o(),c("div",Hd,[e("div",Yd,[e("button",{onClick:g[0]||(g[0]=d=>m("iconPickerOpen")),"aria-label":"Pick icon button",class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),c("i",{key:0,class:B(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Gd)):(o(),c("span",Vd,[n(x,{t:"No Icon"})]))],2),e("button",{class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:g[1]||(g[1]=d=>m("colorPickerOpen")),style:pe({"background-color":l.group.BackgroundColor,color:T(a).colorText(l.group.BackgroundColor)})},[...g[6]||(g[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)])],6),de(e("input",{disabled:!l.edit,"onUpdate:modelValue":g[2]||(g[2]=d=>r.value=d),onChange:g[3]||(g[3]=d=>l.group.GroupName=r.value),placeholder:T(H)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,Jd),[[ke,r.value]]),l.edit?(o(),c("button",{key:0,"aria-label":"Delete Tag Button",onClick:g[4]||(g[4]=d=>m("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},[...g[7]||(g[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])):(o(),c("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:B([{active:!T(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:g[5]||(g[5]=d=>u())},[e("i",{class:B(["bi",[T(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),Wd={class:"w-100 bg-body top-0 border rounded-2"},Qd={class:"p-2 d-flex align-items-center gap-2 border-bottom"},Kd=["placeholder"],Zd={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},Xd=["onClick"],ec={class:"p-2 border-top d-flex gap-2"},tc=U({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;ne(()=>{let r=document.querySelector(".icon-grid div.active");r&&(r.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),m=N(()=>s.value?[...Object.keys(ve).filter(r=>r.includes(s.value.toLowerCase()))]:Object.keys(ve));return(r,u)=>(o(),c("div",Wd,[e("div",Qd,[u[3]||(u[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),de(e("input",{"onUpdate:modelValue":u[0]||(u[0]=_=>s.value=_),placeholder:T(H)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,Kd),[[ke,s.value]])]),e("div",Zd,[(o(!0),c(F,null,G(m.value,_=>(o(),c("div",{class:B(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===_}]),style:{cursor:"pointer"},key:_,onClick:g=>l.group.Icon=_},[e("i",{class:B(["bi m-auto","bi-"+_])},null,2)],10,Xd))),128))]),e("div",ec,[e("button",{onClick:u[1]||(u[1]=_=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[n(x,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:u[2]||(u[2]=_=>a("close"))},[n(x,{t:"Done"})])])]))}}),lc=K(tc,[["__scopeId","data-v-3c48f50e"]]),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},ic=["aria-label","onClick"],ac={class:"p-2 border-top d-flex gap-2"},nc=U({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ie();return ne(()=>{let m=document.querySelector(".icon-grid div.active");m&&(m.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(m,r)=>(o(),c("div",sc,[e("div",oc,[(o(!0),c(F,null,G(l.colors,(u,_)=>(o(),c("div",{class:B(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===u}]),style:pe([{cursor:"pointer"},{"background-color":u}]),"aria-label":_,key:u,onClick:g=>l.group.BackgroundColor=u},[l.group.BackgroundColor===u?(o(),c("i",{key:0,style:pe({color:T(s).colorText(u)}),class:"bi bi-check-circle m-auto"},null,4)):O("",!0)],14,ic))),128))]),e("div",ac,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:r[0]||(r[0]=u=>a("close"))},[n(x,{t:"Done"})])])]))}}),rc=K(nc,[["__scopeId","data-v-accdf15e"]]),dc={class:"card shadow rounded-3",id:"peerTag"},cc={class:"card-header"},uc={class:"form-check form-switch"},fc={class:"form-check-label",for:"showAllPeers"},pc={class:"card-body p-2"},mc={key:0},gc={key:0,class:"text-center text-muted"},hc={key:1,class:"d-flex flex-column gap-2"},bc={class:"card-footer p-2 d-flex gap-2"},vc=U({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ie(),m=l,r=_e({...m.configuration.Info.PeerGroups}),u=()=>{r[ze().toString()]={GroupName:"",Description:"",BackgroundColor:_(),Icon:g(),Peers:[]}},_=()=>{const D=Object.keys(a),b=Math.floor(Math.random()*D.length)+1;return a[D[b]]},g=()=>{const D=Object.keys(ve),b=Math.floor(Math.random()*D.length)+1;return D[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,D=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:D},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(D,b)=>(o(),c("div",dc,[e("div",cc,[e("div",uc,[de(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":b[0]||(b[0]=y=>T(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,T(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",fc,[e("small",null,[n(x,{t:"Show All Peers"})])])])]),e("div",pc,[n(ae,{name:"zoom",mode:"out-in"},{default:W(()=>[!d.value&&!f.value?(o(),c("div",mc,[Object.keys(r).length===0?(o(),c("div",gc,[e("small",null,[n(x,{t:"No tag"})])])):(o(),c("div",hc,[n(me,{name:"slide-fade"},{default:W(()=>[(o(!0),c(F,null,G(r,(y,C)=>(o(),I(Ud,{groupId:C,onDelete:M=>{delete r[C],T(s).Filter.HiddenTags=T(s).Filter.HiddenTags.filter(z=>z!==C)},onColorPickerOpen:M=>{f.value=!0,v.value=C},onIconPickerOpen:M=>{d.value=!0,v.value=C},key:C,edit:$.value,group:y},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):d.value?(o(),I(lc,{key:1,onClose:b[1]||(b[1]=y=>d.value=!1),group:r[v.value]},null,8,["group"])):f.value?(o(),I(rc,{key:2,colors:a,onClose:b[2]||(b[2]=y=>f.value=!1),group:r[v.value]},null,8,["group"])):O("",!0)]),_:1})]),e("div",bc,[$.value?(o(),c(F,{key:1},[e("button",{onClick:u,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[b[7]||(b[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),n(x,{t:"Tag"})])]),e("button",{onClick:b[5]||(b[5]=y=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[n(x,{t:"Done"})])])],64)):(o(),c(F,{key:0},[e("button",{onClick:b[3]||(b[3]=y=>w("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[n(x,{t:"Close"})])]),e("button",{onClick:b[4]||(b[4]=y=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[b[6]||(b[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),n(x,{t:"Edit"})])])],64))])]))}}),kc=K(vc,[["__scopeId","data-v-ab3e5c4e"]]),wc={name:"peerSearch",components:{PeerTag:kc,LocaleText:x},setup(){const l=oe(),t=ie();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:H("Status"),name:H("Name"),allowed_ip:H("Allowed IPs"),restricted:H("Restricted")},interval:{5e3:H("5 Seconds"),1e4:H("10 Seconds"),3e4:H("30 Seconds"),6e4:H("1 Minutes")},display:{grid:H("Grid"),list:H("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){ee(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},yc={class:"d-flex flex-column gap-2 my-4"},xc={class:"d-flex gap-2 peerSearchContainer"},$c={class:"dropdown"},_c={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Pc={class:"badge text-bg-primary ms-2"},Cc={class:"dropdown-menu rounded-3"},Sc=["onClick"],Dc={class:"ms-auto"},Oc={key:0,class:"bi bi-check-circle-fill"},qc={class:"dropdown"},Mc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Ic={class:"badge text-bg-primary ms-2"},Tc={class:"dropdown-menu rounded-3"},jc=["onClick"],Bc={class:"ms-auto"},Ac={key:0,class:"bi bi-check-circle-fill"},Lc={class:"dropdown"},Rc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Ec={class:"dropdown-menu rounded-3"},Fc=["onClick"],zc={class:"ms-auto"},Hc={key:0,class:"bi bi-check-circle-fill"},Yc={class:"position-relative"};function Gc(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTag");return o(),c("div",yc,[e("div",xc,[e("div",$c,[e("button",_c,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),n(u,{t:"Sort By"}),e("span",Pc,S(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",Cc,[(o(!0),c(F,null,G(this.sort,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateSort(d)},[e("small",null,S(g),1),e("small",Dc,[s.store.Configuration.Server.dashboard_sort===d?(o(),c("i",Oc)):O("",!0)])],8,Sc)]))),256))])]),e("div",qc,[e("button",Mc,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),n(u,{t:"Refresh Interval"}),e("span",Ic,S(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Tc,[(o(!0),c(F,null,G(this.interval,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateRefreshInterval(d)},[e("small",null,S(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Ac)):O("",!0)])],8,jc)]))),256))])]),e("div",Lc,[e("button",Rc,[e("i",{class:B(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,S(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Ec,[(o(!0),c(F,null,G(this.display,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateDisplay(d)},[e("small",null,S(g),1),e("small",zc,[s.store.Configuration.Server.dashboard_peer_list_display===d?(o(),c("i",Hc)):O("",!0)])],8,Fc)]))),256))])]),e("div",Yc,[e("button",{onClick:t[0]||(t[0]=g=>m.tagManager=!m.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),n(u,{t:"Tags"})]),n(ae,{name:"slide-fade"},{default:W(()=>[this.tagManager?(o(),I(_,{key:0,onUpdate:t[1]||(t[1]=g=>a.configuration.Info.PeerGroups=g),onClose:t[2]||(t[2]=g=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):O("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=g=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),n(u,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=g=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=g=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=g=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Vc=K(wc,[["render",Gc],["__scopeId","data-v-71502547"]]),Jc={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},Uc={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(m,r)=>(o(),c("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:r[0]||(r[0]=u=>s.value=!0),onMouseleave:r[1]||(r[1]=u=>s.value=!1),onClick:r[2]||(r[2]=u=>a("click"))},[e("i",{class:B(["me-auto bi",l.icon])},null,2),n(ae,{name:"zoomReversed"},{default:W(()=>[s.value?(o(),c("span",Jc,[e("small",null,[n(x,{t:l.title},null,8,["t"])])])):O("",!0)]),_:1})],32))}},Wc=K(Uc,[["__scopeId","data-v-d4e41a56"]]),Qc={class:"mb-0"},Ne=U({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ie();return(a,s)=>(o(),c("h6",Qc,[e("span",{class:"badge rounded-3 shadow",style:pe({"background-color":l.BackgroundColor,color:T(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:B(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(S(l.GroupName),1)],4)]))}}),Kc={class:"dropdown-menu"},Zc=["onClick"],Xc={key:0,class:"bi bi-check-circle-fill"},e6={key:1,class:"bi bi-circle"},t6=U({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=_e({...a.ConfigurationInfo.Info.PeerGroups}),m=t;se(()=>s,u=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:u},_=>{_.status&&m("update",s)})},{deep:!0});const r=(u,_)=>{s[u].Peers.includes(_)?s[u].Peers=s[u].Peers.filter(g=>g!==_):s[u].Peers.push(_)};return(u,_)=>(o(),c("ul",Kc,[(o(!0),c(F,null,G(s,(g,d)=>(o(),c("li",null,[e("a",{role:"button",onClick:f=>r(d,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[g.Peers.includes(l.Peer.id)?(o(),c("i",Xc)):(o(),c("i",e6)),n(Ne,{class:"ms-auto",BackgroundColor:g.BackgroundColor,GroupName:g.GroupName,Icon:"bi-"+g.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,Zc)]))),256))]))}}),l6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:t6,PeerSettingsDropdownTool:Wc,LocaleText:x},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,m=document.createElement("a");m.href=a,m.download=s,m.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},s6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},o6={class:"text-body d-flex"},i6={class:"ms-auto"},a6={key:1},n6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},r6={key:2},d6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},c6={class:"dropdown dropstart"},u6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},f6={key:1,class:"confirmDelete"},p6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},m6={class:"d-flex w-100 gap-2"},g6=["disabled"],h6=["disabled"],b6={key:1};function v6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerSettingsDropdownTool"),g=le("PeerTagSelectDropdown");return o(),c("ul",{class:B([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),c("li",b6,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=d=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(u,{key:1,t:"Allowing Access..."})):(o(),I(u,{key:0,t:"Allow Access"}))],2)])):(o(),c(F,{key:0},[this.confirmDelete?(o(),c("li",f6,[e("p",p6,[n(u,{t:"Are you sure to delete this peer?"})]),e("div",m6,[e("button",{onClick:t[10]||(t[10]=d=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[n(u,{t:"Yes"})],8,g6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=d=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[n(u,{t:"No"})],8,h6)])])):(o(),c(F,{key:0},[this.Peer.status==="running"?(o(),c(F,{key:0},[e("li",s6,[e("span",o6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",i6,S(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):O("",!0),this.Peer.private_key?(o(),c("li",r6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",d6,[n(_,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=d=>this.downloadPeer())}),n(_,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=d=>this.$emit("qrcode"))}),n(_,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=d=>this.$emit("configurationFile"))}),n(_,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=d=>this.$emit("share"))})])])):(o(),c("li",a6,[e("small",n6,[n(u,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=d=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=E()),n(u,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=d=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=E()),n(u,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=d=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=E()),n(u,{t:"Assign Peer"})])]),e("li",c6,[e("a",u6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=E()),n(u,{t:"Tag Peer"})]),n(g,{onUpdate:t[7]||(t[7]=d=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=d=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(u,{key:1,t:"Restricting..."})):(o(),I(u,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:B(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=d=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(u,{key:1,t:"Deleting..."})):(o(),I(u,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const k6=K(l6,[["render",v6],["__scopeId","data-v-18549c26"]]),w6={name:"peer",methods:{GetLocale:H},components:{PeerTagBadge:Ne,LocaleText:x,PeerSettingsDropdown:k6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return Je(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},y6=["id"],x6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},$6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},_6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},P6={class:"text-primary"},C6={class:"text-success"},S6={key:0,class:"text-secondary"},D6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},O6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},q6={class:"text-muted"},M6={class:"d-block"},I6={class:"text-muted"},T6={class:"d-block"},j6={class:"d-flex align-items-center"},B6={key:1,class:"card-footer"},A6={class:"d-flex align-items-center text-muted"};function L6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:B(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),c("div",D6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),n(u,{t:"Access Restricted"})])):(o(),c("div",x6,[e("div",{class:B(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),c("div",$6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,S(a.Peer.endpoint),1)])):O("",!0),e("div",_6,[e("span",P6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,S((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=E(" GB ",-1))]),e("span",C6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,S((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=E(" GB ",-1))]),a.Peer.latest_handshake!=="No Handshake"?(o(),c("span",S6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),E(" "+S(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,S(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:B(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",q6,[n(u,{t:"Public Key"})]),e("small",M6,[e("samp",null,S(a.Peer.id),1)])],2),e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",I6,[n(u,{t:"Allowed IPs"})]),e("small",T6,[e("samp",null,S(a.Peer.allowed_ip),1)])],2),e("div",{class:B(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),c(F,null,G(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(d=>d.Peers.includes(a.Peer.id)),d=>(o(),I(_,{BackgroundColor:d.BackgroundColor,GroupName:d.GroupName,Icon:"bi-"+d.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:B(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=d=>this.subMenuOpened=!0)},[...t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])]),n(ae,{name:"slide-fade"},{default:W(()=>[this.subMenuOpened?(o(),I(g,{key:0,dropup:r.getDropup,onQrcode:t[1]||(t[1]=d=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=d=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=d=>this.$emit("setting")),onJobs:t[4]||(t[4]=d=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=d=>this.$emit("refresh")),onShare:t[6]||(t[6]=d=>this.$emit("share")),onAssign:t[7]||(t[7]=d=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):O("",!0)]),_:1})],2)],2)],2)]),this.Peer.restricted?(o(),c("div",B6,[e("small",A6,[n(u,{t:"Allow access to view details"})])])):(o(),c("div",{key:0,class:"card-footer",role:"button",onClick:t[8]||(t[8]=d=>l.$emit("details"))},[e("small",j6,[n(u,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])]))],10,y6)}const R6=K(w6,[["render",L6],["__scopeId","data-v-f38d3291"]]),N6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-6AiX7tcN.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),m=V(()=>J(()=>import("./peerShareLinkModal-DxuNjkHr.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]),import.meta.url)),r=V(()=>J(()=>import("./peerJobs-BohMmJ6r.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]),import.meta.url)),u=V(()=>J(()=>import("./peerQRCode-9EMvi21e.js"),__vite__mapDeps([15,16,2,3,17,1,18]),import.meta.url)),_=V(()=>J(()=>import("./peerConfigurationFile-DYL9iPih.js"),__vite__mapDeps([19,2,3,1,16,17,20]),import.meta.url)),g=V(()=>J(()=>import("./peerSettings-BaolbZx6.js"),__vite__mapDeps([21,2,3,1,22]),import.meta.url));return(d,f)=>(o(),I(me,{name:"zoom"},{default:W(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(T(g),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:f[0]||(f[0]=v=>a("refresh")),onClose:f[1]||(f[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(T(u),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[2]||(f[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(T(r),{key:"PeerJobsModal",onRefresh:f[3]||(f[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:f[4]||(f[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(T(m),{key:"PeerShareLinkModal",onClose:f[5]||(f[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(T(_),{key:"PeerConfigurationFileModal",onClose:f[6]||(f[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(T(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},E6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},F6={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return ne(()=>{a.value=new IntersectionObserver(m=>{m.forEach(r=>{r.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),re(()=>{a.value.disconnect()}),(m,r)=>(o(),c("div",E6))}},z6={class:"d-flex gap-1 flex-column"},H6=U({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),m=q(!1),r=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},_=>{m.value=_.status,u()})},u=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(_,g)=>(o(),c("div",z6,[g[2]||(g[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),E("Notes ")])],-1)),de(e("input",{type:"text",class:B([[s.value?[m.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":g[0]||(g[0]=d=>a.value=d),onChange:g[1]||(g[1]=d=>r())},null,34),[[ke,a.value]])]))}});var ue={exports:{}},Y6=ue.exports,ye;function G6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(Y6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var V6=G6();const Ee=Ce(V6);var fe={exports:{}},J6=fe.exports,xe;function U6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(J6,(function(){var a,s,m=1e3,r=6e4,u=36e5,_=864e5,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=31536e6,f=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,w={years:d,months:f,days:_,hours:u,minutes:r,seconds:m,milliseconds:1,weeks:6048e5},$=function(j){return j instanceof te},D=function(j,P,h){return new te(j,h,P.$l)},b=function(j){return s.p(j)+"s"},y=function(j){return j<0},C=function(j){return y(j)?Math.ceil(j):Math.floor(j)},M=function(j){return Math.abs(j)},z=function(j,P){return j?y(j)?{negative:!0,format:""+M(j)+P}:{negative:!1,format:""+j+P}:{negative:!1,format:""}},te=(function(){function j(h,A,R){var L=this;if(this.$d={},this.$l=R,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return D(h*w[b(A)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){L.$d[b(p)]=h[p]})),this.calMilliseconds(),this;if(typeof h=="string"){var k=h.match(v);if(k){var i=k.slice(2).map((function(p){return p!=null?Number(p):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var P=j.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(A,R){return A+(h.$d[R]||0)*w[R]}),0)},P.parseFromMilliseconds=function(){var h=this.$ms;this.$d.years=C(h/d),h%=d,this.$d.months=C(h/f),h%=f,this.$d.days=C(h/_),h%=_,this.$d.hours=C(h/u),h%=u,this.$d.minutes=C(h/r),h%=r,this.$d.seconds=C(h/m),h%=m,this.$d.milliseconds=h},P.toISOString=function(){var h=z(this.$d.years,"Y"),A=z(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var L=z(R,"D"),k=z(this.$d.hours,"H"),i=z(this.$d.minutes,"M"),p=this.$d.seconds||0;this.$d.milliseconds&&(p+=this.$d.milliseconds/1e3,p=Math.round(1e3*p)/1e3);var Y=z(p,"S"),Z=h.negative||A.negative||L.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+A.format+L.format+Fe+k.format+i.format+Y.format;return he==="P"||he==="-P"?"P0D":he},P.toJSON=function(){return this.toISOString()},P.format=function(h){var A=h||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return A.replace(g,(function(L,k){return k||String(R[L])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var A=this.$ms,R=b(h);return R==="milliseconds"?A%=1e3:A=R==="weeks"?C(A/w[R]):this.$d[R],A||0},P.add=function(h,A,R){var L;return L=A?h*w[b(A)]:$(h)?h.$ms:D(h,this).$ms,D(this.$ms+L*(R?-1:1),this)},P.subtract=function(h,A){return this.add(h,A,!0)},P.locale=function(h){var A=this.clone();return A.$l=h,A},P.clone=function(){return D(this.$ms,this)},P.humanize=function(h){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!h)},P.valueOf=function(){return this.asMilliseconds()},P.milliseconds=function(){return this.get("milliseconds")},P.asMilliseconds=function(){return this.as("milliseconds")},P.seconds=function(){return this.get("seconds")},P.asSeconds=function(){return this.as("seconds")},P.minutes=function(){return this.get("minutes")},P.asMinutes=function(){return this.as("minutes")},P.hours=function(){return this.get("hours")},P.asHours=function(){return this.as("hours")},P.days=function(){return this.get("days")},P.asDays=function(){return this.as("days")},P.weeks=function(){return this.get("weeks")},P.asWeeks=function(){return this.as("weeks")},P.months=function(){return this.get("months")},P.asMonths=function(){return this.as("months")},P.years=function(){return this.get("years")},P.asYears=function(){return this.as("years")},j})(),ce=function(j,P,h){return j.add(P.years()*h,"y").add(P.months()*h,"M").add(P.days()*h,"d").add(P.hours()*h,"h").add(P.minutes()*h,"m").add(P.seconds()*h,"s").add(P.milliseconds()*h,"ms")};return function(j,P,h){a=h,s=h().$utils(),h.duration=function(L,k){var i=h.locale();return D(L,{$l:i},k)},h.isDuration=$;var A=P.prototype.add,R=P.prototype.subtract;P.prototype.add=function(L,k){return $(L)?ce(this,L,1):A.bind(this)(L,k)},P.prototype.subtract=function(L,k){return $(L)?ce(this,L,-1):R.bind(this)(L,k)}}}))})(fe)),fe.exports}var W6=U6();const Q6=Ce(W6),K6={key:0,class:"sessions-label"},Z6={class:"d-flex flex-wrap gap-1 session-dot"},X6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},eu={class:"p-1 badge text-bg-warning text-start session-badge-list"},tu={class:"mt-1"},lu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(Q6);const a=N(()=>{let s=t.sessions.map(r=>Q(r)).filter(r=>r.isSame(t.day,"D")).reverse(),m=[];if(s.length>1){let r=[s[0]];for(let u of s.slice(1))u.isSameOrBefore(r[r.length-1].add(3,"minute"))?r.push(u):(m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))}),r=[u]);m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))})}return m});return(s,m)=>(o(),c("div",{class:"d-flex gap-1 flex-column session-list",onClick:m[0]||(m[0]=r=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),c("small",K6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Z6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",X6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",eu,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(S(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(S(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",tu,[n(x,{t:"Duration:"}),E(" "+S(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),su=K(lu,[["__scopeId","data-v-5178a57b"]]),ou={class:"card rounded-3 bg-transparent"},iu={class:"card-header d-flex align-items-center"},au={class:"mx-auto mb-0 text-center"},nu={class:"text-muted",style:{"font-size":"0.9rem"}},ru={class:"card-body p-0 position-relative"},du={class:"calendar-grid"},cu=["onClick"],uu={class:"d-flex day-label"},fu={key:0,class:"bi bi-check-circle-fill ms-auto"},pu={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},mu={class:"d-flex mb-3"},gu={class:"mb-0"},hu={class:"d-flex flex-column gap-2"},bu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},vu={class:"ms-auto"},ku=U({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);Q.extend(Ee);const m=q(void 0),r=q(0),u=q(Q()),_=N(()=>Q().add(r.value,"month")),g=N(()=>_.value.startOf("month")),d=N(()=>_.value.endOf("month")),f=N(()=>g.value.startOf("week")),v=N(()=>d.value.endOf("week")),w=N(()=>{let y=[],C=f.value;for(;C.isSameOrBefore(v.value,"day");)y.push(C),C=C.add(1,"day");if(y.length<42){let M=42-y.length;for(let z=0;z{await ee("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:f.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},y=>{s.value=y.data.reverse()})};$(),m.value=setInterval(async()=>{await $()},6e4),re(()=>{clearInterval(m.value)}),se(()=>_.value,()=>$());const D=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",ou,[e("div",iu,[e("button",{class:"btn btn-sm rounded-3",onClick:C[0]||(C[0]=M=>r.value-=1)},[...C[5]||(C[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])]),r.value!==0?(o(),c("button",{key:0,class:"btn btn-sm rounded-3",onClick:C[1]||(C[1]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("h5",au,[e("small",nu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+S(_.value.format("YYYY / MM")),1)]),r.value!==0?(o(),c("button",{key:1,class:"btn btn-sm rounded-3",onClick:C[2]||(C[2]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:C[3]||(C[3]=M=>r.value+=1)},[...C[7]||(C[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)])])]),e("div",ru,[e("div",du,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:B(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":M.isSame(u.value,"D"),"border-end":M.day()<6,"border-bottom":zy.$emit("selectDate",M),style:{cursor:"pointer"}},[e("h6",uu,[E(S(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",fu)):O("",!0)]),(o(),I(su,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},D.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,cu))),128))]),n(ae,{name:"zoom"},{default:W(()=>[D.value?(o(),c("div",pu,[e("div",mu,[e("h5",gu,S(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>D.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",hu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",bu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(S(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(S(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",vu,[n(x,{t:"Duration:"}),E(" "+S(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),wu=K(ku,[["__scopeId","data-v-3b03c7a5"]]),yu={class:"card rounded-3 bg-transparent"},xu={class:"card-body"},$u={class:"text-muted"},_u={class:"d-flex flex-column gap-3"},Pu=U({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=N(()=>t.selectedDate?t.selectedDate:Q()),s=q([]),m=async()=>{await ee("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},r=q(void 0);m(),r.value=setInterval(async()=>{await m()},6e4),re(()=>{clearInterval(r.value)}),se(()=>a.value,()=>{m()});const u=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),_=N(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),g=N(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),d=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Sent"),data:_.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),f=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Received"),data:g.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,w)=>(o(),c("div",yu,[e("div",xu,[e("h6",$u,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",_u,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(T(ge),{options:u.value,data:f.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[n(x,{t:"Data Sent"})]),n(T(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),Cu={class:"card rounded-3 bg-transparent"},Su={class:"card-header text-muted"},Du={class:"card-body"},Ou={class:"bg-body-tertiary p-3 d-flex rounded-3"},qu={key:0,class:"m-auto"},Mu={key:1,class:"m-auto"},Iu={key:2,class:"w-100 d-flex flex-column gap-3"},Tu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},ju={key:0,class:"m-auto"},Bu={key:0},Au={key:1,class:"text-muted"},Lu={class:"table table-hover"},Ru={key:0},Nu=["onClick"],Eu={key:0},Fu=U({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),m=q(void 0),r=q(void 0),u=async()=>{await ee("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async d=>{if(d.status&&(s.value=d.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),m.value=!0,r.value=new Ue({target:"map",layers:[new Qe({source:new Ke})],view:new We({center:be([17.64,16.35]),zoom:0})}),s.value.geolocation){const f=new Ze;s.value.geolocation.filter(w=>w.lat&&w.lon).forEach(w=>{f.addFeature(new we({geometry:new Xe(be([w.lon,w.lat]))}))}),f.addFeature(new we({})),r.value.addLayer(new et({source:f,style:()=>new tt({image:new lt({radius:10,fill:new ot({color:"#0d6efd"}),stroke:new st({color:"white",width:5})})})}))}}catch(f){console.log(f),m.value=!1}})};ne(()=>u());const _=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);if(f){let v=[f.city,f.country];return v.filter(w=>w!==void 0).length===0&&v.push("Private Address"),v.filter(w=>w!==void 0).join(", ")}}},g=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);f&&f.lon&&f.lat&&r.value.getView().animate({zoom:4},{center:be([f.lon,f.lat])},{easing:it})}};return(d,f)=>(o(),c("div",Cu,[e("div",Su,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Du,[e("div",Ou,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Mu,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",Iu,[e("div",Tu,[m.value?O("",!0):(o(),c("div",ju,[m.value===void 0?(o(),c("div",Bu,[f[1]||(f[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading Map..."})])):O("",!0),m.value===!1?(o(),c("div",Au,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Lu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Ru,[n(x,{t:"Geolocation"})])):O("",!0)])]),e("tbody",null,[(o(!0),c(F,null,G(s.value.endpoints,v=>(o(),c("tr",{onClick:w=>g(v.endpoint),style:{cursor:"pointer"}},[e("td",null,S(v.endpoint),1),s.value.geolocation?(o(),c("td",Eu,S(_(v.endpoint)),1)):O("",!0)],8,Nu))),256))])])])):O("",!0):(o(),c("div",qu,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),zu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Hu={class:"d-flex h-100 w-100 pb-2"},Yu={class:"m-auto w-100 p-2"},Gu={class:"card rounded-3 shadow h-100"},Vu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Ju={class:"mb-0 fw-normal"},Uu={class:"card-body px-4"},Wu={class:"d-flex justify-content-between align-items-start mb-2 flex-column flex-md-row"},Qu={class:"mb-0 text-muted"},Ku={key:0,class:"text-start text-md-end"},Zu={class:"mb-0 text-muted"},Xu={class:"mb-0",style:{"white-space":"pre-wrap"}},e2={class:"row mt-3 gy-2 gx-2 mb-2"},t2={class:"col-12 col-lg-3"},l2={class:"card rounded-3 bg-transparent h-100"},s2={class:"card-body py-2 d-flex flex-column justify-content-center"},o2={class:"mb-0 text-muted"},i2={class:"d-flex align-items-center"},a2={class:"col-12 col-lg-3"},n2={class:"card rounded-3 bg-transparent h-100"},r2={class:"card-body py-2 d-flex flex-column justify-content-center"},d2={class:"mb-0 text-muted"},c2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},u2={class:"card rounded-3 bg-transparent h-100"},f2={class:"card-body py-2 d-flex flex-column justify-content-center"},p2={class:"mb-0 text-muted"},m2={class:"col-12 col-lg-3"},g2={class:"card rounded-3 bg-transparent h-100"},h2={class:"card-body d-flex"},b2={class:"mb-0 text-muted"},v2={class:"h4"},k2={class:"col-12 col-lg-3"},w2={class:"card rounded-3 bg-transparent h-100"},y2={class:"card-body d-flex"},x2={class:"mb-0 text-muted"},$2={class:"h4 text-warning"},_2={class:"col-12 col-lg-3"},P2={class:"card rounded-3 bg-transparent h-100"},C2={class:"card-body d-flex"},S2={class:"mb-0 text-muted"},D2={class:"h4 text-primary"},O2={class:"col-12 col-lg-3"},q2={class:"card rounded-3 bg-transparent h-100"},M2={class:"card-body d-flex"},I2={class:"mb-0 text-muted"},T2={class:"h4 text-success"},j2={class:"col-12"},B2={class:"col-12"},A2={class:"col-12"},L2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Ae,Le,Re);const t=q(void 0);return(a,s)=>(o(),c("div",zu,[e("div",Hu,[e("div",Yu,[e("div",Gu,[e("div",Vu,[e("h4",Ju,[n(x,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=m=>a.$emit("close"))})]),e("div",Uu,[e("div",Wu,[e("div",null,[e("p",Qu,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",{class:B({"text-muted":l.selectedPeer.name.length===0})},S(l.selectedPeer.name.length>0?l.selectedPeer.name:T(H)("Untitled Peer")),3)]),l.selectedPeer.notes?(o(),c("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Notes"})])]),e("p",Xu,S(l.selectedPeer.notes),1)])):O("",!0)]),e("div",e2,[e("div",t2,[e("div",l2,[e("div",s2,[e("p",o2,[e("small",null,[n(x,{t:"Status"})])]),e("div",i2,[e("span",{class:B(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(x,{key:0,t:"Connected"})):(o(),I(x,{key:1,t:"Disconnected"}))])])])]),e("div",a2,[e("div",n2,[e("div",r2,[e("p",d2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+S(l.selectedPeer.allowed_ip),1)])])]),e("div",c2,[e("div",u2,[e("div",f2,[e("p",p2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,S(l.selectedPeer.id),1)])])]),e("div",m2,[e("div",g2,[e("div",h2,[e("div",null,[e("p",b2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",v2,[n(x,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",k2,[e("div",w2,[e("div",y2,[e("div",null,[e("p",x2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",$2,S((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",_2,[e("div",P2,[e("div",C2,[e("div",null,[e("p",S2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",D2,S((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",O2,[e("div",q2,[e("div",M2,[e("div",null,[e("p",I2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",T2,S((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",j2,[n(Pu,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",B2,[n(wu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",A2,[n(Fu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),R2={class:"container-fluid"},N2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},E2={class:"text-muted d-flex align-items-center gap-2"},F2={class:"mb-0"},z2={class:"d-flex align-items-center gap-3"},H2={class:"mb-0 display-4"},Y2={class:"ms-sm-auto d-flex gap-2 flex-column"},G2={class:"card rounded-3 bg-transparent"},V2={class:"card-body py-2 d-flex align-items-center"},J2={class:"text-muted"},U2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},W2=["for"],Q2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},K2=["disabled","id"],Z2={class:"d-flex gap-2"},X2={class:"row mt-3 gy-2 gx-2 mb-2"},ef={class:"col-12 col-lg-3"},tf={class:"card rounded-3 bg-transparent h-100"},lf={class:"card-body py-2 d-flex flex-column justify-content-center"},sf={class:"mb-0 text-muted"},of={class:"col-12 col-lg-3"},af={class:"card rounded-3 bg-transparent h-100"},nf={class:"card-body py-2 d-flex flex-column justify-content-center"},rf={class:"mb-0 text-muted"},df={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},cf={class:"card rounded-3 bg-transparent h-100"},uf={class:"card-body py-2 d-flex flex-column justify-content-center"},ff={class:"mb-0 text-muted"},pf={class:"row gx-2 gy-2 mb-2"},mf={class:"col-12 col-lg-3"},gf={class:"card rounded-3 bg-transparent h-100"},hf={class:"card-body d-flex"},bf={class:"mb-0 text-muted"},vf={class:"h4"},kf={class:"col-12 col-lg-3"},wf={class:"card rounded-3 bg-transparent h-100"},yf={class:"card-body d-flex"},xf={class:"mb-0 text-muted"},$f={class:"h4"},_f={class:"col-12 col-lg-3"},Pf={class:"card rounded-3 bg-transparent h-100"},Cf={class:"card-body d-flex"},Sf={class:"mb-0 text-muted"},Df={class:"h4 text-primary"},Of={class:"col-12 col-lg-3"},qf={class:"card rounded-3 bg-transparent h-100"},Mf={class:"card-body d-flex"},If={class:"mb-0 text-muted"},Tf={class:"h4 text-success"},jf={style:{"margin-bottom":"10rem"}},Bf=20,Af={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-CA_ypq6G.js"),__vite__mapDeps([23,2,3,24]),import.meta.url)),m=V(()=>J(()=>import("./peerJobsAllModal-U6Im7M7I.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]),import.meta.url)),r=V(()=>J(()=>import("./peerJobsLogsModal-DK50Rsqo.js"),__vite__mapDeps([26,7,2,3,1]),import.meta.url)),u=V(()=>J(()=>import("./editConfiguration-DAk3sv1F.js"),__vite__mapDeps([27,2,3,1,7,28]),import.meta.url)),_=V(()=>J(()=>import("./selectPeers-B0fPm0MS.js"),__vite__mapDeps([29,2,3,1,30]),import.meta.url)),g=V(()=>J(()=>import("./peerAddModal-DYVvA8h_.js"),__vite__mapDeps([31,2,3,1,32]),import.meta.url)),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),D=q(!1),b=q({}),y=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),C=q(!1),M=async()=>{await ee("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},k=>{k.status&&(w.value=k.data.configurationInfo,$.value=k.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),k.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=He(()=>M()),await t,a();const z=q(void 0),te=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await M()},parseInt(d.Configuration.Server.dashboard_refresh_interval))};te(),re(()=>{clearInterval(z.value),z.value=void 0,f.Filter.HiddenTags=[]}),se(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{te()});const ce=async()=>{D.value=!0,await ee("/api/toggleWireguardConfiguration",{configurationName:w.value.Name},k=>{k.status?d.newMessage("Server",`${w.value.Name} ${k.data?"is on":"is off"}`,"success"):d.newMessage("Server",k.message,"danger"),f.Configurations.find(i=>i.Name===w.value.Name).Status=k.data,w.value.Status=k.data,D.value=!1})},j=N(()=>({connectedPeers:$.value.filter(k=>k.status==="running").length,totalUsage:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_data+k.cumu_data).reduce((k,i)=>k+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_receive+k.cumu_receive).reduce((k,i)=>k+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_sent+k.cumu_sent).reduce((k,i)=>k+i,0).toFixed(4):0})),P=q(10),h=N(()=>f.Filter.HiddenTags.map(k=>w.value.Info.PeerGroups[k].Peers).flat()),A=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),R=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},L=N(()=>{const k=f.searchString?$.value.filter(p=>(p.name.includes(f.searchString)||p.id.includes(f.searchString)||p.allowed_ip.includes(f.searchString))&&!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(p.id)));if(d.Configuration.Server.dashboard_sort==="restricted")return k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?-1:0).slice(0,P.value);let i=[];return d.Configuration.Server.dashboard_sort==="allowed_ip"?i=k.sort((p,Y)=>R(p[d.Configuration.Server.dashboard_sort])R(Y[d.Configuration.Server.dashboard_sort])?1:0).slice(0,P.value):i=k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?1:0).slice(0,P.value),i});return se(()=>v.query.id,k=>{k?f.searchString=k:f.searchString=void 0},{immediate:!0}),(k,i)=>(o(),c("div",R2,[e("div",N2,[e("div",null,[e("div",E2,[e("h5",F2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",z2,[e("h1",H2,[e("samp",null,S(w.value.Name),1)])])]),e("div",Y2,[e("div",G2,[e("div",V2,[e("small",J2,[n(x,{t:"Status"})]),e("div",{class:B(["dot ms-2",{active:w.value.Status}])},null,2),e("div",U2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!D.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!D.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),D.value?(o(),c("span",Q2)):O("",!0)],8,W2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:D.value,type:"checkbox",role:"switch",id:"switch"+w.value.id,onChange:i[0]||(i[0]=p=>ce()),"onUpdate:modelValue":i[1]||(i[1]=p=>w.value.Status=p)},null,40,K2),[[Pe,w.value.Status]])])])]),e("div",Z2,[e("a",{role:"button",onClick:i[2]||(i[2]=p=>y.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),n(x,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=p=>y.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),n(x,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),n(H6,{configuration:w.value},null,8,["configuration"]),e("div",X2,[e("div",ef,[e("div",tf,[e("div",lf,[e("p",sf,[e("small",null,[n(x,{t:"Address"})])]),E(" "+S(w.value.Address),1)])])]),e("div",of,[e("div",af,[e("div",nf,[e("p",rf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+S(w.value.ListenPort),1)])])]),e("div",df,[e("div",cf,[e("div",uf,[e("p",ff,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,S(w.value.PublicKey),1)])])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",hf,[e("div",null,[e("p",bf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",vf,S(j.value.connectedPeers)+" / "+S($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",kf,[e("div",wf,[e("div",yf,[e("div",null,[e("p",xf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",$f,S(j.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",_f,[e("div",Pf,[e("div",Cf,[e("div",null,[e("p",Sf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",Df,S(j.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",Of,[e("div",qf,[e("div",Mf,[e("div",null,[e("p",If,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Tf,S(j.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),n(Pt,{configurationPeers:$.value,configurationInfo:w.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",jf,[$.value.length>0?(o(),I(Vc,{key:0,onSearch:i[4]||(i[4]=p=>C.value=!C.value),onJobsAll:i[5]||(i[5]=p=>y.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=p=>y.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=p=>y.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=p=>y.value.deleteConfiguration.modalOpen=!0),configuration:w.value},null,8,["configuration"])):O("",!0),n(me,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:W(()=>[(o(!0),c(F,null,G(L.value,(p,Y)=>(o(),c("div",{class:B(["col-12",{"col-lg-6 col-xl-4":T(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(R6,{Peer:p,searchPeersLength:L.value.length,order:Y,ConfigurationInfo:w.value,onDetails:Z=>{y.value.peerDetails.modalOpen=!0,b.value=p},onShare:Z=>{y.value.peerShare.modalOpen=!0,b.value=p},onRefresh:i[11]||(i[11]=Z=>M()),onJobs:Z=>{y.value.peerScheduleJobs.modalOpen=!0,b.value=p},onSetting:Z=>{y.value.peerSetting.modalOpen=!0,b.value=p},onQrcode:Z=>{b.value=p,y.value.peerQRCode.modalOpen=!0},onConfigurationFile:Z=>{b.value=p,y.value.peerConfigurationFile.modalOpen=!0},onAssign:Z=>{b.value=p,y.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),n(ae,{name:"slide-fade"},{default:W(()=>[C.value?(o(),I(T(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(N6,{configurationModals:y.value,configurationModalSelectedPeer:b.value,onRefresh:i[13]||(i[13]=p=>M())},null,8,["configurationModals","configurationModalSelectedPeer"]),n(me,{name:"zoom"},{default:W(()=>[(o(),I(Ye,{key:"PeerAddModal"},{default:W(()=>[y.value.peerNew.modalOpen?(o(),I(T(g),{key:0,onClose:i[14]||(i[14]=p=>y.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=p=>{y.value.peerNew.modalOpen=!1,M()})})):O("",!0)]),_:1})),y.value.peerScheduleJobsAll.modalOpen?(o(),I(T(m),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=p=>M()),onAllLogs:i[17]||(i[17]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=p=>y.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):O("",!0),y.value.peerScheduleJobsLogs.modalOpen?(o(),I(T(r),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=p=>y.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.editConfiguration.modalOpen?(o(),I(T(u),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=p=>y.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=p=>y.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=p=>w.value=p),onRefresh:i[23]||(i[23]=p=>M()),onBackupRestore:i[24]||(i[24]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=p=>y.value.deleteConfiguration.modalOpen=!0),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.selectPeers.modalOpen?(o(),I(T(_),{key:3,onRefresh:i[26]||(i[26]=p=>M()),configurationPeers:$.value,onClose:i[27]||(i[27]=p=>y.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):O("",!0),y.value.peerDetails.modalOpen?(o(),I(L2,{key:"PeerDetailsModal",selectedPeer:L.value.find(p=>p.id===b.value.id),onClose:i[28]||(i[28]=p=>y.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}),n(F6,{showPeersCount:P.value,peerListLength:L.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Bf)},null,8,["showPeersCount","peerListLength"])]))}},Gf=K(Af,[["__scopeId","data-v-b4fba9bc"]]);export{Gf as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./peerAssignModal-DifkpEnI.js","./localeText-BJvnc1lF.js","./index-DM7YJCOo.js","./index-DOyBHXAH.css","./DashboardClientAssignmentStore-Cx8hQRjk.js","./peerAssignModal--_bmFbmn.css","./peerShareLinkModal-Cp_7Ocfs.js","./dayjs.min-DZl6XMNW.js","./vue-datepicker-9N8DgATH.js","./index-i3npkoSo.js","./peerShareLinkModal-GoWqB_pD.css","./peerJobs-ZmnTraTM.js","./schedulePeerJob-jjF9HAtj.js","./schedulePeerJob-BTsX_eP5.css","./peerJobs-D_dDl936.css","./peerQRCode-D4LTIXqU.js","./browser-CUYUHo3j.js","./galois-field-I2lBzzs-.js","./peerQRCode-BmkCjxyX.css","./peerConfigurationFile-BnkO4W2k.js","./peerConfigurationFile-Z9ms5mIx.css","./peerSettings-7WGqQiw0.js","./peerSettings-DxOHL3dW.css","./peerSearchBar-Pt1vk9ME.js","./peerSearchBar-Dtpovmxo.css","./peerJobsAllModal-afK2ah32.js","./peerJobsLogsModal-DdRCnHbg.js","./editConfiguration-BSnplhSU.js","./editConfiguration-CJDa1AqT.css","./selectPeers-DrKFMxAW.js","./selectPeers-ChWyERy7.css","./peerAddModal-OeLCdC_5.js","./peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); +import{r as q,L as $e,D as oe,o as ne,H as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as T,d as O,t as S,g as ee,B as U,W as ie,m as de,n as B,s as pe,y as ke,F,i as G,_ as K,J as _e,v as Pe,w as W,j as I,T as me,k as ae,A as ze,z as X,h as le,e as E,M as V,N as J,O as Ce,E as He,S as Ye}from"./index-DM7YJCOo.js";import{_ as Ge}from"./protocolBadge-VYIlC1Ec.js";import{L as x}from"./localeText-BJvnc1lF.js";import{C as Se,L as De,B as Oe,a as qe,b as Me,c as Ie,p as Te,d as je,e as Be,f as Ae,P as Le,i as Re,h as Ve,g as ge}from"./index-Bt0JU5XL.js";import{d as Q}from"./dayjs.min-DZl6XMNW.js";import{o as Je}from"./index-i3npkoSo.js";import{M as Ue,V as We,k as be,T as Qe,O as Ke,n as Ze,F as we,P as Xe,o as et,p as tt,C as lt,q as st,r as ot,s as it}from"./Vector-CuSZivra.js";import{p as at}from"./index-Bno8fcdN.js";const nt={class:"row gx-2 gy-2 mb-3"},rt={class:"col-12"},dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},ct={class:"card-header bg-transparent border-0"},ut={class:"text-muted"},ft={class:"card-body pt-1"},pt={class:"col-sm col-lg-6"},mt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},gt={class:"card-header bg-transparent border-0 d-flex align-items-center"},ht={class:"text-muted"},bt={key:0,class:"text-primary fw-bold ms-auto"},vt={class:"card-body pt-1"},kt={class:"col-sm col-lg-6"},wt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},yt={class:"card-header bg-transparent border-0 d-flex align-items-center"},xt={class:"text-muted"},$t={key:0,class:"text-success fw-bold ms-auto"},_t={class:"card-body pt-1"},Pt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Ae,Le,Re);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),m=$e(),r=oe(),u=q(void 0),_=async()=>{await ee("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:m.params.id},D=>{let b=Q().format("hh:mm:ss A");(D.data.sent!==0&&D.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(D.data.sent),s.value.timestamp.push(b),s.value.data.push(D.data.recv))})},g=()=>{clearInterval(u.value),u.value=void 0,t.configurationInfo.Status&&(u.value=setInterval(()=>{_()},parseInt(r.Configuration.Server.dashboard_refresh_interval)))};ne(()=>{g()}),se(()=>t.configurationInfo.Status,()=>{g()}),se(()=>r.Configuration.Server.dashboard_refresh_interval,()=>{g()}),re(()=>{clearInterval(u.value),u.value=void 0});const d=N(()=>{let D=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:D.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:D.map(b=>b.cumu_data+b.total_data),backgroundColor:D.map(b=>"#ffc107"),tooltip:{callbacks:{label:b=>`${b.formattedValue} GB`}}}]}}),f=N(()=>({labels:[...a.value.timestamp],datasets:[{label:H("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=N(()=>({labels:[...s.value.timestamp],datasets:[{label:H("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),w=N(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(D,b)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:D=>`${D.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(D,b)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(D,b)=>(o(),c("div",nt,[e("div",rt,[e("div",dt,[e("div",ct,[e("small",ut,[n(x,{t:"Peers Data Usage"})])]),e("div",ft,[n(T(Ve),{data:d.value,options:w.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",pt,[e("div",mt,[e("div",gt,[e("small",ht,[n(x,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),c("small",bt,S(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(T(ge),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",kt,[e("div",wt,[e("div",yt,[e("small",xt,[n(x,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),c("small",$t,S(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(T(ge),{options:$.value,data:f.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Ct=61698,St=61705,Dt=61707,Ot=61709,qt=61777,Mt=61778,It=61780,Tt=61781,jt=61785,Bt=61817,At=61824,Lt=61826,Rt=61828,Nt=61832,Et=61834,Ft=61835,zt=61836,Ht=61837,Yt=61839,Gt=61844,Vt=61858,Jt=61860,Ut=61861,Wt=61864,Qt=61876,Kt=61896,Zt=61897,Xt=61898,el=61900,tl=61910,ll=61912,sl=61914,ol=61916,il=61917,al=61918,nl=61920,rl=61942,dl=61964,cl=61972,ul=61976,fl=61984,pl=61985,ml=61987,gl=62018,hl=62019,bl=62020,vl=62021,kl=62023,wl=62024,yl=62056,xl=62062,$l=62066,_l=62090,Pl=62096,Cl=62099,Sl=62145,Dl=62147,Ol=62149,ql=62152,Ml=62156,Il=62158,Tl=62159,jl=62161,Bl=62163,Al=62164,Ll=62166,Rl=62173,Nl=62176,El=62179,Fl=62186,zl=62193,Hl=62207,Yl=62208,Gl=62210,Vl=62217,Jl=62218,Ul=62221,Wl=62222,Ql=62224,Kl=62227,Zl=62229,Xl=62255,es=62257,ts=62268,ls=62269,ss=62273,os=62274,is=62275,as=62276,ns=62400,rs=62402,ds=62403,cs=62410,us=62412,fs=62413,ps=62414,ms=62415,gs=62423,hs=62425,bs=62426,vs=62428,ks=62429,ws=62431,ys=62433,xs=62437,$s=62438,_s=62442,Ps=62444,Cs=62445,Ss=62446,Ds=62447,Os=62448,qs=62460,Ms=62463,Is=62473,Ts=62474,js=62482,Bs=62483,As=62484,Ls=62487,Rs=62490,Ns=62493,Es=62497,Fs=62501,zs=62502,Hs=62503,Ys=62506,Gs=62507,Vs=62509,Js=62511,Us=62516,Ws=62519,Qs=62520,Ks=62534,Zs=62535,Xs=62536,eo=62539,to=62541,lo=62543,so=62545,oo=62546,io=62548,ao=62550,no=62555,ro=62571,co=62575,uo=62577,fo=62578,po=62585,mo=62587,go=62588,ho=62589,bo=62591,vo=62593,ko=62594,wo=62596,yo=62608,xo=62610,$o=62611,_o=62615,Po=62617,Co=62619,So=62621,Do=62627,Oo=62633,qo=62636,Mo=62637,Io=62638,To=62641,jo=62642,Bo=62643,Ao=62644,Lo=62660,Ro=62662,No=62664,Eo=62667,Fo=62670,zo=62672,Ho=62673,Yo=62689,Go=62695,Vo=62701,Jo=62703,Uo=62709,Wo=62711,Qo=62718,Ko=62719,Zo=62721,Xo=62723,ei=62732,ti=62733,li=62735,si=62746,oi=62748,ii=62752,ai=62754,ni=62755,ri=62757,di=62759,ci=62760,ui=62761,fi=62762,pi=62764,mi=62766,gi=62783,hi=62785,bi=62787,vi=62788,ki=62794,wi=62796,yi=62821,xi=62826,$i=62827,_i=62828,Pi=62829,Ci=62830,Si=62831,Di=62844,Oi=62846,qi=62847,Mi=62848,Ii=62849,Ti=62852,ji=62853,Bi=62856,Ai=62857,Li=62859,Ri=62861,Ni=62867,Ei=62869,Fi=62871,zi=62872,Hi=62882,Yi=62883,Gi=62885,Vi=62887,Ji=62890,Ui=62894,Wi=62896,Qi=62898,Ki=62899,Zi=62913,Xi=62915,ea=62924,ta=62930,la=62937,sa=62938,oa=62939,ia=62940,aa=62942,na=62944,ra=62946,da=62949,ca=62951,ua=62954,fa=62955,pa=62957,ma=62958,ga=62959,ha=62967,ba=62973,va=62974,ka=62976,wa=62978,ya=62979,xa=62984,$a=62985,_a=62994,Pa=62996,Ca=62997,Sa=62998,Da=62999,Oa=63e3,qa=63004,Ma=63005,Ia=63008,Ta=63009,ja=63018,Ba=63019,Aa=63022,La=63023,Ra=63028,Na=63047,Ea=63048,Fa=63055,za=63056,Ha=63059,Ya=63062,Ga=63064,Va=63066,Ja=63067,Ua=63069,Wa=63070,Qa=63068,Ka=63071,Za=63072,Xa=63073,en=63074,tn=63075,ln=63076,sn=63077,on=63078,an=63080,nn=63081,rn=63082,dn=63083,cn=63085,un=63087,fn=63088,pn=63089,mn=63092,gn=63093,hn=63099,bn=63101,vn=63105,kn=63106,wn=63108,yn=63109,xn=63111,$n=63113,_n=63132,Pn=63133,Cn=63134,Sn=63137,Dn=63144,On=63145,qn=63148,Mn=63151,In=63152,Tn=63153,jn=63168,Bn=63169,An=63179,Ln=63180,Rn=63188,Nn=63189,En=63191,Fn=63198,zn=63201,Hn=63203,Yn=63205,Gn=63207,Vn=63212,Jn=63216,Un=63230,Wn=63241,Qn=63245,Kn=63283,Zn=63345,Xn=63346,er=63348,tr=63351,lr=63353,sr=63357,or=63361,ir=63365,ar=63369,nr=63371,rr=63372,dr=63373,cr=63437,ur=63438,fr=63439,pr=63440,mr=63441,gr=63455,hr=63459,br=63469,vr=63478,kr=63486,wr=63488,yr=63497,xr=63498,$r=63499,_r=63507,Pr=63513,Cr=63522,Sr=63523,Dr=63524,Or=63527,qr=63528,Mr=63529,Ir=63530,Tr=63558,jr=63559,Br=63560,Ar=63561,Lr=63562,Rr=63565,Nr=63613,Er=63659,Fr=63662,zr=63684,Hr=63686,Yr=63687,Gr=63692,Vr=63114,Jr=63117,Ur=63138,Wr=63158,Qr=63170,Kr=63200,Zr=63213,Xr=63214,ed=63321,td=63337,ld=63380,sd=63423,od=63428,id=63448,ad=63460,nd=63461,rd=63480,dd=63500,cd=63501,ud=63695,fd=63702,pd=63703,md=63705,gd=63706,hd=63712,bd=63714,vd=63716,kd=63718,wd=63719,yd=63723,xd=63724,$d=63726,_d=63728,Pd=63733,Cd=63740,Sd=63744,Dd=63746,Od=63747,qd=63481,Md=63748,Id=63750,Td=63754,jd=63756,Bd=63760,Ad=63762,Ld=63764,Rd=63765,Nd=63766,Ed=63767,Fd=63768,zd=63769,ve={123:63103,"alarm-fill":61697,alarm:Ct,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:St,"app-indicator":61706,app:Dt,"archive-fill":61708,archive:Ot,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:qt,at:Mt,"award-fill":61779,award:It,back:Tt,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:jt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Bt,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:At,"basket2-fill":61825,basket2:Lt,"basket3-fill":61827,basket3:Rt,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Nt,"bell-fill":61833,bell:Et,bezier:Ft,bezier2:zt,bicycle:Ht,"binoculars-fill":61838,binoculars:Yt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Gt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:Vt,"bookmarks-fill":61859,bookmarks:Jt,bookshelf:Ut,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:Wt,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:Qt,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:Kt,braces:Zt,bricks:Xt,"briefcase-fill":61899,briefcase:el,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:tl,"brush-fill":61911,brush:ll,"bucket-fill":61913,bucket:sl,"bug-fill":61915,bug:ol,building:il,bullseye:al,"calculator-fill":61919,calculator:nl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:rl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:dl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:cl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:ul,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:fl,camera2:pl,"capslock-fill":61986,capslock:ml,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:gl,cart2:hl,cart3:bl,cart4:vl,"cash-stack":62022,cash:kl,cast:wl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:yl,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:xl,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:$l,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:_l,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Pl,"clock-fill":62097,"clock-history":62098,clock:Cl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Sl,"clouds-fill":62146,clouds:Dl,"cloudy-fill":62148,cloudy:Ol,"code-slash":62150,"code-square":62151,code:ql,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:Ml,"columns-gap":62157,columns:Il,command:Tl,"compass-fill":62160,compass:jl,"cone-striped":62162,cone:Bl,controller:Al,"cpu-fill":62165,cpu:Ll,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Rl,"cup-fill":62174,"cup-straw":62175,cup:Nl,"cursor-fill":62177,"cursor-text":62178,cursor:El,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Fl,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:zl,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Hl,discord:Yl,"display-fill":62209,display:Gl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:Vl,download:Jl,"droplet-fill":62219,"droplet-half":62220,droplet:Ul,earbuds:Wl,"easel-fill":62223,easel:Ql,"egg-fill":62225,"egg-fried":62226,egg:Kl,"eject-fill":62228,eject:Zl,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:Xl,"eraser-fill":62256,eraser:es,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ts,exclude:ls,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:ss,eyedropper:os,eyeglasses:is,facebook:as,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:ns,"files-alt":62401,files:rs,film:ds,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:cs,"flag-fill":62411,flag:us,flower1:fs,flower2:ps,flower3:ms,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:gs,"folder2-open":62424,folder2:hs,fonts:bs,"forward-fill":62427,forward:vs,front:ks,"fullscreen-exit":62430,fullscreen:ws,"funnel-fill":62432,funnel:ys,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:xs,gem:$s,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:_s,"gift-fill":62443,gift:Ps,github:Cs,globe:Ss,globe2:Ds,google:Os,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:qs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Ms,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Is,hash:Ts,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:js,headphones:Bs,headset:As,"heart-fill":62485,"heart-half":62486,heart:Ls,"heptagon-fill":62488,"heptagon-half":62489,heptagon:Rs,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Ns,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Es,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Fs,hr:zs,hurricane:Hs,"image-alt":62504,"image-fill":62505,image:Ys,images:Gs,"inbox-fill":62508,inbox:Vs,"inboxes-fill":62510,inboxes:Js,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:Us,"input-cursor-text":62517,"input-cursor":62518,instagram:Ws,intersect:Qs,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:Ks,journals:Zs,joystick:Xs,"justify-left":62537,"justify-right":62538,justify:eo,"kanban-fill":62540,kanban:to,"key-fill":62542,key:lo,"keyboard-fill":62544,keyboard:so,ladder:oo,"lamp-fill":62547,lamp:io,"laptop-fill":62549,laptop:ao,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:no,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:ro,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:co,"link-45deg":62576,link:uo,linkedin:fo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:po,"lock-fill":62586,lock:mo,mailbox:go,mailbox2:ho,"map-fill":62590,map:bo,"markdown-fill":62592,markdown:vo,mask:ko,"megaphone-fill":62595,megaphone:wo,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:yo,"minecart-loaded":62609,minecart:xo,moisture:$o,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:_o,"mouse-fill":62616,mouse:Po,"mouse2-fill":62618,mouse2:Co,"mouse3-fill":62620,mouse3:So,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Do,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Oo,"octagon-fill":62634,"octagon-half":62635,octagon:qo,option:Mo,outlet:Io,"paint-bucket":62639,"palette-fill":62640,palette:To,palette2:jo,paperclip:Bo,paragraph:Ao,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Lo,"peace-fill":62661,peace:Ro,"pen-fill":62663,pen:No,"pencil-fill":62665,"pencil-square":62666,pencil:Eo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Fo,"people-fill":62671,people:zo,percent:Ho,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Yo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Go,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:Vo,"pip-fill":62702,pip:Jo,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:Uo,"plug-fill":62710,plug:Wo,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:Qo,power:Ko,"printer-fill":62720,printer:Zo,"puzzle-fill":62722,puzzle:Xo,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ei,rainbow:ti,"receipt-cutoff":62734,receipt:li,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:si,"record2-fill":62747,record2:oi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:ii,"rss-fill":62753,rss:ai,rulers:ni,"save-fill":62756,save:ri,"save2-fill":62758,save2:di,scissors:ci,screwdriver:ui,search:fi,"segmented-nav":62763,server:pi,"share-fill":62765,share:mi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:gi,"shift-fill":62784,shift:hi,"shop-window":62786,shop:bi,shuffle:vi,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:ki,"sim-fill":62795,sim:wi,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:yi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:xi,sliders:$i,smartwatch:_i,snow:Pi,snow2:Ci,snow3:Si,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Di,"speaker-fill":62845,speaker:Oi,speedometer:qi,speedometer2:Mi,spellcheck:Ii,"square-fill":62850,"square-half":62851,square:Ti,stack:ji,"star-fill":62854,"star-half":62855,star:Bi,stars:Ai,"stickies-fill":62858,stickies:Li,"sticky-fill":62860,sticky:Ri,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ni,"stoplights-fill":62868,stoplights:Ei,"stopwatch-fill":62870,stopwatch:Fi,subtract:zi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Hi,sunglasses:Yi,"sunrise-fill":62884,sunrise:Gi,"sunset-fill":62886,sunset:Vi,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:Ji,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:Ui,"tag-fill":62895,tag:Wi,"tags-fill":62897,tags:Qi,telegram:Ki,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:Zi,"terminal-fill":62914,terminal:Xi,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ea,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:ta,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:la,toggles2:sa,tools:oa,tornado:ia,"trash-fill":62941,trash:aa,"trash2-fill":62943,trash2:na,"tree-fill":62945,tree:ra,"triangle-fill":62947,"triangle-half":62948,triangle:da,"trophy-fill":62950,trophy:ca,"tropical-storm":62952,"truck-flatbed":62953,truck:ua,tsunami:fa,"tv-fill":62956,tv:pa,twitch:ma,twitter:ga,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:ha,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:ba,union:va,"unlock-fill":62975,unlock:ka,"upc-scan":62977,upc:wa,upload:ya,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:xa,voicemail:$a,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:_a,"wallet-fill":62995,wallet:Pa,wallet2:Ca,watch:Sa,water:Da,whatsapp:Oa,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:qa,wind:Ma,"window-dock":63006,"window-sidebar":63007,window:Ia,wrench:Ta,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:ja,youtube:Ba,"zoom-in":63020,"zoom-out":63021,bank:Aa,bank2:La,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Ra,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Na,messenger:Ea,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Fa,reddit:za,"safe-fill":63057,"safe2-fill":63058,safe2:Ha,"sd-card-fill":63060,"sd-card":63061,skype:Ya,"slash-lg":63063,translate:Ga,"x-lg":63065,safe:Va,apple:Ja,microsoft:Ua,windows:Wa,behance:Qa,dribbble:Ka,line:Za,medium:Xa,paypal:en,pinterest:tn,signal:ln,snapchat:sn,spotify:on,"stack-overflow":63079,strava:an,wordpress:nn,vimeo:rn,activity:dn,"easel2-fill":63084,easel2:cn,"easel3-fill":63086,easel3:un,fan:fn,fingerprint:pn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:mn,magic:gn,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:hn,"webcam-fill":63100,webcam:bn,"yin-yang":63102,"bandaid-fill":63104,bandaid:vn,bluetooth:kn,"body-text":63107,boombox:wn,boxes:yn,"dpad-fill":63110,dpad:xn,"ear-fill":63112,ear:$n,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:_n,git:Pn,infinity:Cn,"list-columns-reverse":63135,"list-columns":63136,meta:Sn,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Dn,playstation:On,"plus-slash-minus":63146,"projector-fill":63147,projector:qn,"qr-code-scan":63149,"qr-code":63150,quora:Mn,quote:In,robot:Tn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:jn,steam:Bn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:An,tiktok:Ln,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:Rn,ethernet:Nn,"hdmi-fill":63190,hdmi:En,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Fn,"boombox-fill":63199,displayport:zn,"gpu-card":63202,memory:Hn,"modem-fill":63204,modem:Yn,"motherboard-fill":63206,motherboard:Gn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:Vn,"thunderbolt-fill":63215,thunderbolt:Jn,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:Un,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:Wn,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:Qn,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:Kn,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:Zn,hearts:Xn,"hospital-fill":63347,hospital:er,"house-heart-fill":63349,"house-heart":63350,incognito:tr,"magnet-fill":63352,magnet:lr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:sr,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:or,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:ir,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:ar,"trash3-fill":63370,trash3:nr,valentine:rr,valentine2:dr,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:cr,alexa:ur,alipay:fr,android:pr,android2:mr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:gr,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:hr,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:br,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:vr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:kr,"lungs-fill":63487,lungs:wr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:yr,prescription:xr,prescription2:$r,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:_r,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Pr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:Cr,unindent:Sr,unity:Dr,"universal-access-circle":63525,"universal-access":63526,virus:Or,virus2:qr,wechat:Mr,yelp:Ir,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Tr,stripe:jr,subscript:Br,superscript:Ar,trello:Lr,"envelope-at-fill":63563,"envelope-at":63564,regex:Rr,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Nr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Er,"taxi-front-fill":63660,"taxi-front":63661,amd:Fr,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:zr,"houses-fill":63685,houses:Hr,nvidia:Yr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Gr,"alphabet-uppercase":62117,alphabet:Vr,amazon:Jr,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:Ur,"ban-fill":63139,ban:Wr,bing:Qr,cake:Kr,cake2:Zr,cookie:Xr,copy:ed,crosshair:td,crosshair2:ld,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:sd,feather2:od,"floppy-fill":63429,floppy:id,"floppy2-fill":63449,floppy2:ad,gitlab:nd,highlighter:rd,"marker-tip":63490,"nvme-fill":63491,nvme:dd,opencollective:cd,"pci-card-network":63693,"pci-card-sound":63694,radar:ud,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:fd,substack:pd,"threads-fill":63704,threads:md,transparency:gd,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:hd,"backpack2-fill":63713,backpack2:bd,"backpack3-fill":63715,backpack3:vd,"backpack4-fill":63717,backpack4:kd,brilliance:wd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:yd,exposure:xd,"gender-neuter":63725,highlights:$d,"luggage-fill":63727,luggage:_d,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Pd,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:Cd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Sd,"suitcase2-fill":63745,suitcase2:Dd,vignette:Od,bluesky:qd,tux:Md,"beaker-fill":63749,beaker:Id,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Td,"leaf-fill":63755,leaf:jd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Bd,"battery-low":63761,anthropic:Ad,"apple-music":63763,claude:Ld,openai:Rd,perplexity:Nd,css:Ed,javascript:Fd,typescript:zd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Hd={class:"border rounded-3 p-2"},Yd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Gd=["aria-label"],Vd={key:1,style:{"white-space":"nowrap"}},Jd=["disabled","placeholder"],Ud=U({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ie(),s=l,m=t,r=q(s.group.GroupName),u=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(_=>_!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(_,g)=>(o(),c("div",Hd,[e("div",Yd,[e("button",{onClick:g[0]||(g[0]=d=>m("iconPickerOpen")),"aria-label":"Pick icon button",class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),c("i",{key:0,class:B(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Gd)):(o(),c("span",Vd,[n(x,{t:"No Icon"})]))],2),e("button",{class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:g[1]||(g[1]=d=>m("colorPickerOpen")),style:pe({"background-color":l.group.BackgroundColor,color:T(a).colorText(l.group.BackgroundColor)})},[...g[6]||(g[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)])],6),de(e("input",{disabled:!l.edit,"onUpdate:modelValue":g[2]||(g[2]=d=>r.value=d),onChange:g[3]||(g[3]=d=>l.group.GroupName=r.value),placeholder:T(H)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,Jd),[[ke,r.value]]),l.edit?(o(),c("button",{key:0,"aria-label":"Delete Tag Button",onClick:g[4]||(g[4]=d=>m("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},[...g[7]||(g[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])):(o(),c("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:B([{active:!T(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:g[5]||(g[5]=d=>u())},[e("i",{class:B(["bi",[T(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),Wd={class:"w-100 bg-body top-0 border rounded-2"},Qd={class:"p-2 d-flex align-items-center gap-2 border-bottom"},Kd=["placeholder"],Zd={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},Xd=["onClick"],ec={class:"p-2 border-top d-flex gap-2"},tc=U({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;ne(()=>{let r=document.querySelector(".icon-grid div.active");r&&(r.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),m=N(()=>s.value?[...Object.keys(ve).filter(r=>r.includes(s.value.toLowerCase()))]:Object.keys(ve));return(r,u)=>(o(),c("div",Wd,[e("div",Qd,[u[3]||(u[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),de(e("input",{"onUpdate:modelValue":u[0]||(u[0]=_=>s.value=_),placeholder:T(H)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,Kd),[[ke,s.value]])]),e("div",Zd,[(o(!0),c(F,null,G(m.value,_=>(o(),c("div",{class:B(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===_}]),style:{cursor:"pointer"},key:_,onClick:g=>l.group.Icon=_},[e("i",{class:B(["bi m-auto","bi-"+_])},null,2)],10,Xd))),128))]),e("div",ec,[e("button",{onClick:u[1]||(u[1]=_=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[n(x,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:u[2]||(u[2]=_=>a("close"))},[n(x,{t:"Done"})])])]))}}),lc=K(tc,[["__scopeId","data-v-3c48f50e"]]),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},ic=["aria-label","onClick"],ac={class:"p-2 border-top d-flex gap-2"},nc=U({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ie();return ne(()=>{let m=document.querySelector(".icon-grid div.active");m&&(m.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(m,r)=>(o(),c("div",sc,[e("div",oc,[(o(!0),c(F,null,G(l.colors,(u,_)=>(o(),c("div",{class:B(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===u}]),style:pe([{cursor:"pointer"},{"background-color":u}]),"aria-label":_,key:u,onClick:g=>l.group.BackgroundColor=u},[l.group.BackgroundColor===u?(o(),c("i",{key:0,style:pe({color:T(s).colorText(u)}),class:"bi bi-check-circle m-auto"},null,4)):O("",!0)],14,ic))),128))]),e("div",ac,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:r[0]||(r[0]=u=>a("close"))},[n(x,{t:"Done"})])])]))}}),rc=K(nc,[["__scopeId","data-v-accdf15e"]]),dc={class:"card shadow rounded-3",id:"peerTag"},cc={class:"card-header"},uc={class:"form-check form-switch"},fc={class:"form-check-label",for:"showAllPeers"},pc={class:"card-body p-2"},mc={key:0},gc={key:0,class:"text-center text-muted"},hc={key:1,class:"d-flex flex-column gap-2"},bc={class:"card-footer p-2 d-flex gap-2"},vc=U({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ie(),m=l,r=_e({...m.configuration.Info.PeerGroups}),u=()=>{r[ze().toString()]={GroupName:"",Description:"",BackgroundColor:_(),Icon:g(),Peers:[]}},_=()=>{const D=Object.keys(a),b=Math.floor(Math.random()*D.length)+1;return a[D[b]]},g=()=>{const D=Object.keys(ve),b=Math.floor(Math.random()*D.length)+1;return D[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,D=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:D},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(D,b)=>(o(),c("div",dc,[e("div",cc,[e("div",uc,[de(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":b[0]||(b[0]=y=>T(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,T(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",fc,[e("small",null,[n(x,{t:"Show All Peers"})])])])]),e("div",pc,[n(ae,{name:"zoom",mode:"out-in"},{default:W(()=>[!d.value&&!f.value?(o(),c("div",mc,[Object.keys(r).length===0?(o(),c("div",gc,[e("small",null,[n(x,{t:"No tag"})])])):(o(),c("div",hc,[n(me,{name:"slide-fade"},{default:W(()=>[(o(!0),c(F,null,G(r,(y,C)=>(o(),I(Ud,{groupId:C,onDelete:M=>{delete r[C],T(s).Filter.HiddenTags=T(s).Filter.HiddenTags.filter(z=>z!==C)},onColorPickerOpen:M=>{f.value=!0,v.value=C},onIconPickerOpen:M=>{d.value=!0,v.value=C},key:C,edit:$.value,group:y},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):d.value?(o(),I(lc,{key:1,onClose:b[1]||(b[1]=y=>d.value=!1),group:r[v.value]},null,8,["group"])):f.value?(o(),I(rc,{key:2,colors:a,onClose:b[2]||(b[2]=y=>f.value=!1),group:r[v.value]},null,8,["group"])):O("",!0)]),_:1})]),e("div",bc,[$.value?(o(),c(F,{key:1},[e("button",{onClick:u,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[b[7]||(b[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),n(x,{t:"Tag"})])]),e("button",{onClick:b[5]||(b[5]=y=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[n(x,{t:"Done"})])])],64)):(o(),c(F,{key:0},[e("button",{onClick:b[3]||(b[3]=y=>w("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[n(x,{t:"Close"})])]),e("button",{onClick:b[4]||(b[4]=y=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[b[6]||(b[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),n(x,{t:"Edit"})])])],64))])]))}}),kc=K(vc,[["__scopeId","data-v-ab3e5c4e"]]),wc={name:"peerSearch",components:{PeerTag:kc,LocaleText:x},setup(){const l=oe(),t=ie();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:H("Status"),name:H("Name"),allowed_ip:H("Allowed IPs"),restricted:H("Restricted")},interval:{5e3:H("5 Seconds"),1e4:H("10 Seconds"),3e4:H("30 Seconds"),6e4:H("1 Minutes")},display:{grid:H("Grid"),list:H("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){ee(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},yc={class:"d-flex flex-column gap-2 my-4"},xc={class:"d-flex gap-2 peerSearchContainer"},$c={class:"dropdown"},_c={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Pc={class:"badge text-bg-primary ms-2"},Cc={class:"dropdown-menu rounded-3"},Sc=["onClick"],Dc={class:"ms-auto"},Oc={key:0,class:"bi bi-check-circle-fill"},qc={class:"dropdown"},Mc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Ic={class:"badge text-bg-primary ms-2"},Tc={class:"dropdown-menu rounded-3"},jc=["onClick"],Bc={class:"ms-auto"},Ac={key:0,class:"bi bi-check-circle-fill"},Lc={class:"dropdown"},Rc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Ec={class:"dropdown-menu rounded-3"},Fc=["onClick"],zc={class:"ms-auto"},Hc={key:0,class:"bi bi-check-circle-fill"},Yc={class:"position-relative"};function Gc(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTag");return o(),c("div",yc,[e("div",xc,[e("div",$c,[e("button",_c,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),n(u,{t:"Sort By"}),e("span",Pc,S(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",Cc,[(o(!0),c(F,null,G(this.sort,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateSort(d)},[e("small",null,S(g),1),e("small",Dc,[s.store.Configuration.Server.dashboard_sort===d?(o(),c("i",Oc)):O("",!0)])],8,Sc)]))),256))])]),e("div",qc,[e("button",Mc,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),n(u,{t:"Refresh Interval"}),e("span",Ic,S(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Tc,[(o(!0),c(F,null,G(this.interval,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateRefreshInterval(d)},[e("small",null,S(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Ac)):O("",!0)])],8,jc)]))),256))])]),e("div",Lc,[e("button",Rc,[e("i",{class:B(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,S(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Ec,[(o(!0),c(F,null,G(this.display,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateDisplay(d)},[e("small",null,S(g),1),e("small",zc,[s.store.Configuration.Server.dashboard_peer_list_display===d?(o(),c("i",Hc)):O("",!0)])],8,Fc)]))),256))])]),e("div",Yc,[e("button",{onClick:t[0]||(t[0]=g=>m.tagManager=!m.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),n(u,{t:"Tags"})]),n(ae,{name:"slide-fade"},{default:W(()=>[this.tagManager?(o(),I(_,{key:0,onUpdate:t[1]||(t[1]=g=>a.configuration.Info.PeerGroups=g),onClose:t[2]||(t[2]=g=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):O("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=g=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),n(u,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=g=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=g=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=g=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Vc=K(wc,[["render",Gc],["__scopeId","data-v-71502547"]]),Jc={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},Uc={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(m,r)=>(o(),c("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:r[0]||(r[0]=u=>s.value=!0),onMouseleave:r[1]||(r[1]=u=>s.value=!1),onClick:r[2]||(r[2]=u=>a("click"))},[e("i",{class:B(["me-auto bi",l.icon])},null,2),n(ae,{name:"zoomReversed"},{default:W(()=>[s.value?(o(),c("span",Jc,[e("small",null,[n(x,{t:l.title},null,8,["t"])])])):O("",!0)]),_:1})],32))}},Wc=K(Uc,[["__scopeId","data-v-d4e41a56"]]),Qc={class:"mb-0"},Ne=U({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ie();return(a,s)=>(o(),c("h6",Qc,[e("span",{class:"badge rounded-3 shadow",style:pe({"background-color":l.BackgroundColor,color:T(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:B(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(S(l.GroupName),1)],4)]))}}),Kc={class:"dropdown-menu"},Zc=["onClick"],Xc={key:0,class:"bi bi-check-circle-fill"},e6={key:1,class:"bi bi-circle"},t6=U({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=_e({...a.ConfigurationInfo.Info.PeerGroups}),m=t;se(()=>s,u=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:u},_=>{_.status&&m("update",s)})},{deep:!0});const r=(u,_)=>{s[u].Peers.includes(_)?s[u].Peers=s[u].Peers.filter(g=>g!==_):s[u].Peers.push(_)};return(u,_)=>(o(),c("ul",Kc,[(o(!0),c(F,null,G(s,(g,d)=>(o(),c("li",null,[e("a",{role:"button",onClick:f=>r(d,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[g.Peers.includes(l.Peer.id)?(o(),c("i",Xc)):(o(),c("i",e6)),n(Ne,{class:"ms-auto",BackgroundColor:g.BackgroundColor,GroupName:g.GroupName,Icon:"bi-"+g.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,Zc)]))),256))]))}}),l6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:t6,PeerSettingsDropdownTool:Wc,LocaleText:x},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,m=document.createElement("a");m.href=a,m.download=s,m.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},s6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},o6={class:"text-body d-flex"},i6={class:"ms-auto"},a6={key:1},n6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},r6={key:2},d6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},c6={class:"dropdown dropstart"},u6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},f6={key:1,class:"confirmDelete"},p6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},m6={class:"d-flex w-100 gap-2"},g6=["disabled"],h6=["disabled"],b6={key:1};function v6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerSettingsDropdownTool"),g=le("PeerTagSelectDropdown");return o(),c("ul",{class:B([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),c("li",b6,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=d=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(u,{key:1,t:"Allowing Access..."})):(o(),I(u,{key:0,t:"Allow Access"}))],2)])):(o(),c(F,{key:0},[this.confirmDelete?(o(),c("li",f6,[e("p",p6,[n(u,{t:"Are you sure to delete this peer?"})]),e("div",m6,[e("button",{onClick:t[10]||(t[10]=d=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[n(u,{t:"Yes"})],8,g6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=d=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[n(u,{t:"No"})],8,h6)])])):(o(),c(F,{key:0},[this.Peer.status==="running"?(o(),c(F,{key:0},[e("li",s6,[e("span",o6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",i6,S(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):O("",!0),this.Peer.private_key?(o(),c("li",r6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",d6,[n(_,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=d=>this.downloadPeer())}),n(_,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=d=>this.$emit("qrcode"))}),n(_,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=d=>this.$emit("configurationFile"))}),n(_,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=d=>this.$emit("share"))})])])):(o(),c("li",a6,[e("small",n6,[n(u,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=d=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=E()),n(u,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=d=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=E()),n(u,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=d=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=E()),n(u,{t:"Assign Peer"})])]),e("li",c6,[e("a",u6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=E()),n(u,{t:"Tag Peer"})]),n(g,{onUpdate:t[7]||(t[7]=d=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=d=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(u,{key:1,t:"Restricting..."})):(o(),I(u,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:B(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=d=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(u,{key:1,t:"Deleting..."})):(o(),I(u,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const k6=K(l6,[["render",v6],["__scopeId","data-v-18549c26"]]),w6={name:"peer",methods:{GetLocale:H},components:{PeerTagBadge:Ne,LocaleText:x,PeerSettingsDropdown:k6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return Je(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},y6=["id"],x6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},$6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},_6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},P6={class:"text-primary"},C6={class:"text-success"},S6={key:0,class:"text-secondary"},D6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},O6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},q6={class:"text-muted"},M6={class:"d-block"},I6={class:"text-muted"},T6={class:"d-block"},j6={class:"d-flex align-items-center"},B6={key:1,class:"card-footer"},A6={class:"d-flex align-items-center text-muted"};function L6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:B(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),c("div",D6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),n(u,{t:"Access Restricted"})])):(o(),c("div",x6,[e("div",{class:B(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),c("div",$6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,S(a.Peer.endpoint),1)])):O("",!0),e("div",_6,[e("span",P6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,S((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=E(" GB ",-1))]),e("span",C6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,S((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=E(" GB ",-1))]),a.Peer.latest_handshake!=="No Handshake"?(o(),c("span",S6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),E(" "+S(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,S(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:B(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",q6,[n(u,{t:"Public Key"})]),e("small",M6,[e("samp",null,S(a.Peer.id),1)])],2),e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",I6,[n(u,{t:"Allowed IPs"})]),e("small",T6,[e("samp",null,S(a.Peer.allowed_ip),1)])],2),e("div",{class:B(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),c(F,null,G(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(d=>d.Peers.includes(a.Peer.id)),d=>(o(),I(_,{BackgroundColor:d.BackgroundColor,GroupName:d.GroupName,Icon:"bi-"+d.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:B(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=d=>this.subMenuOpened=!0)},[...t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])]),n(ae,{name:"slide-fade"},{default:W(()=>[this.subMenuOpened?(o(),I(g,{key:0,dropup:r.getDropup,onQrcode:t[1]||(t[1]=d=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=d=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=d=>this.$emit("setting")),onJobs:t[4]||(t[4]=d=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=d=>this.$emit("refresh")),onShare:t[6]||(t[6]=d=>this.$emit("share")),onAssign:t[7]||(t[7]=d=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):O("",!0)]),_:1})],2)],2)],2)]),this.Peer.restricted?(o(),c("div",B6,[e("small",A6,[n(u,{t:"Allow access to view details"})])])):(o(),c("div",{key:0,class:"card-footer",role:"button",onClick:t[8]||(t[8]=d=>l.$emit("details"))},[e("small",j6,[n(u,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])]))],10,y6)}const R6=K(w6,[["render",L6],["__scopeId","data-v-f38d3291"]]),N6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-DifkpEnI.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),m=V(()=>J(()=>import("./peerShareLinkModal-Cp_7Ocfs.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]),import.meta.url)),r=V(()=>J(()=>import("./peerJobs-ZmnTraTM.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]),import.meta.url)),u=V(()=>J(()=>import("./peerQRCode-D4LTIXqU.js"),__vite__mapDeps([15,16,2,3,17,1,18]),import.meta.url)),_=V(()=>J(()=>import("./peerConfigurationFile-BnkO4W2k.js"),__vite__mapDeps([19,2,3,1,16,17,20]),import.meta.url)),g=V(()=>J(()=>import("./peerSettings-7WGqQiw0.js"),__vite__mapDeps([21,2,3,1,22]),import.meta.url));return(d,f)=>(o(),I(me,{name:"zoom"},{default:W(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(T(g),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:f[0]||(f[0]=v=>a("refresh")),onClose:f[1]||(f[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(T(u),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[2]||(f[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(T(r),{key:"PeerJobsModal",onRefresh:f[3]||(f[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:f[4]||(f[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(T(m),{key:"PeerShareLinkModal",onClose:f[5]||(f[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(T(_),{key:"PeerConfigurationFileModal",onClose:f[6]||(f[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(T(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},E6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},F6={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return ne(()=>{a.value=new IntersectionObserver(m=>{m.forEach(r=>{r.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),re(()=>{a.value.disconnect()}),(m,r)=>(o(),c("div",E6))}},z6={class:"d-flex gap-1 flex-column"},H6=U({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),m=q(!1),r=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},_=>{m.value=_.status,u()})},u=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(_,g)=>(o(),c("div",z6,[g[2]||(g[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),E("Notes ")])],-1)),de(e("input",{type:"text",class:B([[s.value?[m.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":g[0]||(g[0]=d=>a.value=d),onChange:g[1]||(g[1]=d=>r())},null,34),[[ke,a.value]])]))}});var ue={exports:{}},Y6=ue.exports,ye;function G6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(Y6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var V6=G6();const Ee=Ce(V6);var fe={exports:{}},J6=fe.exports,xe;function U6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(J6,(function(){var a,s,m=1e3,r=6e4,u=36e5,_=864e5,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=31536e6,f=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,w={years:d,months:f,days:_,hours:u,minutes:r,seconds:m,milliseconds:1,weeks:6048e5},$=function(j){return j instanceof te},D=function(j,P,h){return new te(j,h,P.$l)},b=function(j){return s.p(j)+"s"},y=function(j){return j<0},C=function(j){return y(j)?Math.ceil(j):Math.floor(j)},M=function(j){return Math.abs(j)},z=function(j,P){return j?y(j)?{negative:!0,format:""+M(j)+P}:{negative:!1,format:""+j+P}:{negative:!1,format:""}},te=(function(){function j(h,A,R){var L=this;if(this.$d={},this.$l=R,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return D(h*w[b(A)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){L.$d[b(p)]=h[p]})),this.calMilliseconds(),this;if(typeof h=="string"){var k=h.match(v);if(k){var i=k.slice(2).map((function(p){return p!=null?Number(p):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var P=j.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(A,R){return A+(h.$d[R]||0)*w[R]}),0)},P.parseFromMilliseconds=function(){var h=this.$ms;this.$d.years=C(h/d),h%=d,this.$d.months=C(h/f),h%=f,this.$d.days=C(h/_),h%=_,this.$d.hours=C(h/u),h%=u,this.$d.minutes=C(h/r),h%=r,this.$d.seconds=C(h/m),h%=m,this.$d.milliseconds=h},P.toISOString=function(){var h=z(this.$d.years,"Y"),A=z(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var L=z(R,"D"),k=z(this.$d.hours,"H"),i=z(this.$d.minutes,"M"),p=this.$d.seconds||0;this.$d.milliseconds&&(p+=this.$d.milliseconds/1e3,p=Math.round(1e3*p)/1e3);var Y=z(p,"S"),Z=h.negative||A.negative||L.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+A.format+L.format+Fe+k.format+i.format+Y.format;return he==="P"||he==="-P"?"P0D":he},P.toJSON=function(){return this.toISOString()},P.format=function(h){var A=h||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return A.replace(g,(function(L,k){return k||String(R[L])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var A=this.$ms,R=b(h);return R==="milliseconds"?A%=1e3:A=R==="weeks"?C(A/w[R]):this.$d[R],A||0},P.add=function(h,A,R){var L;return L=A?h*w[b(A)]:$(h)?h.$ms:D(h,this).$ms,D(this.$ms+L*(R?-1:1),this)},P.subtract=function(h,A){return this.add(h,A,!0)},P.locale=function(h){var A=this.clone();return A.$l=h,A},P.clone=function(){return D(this.$ms,this)},P.humanize=function(h){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!h)},P.valueOf=function(){return this.asMilliseconds()},P.milliseconds=function(){return this.get("milliseconds")},P.asMilliseconds=function(){return this.as("milliseconds")},P.seconds=function(){return this.get("seconds")},P.asSeconds=function(){return this.as("seconds")},P.minutes=function(){return this.get("minutes")},P.asMinutes=function(){return this.as("minutes")},P.hours=function(){return this.get("hours")},P.asHours=function(){return this.as("hours")},P.days=function(){return this.get("days")},P.asDays=function(){return this.as("days")},P.weeks=function(){return this.get("weeks")},P.asWeeks=function(){return this.as("weeks")},P.months=function(){return this.get("months")},P.asMonths=function(){return this.as("months")},P.years=function(){return this.get("years")},P.asYears=function(){return this.as("years")},j})(),ce=function(j,P,h){return j.add(P.years()*h,"y").add(P.months()*h,"M").add(P.days()*h,"d").add(P.hours()*h,"h").add(P.minutes()*h,"m").add(P.seconds()*h,"s").add(P.milliseconds()*h,"ms")};return function(j,P,h){a=h,s=h().$utils(),h.duration=function(L,k){var i=h.locale();return D(L,{$l:i},k)},h.isDuration=$;var A=P.prototype.add,R=P.prototype.subtract;P.prototype.add=function(L,k){return $(L)?ce(this,L,1):A.bind(this)(L,k)},P.prototype.subtract=function(L,k){return $(L)?ce(this,L,-1):R.bind(this)(L,k)}}}))})(fe)),fe.exports}var W6=U6();const Q6=Ce(W6),K6={key:0,class:"sessions-label"},Z6={class:"d-flex flex-wrap gap-1 session-dot"},X6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},eu={class:"p-1 badge text-bg-warning text-start session-badge-list"},tu={class:"mt-1"},lu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(Q6);const a=N(()=>{let s=t.sessions.map(r=>Q(r)).filter(r=>r.isSame(t.day,"D")).reverse(),m=[];if(s.length>1){let r=[s[0]];for(let u of s.slice(1))u.isSameOrBefore(r[r.length-1].add(3,"minute"))?r.push(u):(m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))}),r=[u]);m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))})}return m});return(s,m)=>(o(),c("div",{class:"d-flex gap-1 flex-column session-list",onClick:m[0]||(m[0]=r=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),c("small",K6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Z6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",X6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",eu,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(S(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(S(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",tu,[n(x,{t:"Duration:"}),E(" "+S(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),su=K(lu,[["__scopeId","data-v-5178a57b"]]),ou={class:"card rounded-3 bg-transparent"},iu={class:"card-header d-flex align-items-center"},au={class:"mx-auto mb-0 text-center"},nu={class:"text-muted",style:{"font-size":"0.9rem"}},ru={class:"card-body p-0 position-relative"},du={class:"calendar-grid"},cu=["onClick"],uu={class:"d-flex day-label"},fu={key:0,class:"bi bi-check-circle-fill ms-auto"},pu={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},mu={class:"d-flex mb-3"},gu={class:"mb-0"},hu={class:"d-flex flex-column gap-2"},bu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},vu={class:"ms-auto"},ku=U({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);Q.extend(Ee);const m=q(void 0),r=q(0),u=q(Q()),_=N(()=>Q().add(r.value,"month")),g=N(()=>_.value.startOf("month")),d=N(()=>_.value.endOf("month")),f=N(()=>g.value.startOf("week")),v=N(()=>d.value.endOf("week")),w=N(()=>{let y=[],C=f.value;for(;C.isSameOrBefore(v.value,"day");)y.push(C),C=C.add(1,"day");if(y.length<42){let M=42-y.length;for(let z=0;z{await ee("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:f.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},y=>{s.value=y.data.reverse()})};$(),m.value=setInterval(async()=>{await $()},6e4),re(()=>{clearInterval(m.value)}),se(()=>_.value,()=>$());const D=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",ou,[e("div",iu,[e("button",{class:"btn btn-sm rounded-3",onClick:C[0]||(C[0]=M=>r.value-=1)},[...C[5]||(C[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])]),r.value!==0?(o(),c("button",{key:0,class:"btn btn-sm rounded-3",onClick:C[1]||(C[1]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("h5",au,[e("small",nu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+S(_.value.format("YYYY / MM")),1)]),r.value!==0?(o(),c("button",{key:1,class:"btn btn-sm rounded-3",onClick:C[2]||(C[2]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:C[3]||(C[3]=M=>r.value+=1)},[...C[7]||(C[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)])])]),e("div",ru,[e("div",du,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:B(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":M.isSame(u.value,"D"),"border-end":M.day()<6,"border-bottom":zy.$emit("selectDate",M),style:{cursor:"pointer"}},[e("h6",uu,[E(S(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",fu)):O("",!0)]),(o(),I(su,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},D.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,cu))),128))]),n(ae,{name:"zoom"},{default:W(()=>[D.value?(o(),c("div",pu,[e("div",mu,[e("h5",gu,S(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>D.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",hu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",bu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(S(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(S(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",vu,[n(x,{t:"Duration:"}),E(" "+S(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),wu=K(ku,[["__scopeId","data-v-3b03c7a5"]]),yu={class:"card rounded-3 bg-transparent"},xu={class:"card-body"},$u={class:"text-muted"},_u={class:"d-flex flex-column gap-3"},Pu=U({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=N(()=>t.selectedDate?t.selectedDate:Q()),s=q([]),m=async()=>{await ee("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},r=q(void 0);m(),r.value=setInterval(async()=>{await m()},6e4),re(()=>{clearInterval(r.value)}),se(()=>a.value,()=>{m()});const u=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),_=N(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),g=N(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),d=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Sent"),data:_.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),f=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Received"),data:g.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,w)=>(o(),c("div",yu,[e("div",xu,[e("h6",$u,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",_u,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(T(ge),{options:u.value,data:f.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[n(x,{t:"Data Sent"})]),n(T(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),Cu={class:"card rounded-3 bg-transparent"},Su={class:"card-header text-muted"},Du={class:"card-body"},Ou={class:"bg-body-tertiary p-3 d-flex rounded-3"},qu={key:0,class:"m-auto"},Mu={key:1,class:"m-auto"},Iu={key:2,class:"w-100 d-flex flex-column gap-3"},Tu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},ju={key:0,class:"m-auto"},Bu={key:0},Au={key:1,class:"text-muted"},Lu={class:"table table-hover"},Ru={key:0},Nu=["onClick"],Eu={key:0},Fu=U({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),m=q(void 0),r=q(void 0),u=async()=>{await ee("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async d=>{if(d.status&&(s.value=d.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),m.value=!0,r.value=new Ue({target:"map",layers:[new Qe({source:new Ke})],view:new We({center:be([17.64,16.35]),zoom:0})}),s.value.geolocation){const f=new Ze;s.value.geolocation.filter(w=>w.lat&&w.lon).forEach(w=>{f.addFeature(new we({geometry:new Xe(be([w.lon,w.lat]))}))}),f.addFeature(new we({})),r.value.addLayer(new et({source:f,style:()=>new tt({image:new lt({radius:10,fill:new ot({color:"#0d6efd"}),stroke:new st({color:"white",width:5})})})}))}}catch(f){console.log(f),m.value=!1}})};ne(()=>u());const _=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);if(f){let v=[f.city,f.country];return v.filter(w=>w!==void 0).length===0&&v.push("Private Address"),v.filter(w=>w!==void 0).join(", ")}}},g=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);f&&f.lon&&f.lat&&r.value.getView().animate({zoom:4},{center:be([f.lon,f.lat])},{easing:it})}};return(d,f)=>(o(),c("div",Cu,[e("div",Su,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Du,[e("div",Ou,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Mu,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",Iu,[e("div",Tu,[m.value?O("",!0):(o(),c("div",ju,[m.value===void 0?(o(),c("div",Bu,[f[1]||(f[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading Map..."})])):O("",!0),m.value===!1?(o(),c("div",Au,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Lu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Ru,[n(x,{t:"Geolocation"})])):O("",!0)])]),e("tbody",null,[(o(!0),c(F,null,G(s.value.endpoints,v=>(o(),c("tr",{onClick:w=>g(v.endpoint),style:{cursor:"pointer"}},[e("td",null,S(v.endpoint),1),s.value.geolocation?(o(),c("td",Eu,S(_(v.endpoint)),1)):O("",!0)],8,Nu))),256))])])])):O("",!0):(o(),c("div",qu,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),zu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Hu={class:"d-flex h-100 w-100 pb-2"},Yu={class:"m-auto w-100 p-2"},Gu={class:"card rounded-3 shadow h-100"},Vu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Ju={class:"mb-0 fw-normal"},Uu={class:"card-body px-4"},Wu={class:"d-flex justify-content-between align-items-start mb-2 flex-column flex-md-row"},Qu={class:"mb-0 text-muted"},Ku={key:0,class:"text-start text-md-end"},Zu={class:"mb-0 text-muted"},Xu={class:"mb-0",style:{"white-space":"pre-wrap"}},e2={class:"row mt-3 gy-2 gx-2 mb-2"},t2={class:"col-12 col-lg-3"},l2={class:"card rounded-3 bg-transparent h-100"},s2={class:"card-body py-2 d-flex flex-column justify-content-center"},o2={class:"mb-0 text-muted"},i2={class:"d-flex align-items-center"},a2={class:"col-12 col-lg-3"},n2={class:"card rounded-3 bg-transparent h-100"},r2={class:"card-body py-2 d-flex flex-column justify-content-center"},d2={class:"mb-0 text-muted"},c2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},u2={class:"card rounded-3 bg-transparent h-100"},f2={class:"card-body py-2 d-flex flex-column justify-content-center"},p2={class:"mb-0 text-muted"},m2={class:"col-12 col-lg-3"},g2={class:"card rounded-3 bg-transparent h-100"},h2={class:"card-body d-flex"},b2={class:"mb-0 text-muted"},v2={class:"h4"},k2={class:"col-12 col-lg-3"},w2={class:"card rounded-3 bg-transparent h-100"},y2={class:"card-body d-flex"},x2={class:"mb-0 text-muted"},$2={class:"h4 text-warning"},_2={class:"col-12 col-lg-3"},P2={class:"card rounded-3 bg-transparent h-100"},C2={class:"card-body d-flex"},S2={class:"mb-0 text-muted"},D2={class:"h4 text-primary"},O2={class:"col-12 col-lg-3"},q2={class:"card rounded-3 bg-transparent h-100"},M2={class:"card-body d-flex"},I2={class:"mb-0 text-muted"},T2={class:"h4 text-success"},j2={class:"col-12"},B2={class:"col-12"},A2={class:"col-12"},L2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Ae,Le,Re);const t=q(void 0);return(a,s)=>(o(),c("div",zu,[e("div",Hu,[e("div",Yu,[e("div",Gu,[e("div",Vu,[e("h4",Ju,[n(x,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=m=>a.$emit("close"))})]),e("div",Uu,[e("div",Wu,[e("div",null,[e("p",Qu,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",{class:B({"text-muted":l.selectedPeer.name.length===0})},S(l.selectedPeer.name.length>0?l.selectedPeer.name:T(H)("Untitled Peer")),3)]),l.selectedPeer.notes?(o(),c("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Notes"})])]),e("p",Xu,S(l.selectedPeer.notes),1)])):O("",!0)]),e("div",e2,[e("div",t2,[e("div",l2,[e("div",s2,[e("p",o2,[e("small",null,[n(x,{t:"Status"})])]),e("div",i2,[e("span",{class:B(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(x,{key:0,t:"Connected"})):(o(),I(x,{key:1,t:"Disconnected"}))])])])]),e("div",a2,[e("div",n2,[e("div",r2,[e("p",d2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+S(l.selectedPeer.allowed_ip),1)])])]),e("div",c2,[e("div",u2,[e("div",f2,[e("p",p2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,S(l.selectedPeer.id),1)])])]),e("div",m2,[e("div",g2,[e("div",h2,[e("div",null,[e("p",b2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",v2,[n(x,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",k2,[e("div",w2,[e("div",y2,[e("div",null,[e("p",x2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",$2,S((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",_2,[e("div",P2,[e("div",C2,[e("div",null,[e("p",S2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",D2,S((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",O2,[e("div",q2,[e("div",M2,[e("div",null,[e("p",I2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",T2,S((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",j2,[n(Pu,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",B2,[n(wu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",A2,[n(Fu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),R2={class:"container-fluid"},N2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},E2={class:"text-muted d-flex align-items-center gap-2"},F2={class:"mb-0"},z2={class:"d-flex align-items-center gap-3"},H2={class:"mb-0 display-4"},Y2={class:"ms-sm-auto d-flex gap-2 flex-column"},G2={class:"card rounded-3 bg-transparent"},V2={class:"card-body py-2 d-flex align-items-center"},J2={class:"text-muted"},U2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},W2=["for"],Q2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},K2=["disabled","id"],Z2={class:"d-flex gap-2"},X2={class:"row mt-3 gy-2 gx-2 mb-2"},ef={class:"col-12 col-lg-3"},tf={class:"card rounded-3 bg-transparent h-100"},lf={class:"card-body py-2 d-flex flex-column justify-content-center"},sf={class:"mb-0 text-muted"},of={class:"col-12 col-lg-3"},af={class:"card rounded-3 bg-transparent h-100"},nf={class:"card-body py-2 d-flex flex-column justify-content-center"},rf={class:"mb-0 text-muted"},df={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},cf={class:"card rounded-3 bg-transparent h-100"},uf={class:"card-body py-2 d-flex flex-column justify-content-center"},ff={class:"mb-0 text-muted"},pf={class:"row gx-2 gy-2 mb-2"},mf={class:"col-12 col-lg-3"},gf={class:"card rounded-3 bg-transparent h-100"},hf={class:"card-body d-flex"},bf={class:"mb-0 text-muted"},vf={class:"h4"},kf={class:"col-12 col-lg-3"},wf={class:"card rounded-3 bg-transparent h-100"},yf={class:"card-body d-flex"},xf={class:"mb-0 text-muted"},$f={class:"h4"},_f={class:"col-12 col-lg-3"},Pf={class:"card rounded-3 bg-transparent h-100"},Cf={class:"card-body d-flex"},Sf={class:"mb-0 text-muted"},Df={class:"h4 text-primary"},Of={class:"col-12 col-lg-3"},qf={class:"card rounded-3 bg-transparent h-100"},Mf={class:"card-body d-flex"},If={class:"mb-0 text-muted"},Tf={class:"h4 text-success"},jf={style:{"margin-bottom":"10rem"}},Bf=20,Af={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-Pt1vk9ME.js"),__vite__mapDeps([23,2,3,24]),import.meta.url)),m=V(()=>J(()=>import("./peerJobsAllModal-afK2ah32.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]),import.meta.url)),r=V(()=>J(()=>import("./peerJobsLogsModal-DdRCnHbg.js"),__vite__mapDeps([26,7,2,3,1]),import.meta.url)),u=V(()=>J(()=>import("./editConfiguration-BSnplhSU.js"),__vite__mapDeps([27,2,3,1,7,28]),import.meta.url)),_=V(()=>J(()=>import("./selectPeers-DrKFMxAW.js"),__vite__mapDeps([29,2,3,1,30]),import.meta.url)),g=V(()=>J(()=>import("./peerAddModal-OeLCdC_5.js"),__vite__mapDeps([31,2,3,1,32]),import.meta.url)),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),D=q(!1),b=q({}),y=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),C=q(!1),M=async()=>{await ee("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},k=>{k.status&&(w.value=k.data.configurationInfo,$.value=k.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),k.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=He(()=>M()),await t,a();const z=q(void 0),te=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await M()},parseInt(d.Configuration.Server.dashboard_refresh_interval))};te(),re(()=>{clearInterval(z.value),z.value=void 0,f.Filter.HiddenTags=[]}),se(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{te()});const ce=async()=>{D.value=!0,await ee("/api/toggleWireguardConfiguration",{configurationName:w.value.Name},k=>{k.status?d.newMessage("Server",`${w.value.Name} ${k.data?"is on":"is off"}`,"success"):d.newMessage("Server",k.message,"danger"),f.Configurations.find(i=>i.Name===w.value.Name).Status=k.data,w.value.Status=k.data,D.value=!1})},j=N(()=>({connectedPeers:$.value.filter(k=>k.status==="running").length,totalUsage:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_data+k.cumu_data).reduce((k,i)=>k+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_receive+k.cumu_receive).reduce((k,i)=>k+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_sent+k.cumu_sent).reduce((k,i)=>k+i,0).toFixed(4):0})),P=q(10),h=N(()=>f.Filter.HiddenTags.map(k=>w.value.Info.PeerGroups[k].Peers).flat()),A=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),R=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},L=N(()=>{const k=f.searchString?$.value.filter(p=>(p.name.includes(f.searchString)||p.id.includes(f.searchString)||p.allowed_ip.includes(f.searchString))&&!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(p.id)));if(d.Configuration.Server.dashboard_sort==="restricted")return k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?-1:0).slice(0,P.value);let i=[];return d.Configuration.Server.dashboard_sort==="allowed_ip"?i=k.sort((p,Y)=>R(p[d.Configuration.Server.dashboard_sort])R(Y[d.Configuration.Server.dashboard_sort])?1:0).slice(0,P.value):i=k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?1:0).slice(0,P.value),i});return se(()=>v.query.id,k=>{k?f.searchString=k:f.searchString=void 0},{immediate:!0}),(k,i)=>(o(),c("div",R2,[e("div",N2,[e("div",null,[e("div",E2,[e("h5",F2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",z2,[e("h1",H2,[e("samp",null,S(w.value.Name),1)])])]),e("div",Y2,[e("div",G2,[e("div",V2,[e("small",J2,[n(x,{t:"Status"})]),e("div",{class:B(["dot ms-2",{active:w.value.Status}])},null,2),e("div",U2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!D.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!D.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),D.value?(o(),c("span",Q2)):O("",!0)],8,W2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:D.value,type:"checkbox",role:"switch",id:"switch"+w.value.id,onChange:i[0]||(i[0]=p=>ce()),"onUpdate:modelValue":i[1]||(i[1]=p=>w.value.Status=p)},null,40,K2),[[Pe,w.value.Status]])])])]),e("div",Z2,[e("a",{role:"button",onClick:i[2]||(i[2]=p=>y.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),n(x,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=p=>y.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),n(x,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),n(H6,{configuration:w.value},null,8,["configuration"]),e("div",X2,[e("div",ef,[e("div",tf,[e("div",lf,[e("p",sf,[e("small",null,[n(x,{t:"Address"})])]),E(" "+S(w.value.Address),1)])])]),e("div",of,[e("div",af,[e("div",nf,[e("p",rf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+S(w.value.ListenPort),1)])])]),e("div",df,[e("div",cf,[e("div",uf,[e("p",ff,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,S(w.value.PublicKey),1)])])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",hf,[e("div",null,[e("p",bf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",vf,S(j.value.connectedPeers)+" / "+S($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",kf,[e("div",wf,[e("div",yf,[e("div",null,[e("p",xf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",$f,S(j.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",_f,[e("div",Pf,[e("div",Cf,[e("div",null,[e("p",Sf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",Df,S(j.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",Of,[e("div",qf,[e("div",Mf,[e("div",null,[e("p",If,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Tf,S(j.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),n(Pt,{configurationPeers:$.value,configurationInfo:w.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",jf,[$.value.length>0?(o(),I(Vc,{key:0,onSearch:i[4]||(i[4]=p=>C.value=!C.value),onJobsAll:i[5]||(i[5]=p=>y.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=p=>y.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=p=>y.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=p=>y.value.deleteConfiguration.modalOpen=!0),configuration:w.value},null,8,["configuration"])):O("",!0),n(me,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:W(()=>[(o(!0),c(F,null,G(L.value,(p,Y)=>(o(),c("div",{class:B(["col-12",{"col-lg-6 col-xl-4":T(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(R6,{Peer:p,searchPeersLength:L.value.length,order:Y,ConfigurationInfo:w.value,onDetails:Z=>{y.value.peerDetails.modalOpen=!0,b.value=p},onShare:Z=>{y.value.peerShare.modalOpen=!0,b.value=p},onRefresh:i[11]||(i[11]=Z=>M()),onJobs:Z=>{y.value.peerScheduleJobs.modalOpen=!0,b.value=p},onSetting:Z=>{y.value.peerSetting.modalOpen=!0,b.value=p},onQrcode:Z=>{b.value=p,y.value.peerQRCode.modalOpen=!0},onConfigurationFile:Z=>{b.value=p,y.value.peerConfigurationFile.modalOpen=!0},onAssign:Z=>{b.value=p,y.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),n(ae,{name:"slide-fade"},{default:W(()=>[C.value?(o(),I(T(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(N6,{configurationModals:y.value,configurationModalSelectedPeer:b.value,onRefresh:i[13]||(i[13]=p=>M())},null,8,["configurationModals","configurationModalSelectedPeer"]),n(me,{name:"zoom"},{default:W(()=>[(o(),I(Ye,{key:"PeerAddModal"},{default:W(()=>[y.value.peerNew.modalOpen?(o(),I(T(g),{key:0,onClose:i[14]||(i[14]=p=>y.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=p=>{y.value.peerNew.modalOpen=!1,M()})})):O("",!0)]),_:1})),y.value.peerScheduleJobsAll.modalOpen?(o(),I(T(m),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=p=>M()),onAllLogs:i[17]||(i[17]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=p=>y.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):O("",!0),y.value.peerScheduleJobsLogs.modalOpen?(o(),I(T(r),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=p=>y.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.editConfiguration.modalOpen?(o(),I(T(u),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=p=>y.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=p=>y.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=p=>w.value=p),onRefresh:i[23]||(i[23]=p=>M()),onBackupRestore:i[24]||(i[24]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=p=>y.value.deleteConfiguration.modalOpen=!0),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.selectPeers.modalOpen?(o(),I(T(_),{key:3,onRefresh:i[26]||(i[26]=p=>M()),configurationPeers:$.value,onClose:i[27]||(i[27]=p=>y.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):O("",!0),y.value.peerDetails.modalOpen?(o(),I(L2,{key:"PeerDetailsModal",selectedPeer:L.value.find(p=>p.id===b.value.id),onClose:i[28]||(i[28]=p=>y.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}),n(F6,{showPeersCount:P.value,peerListLength:L.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Bf)},null,8,["showPeersCount","peerListLength"])]))}},Gf=K(Af,[["__scopeId","data-v-b4fba9bc"]]);export{Gf as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-9EMvi21e.js b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-D4LTIXqU.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/peerQRCode-9EMvi21e.js rename to src/static/dist/WGDashboardAdmin/assets/peerQRCode-D4LTIXqU.js index dbf5abfe..24c767ab 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-9EMvi21e.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-D4LTIXqU.js @@ -1 +1 @@ -import{Q as l}from"./browser-DFwZaPoQ.js";import{L as _}from"./localeText-Dmcj5qqx.js";import{_ as h,h as f,c,f as s,a as e,b as p,d as i,j as m,n as u,g,D as v}from"./index-DXzxfcZW.js";import"./galois-field-I2lBzzs-.js";const w={name:"peerQRCode",components:{LocaleText:_},props:{selectedPeer:Object},setup(){return{dashboardStore:v()}},data(){return{loading:!0}},mounted(){g("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};l.toCanvas(document.querySelector("#awg_vpn_qrcode"),btoa(JSON.stringify(a)),d=>{d&&console.error(d)})}t=o.data.file,l.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},x={class:"container d-flex h-100 w-100"},P={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},C={class:"card rounded-3 shadow"},y={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},S={class:"mb-0"},k={class:"card-body p-4"},q={class:"d-flex gap-2 flex-column"},L={class:"d-flex flex-column gap-2 align-items-center"},N={key:0,class:"d-flex flex-column gap-2 align-items-center"},Q={key:1,class:"spinner-border m-auto",role:"status"};function z(o,t,a,d,r,A){const n=f("LocaleText");return s(),c("div",b,[e("div",x,[e("div",P,[e("div",C,[e("div",y,[e("h4",S,[p(n,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=R=>this.$emit("close"))})]),e("div",k,[e("div",q,[e("div",L,[e("canvas",{id:"qrcode",style:{width:"200px !important",height:"200px !important"},class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),this.selectedPeer.configuration.Protocol==="wg"?(s(),m(n,{key:0,t:"Scan with WireGuard App",class:"text-muted"})):i("",!0),this.selectedPeer.configuration.Protocol==="awg"?(s(),m(n,{key:1,t:"Scan with AmneziaWG App",class:"text-muted"})):i("",!0)]),this.selectedPeer.configuration.Protocol==="awg"?(s(),c("div",N,[e("canvas",{id:"awg_vpn_qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),p(n,{t:"Scan with AmneziaVPN App",class:"text-muted"})])):i("",!0),r.loading?(s(),c("div",Q,[...t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)])])):i("",!0)])])])])])])}const $=h(w,[["render",z],["__scopeId","data-v-02f2240d"]]);export{$ as default}; +import{Q as l}from"./browser-CUYUHo3j.js";import{L as _}from"./localeText-BJvnc1lF.js";import{_ as h,h as f,c,f as s,a as e,b as p,d as i,j as m,n as u,g,D as v}from"./index-DM7YJCOo.js";import"./galois-field-I2lBzzs-.js";const w={name:"peerQRCode",components:{LocaleText:_},props:{selectedPeer:Object},setup(){return{dashboardStore:v()}},data(){return{loading:!0}},mounted(){g("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};l.toCanvas(document.querySelector("#awg_vpn_qrcode"),btoa(JSON.stringify(a)),d=>{d&&console.error(d)})}t=o.data.file,l.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},x={class:"container d-flex h-100 w-100"},P={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},C={class:"card rounded-3 shadow"},y={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},S={class:"mb-0"},k={class:"card-body p-4"},q={class:"d-flex gap-2 flex-column"},L={class:"d-flex flex-column gap-2 align-items-center"},N={key:0,class:"d-flex flex-column gap-2 align-items-center"},Q={key:1,class:"spinner-border m-auto",role:"status"};function z(o,t,a,d,r,A){const n=f("LocaleText");return s(),c("div",b,[e("div",x,[e("div",P,[e("div",C,[e("div",y,[e("h4",S,[p(n,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=R=>this.$emit("close"))})]),e("div",k,[e("div",q,[e("div",L,[e("canvas",{id:"qrcode",style:{width:"200px !important",height:"200px !important"},class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),this.selectedPeer.configuration.Protocol==="wg"?(s(),m(n,{key:0,t:"Scan with WireGuard App",class:"text-muted"})):i("",!0),this.selectedPeer.configuration.Protocol==="awg"?(s(),m(n,{key:1,t:"Scan with AmneziaWG App",class:"text-muted"})):i("",!0)]),this.selectedPeer.configuration.Protocol==="awg"?(s(),c("div",N,[e("canvas",{id:"awg_vpn_qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),p(n,{t:"Scan with AmneziaVPN App",class:"text-muted"})])):i("",!0),r.loading?(s(),c("div",Q,[...t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)])])):i("",!0)])])])])])])}const $=h(w,[["render",z],["__scopeId","data-v-02f2240d"]]);export{$ as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CA_ypq6G.js b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Pt1vk9ME.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CA_ypq6G.js rename to src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Pt1vk9ME.js index eee9a4d5..200074d8 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CA_ypq6G.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Pt1vk9ME.js @@ -1 +1 @@ -import{_ as p,q as m,G as f,W as h,r as u,a0 as _,L as v,K as g,o as x,a1 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-DXzxfcZW.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; +import{_ as p,q as m,G as f,W as h,r as u,a0 as _,L as v,K as g,o as x,a1 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-DM7YJCOo.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-BaolbZx6.js b/src/static/dist/WGDashboardAdmin/assets/peerSettings-7WGqQiw0.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerSettings-BaolbZx6.js rename to src/static/dist/WGDashboardAdmin/assets/peerSettings-7WGqQiw0.js index 5372208e..b26f02fa 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSettings-BaolbZx6.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSettings-7WGqQiw0.js @@ -1 +1 @@ -import{_ as u,h as m,c as n,f as r,a as e,d as c,b as a,t as h,m as l,y as d,n as b,$ as _,z as p,D as f}from"./index-DXzxfcZW.js";import{L as g}from"./localeText-Dmcj5qqx.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,i=>{this.saving=!1,i.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",i.message,"danger"),this.$emit("refresh")})},resetPeerData(i){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:i},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(i=>{i.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},U={for:"peer_name_textbox",class:"form-label"},K={class:"text-muted"},M=["disabled"],A={for:"peer_notes_textbox",class:"form-label"},R={class:"text-muted"},O=["disabled"],T={class:"d-flex position-relative"},L={for:"peer_private_key_textbox",class:"form-label"},q={class:"text-muted"},E=["type","disabled"],B={for:"peer_allowed_ip_textbox",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_endpoint_allowed_ips",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={for:"peer_DNS_textbox",class:"form-label"},G={class:"text-muted"},H=["disabled"],W={class:"accordion my-3",id:"peerSettingsAccordion"},X={class:"accordion-item"},Y={class:"accordion-header"},Z={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},ee={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},te={class:"accordion-body d-flex flex-column gap-2 mb-2"},se={for:"peer_preshared_key_textbox",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_mtu",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={for:"peer_keep_alive",class:"form-label"},re={class:"text-muted"},pe=["disabled"],ue={class:"d-flex align-items-center gap-2"},me=["disabled"],ce=["disabled"],he={class:"d-flex gap-2 align-items-center"},be={class:"d-flex gap-2 ms-auto"};function _e(i,t,fe,ge,ve,xe){const o=m("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",U,[e("small",K,[a(o,{t:"Name"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("label",A,[e("small",R,[a(o,{t:"Notes"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[2]||(t[2]=s=>this.data.notes=s),id:"peer_notes_textbox",placeholder:""},null,8,O),[[d,this.data.notes]])]),e("div",null,[e("div",T,[e("label",L,[e("small",q,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[3]||(t[3]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),l(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,E),[[_,this.data.private_key]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,z),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,Q),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",F,[e("small",G,[a(o,{t:"DNS"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,H),[[d,this.data.DNS]])]),e("div",W,[e("div",X,[e("h2",Y,[e("button",Z,[a(o,{t:"Optional Settings"})])]),e("div",ee,[e("div",te,[e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"Pre-Shared Key"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,ae),[[d,this.data.preshared_key]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"MTU"})])]),l(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,de),[[d,this.data.mtu]])]),e("div",null,[e("label",ne,[e("small",re,[a(o,{t:"Persistent Keepalive"})])]),l(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[10]||(t[10]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,pe),[[d,this.data.keepalive]])])])])])]),e("div",ue,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[11]||(t[11]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[16]||(t[16]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,me),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[12]||(t[12]=s=>this.savePeer())},[t[17]||(t[17]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,ce)]),t[21]||(t[21]=e("hr",null,null,-1)),e("div",he,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",be,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("total"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("receive"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[15]||(t[15]=s=>this.resetPeerData("sent"))},[t[20]||(t[20]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):c("",!0)])])])])}const Se=u(v,[["render",_e],["__scopeId","data-v-f702a2b1"]]);export{Se as default}; +import{_ as u,h as m,c as n,f as r,a as e,d as c,b as a,t as h,m as l,y as d,n as b,$ as _,z as p,D as f}from"./index-DM7YJCOo.js";import{L as g}from"./localeText-BJvnc1lF.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,i=>{this.saving=!1,i.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",i.message,"danger"),this.$emit("refresh")})},resetPeerData(i){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:i},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(i=>{i.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},U={for:"peer_name_textbox",class:"form-label"},K={class:"text-muted"},M=["disabled"],A={for:"peer_notes_textbox",class:"form-label"},R={class:"text-muted"},O=["disabled"],T={class:"d-flex position-relative"},L={for:"peer_private_key_textbox",class:"form-label"},q={class:"text-muted"},E=["type","disabled"],B={for:"peer_allowed_ip_textbox",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_endpoint_allowed_ips",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={for:"peer_DNS_textbox",class:"form-label"},G={class:"text-muted"},H=["disabled"],W={class:"accordion my-3",id:"peerSettingsAccordion"},X={class:"accordion-item"},Y={class:"accordion-header"},Z={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},ee={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},te={class:"accordion-body d-flex flex-column gap-2 mb-2"},se={for:"peer_preshared_key_textbox",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_mtu",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={for:"peer_keep_alive",class:"form-label"},re={class:"text-muted"},pe=["disabled"],ue={class:"d-flex align-items-center gap-2"},me=["disabled"],ce=["disabled"],he={class:"d-flex gap-2 align-items-center"},be={class:"d-flex gap-2 ms-auto"};function _e(i,t,fe,ge,ve,xe){const o=m("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",U,[e("small",K,[a(o,{t:"Name"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("label",A,[e("small",R,[a(o,{t:"Notes"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[2]||(t[2]=s=>this.data.notes=s),id:"peer_notes_textbox",placeholder:""},null,8,O),[[d,this.data.notes]])]),e("div",null,[e("div",T,[e("label",L,[e("small",q,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[3]||(t[3]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),l(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,E),[[_,this.data.private_key]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,z),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,Q),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",F,[e("small",G,[a(o,{t:"DNS"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,H),[[d,this.data.DNS]])]),e("div",W,[e("div",X,[e("h2",Y,[e("button",Z,[a(o,{t:"Optional Settings"})])]),e("div",ee,[e("div",te,[e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"Pre-Shared Key"})])]),l(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,ae),[[d,this.data.preshared_key]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"MTU"})])]),l(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,de),[[d,this.data.mtu]])]),e("div",null,[e("label",ne,[e("small",re,[a(o,{t:"Persistent Keepalive"})])]),l(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[10]||(t[10]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,pe),[[d,this.data.keepalive]])])])])])]),e("div",ue,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[11]||(t[11]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[16]||(t[16]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,me),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[12]||(t[12]=s=>this.savePeer())},[t[17]||(t[17]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,ce)]),t[21]||(t[21]=e("hr",null,null,-1)),e("div",he,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",be,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("total"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("receive"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[15]||(t[15]=s=>this.resetPeerData("sent"))},[t[20]||(t[20]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):c("",!0)])])])])}const Se=u(v,[["render",_e],["__scopeId","data-v-f702a2b1"]]);export{Se as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxuNjkHr.js b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-Cp_7Ocfs.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxuNjkHr.js rename to src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-Cp_7Ocfs.js index a5a35602..063d0dc9 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxuNjkHr.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-Cp_7Ocfs.js @@ -1 +1 @@ -import{_ as H,r as y,E as N,H as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as I,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as V,w as B,s as R,j as x,S as A}from"./index-DXzxfcZW.js";import{d as D}from"./dayjs.min-C-brjxlJ.js";import{Z as J}from"./vue-datepicker-vren6E8j.js";import{L as h}from"./localeText-Dmcj5qqx.js";import"./index-CRsyV-e7.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Z={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Z,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": ",-1))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},Q=H(K,[["__scopeId","data-v-1a7765d4"]]),X={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>I("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},T=t;return W(c,()=>{T("fullscreen",c.value)}),(g,a)=>{const Y=S("RouterLink");return b.value?(o(),u("div",X,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>T("hide"))},[...a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ",-1)])]),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(E)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(E)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(E)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(Q,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[V,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[V,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(Y,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=H(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},Ee={key:0},De={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},He={class:"d-flex gap-2 mb-4"},Te=["href"],Ve={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ye(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",He,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Te)]),e("div",Ve,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",Ee,[e("h6",De,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Oe=H(xe,[["render",Ye]]);export{Oe as default}; +import{_ as H,r as y,E as N,H as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as I,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as V,w as B,s as R,j as x,S as A}from"./index-DM7YJCOo.js";import{d as D}from"./dayjs.min-DZl6XMNW.js";import{Z as J}from"./vue-datepicker-9N8DgATH.js";import{L as h}from"./localeText-BJvnc1lF.js";import"./index-i3npkoSo.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Z={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Z,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": ",-1))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},Q=H(K,[["__scopeId","data-v-1a7765d4"]]),X={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>I("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},T=t;return W(c,()=>{T("fullscreen",c.value)}),(g,a)=>{const Y=S("RouterLink");return b.value?(o(),u("div",X,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>T("hide"))},[...a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ",-1)])]),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(E)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(E)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(E)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(Q,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[V,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[V,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(Y,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=H(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},Ee={key:0},De={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},He={class:"d-flex gap-2 mb-4"},Te=["href"],Ve={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ye(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",He,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Te)]),e("div",Ve,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",Ee,[e("h6",De,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Oe=H(xe,[["render",Ye]]);export{Oe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-KXSGcg6g.js b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-KXSGcg6g.js deleted file mode 100644 index d5e21596..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-KXSGcg6g.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as h,c as o,a as e,m as c,d as m,b as d,h as f,y as g,n as v,t as p,z as b,D as w,A as x,f as r}from"./index-DXzxfcZW.js";import{L as _}from"./localeText-Dmcj5qqx.js";const k={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=w(),t=`input_${x()}`;return{store:s,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await b("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},V={class:"form-group mb-2"},D=["for"],y=["id","disabled"],T={class:"invalid-feedback"},C={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function F(s,t,a,I,n,u){const l=f("LocaleText");return r(),o("div",V,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[d(l,{t:this.title},null,8,["t"])])])],8,D),c(e("input",{type:"text",class:v(["form-control",{"is-invalid":n.showInvalidFeedback,"is-valid":n.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=i=>this.value=i),onKeydown:t[1]||(t[1]=i=>this.changed=!0),onBlur:t[2]||(t[2]=i=>u.useValidation()),disabled:this.updating},null,42,y),[[g,this.value]]),e("div",T,p(this.invalidFeedback),1),a.warning?(r(),o("div",C,[e("small",null,[t[3]||(t[3]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),d(l,{t:a.warningText},null,8,["t"])])])):m("",!0)])}const B=h(k,[["render",F]]);export{B as P}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-n69y01QP.js b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-n69y01QP.js new file mode 100644 index 00000000..a570e573 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-n69y01QP.js @@ -0,0 +1 @@ +import{_ as c,c as a,a as t,m as u,d as m,b as h,h as f,v as g,y as v,n as p,t as b,z as k,D as w,A as x,f as n}from"./index-DM7YJCOo.js";import{L as _}from"./localeText-BJvnc1lF.js";const V={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const i=w(),e=`input_${x()}`;return{store:i,uuid:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},computed:{isBoolean(){return typeof this.value=="boolean"}},methods:{async useValidation(){this.changed&&await k("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},i=>{i.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=i.message),this.changed=!1,this.updating=!1})}}},y={class:"form-group mb-2"},D=["for"],C={key:0,class:"form-check form-switch"},T=["id","disabled"],F=["id","disabled"],B={class:"invalid-feedback"},I={key:2,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function P(i,e,l,S,d,o){const r=f("LocaleText");return n(),a("div",y,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[h(r,{t:this.title},null,8,["t"])])])],8,D),o.isBoolean?(n(),a("div",C,[u(t("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":e[0]||(e[0]=s=>this.value=s),id:this.uuid,onChange:e[1]||(e[1]=s=>{this.changed=!0,o.useValidation()}),disabled:this.updating},null,40,T),[[g,this.value]])])):u((n(),a("input",{key:1,type:"text",class:p(["form-control",{"is-invalid":d.showInvalidFeedback,"is-valid":d.isValid}]),id:this.uuid,"onUpdate:modelValue":e[2]||(e[2]=s=>this.value=s),onKeydown:e[3]||(e[3]=s=>this.changed=!0),onBlur:e[4]||(e[4]=s=>o.useValidation()),disabled:this.updating},null,42,F)),[[v,this.value]]),t("div",B,b(this.invalidFeedback),1),l.warning?(n(),a("div",I,[t("small",null,[e[5]||(e[5]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),h(r,{t:l.warningText},null,8,["t"])])])):m("",!0)])}const z=c(V,[["render",P]]);export{z as P}; diff --git a/src/static/dist/WGDashboardAdmin/assets/ping-eM7EblSL.js b/src/static/dist/WGDashboardAdmin/assets/ping-Dcho8zUm.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/ping-eM7EblSL.js rename to src/static/dist/WGDashboardAdmin/assets/ping-Dcho8zUm.js index 36df12da..d5e07c0c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/ping-eM7EblSL.js +++ b/src/static/dist/WGDashboardAdmin/assets/ping-Dcho8zUm.js @@ -1 +1 @@ -import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-DXzxfcZW.js";import{L as w}from"./localeText-Dmcj5qqx.js";import{O as A}from"./osmap-VxPm4_Yh.js";import"./Vector-CuSZivra.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)])],8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)])])])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,[...s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(n(),l("span",Q,[...s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ",-1)])]))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; +import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-DM7YJCOo.js";import{L as w}from"./localeText-BJvnc1lF.js";import{O as A}from"./osmap-BMy-ioUU.js";import"./Vector-CuSZivra.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)])],8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)])])])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,[...s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(n(),l("span",Q,[...s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ",-1)])]))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-BttcwGux.js b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-VYIlC1Ec.js similarity index 79% rename from src/static/dist/WGDashboardAdmin/assets/protocolBadge-BttcwGux.js rename to src/static/dist/WGDashboardAdmin/assets/protocolBadge-VYIlC1Ec.js index 7e0c4d4d..dcdd5f74 100644 --- a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-BttcwGux.js +++ b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-VYIlC1Ec.js @@ -1 +1 @@ -import{L as n}from"./localeText-Dmcj5qqx.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-DXzxfcZW.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; +import{L as n}from"./localeText-BJvnc1lF.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-DM7YJCOo.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; diff --git a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-BLKIuEYB.js b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-wW2xOYsw.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-BLKIuEYB.js rename to src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-wW2xOYsw.js index ec23d103..6b6a0d6f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-BLKIuEYB.js +++ b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-wW2xOYsw.js @@ -1,4 +1,4 @@ -import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,H as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-DXzxfcZW.js";import{L as o}from"./localeText-Dmcj5qqx.js";import{d as X}from"./dayjs.min-C-brjxlJ.js";import{_ as E}from"./protocolBadge-BttcwGux.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},[...a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)])],2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Le={class:"invalid-feedback"},Se={key:0},Ue={key:1},Ie={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` +import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,H as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-DM7YJCOo.js";import{L as o}from"./localeText-BJvnc1lF.js";import{d as X}from"./dayjs.min-DZl6XMNW.js";import{_ as E}from"./protocolBadge-VYIlC1Ec.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},[...a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)])],2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Le={class:"invalid-feedback"},Se={key:0},Ue={key:1},Ie={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` `);for(let i of h){if(i==="[Peer]")break;if(i.length>0){let s=i.replace(" = ","=").split("=");s[0]==="ListenPort"?t[s[0]]=parseInt(s[1]):t[s[0]]=s[1]}}const p=k(!1),x=k(!1),a=k(""),c=F(),b=C(()=>/^[a-zA-Z0-9_=+.-]{1,15}$/.test(t.ConfigurationName)&&t.ConfigurationName.length>0&&!c.Configurations.find(i=>i.Name===t.ConfigurationName)),P=C(()=>{try{window.wireguard.generatePublicKey(t.PrivateKey)}catch{return!1}return!0}),L=C(()=>t.ListenPort>0&&t.ListenPort<=65353&&Number.isInteger(t.ListenPort)&&!c.Configurations.find(i=>parseInt(i.ListenPort)===t.ListenPort)),S=C(()=>{try{return O(t.Address),!0}catch{return!1}}),U=C(()=>S.value&&L.value&&P.value&&b.value);A(()=>{document.querySelector("main").scrollTo({top:0,behavior:"smooth"}),G(()=>P,i=>{i&&(t.PublicKey=window.wireguard.generatePublicKey(t.PrivateKey))},{immediate:!0})});const I=C(()=>{let i;try{i=O(t.Address)}catch{return 0}return i.end-i.start}),K=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}"`)>=0).length:0),R=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),j=q(),M=H(),Y=async()=>{U.value&&(x.value=!0,await J("/api/addWireguardConfiguration",t,async i=>{i.status?(j.newMessage("Server","Configuration restored","success"),await c.getConfigurations(),await M.push(`/configuration/${t.ConfigurationName}/peers`)):x.value=!1}))};return(i,s)=>(n(),r("div",re,[e("form",de,[e("div",ue,[e("h4",ce,[l(o,{t:"Configuration"})])]),e("div",null,[e("label",me,[e("small",null,[l(o,{t:"Protocol"})])]),e("h5",fe,[l(E,{protocol:m.selectedConfigurationBackup.protocol,mini:!0},null,8,["protocol"])])]),e("div",null,[e("label",pe,[e("small",null,[l(o,{t:"Configuration Name"})])]),g(e("input",{type:"text",class:v(["form-control rounded-3",[b.value?"is-valid":"is-invalid"]]),placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":s[0]||(s[0]=d=>t.ConfigurationName=d),disabled:"",required:""},null,2),[[_,t.ConfigurationName]]),e("div",ve,[p.value?(n(),r("div",be,y(a.value),1)):(n(),r("div",ge,[l(o,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",_e,[e("li",null,[l(o,{t:"Configuration name already exist."})]),e("li",null,[l(o,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])]),e("div",ke,[e("div",ye,[e("div",null,[e("label",he,[e("small",null,[l(o,{t:"Private Key"})])]),e("div",xe,[g(e("input",{type:"text",class:v(["form-control rounded-start-3",[P.value?"is-valid":"is-invalid"]]),id:"PrivateKey",required:"","onUpdate:modelValue":s[1]||(s[1]=d=>t.PrivateKey=d),disabled:""},null,2),[[_,t.PrivateKey]])])])]),e("div",Ce,[e("div",null,[e("label",Pe,[e("small",null,[l(o,{t:"Public Key"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PublicKey","onUpdate:modelValue":s[2]||(s[2]=d=>t.PublicKey=d),disabled:""},null,512),[[_,t.PublicKey]])])])]),e("div",null,[e("label",we,[e("small",null,[l(o,{t:"Listen Port"})])]),g(e("input",{type:"number",class:v(["form-control rounded-3",[L.value?"is-valid":"is-invalid"]]),placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":s[3]||(s[3]=d=>t.ListenPort=d),disabled:"",required:""},null,2),[[_,t.ListenPort]]),e("div",$e,[p.value?(n(),r("div",Be,y(a.value),1)):(n(),r("div",Ne,[l(o,{t:"Listen Port is invalid. Possible reasons:"}),e("ul",De,[e("li",null,[l(o,{t:"Invalid port."})]),e("li",null,[l(o,{t:"Port is assigned to existing WireGuard Configuration."})])])]))])]),e("div",null,[e("label",Ae,[e("small",null,[l(o,{t:"IP Address/CIDR"})]),e("small",{class:v(["ms-auto",[I.value>0?"text-success":"text-danger"]])},[l(o,{t:I.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[S.value?"is-valid":"is-invalid"]]),placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":s[4]||(s[4]=d=>t.Address=d),disabled:"",required:""},null,2),[[_,t.Address]]),e("div",Le,[p.value?(n(),r("div",Se,y(a.value),1)):(n(),r("div",Ue,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ie,[e("div",Ke,[e("h2",Re,[e("button",Ve,[l(o,{t:"Optional Settings"})])]),e("div",Oe,[e("div",Te,[e("div",null,[e("label",qe,[e("small",null,[l(o,{t:"PreUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreUp",disabled:"","onUpdate:modelValue":s[5]||(s[5]=d=>t.PreUp=d)},null,512),[[_,t.PreUp]])]),e("div",null,[e("label",Ee,[e("small",null,[l(o,{t:"PreDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreDown",disabled:"","onUpdate:modelValue":s[6]||(s[6]=d=>t.PreDown=d)},null,512),[[_,t.PreDown]])]),e("div",null,[e("label",je,[e("small",null,[l(o,{t:"PostUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostUp",disabled:"","onUpdate:modelValue":s[7]||(s[7]=d=>t.PostUp=d)},null,512),[[_,t.PostUp]])]),e("div",null,[e("label",Me,[e("small",null,[l(o,{t:"PostDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostDown",disabled:"","onUpdate:modelValue":s[8]||(s[8]=d=>t.PostDown=d)},null,512),[[_,t.PostDown]])])])])])])]),e("div",Ye,[e("div",We,[e("h4",ze,[l(o,{t:"Database File"})]),e("h4",{class:v(["mb-0 ms-auto",[m.selectedConfigurationBackup.database?"text-success":"text-danger"]])},[e("i",{class:v(["bi",[m.selectedConfigurationBackup.database?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2)],2)]),m.selectedConfigurationBackup.database?(n(),r("div",Fe,[e("div",Ge,[e("div",He,[e("div",Je,[e("div",Ze,[s[10]||(s[10]=e("i",{class:"bi bi-person-fill me-2"},null,-1)),l(o,{t:"Contain"}),s[11]||(s[11]=$()),e("strong",null,y(K.value),1),s[12]||(s[12]=$()),K.value>1?(n(),f(o,{key:0,t:"Peer"})):(n(),f(o,{key:1,t:"Peer"}))])])]),e("div",Qe,[e("div",Xe,[e("div",et,[s[13]||(s[13]=e("i",{class:"bi bi-person-fill-lock me-2"},null,-1)),l(o,{t:"Contain"}),s[14]||(s[14]=$()),e("strong",null,y(R.value),1),s[15]||(s[15]=$()),R.value>1?(n(),f(o,{key:0,t:"Restricted Peers"})):(n(),f(o,{key:1,t:"Restricted Peers"}))])])])])])):w("",!0)]),e("div",tt,[e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!U.value||x.value,onClick:s[9]||(s[9]=d=>Y())},[s[16]||(s[16]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),l(o,{t:x.value?"Restoring...":"Restore"},null,8,["t"])],8,st)])]))}},lt={class:"mt-md-5 mt-3 text-body"},nt={class:"container mb-4"},at={class:"mb-5 d-flex align-items-center gap-4"},it={class:"mb-0"},rt={key:0},dt={class:"d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3"},ut={class:"mb-0"},ct={class:"text-muted"},mt={key:0,class:"ms-sm-auto"},ft={class:"text-muted"},pt={key:0,id:"step1Detail"},vt={class:"mb-4"},bt={class:"d-flex gap-3 flex-column"},gt={key:0},_t={class:"card rounded-3"},kt={class:"card-body"},yt={class:"mb-0"},ht={class:"my-5",key:"step2",id:"step2"},xt={class:"text-muted"},Ct={__name:"restoreConfiguration",setup(m){const u=k(void 0);q(),k(!1),A(()=>{Z("/api/getAllWireguardConfigurationBackup",{},x=>{u.value=x.data})});const t=k(!1),h=k(void 0),p=k("");return(x,a)=>{const c=Q("RouterLink");return n(),r("div",lt,[e("div",nt,[e("div",at,[l(c,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:B(()=>[...a[1]||(a[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])]),_:1}),e("h2",it,[l(o,{t:"Restore Configuration"})])]),l(V,{name:"fade",appear:""},{default:B(()=>[u.value?(n(),r("div",rt,[e("div",{class:v(["d-flex mb-5 align-items-center steps",{active:!t.value}]),role:"button",onClick:a[0]||(a[0]=b=>t.value=!1),key:"step1"},[e("div",dt,[a[2]||(a[2]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-1-circle-fill"})],-1)),e("div",null,[e("h4",ut,[l(o,{t:"Step 1"})]),e("small",ct,[t.value?(n(),f(o,{key:1,t:"Click to change a backup"})):(n(),f(o,{key:0,t:"Select a backup you want to restore"}))])])]),l(V,{name:"zoomReversed"},{default:B(()=>[t.value?(n(),r("div",mt,[e("small",ft,[l(o,{t:"Selected Backup"})]),e("h6",null,[e("samp",null,y(h.value.filename),1)])])):w("",!0)]),_:1})],2),t.value?w("",!0):(n(),r("div",pt,[e("div",vt,[e("div",bt,[(n(!0),r(N,null,D(Object.keys(u.value.NonExistingConfigurations),b=>(n(),f(ie,{onSelect:P=>{h.value=P,p.value=b,t.value=!0},selectedConfigurationBackup:h.value,open:p.value===b,protocol:[...new Set(u.value.NonExistingConfigurations[b].map(P=>P.protocol))],"configuration-name":b,backups:u.value.NonExistingConfigurations[b]},null,8,["onSelect","selectedConfigurationBackup","open","protocol","configuration-name","backups"]))),256)),Object.keys(u.value.NonExistingConfigurations).length===0?(n(),r("div",gt,[e("div",_t,[e("div",kt,[e("p",yt,[l(o,{t:"You don't have any configuration to restore"})])])])])):w("",!0)])])])),e("div",ht,[e("div",{class:v(["steps d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3",{active:t.value}])},[a[4]||(a[4]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-2-circle-fill"})],-1)),e("div",null,[a[3]||(a[3]=e("h4",{class:"mb-0"},"Step 2",-1)),e("small",xt,[t.value?(n(),f(o,{key:1,t:"Confirm & edit restore information"})):(n(),f(o,{key:0,t:"Backup not selected"}))])])],2)]),t.value?(n(),f(ot,{selectedConfigurationBackup:h.value,key:"confirm"},null,8,["selectedConfigurationBackup"])):w("",!0)])):w("",!0)]),_:1})])])}}},Dt=T(Ct,[["__scopeId","data-v-324df2b1"]]);export{Dt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-BTsX_eP5.css b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-BTsX_eP5.css new file mode 100644 index 00000000..92cf6b16 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-BTsX_eP5.css @@ -0,0 +1 @@ +.btn.disabled[data-v-abe2acbc]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-b94dda6b]{font-size:.875rem}input[data-v-b94dda6b]{padding:.1rem .4rem}input[data-v-b94dda6b]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.dp__main[data-v-b94dda6b]{width:auto;flex-grow:1;--dp-input-padding: 2.5px 30px 2.5px 12px;--dp-border-radius: .5rem} diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DOBEE-kC.js b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DOBEE-kC.js deleted file mode 100644 index e2b72d5b..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DOBEE-kC.js +++ /dev/null @@ -1 +0,0 @@ -import{_,c as r,f as d,a as s,t as c,n as y,d as f,F as j,i as S,z as v,r as h,D as k,h as b,b as n,j as x,m as D,y as $,e as p}from"./index-DXzxfcZW.js";import{Z as J}from"./vue-datepicker-vren6E8j.js";import{d as C}from"./dayjs.min-C-brjxlJ.js";import{L as V}from"./localeText-Dmcj5qqx.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},P=["onClick"],F={class:"pe-5"},L={key:0,class:"bi bi-check ms-auto"};function T(t,e,l,o,m,g){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,c(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",F,c(a.display),1),a.value===this.currentSelection.value?(d(),r("i",L)):f("",!0)],8,P)]))),256)):f("",!0)])])}const A=_(O,[["render",T],["__scopeId","data-v-abe2acbc"]]),E={name:"schedulePeerJob",components:{LocaleText:V,VueDatePicker:J,ScheduleDropdown:A},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const m=k();return{job:e,edit:l,newJob:o,store:m}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=C(t).format("YYYY-MM-DD HH:mm:ss"))}}},U={class:"card-header bg-transparent text-muted border-0"},H={key:0,class:"d-flex"},B={class:"me-auto"},I={key:1},Y={class:"badge text-bg-warning"},z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},Z=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},Q={key:0,class:"ms-auto d-flex gap-3"},R={key:1,class:"ms-auto d-flex gap-3"};function W(t,e,l,o,m,g){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",U,[this.newJob?(d(),r("small",I,[s("span",Y,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",H,[s("strong",B,[n(a,{t:"Job ID"})]),s("samp",null,c(this.job.JobID),1)]))]),s("div",z,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,Z)),[[$,this.job.Value]]),s("samp",null,c(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",R,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ",-1)),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ",-1)),n(a,{t:"Save"})])])):(d(),r("div",Q,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ",-1)),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ",-1)),n(a,{t:"Delete"})])]))])])],2)}const oe=_(E,[["render",W],["__scopeId","data-v-73513cfe"]]);export{oe as S,A as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DUtdD062.css b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DUtdD062.css deleted file mode 100644 index b3f7960d..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-DUtdD062.css +++ /dev/null @@ -1 +0,0 @@ -.btn.disabled[data-v-abe2acbc]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-73513cfe]{font-size:.875rem}input[data-v-73513cfe]{padding:.1rem .4rem}input[data-v-73513cfe]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.dp__main[data-v-73513cfe]{width:auto;flex-grow:1;--dp-input-padding: 2.5px 30px 2.5px 12px;--dp-border-radius: .5rem} diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-jjF9HAtj.js b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-jjF9HAtj.js new file mode 100644 index 00000000..26bafaf0 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-jjF9HAtj.js @@ -0,0 +1 @@ +import{_ as v,c as r,f as d,a as s,t as p,n as _,d as f,F as g,i as j,a6 as S,z as k,a7 as x,r as h,D,h as b,b as n,j as $,m as J,y as C,e as c}from"./index-DM7YJCOo.js";import{Z as V}from"./vue-datepicker-9N8DgATH.js";import{d as O}from"./dayjs.min-DZl6XMNW.js";import{L as M}from"./localeText-BJvnc1lF.js";const P={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},N={class:"dropdown scheduleDropdown"},F={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},L=["onClick"],T={class:"pe-5"},A={key:0,class:"bi bi-check ms-auto"};function E(t,e,l,o,m,y){return d(),r("div",N,[s("button",{class:_(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,p(this.currentSelection.display),1)],2),s("ul",F,[l.edit?(d(!0),r(g,{key:0},j(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",T,p(a.display),1),a.value===this.currentSelection.value?(d(),r("i",A)):f("",!0)],8,L)]))),256)):f("",!0)])])}const U=v(P,[["render",E],["__scopeId","data-v-abe2acbc"]]),H={name:"schedulePeerJob",components:{LocaleText:M,VueDatePicker:V,ScheduleDropdown:U},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const m=D();return{job:e,edit:l,newJob:o,store:m}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?(this.newJob?k:x)("/api/PeerScheduleJob",this.job,e=>{e.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(e.data),this.$emit("refresh",e.data[0]),this.newJob=!1):this.store.newMessage("Server",e.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&S("/api/PeerScheduleJob",this.job,t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=O(t).format("YYYY-MM-DD HH:mm:ss"))}}},B={class:"card-header bg-transparent text-muted border-0"},I={key:0,class:"d-flex"},Y={class:"me-auto"},z={key:1},q={class:"badge text-bg-warning"},Z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},G={class:"d-flex gap-2 align-items-center mb-2"},K=["disabled"],Q={class:"px-5 d-flex gap-2 align-items-center"},R={class:"d-flex gap-3"},W={key:0,class:"ms-auto d-flex gap-3"},X={key:1,class:"ms-auto d-flex gap-3"};function ee(t,e,l,o,m,y){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:_(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",B,[this.newJob?(d(),r("small",z,[s("span",q,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",I,[s("strong",Y,[n(a,{t:"Job ID"})]),s("samp",null,p(this.job.JobID),1)]))]),s("div",Z,[s("div",G,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),$(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):J((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,K)),[[C,this.job.Value]]),s("samp",null,p(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",Q,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",R,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",X,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=c("[C] ",-1)),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=c("[S] ",-1)),n(a,{t:"Save"})])])):(d(),r("div",W,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=c("[E] ",-1)),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=c("[D] ",-1)),n(a,{t:"Delete"})])]))])])],2)}const ie=v(H,[["render",ee],["__scopeId","data-v-b94dda6b"]]);export{ie as S,U as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/selectPeers-B0fPm0MS.js b/src/static/dist/WGDashboardAdmin/assets/selectPeers-DrKFMxAW.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/selectPeers-B0fPm0MS.js rename to src/static/dist/WGDashboardAdmin/assets/selectPeers-DrKFMxAW.js index 128fb4be..7668ff03 100644 --- a/src/static/dist/WGDashboardAdmin/assets/selectPeers-B0fPm0MS.js +++ b/src/static/dist/WGDashboardAdmin/assets/selectPeers-DrKFMxAW.js @@ -1 +1 @@ -import{_ as j,r as g,q as A,H as E,L as F,D as M,J as z,a0 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as H,z as J}from"./index-DXzxfcZW.js";import{L as d}from"./localeText-Dmcj5qqx.js";const Y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,J(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),U=C("sp"),V=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:U.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await H("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},I=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",Y,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>V())},[...e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)])],8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},[...e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)])],8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... ",-1))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>I()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? ",-1))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; +import{_ as j,r as g,q as A,H as E,L as F,D as M,J as z,a0 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as H,z as J}from"./index-DM7YJCOo.js";import{L as d}from"./localeText-BJvnc1lF.js";const Y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,J(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),U=C("sp"),V=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:U.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await H("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},I=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",Y,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>V())},[...e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)])],8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},[...e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)])],8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... ",-1))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>I()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? ",-1))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/settings-B0rj7fKl.js b/src/static/dist/WGDashboardAdmin/assets/settings-Pu99wEIv.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/settings-B0rj7fKl.js rename to src/static/dist/WGDashboardAdmin/assets/settings-Pu99wEIv.js index 3eb1e532..2d4bfa54 100644 --- a/src/static/dist/WGDashboardAdmin/assets/settings-B0rj7fKl.js +++ b/src/static/dist/WGDashboardAdmin/assets/settings-Pu99wEIv.js @@ -1 +1 @@ -import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-DXzxfcZW.js";import{P}from"./peersDefaultSettingsInput-KXSGcg6g.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-BNCV3lPl.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js";import{L as U}from"./localeText-Dmcj5qqx.js";import"./dayjs.min-C-brjxlJ.js";import"./vue-datepicker-vren6E8j.js";import"./index-CRsyV-e7.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},[...s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)])],8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},[...s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)])],8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const pt=c(O,[["render",et]]);export{pt as default}; +import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-DM7YJCOo.js";import{P}from"./peersDefaultSettingsInput-n69y01QP.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-DBnS2OTV.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js";import{L as U}from"./localeText-BJvnc1lF.js";import"./dayjs.min-DZl6XMNW.js";import"./vue-datepicker-9N8DgATH.js";import"./index-i3npkoSo.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},[...s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)])],8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},[...s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)])],8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const pt=c(O,[["render",et]]);export{pt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/setup-B3e2Ponu.js b/src/static/dist/WGDashboardAdmin/assets/setup-D0Q0qQii.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/setup-B3e2Ponu.js rename to src/static/dist/WGDashboardAdmin/assets/setup-D0Q0qQii.js index b58810ad..3eb9f601 100644 --- a/src/static/dist/WGDashboardAdmin/assets/setup-B3e2Ponu.js +++ b/src/static/dist/WGDashboardAdmin/assets/setup-D0Q0qQii.js @@ -1 +1 @@ -import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-DXzxfcZW.js";import{L as g}from"./localeText-Dmcj5qqx.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊",-1))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; +import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-DM7YJCOo.js";import{L as g}from"./localeText-BJvnc1lF.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊",-1))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/share-CNjkYxw_.js b/src/static/dist/WGDashboardAdmin/assets/share-LLVdD8M-.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/share-CNjkYxw_.js rename to src/static/dist/WGDashboardAdmin/assets/share-LLVdD8M-.js index 16146378..4719fe13 100644 --- a/src/static/dist/WGDashboardAdmin/assets/share-CNjkYxw_.js +++ b/src/static/dist/WGDashboardAdmin/assets/share-LLVdD8M-.js @@ -1 +1 @@ -import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-DXzxfcZW.js";import{Q as v}from"./browser-DFwZaPoQ.js";import{L as y}from"./localeText-Dmcj5qqx.js";import"./galois-field-I2lBzzs-.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},[...e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)])],8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; +import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-DM7YJCOo.js";import{Q as v}from"./browser-CUYUHo3j.js";import{L as y}from"./localeText-BJvnc1lF.js";import"./galois-field-I2lBzzs-.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},[...e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)])],8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-7XmHRYpi.js b/src/static/dist/WGDashboardAdmin/assets/signin-7XmHRYpi.js new file mode 100644 index 00000000..175bd082 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/signin-7XmHRYpi.js @@ -0,0 +1 @@ +import{_ as x,G as v,A as D,c as i,a as t,t as V,n as T,m as p,y as b,b as a,h as g,d as _,F as $,i as w,f as r,D as E,j as C,$ as P,r as I,E as M,g as y,v as U,e as L,w as A,T as O,z as R}from"./index-DM7YJCOo.js";import{M as B}from"./message-BLvFM11v.js";import{d as S}from"./dayjs.min-DZl6XMNW.js";import{L as k}from"./localeText-BJvnc1lF.js";const j={name:"RemoteServer",components:{LocaleText:k},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[D().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=S(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=S(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${S().subtract(this.startTime).millisecond()}ms`:this.refreshing?v("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},q={class:"card rounded-3"},G={class:"gap-2 d-flex align-items-center"},H={key:0,class:"spin ms-auto text-white"},N={class:"card-body"},W={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},z={class:"d-flex gap-3 align-items-center flex-grow-1"},F={class:"d-flex gap-2 button-group"},J={class:"card rounded-3"},Q={class:"card-body d-flex gap-2 flex-column"},X={class:"d-flex gap-2"},Y={class:"flex-grow-1"},Z=["onUpdate:modelValue"],ee={class:"flex-grow-1"},te=["onUpdate:modelValue"],se=["onClick"];function oe(s,e,h,m,l,f){const o=g("LocaleText");return r(),i("div",q,[t("div",{class:T(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",G,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,V(this.getHandshakeTime),1),this.refreshing?(r(),i("div",H,[...e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)])])):(r(),i("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},[...e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])]))])],2),t("div",N,[t("div",W,[t("div",K,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),p(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[b,this.server.host]])]),t("div",z,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),p(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[b,this.server.apiKey]])]),t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),a(o,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:T([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),a(o,{t:"Connect"})],2)]),t("div",J,[t("div",Q,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),a(o,{t:"Headers"})]),this.server.headers?(r(!0),i($,{key:0},w(this.server.headers,(n,d)=>(r(),i("div",X,[t("div",Y,[p(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=c=>this.handshake()),"onUpdate:modelValue":c=>n.key=c,placeholder:"Key"},null,40,Z),[[b,n.key]])]),t("div",ee,[p(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=c=>this.handshake()),"onUpdate:modelValue":c=>n.value=c,placeholder:"Value"},null,40,te),[[b,n.value]])]),t("button",{type:"button",onClick:c=>delete this.server.headers[d],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},[...e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)])],8,se)]))),256)):_("",!0)])])])])])}const ne=x(j,[["render",oe],["__scopeId","data-v-87b9c3d8"]]),re={name:"RemoteServerList",setup(){return{store:E()}},components:{LocaleText:k,RemoteServer:ne}},ie={class:"w-100 mt-3"},ae={class:"d-flex align-items-center mb-3"},le={class:"mb-0"},de={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},ue={key:0,class:"text-muted m-auto"};function ce(s,e,h,m,l,f){const o=g("LocaleText"),n=g("RemoteServer");return r(),i("div",ie,[t("div",ae,[t("h5",le,[a(o,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=d=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),a(o,{t:"Server"})])]),t("div",de,[(r(!0),i($,null,w(this.store.CrossServerConfiguration.ServerList,(d,c)=>(r(),C(n,{onSetActiveServer:u=>this.store.setActiveCrossServer(c),onDelete:u=>this.store.deleteCrossServerConfiguration(c),key:c,server:d},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(r(),i("h6",ue,[a(o,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),a(o,{t:"to add your server"})])):_("",!0)])])}const me=x(re,[["render",ce]]),he={name:"signInInput",methods:{GetLocale:v},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return v(this.placeholder)}}},pe=["type","id","name","placeholder"];function fe(s,e,h,m,l,f){return p((r(),i("input",{type:h.type,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data[this.id]=o),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,pe)),[[P,this.data[this.id]]])}const be=x(he,[["render",fe]]),ge={name:"signInTOTP",methods:{GetLocale:v},props:{data:""},computed:{getLocaleText(){return v("OTP from your authenticator")}}},ve=["placeholder"];function _e(s,e,h,m,l,f){return p((r(),i("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.totp=o)},null,8,ve)),[[b,this.data.totp]])}const xe=x(ge,[["render",_e]]),ye={key:0},$e={class:"d-flex gap-2"},we=["href"],ke={__name:"signInOIDC",async setup(s){let e,h;const m=I([]),l=I(!1);[e,h]=M(async()=>y("/api/oidc/providers",{},async o=>{o.status&&(await Promise.all(Object.entries(o.data).map(([n,d])=>fetch(`${d.issuer}/.well-known/openid-configuration`).then(c=>{m.value.push({Provider:n,ProviderInfo:d})}).catch(()=>{console.log("Failed to request "+n)}))),l.value=m.value.length>0)})),await e,h(),console.log(m.value);const f=o=>{const n=new URLSearchParams({client_id:o.ProviderInfo.client_id,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname,response_type:"code",state:o.Provider,scope:"openid email profile"});console.log(n.entries());const d=new URL(o.ProviderInfo.openid_configuration.authorization_endpoint);return d.search=n.toString(),d};return(o,n)=>(r(),i("div",null,[l.value?(r(),i("div",ye,[n[0]||(n[0]=t("hr",{class:"mb-4"},null,-1)),t("div",$e,[(r(!0),i($,null,w(m.value,d=>(r(),i("a",{class:"btn bg-body border w-100 rounded-3",href:f(d),style:{flex:"1 1 0"}},[a(k,{t:"Sign In With "+d.Provider},null,8,["t"])],8,we))),256))])])):_("",!0)]))}},Se={name:"signin",components:{SignInOIDC:ke,SignInTOTP:xe,SignInInput:be,LocaleText:k,RemoteServerList:me,Message:B},async setup(){const s=E();let e="dark",h=!1,m;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},l=>{e=l.data}),y("/api/isTotpEnabled",{},l=>{h=l.data}),y("/api/getDashboardVersion",{},l=>{m=l.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:h,version:m}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return v(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:v,async auth(){this.formValid?(this.loading=!0,await R("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},Ce=["data-bs-theme"],Te={class:"login-box m-auto"},Ie={class:"m-auto signInContainer",style:{width:"700px"}},Le={class:"mb-0 text-body"},Ve={class:"form-floating mb-2"},Ee=["disabled"],De={for:"floatingInput",class:"d-flex"},Pe={class:"form-floating mb-2"},Me=["disabled"],Ue={for:"floatingInput",class:"d-flex"},Ae={key:0,class:"form-floating mb-2"},Oe=["disabled"],Re={for:"floatingInput",class:"d-flex"},Be=["disabled"],je={key:0,class:"d-flex w-100"},qe={key:1,class:"d-flex w-100 align-items-center"},Ge={key:2,class:"d-flex mt-3 flex-column"},He={class:"form-check form-switch ms-auto"},Ne=["disabled"],We={class:"form-check-label",for:"flexSwitchCheckChecked"},Ke={class:"d-flex container-fluid align-items-center my-1 w-100"},ze={class:"text-muted"},Fe={href:"./client",target:"_blank",class:"text-decoration-none ms-auto text-body",style:{"white-space":"nowrap"}},Je={class:"messageCentre text-body position-absolute d-flex"};function Qe(s,e,h,m,l,f){const o=g("LocaleText"),n=g("RemoteServerList"),d=g("SignInOIDC"),c=g("Message");return r(),i("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",Te,[t("div",Ie,[t("h4",Le,[a(o,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(r(),C(n,{key:1})):(r(),i("form",{key:0,onSubmit:e[3]||(e[3]=u=>{u.preventDefault(),this.auth()}),class:"mt-3"},[t("div",Ve,[p(t("input",{type:"text",required:"",disabled:l.loading,"onUpdate:modelValue":e[0]||(e[0]=u=>this.data.username=u),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Ee),[[b,this.data.username]]),t("label",De,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),a(o,{t:"Username"})])]),t("div",Pe,[p(t("input",{type:"password",required:"",disabled:l.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=u=>this.data.password=u),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Me),[[b,this.data.password]]),t("label",Ue,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),a(o,{t:"Password"})])]),this.totpEnabled?(r(),i("div",Ae,[p(t("input",{type:"text",id:"totp",required:"",disabled:l.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=u=>this.data.totp=u),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Oe),[[b,this.data.totp]]),t("label",Re,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),a(o,{t:"OTP from your authenticator"})])])):_("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(r(),i("span",qe,[a(o,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(r(),i("span",je,[a(o,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,Be)],32)),this.store.IsElectronApp?_("",!0):(r(),i("div",Ge,[t("div",He,[p(t("input",{"onUpdate:modelValue":e[4]||(e[4]=u=>this.store.CrossServerConfiguration.Enable=u),disabled:l.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Ne),[[U,this.store.CrossServerConfiguration.Enable]]),t("label",We,[a(o,{t:"Access Remote Server"})])]),a(d)]))])]),t("div",Ke,[t("small",ze,[e[11]||(e[11]=L(" WGDashboard ",-1)),t("strong",null,V(this.version),1),e[12]||(e[12]=L(" | Made with ❤️ by ",-1)),e[13]||(e[13]=t("a",{href:"https://github.com/WGDashboard",class:"text-decoration-none text-body",target:"_blank"},[t("strong",null,"WGDashboard")],-1))]),t("a",Fe,[t("small",null,[e[14]||(e[14]=t("i",{class:"bi bi-box-arrow-up-right me-1"},null,-1)),a(o,{t:"Client App"})])])]),t("div",Je,[a(O,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:A(()=>[(r(!0),i($,null,w(f.getMessages.slice().reverse(),u=>(r(),C(c,{message:u,key:u.id},null,8,["message"]))),128))]),_:1})])],8,Ce)}const tt=x(Se,[["render",Qe],["__scopeId","data-v-9f90d4ac"]]);export{tt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-AbhxYXGe.js b/src/static/dist/WGDashboardAdmin/assets/signin-AbhxYXGe.js deleted file mode 100644 index ff83e5ca..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/signin-AbhxYXGe.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as v,G as p,A as E,c as a,a as t,t as L,n as C,m as u,y as c,b as l,h as g,d as x,F as k,i as w,f as i,D as V,j as $,$ as M,v as A,e as T,w as D,T as U,z as B,g as y}from"./index-DXzxfcZW.js";import{M as R}from"./message-DC-PB7Ii.js";import{d as _}from"./dayjs.min-C-brjxlJ.js";import{L as S}from"./localeText-Dmcj5qqx.js";const O={name:"RemoteServer",components:{LocaleText:S},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[E().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=_(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=_(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${_().subtract(this.startTime).millisecond()}ms`:this.refreshing?p("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},P={class:"card rounded-3"},j={class:"gap-2 d-flex align-items-center"},q={key:0,class:"spin ms-auto text-white"},G={class:"card-body"},H={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},N={class:"d-flex gap-3 align-items-center flex-grow-1"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},W={class:"d-flex gap-2 button-group"},z={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Q={class:"flex-grow-1"},X=["onUpdate:modelValue"],Y={class:"flex-grow-1"},Z=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,m,h,d,f){const r=g("LocaleText");return i(),a("div",P,[t("div",{class:C(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",j,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,L(this.getHandshakeTime),1),this.refreshing?(i(),a("div",q,[...e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)])])):(i(),a("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},[...e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])]))])],2),t("div",G,[t("div",H,[t("div",N,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),u(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[c,this.server.host]])]),t("div",K,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[c,this.server.apiKey]])]),t("div",W,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),l(r,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:C([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),l(r,{t:"Connect"})],2)]),t("div",z,[t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(r,{t:"Headers"})]),this.server.headers?(i(!0),a(k,{key:0},w(this.server.headers,(n,b)=>(i(),a("div",J,[t("div",Q,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=o=>this.handshake()),"onUpdate:modelValue":o=>n.key=o,placeholder:"Key"},null,40,X),[[c,n.key]])]),t("div",Y,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=o=>this.handshake()),"onUpdate:modelValue":o=>n.value=o,placeholder:"Value"},null,40,Z),[[c,n.value]])]),t("button",{type:"button",onClick:o=>delete this.server.headers[b],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},[...e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)])],8,ee)]))),256)):x("",!0)])])])])])}const se=v(O,[["render",te],["__scopeId","data-v-87b9c3d8"]]),oe={name:"RemoteServerList",setup(){return{store:V()}},components:{LocaleText:S,RemoteServer:se}},re={class:"w-100 mt-3"},ie={class:"d-flex align-items-center mb-3"},ne={class:"mb-0"},ae={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},le={key:0,class:"text-muted m-auto"};function de(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServer");return i(),a("div",re,[t("div",ie,[t("h5",ne,[l(r,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(r,{t:"Server"})])]),t("div",ae,[(i(!0),a(k,null,w(this.store.CrossServerConfiguration.ServerList,(b,o)=>(i(),$(n,{onSetActiveServer:I=>this.store.setActiveCrossServer(o),onDelete:I=>this.store.deleteCrossServerConfiguration(o),key:o,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),a("h6",le,[l(r,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(r,{t:"to add your server"})])):x("",!0)])])}const ue=v(oe,[["render",de]]),me={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},ce=["type","id","name","placeholder"];function he(s,e,m,h,d,f){return u((i(),a("input",{type:m.type,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data[this.id]=r),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,ce)),[[M,this.data[this.id]]])}const pe=v(me,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,m,h,d,f){return u((i(),a("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.totp=r)},null,8,be)),[[c,this.data.totp]])}const ve=v(fe,[["render",ge]]),xe={name:"signin",components:{SignInTOTP:ve,SignInInput:pe,LocaleText:S,RemoteServerList:ue,Message:R},async setup(){const s=V();let e="dark",m=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{m=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:m,version:h}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return p(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:p,async auth(){this.formValid?(this.loading=!0,await B("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ye=["data-bs-theme"],_e={class:"login-box m-auto"},$e={class:"m-auto signInContainer",style:{width:"700px"}},ke={class:"mb-0 text-body"},we={class:"form-floating mb-2"},Se=["disabled"],Ce={for:"floatingInput",class:"d-flex"},Te={class:"form-floating mb-2"},Le=["disabled"],Ve={for:"floatingInput",class:"d-flex"},Ie={key:0,class:"form-floating mb-2"},Ee=["disabled"],Me={for:"floatingInput",class:"d-flex"},Ae=["disabled"],De={key:0,class:"d-flex w-100"},Ue={key:1,class:"d-flex w-100 align-items-center"},Be={key:2,class:"d-flex mt-3"},Re={class:"form-check form-switch ms-auto"},Oe=["disabled"],Pe={class:"form-check-label",for:"flexSwitchCheckChecked"},je={class:"d-flex container-fluid align-items-center my-1 w-100"},qe={class:"text-muted"},Ge={href:"./client",target:"_blank",class:"text-decoration-none ms-auto text-body",style:{"white-space":"nowrap"}},He={class:"messageCentre text-body position-absolute d-flex"};function Ne(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServerList"),b=g("Message");return i(),a("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",_e,[t("div",$e,[t("h4",ke,[l(r,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),$(n,{key:1})):(i(),a("form",{key:0,onSubmit:e[3]||(e[3]=o=>{o.preventDefault(),this.auth()}),class:"mt-3"},[t("div",we,[u(t("input",{type:"text",required:"",disabled:d.loading,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.username=o),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Se),[[c,this.data.username]]),t("label",Ce,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(r,{t:"Username"})])]),t("div",Te,[u(t("input",{type:"password",required:"",disabled:d.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=o=>this.data.password=o),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Le),[[c,this.data.password]]),t("label",Ve,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(r,{t:"Password"})])]),this.totpEnabled?(i(),a("div",Ie,[u(t("input",{type:"text",id:"totp",required:"",disabled:d.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=o=>this.data.totp=o),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Ee),[[c,this.data.totp]]),t("label",Me,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(r,{t:"OTP from your authenticator"})])])):x("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),a("span",Ue,[l(r,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),a("span",De,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,Ae)],32)),this.store.IsElectronApp?x("",!0):(i(),a("div",Be,[t("div",Re,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>this.store.CrossServerConfiguration.Enable=o),disabled:d.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Oe),[[A,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("div",je,[t("small",qe,[e[11]||(e[11]=T(" WGDashboard ",-1)),t("strong",null,L(this.version),1),e[12]||(e[12]=T(" | Made with ❤️ by ",-1)),e[13]||(e[13]=t("a",{href:"https://github.com/WGDashboard",class:"text-decoration-none text-body",target:"_blank"},[t("strong",null,"WGDashboard")],-1))]),t("a",Ge,[t("small",null,[e[14]||(e[14]=t("i",{class:"bi bi-box-arrow-up-right me-1"},null,-1)),l(r,{t:"Client App"})])])]),t("div",He,[l(U,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:D(()=>[(i(!0),a(k,null,w(f.getMessages.slice().reverse(),o=>(i(),$(b,{message:o,key:o.id},null,8,["message"]))),128))]),_:1})])],8,ye)}const Je=v(xe,[["render",Ne],["__scopeId","data-v-9e84e18b"]]);export{Je as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-DZT8PIVl.css b/src/static/dist/WGDashboardAdmin/assets/signin-DHb5-H_M.css similarity index 81% rename from src/static/dist/WGDashboardAdmin/assets/signin-DZT8PIVl.css rename to src/static/dist/WGDashboardAdmin/assets/signin-DHb5-H_M.css index 9897b413..a592b4c8 100644 --- a/src/static/dist/WGDashboardAdmin/assets/signin-DZT8PIVl.css +++ b/src/static/dist/WGDashboardAdmin/assets/signin-DHb5-H_M.css @@ -1 +1 @@ -.card-header[data-v-87b9c3d8]{transition:all .2s ease-in-out}.dot.inactive[data-v-87b9c3d8]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-87b9c3d8]{animation:spin-87b9c3d8 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-87b9c3d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-87b9c3d8]{flex-direction:column}.remoteServerContainer .button-group button[data-v-87b9c3d8]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-9e84e18b]{width:100%!important}.login-box div[data-v-9e84e18b]{width:auto!important}} +.card-header[data-v-87b9c3d8]{transition:all .2s ease-in-out}.dot.inactive[data-v-87b9c3d8]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-87b9c3d8]{animation:spin-87b9c3d8 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-87b9c3d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-87b9c3d8]{flex-direction:column}.remoteServerContainer .button-group button[data-v-87b9c3d8]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-9f90d4ac]{width:100%!important}.login-box div[data-v-9f90d4ac]{width:auto!important}} diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js rename to src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js index f641eaab..f1e41e88 100644 --- a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js +++ b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js @@ -1 +1 @@ -import{_ as p,r as b,q as x,c as t,f as r,b as n,w as f,d as v,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-DXzxfcZW.js";import{L as _}from"./localeText-Dmcj5qqx.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({a680627c:s.value}));const u=e,o=b(!1),s=x(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:f(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):v("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-d4cea788"]]);export{h as C}; +import{_ as p,r as b,q as x,c as t,f as r,b as n,w as f,d as v,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-DM7YJCOo.js";import{L as _}from"./localeText-BJvnc1lF.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({a680627c:s.value}));const u=e,o=b(!1),s=x(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:f(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):v("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-d4cea788"]]);export{h as C}; diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-DR2cmn_N.js b/src/static/dist/WGDashboardAdmin/assets/systemStatus-Ba_q2UdD.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/systemStatus-DR2cmn_N.js rename to src/static/dist/WGDashboardAdmin/assets/systemStatus-Ba_q2UdD.js index a4478fef..1b1227a9 100644 --- a/src/static/dist/WGDashboardAdmin/assets/systemStatus-DR2cmn_N.js +++ b/src/static/dist/WGDashboardAdmin/assets/systemStatus-Ba_q2UdD.js @@ -1 +1 @@ -import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-DXzxfcZW.js";import{L as c}from"./localeText-Dmcj5qqx.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ByRTtoAB.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-Bf88kmMW.js";import{d as oe}from"./dayjs.min-C-brjxlJ.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{"min-height":"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-grid gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-09184439"]]);export{Ds as default}; +import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-DM7YJCOo.js";import{L as c}from"./localeText-BJvnc1lF.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DCrotcp6.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-Bt0JU5XL.js";import{d as oe}from"./dayjs.min-DZl6XMNW.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{"min-height":"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-grid gap-1",style:{"grid-template-columns":"repeat(10, 1fr)"}},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-09184439"]]);export{Ds as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/totp-CJ63kZAX.js b/src/static/dist/WGDashboardAdmin/assets/totp-XesjjJo-.js similarity index 94% rename from src/static/dist/WGDashboardAdmin/assets/totp-CJ63kZAX.js rename to src/static/dist/WGDashboardAdmin/assets/totp-XesjjJo-.js index 30e91231..9bfd3123 100644 --- a/src/static/dist/WGDashboardAdmin/assets/totp-CJ63kZAX.js +++ b/src/static/dist/WGDashboardAdmin/assets/totp-XesjjJo-.js @@ -1 +1 @@ -import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-DXzxfcZW.js";import{Q as x}from"./browser-DFwZaPoQ.js";import{L as y}from"./localeText-Dmcj5qqx.js";import"./galois-field-I2lBzzs-.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},(a=>{a.status&&(e=a.data)})),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; +import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-DM7YJCOo.js";import{Q as x}from"./browser-CUYUHo3j.js";import{L as y}from"./localeText-BJvnc1lF.js";import"./galois-field-I2lBzzs-.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},(a=>{a.status&&(e=a.data)})),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-C_Rw3NHe.js b/src/static/dist/WGDashboardAdmin/assets/traceroute-0ZnREFaN.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/traceroute-C_Rw3NHe.js rename to src/static/dist/WGDashboardAdmin/assets/traceroute-0ZnREFaN.js index de8d0c30..da8facce 100644 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-C_Rw3NHe.js +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-0ZnREFaN.js @@ -1 +1 @@ -import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,I as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-DXzxfcZW.js";import{O as A}from"./osmap-VxPm4_Yh.js";import{L as w}from"./localeText-Dmcj5qqx.js";import"./Vector-CuSZivra.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},I=["disabled"],O=["disabled"],V={key:0,class:"d-block"},B={key:1,class:"d-block"},N={class:"position-relative"},z={key:"pingPlaceholder"},D={key:1},E={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,I),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",B,[...s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(l(),o("span",V,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,O)]),t("div",N,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",D,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",E,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo&&e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",z,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-125b538b"]]);export{at as default}; +import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,I as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-DM7YJCOo.js";import{O as A}from"./osmap-BMy-ioUU.js";import{L as w}from"./localeText-BJvnc1lF.js";import"./Vector-CuSZivra.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},I=["disabled"],O=["disabled"],V={key:0,class:"d-block"},B={key:1,class:"d-block"},N={class:"position-relative"},z={key:"pingPlaceholder"},D={key:1},E={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,I),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",B,[...s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(l(),o("span",V,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,O)]),t("div",N,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",D,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",E,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo&&e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",z,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-125b538b"]]);export{at as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-vren6E8j.js b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-9N8DgATH.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/vue-datepicker-vren6E8j.js rename to src/static/dist/WGDashboardAdmin/assets/vue-datepicker-9N8DgATH.js index 3456632c..f443db66 100644 --- a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-vren6E8j.js +++ b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-9N8DgATH.js @@ -1 +1 @@ -import{q as V,r as ie,Q as fo,H as Je,a6 as mo,a7 as vo,a8 as Gt,u as i,B as Ue,a9 as cr,aa as Bt,a0 as Be,j as $e,ab as ze,i as Ee,J as Ha,ac as po,ad as ho,ae as Vn,o as je,Z as Ge,V as jt,c as te,f as F,b as He,w as be,af as oe,ag as et,ah as dt,a as we,k as da,d as re,s as tt,n as ye,ai as yo,aj as go,a3 as sa,F as Se,t as Ke,l as xn,P as wo,R as Ie,ak as vt,e as At,al as bo,m as Wa,am as Ia,I as ko}from"./index-DXzxfcZW.js";import{o as _o,u as Yt,a as Do}from"./index-CRsyV-e7.js";const la=Math.min,It=Math.max,qa=Math.round,Va=Math.floor,kt=e=>({x:e,y:e}),xo={left:"right",right:"left",bottom:"top",top:"bottom"},Mo={start:"end",end:"start"};function hn(e,t,n){return It(e,la(t,n))}function Ma(e,t){return typeof e=="function"?e(t):e}function qt(e){return e.split("-")[0]}function Pa(e){return e.split("-")[1]}function dr(e){return e==="x"?"y":"x"}function Mn(e){return e==="y"?"height":"width"}const Po=new Set(["top","bottom"]);function Rt(e){return Po.has(qt(e))?"y":"x"}function Pn(e){return dr(Rt(e))}function Ao(e,t,n){n===void 0&&(n=!1);const a=Pa(e),r=Pn(e),o=Mn(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Ua(s)),[s,Ua(s)]}function To(e){const t=Ua(e);return[yn(e),t,yn(t)]}function yn(e){return e.replace(/start|end/g,t=>Mo[t])}const Ln=["left","right"],Wn=["right","left"],Oo=["top","bottom"],Co=["bottom","top"];function So(e,t,n){switch(e){case"top":case"bottom":return n?t?Wn:Ln:t?Ln:Wn;case"left":case"right":return t?Oo:Co;default:return[]}}function Yo(e,t,n,a){const r=Pa(e);let o=So(qt(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(yn)))),o}function Ua(e){return e.replace(/left|right|bottom|top/g,t=>xo[t])}function Ro(e){return{top:0,right:0,bottom:0,left:0,...e}}function fr(e){return typeof e!="number"?Ro(e):{top:e,right:e,bottom:e,left:e}}function ja(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function In(e,t,n){let{reference:a,floating:r}=e;const o=Rt(t),s=Pn(t),l=Mn(s),u=qt(t),h=o==="y",p=a.x+a.width/2-r.width/2,g=a.y+a.height/2-r.height/2,w=a[l]/2-r[l]/2;let c;switch(u){case"top":c={x:p,y:a.y-r.height};break;case"bottom":c={x:p,y:a.y+a.height};break;case"right":c={x:a.x+a.width,y:g};break;case"left":c={x:a.x-r.width,y:g};break;default:c={x:a.x,y:a.y}}switch(Pa(t)){case"start":c[s]-=w*(n&&h?-1:1);break;case"end":c[s]+=w*(n&&h?-1:1);break}return c}const $o=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,l=o.filter(Boolean),u=await(s.isRTL==null?void 0:s.isRTL(t));let h=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:g}=In(h,a,u),w=a,c={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:l,middlewareData:u}=t,{element:h,padding:p=0}=Ma(e,t)||{};if(h==null)return{};const g=fr(p),w={x:n,y:a},c=Pn(r),y=Mn(c),b=await s.getDimensions(h),_=c==="y",d=_?"top":"left",m=_?"bottom":"right",v=_?"clientHeight":"clientWidth",M=o.reference[y]+o.reference[c]-w[c]-o.floating[y],O=w[c]-o.reference[c],E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(h));let P=E?E[v]:0;(!P||!await(s.isElement==null?void 0:s.isElement(E)))&&(P=l.floating[v]||o.floating[y]);const Y=M/2-O/2,N=P/2-b[y]/2-1,W=la(g[d],N),H=la(g[m],N),q=W,G=P-b[y]-H,Z=P/2-b[y]/2+Y,U=hn(q,Z,G),X=!u.arrow&&Pa(r)!=null&&Z!==U&&o.reference[y]/2-(ZZ<=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{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Zs=/^(\d+)(th|st|nd|rd)?/i,Js=/\d+/i,el={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},tl={any:[/^b/i,/^(a|c)/i]},al={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nl={any:[/1/i,/2/i,/3/i,/4/i]},rl={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},ol={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]},sl={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},ll={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]},il={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},ul={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}},cl={ordinalNumber:Gs({matchPattern:Zs,parsePattern:Js,valueCallback:e=>parseInt(e,10)}),era:ga({matchPatterns:el,defaultMatchWidth:"wide",parsePatterns:tl,defaultParseWidth:"any"}),quarter:ga({matchPatterns:al,defaultMatchWidth:"wide",parsePatterns:nl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ga({matchPatterns:rl,defaultMatchWidth:"wide",parsePatterns:ol,defaultParseWidth:"any"}),day:ga({matchPatterns:sl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),dayPeriod:ga({matchPatterns:il,defaultMatchWidth:"any",parsePatterns:ul,defaultParseWidth:"any"})},Or={code:"en-US",formatDistance:$s,formatLong:Fs,formatRelative:Ls,localize:Ks,match:cl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function dl(e,t){const n=ve(e,t?.in);return Mr(n,oa(n))+1}function $n(e,t){const n=ve(e,t?.in),a=+ua(n)-+Ps(n);return Math.round(a/_r)+1}function En(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=Kt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Ye(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const l=ot(s,t),u=Ye(t?.in||e,0);u.setFullYear(a,0,o),u.setHours(0,0,0,0);const h=ot(u,t);return+n>=+l?a+1:+n>=+h?a:a-1}function fl(e,t){const n=Kt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=En(e,t),o=Ye(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),ot(o,t)}function Bn(e,t){const n=ve(e,t?.in),a=+ot(n,t)-+fl(n,t);return Math.round(a/_r)+1}function Ce(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const St={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ce(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ce(n+1,2)},d(e,t){return Ce(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 Ce(e.getHours()%12||12,t.length)},H(e,t){return Ce(e.getHours(),t.length)},m(e,t){return Ce(e.getMinutes(),t.length)},s(e,t){return Ce(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ce(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return St.y(e,t)},Y:function(e,t,n,a){const r=En(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Ce(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Ce(o,t.length)},R:function(e,t){const n=xr(e);return Ce(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ce(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ce(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ce(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return St.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ce(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Bn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ce(r,t.length)},I:function(e,t,n){const a=$n(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ce(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):St.d(e,t)},D:function(e,t,n){const a=dl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ce(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":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"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Ce(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});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"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Ce(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ce(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return St.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):St.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):St.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):St.s(e,t)},S:function(e,t){return St.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return tr(a);case"XXXX":case"XX":return Vt(a);case"XXXXX":case"XXX":default:return Vt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return tr(a);case"xxxx":case"xx":return Vt(a);case"xxxxx":case"xxx":default:return Vt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+er(a,":");case"OOOO":default:return"GMT"+Vt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+er(a,":");case"zzzz":default:return"GMT"+Vt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Ce(a,t.length)},T:function(e,t,n){return Ce(+e,t.length)}};function er(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Ce(o,2)}function tr(e,t){return e%60===0?(e>0?"-":"+")+Ce(Math.abs(e)/60,2):Vt(e,t)}function Vt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ce(Math.trunc(a/60),2),o=Ce(a%60,2);return n+r+t+o}const ar=(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"})}},Cr=(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"})}},ml=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ar(e,t);let o;switch(a){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}}",ar(a,t)).replace("{{time}}",Cr(r,t))},bn={p:Cr,P:ml},vl=/^D+$/,pl=/^Y+$/,hl=["D","DD","YY","YYYY"];function Sr(e){return vl.test(e)}function Yr(e){return pl.test(e)}function kn(e,t,n){const a=yl(e,t,n);if(console.warn(a),hl.includes(e))throw new RangeError(a)}function yl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const gl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bl=/^'([^]*?)'?$/,kl=/''/g,_l=/[a-zA-Z]/;function nt(e,t,n){const a=Kt(),r=n?.locale??a.locale??Or,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e,n?.in);if(!_a(l))throw new RangeError("Invalid time value");let u=t.match(wl).map(p=>{const g=p[0];if(g==="p"||g==="P"){const w=bn[g];return w(p,r.formatLong)}return p}).join("").match(gl).map(p=>{if(p==="''")return{isToken:!1,value:"'"};const g=p[0];if(g==="'")return{isToken:!1,value:Dl(p)};if(Jn[g])return{isToken:!0,value:p};if(g.match(_l))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:p}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const h={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return u.map(p=>{if(!p.isToken)return p.value;const g=p.value;(!n?.useAdditionalWeekYearTokens&&Yr(g)||!n?.useAdditionalDayOfYearTokens&&Sr(g))&&kn(g,t,String(e));const w=Jn[g[0]];return w(l,g,r.localize,h)}).join("")}function Dl(e){const t=e.match(bl);return t?t[1].replace(kl,"'"):e}function xl(e,t){return ve(e,t?.in).getDay()}function Ml(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Ye(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function Pl(){return Object.assign({},Kt())}function xt(e,t){return ve(e,t?.in).getHours()}function Al(e,t){const n=ve(e,t?.in).getDay();return n===0?7:n}function Tt(e,t){return ve(e,t?.in).getMinutes()}function Ae(e,t){return ve(e,t?.in).getMonth()}function Et(e){return ve(e).getSeconds()}function he(e,t){return ve(e,t?.in).getFullYear()}function wt(e,t){return+ve(e)>+ve(t)}function Pt(e,t){return+ve(e)<+ve(t)}function ta(e,t){return+ve(e)==+ve(t)}function Tl(e,t){const n=Ol(t)?new t(0):Ye(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Ol(e){return typeof e=="function"&&e.prototype?.constructor===e}const Cl=10;class Rr{subPriority=0;validate(t,n){return!0}}class Sl extends Rr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class Yl extends Rr{priority=Cl;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Ye(n,a))}set(t,n){return n.timestampIsSet?t:Ye(t,Tl(t,this.context))}}class Oe{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new Sl(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class Rl extends Oe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},yt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function We(e,t){return e&&{value:t(e.value),rest:e.rest}}function Ne(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function gt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*Ds+o*_s+s*xs),rest:t.slice(n[0].length)}}function $r(e){return Ne(Le.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Ne(Le.singleDigit,t);case 2:return Ne(Le.twoDigits,t);case 3:return Ne(Le.threeDigits,t);case 4:return Ne(Le.fourDigits,t);default:return Ne(new RegExp("^\\d{1,"+e+"}"),t)}}function Ka(e,t){switch(e){case 1:return Ne(Le.singleDigitSigned,t);case 2:return Ne(Le.twoDigitsSigned,t);case 3:return Ne(Le.threeDigitsSigned,t);case 4:return Ne(Le.fourDigitsSigned,t);default:return Ne(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Nn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Er(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,l=e>=o%100;r=e+s-(l?100:0)}return n?r:1-r}function Br(e){return e%400===0||e%4===0&&e%100!==0}class $l extends Oe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return We(Ve(4,t),r);case"yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=Er(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class El extends Oe{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return We(Ve(4,t),r);case"Yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=En(t,r);if(a.isTwoDigitYear){const l=Er(a.year,o);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class Bl extends Oe{priority=130;parse(t,n){return Ka(n==="R"?4:n.length,t)}set(t,n,a){const r=Ye(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),ua(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class Nl extends Oe{priority=130;parse(t,n){return Ka(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class Fl extends Oe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class Vl extends Oe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class Ll extends Oe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return We(Ne(Le.month,t),r);case"MM":return We(Ve(2,t),r);case"Mo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class Wl extends Oe{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return We(Ne(Le.month,t),r);case"LL":return We(Ve(2,t),r);case"Lo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Il(e,t,n){const a=ve(e,n?.in),r=Bn(a,n)-t;return a.setDate(a.getDate()-r*7),ve(a,n?.in)}class Hl extends Oe{priority=100;parse(t,n,a){switch(n){case"w":return Ne(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ot(Il(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function ql(e,t,n){const a=ve(e,n?.in),r=$n(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Ul extends Oe{priority=100;parse(t,n,a){switch(n){case"I":return Ne(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return ua(ql(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const jl=[31,28,31,30,31,30,31,31,30,31,30,31],zl=[31,29,31,30,31,30,31,31,30,31,30,31];class Kl extends Oe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Ne(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=Br(a),o=t.getMonth();return r?n>=1&&n<=zl[o]:n>=1&&n<=jl[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Xl extends Oe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Ne(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return Br(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fn(e,t,n){const a=Kt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=ve(e,n?.in),s=o.getDay(),u=(t%7+7)%7,h=7-r,p=t<0||t>6?t-(s+h)%7:(u+h)%7-(s+h)%7;return rt(o,p,n)}class Ql extends Oe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Gl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"e":case"ee":return We(Ve(n.length,t),o);case"eo":return We(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Zl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"c":case"cc":return We(Ve(n.length,t),o);case"co":return We(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function Jl(e,t,n){const a=ve(e,n?.in),r=Al(a,n),o=t-r;return rt(a,o,n)}class ei extends Oe{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return We(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return We(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return We(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return We(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=Jl(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class ti extends Oe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class ai extends Oe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ni extends Oe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class ri extends Oe{priority=70;parse(t,n,a){switch(n){case"h":return Ne(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class oi extends Oe{priority=70;parse(t,n,a){switch(n){case"H":return Ne(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class si extends Oe{priority=70;parse(t,n,a){switch(n){case"K":return Ne(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class li extends Oe{priority=70;parse(t,n,a){switch(n){case"k":return Ne(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class ii extends Oe{priority=60;parse(t,n,a){switch(n){case"m":return Ne(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class ui extends Oe{priority=50;parse(t,n,a){switch(n){case"s":return Ne(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class ci extends Oe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return We(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class di extends Oe{priority=10;parse(t,n){switch(n){case"X":return gt(yt.basicOptionalMinutes,t);case"XX":return gt(yt.basic,t);case"XXXX":return gt(yt.basicOptionalSeconds,t);case"XXXXX":return gt(yt.extendedOptionalSeconds,t);case"XXX":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","x"]}class fi extends Oe{priority=10;parse(t,n){switch(n){case"x":return gt(yt.basicOptionalMinutes,t);case"xx":return gt(yt.basic,t);case"xxxx":return gt(yt.basicOptionalSeconds,t);case"xxxxx":return gt(yt.extendedOptionalSeconds,t);case"xxx":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","X"]}class mi extends Oe{priority=40;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class vi extends Oe{priority=20;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const pi={G:new Rl,y:new $l,Y:new El,R:new Bl,u:new Nl,Q:new Fl,q:new Vl,M:new Ll,L:new Wl,w:new Hl,I:new Ul,d:new Kl,D:new Xl,E:new Ql,e:new Gl,c:new Zl,i:new ei,a:new ti,b:new ai,B:new ni,h:new ri,H:new oi,K:new si,k:new li,m:new ii,s:new ui,S:new ci,X:new di,x:new fi,t:new mi,T:new vi},hi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,yi=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gi=/^'([^]*?)'?$/,wi=/''/g,bi=/\S/,ki=/[a-zA-Z]/;function _n(e,t,n,a){const r=()=>Ye(a?.in||n,NaN),o=Pl(),s=a?.locale??o.locale??Or,l=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,u=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():ve(n,a?.in);const h={firstWeekContainsDate:l,weekStartsOn:u,locale:s},p=[new Yl(a?.in,n)],g=t.match(yi).map(_=>{const d=_[0];if(d in bn){const m=bn[d];return m(_,s.formatLong)}return _}).join("").match(hi),w=[];for(let _ of g){!a?.useAdditionalWeekYearTokens&&Yr(_)&&kn(_,t,e),!a?.useAdditionalDayOfYearTokens&&Sr(_)&&kn(_,t,e);const d=_[0],m=pi[d];if(m){const{incompatibleTokens:v}=m;if(Array.isArray(v)){const O=w.find(E=>v.includes(E.token)||E.token===d);if(O)throw new RangeError(`The format string mustn't contain \`${O.fullToken}\` and \`${_}\` at the same time`)}else if(m.incompatibleTokens==="*"&&w.length>0)throw new RangeError(`The format string mustn't contain \`${_}\` and any other token at the same time`);w.push({token:d,fullToken:_});const M=m.run(e,_,s.match,h);if(!M)return r();p.push(M.setter),e=M.rest}else{if(d.match(ki))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");if(_==="''"?_="'":d==="'"&&(_=_i(_)),e.indexOf(_)===0)e=e.slice(_.length);else return r()}}if(e.length>0&&bi.test(e))return r();const c=p.map(_=>_.priority).sort((_,d)=>d-_).filter((_,d,m)=>m.indexOf(_)===d).map(_=>p.filter(d=>d.priority===_).sort((d,m)=>m.subPriority-d.subPriority)).map(_=>_[0]);let y=ve(n,a?.in);if(isNaN(+y))return r();const b={};for(const _ of c){if(!_.validate(y,h))return r();const d=_.set(y,b,h);Array.isArray(d)?(y=d[0],Object.assign(b,d[1])):y=d}return y}function _i(e){return e.match(gi)[1].replace(wi,"'")}function nr(e,t,n){const[a,r]=Ta(n?.in,e,t);return+Lt(a)==+Lt(r)}function Nr(e,t,n){return rt(e,-t,n)}function Di(e,t){const n=t?.nearestTo??1;if(n<1||n>30)return Ye(e,NaN);const a=ve(e,t?.in),r=a.getSeconds()/60,o=a.getMilliseconds()/1e3/60,s=a.getMinutes()+r+o,l=t?.roundingMethod??"round",h=Os(l)(s/n)*n;return a.setMinutes(h,0,0),a}function Fr(e,t,n){const a=ve(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Ye(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const l=Ml(s);return a.setMonth(t,Math.min(o,l)),a}function xe(e,t,n){let a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=Fr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function xi(e,t,n){const a=ve(e,n?.in);return a.setMilliseconds(t),a}function Mi(e,t,n){const a=ve(e,n?.in);return a.setSeconds(t),a}function ct(e,t,n){const a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(a.setFullYear(t),a)}function ca(e,t,n){return ft(e,-t,n)}function Pi(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=ca(e,r+a*12,n),g=Nr(p,s+o*7,n),w=u+l*60,y=(h+w*60)*1e3;return Ye(e,+g-y)}function Vr(e,t,n){return Sn(e,-t,n)}function Ai(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Ti={},ka={};function Wt(e,t){try{const a=(Ti[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in ka?ka[a]:rr(a,a.split(":"))}catch{if(e in ka)return ka[e];const n=e?.match(Oi);return n?rr(e,n.slice(1)):NaN}}const Oi=/([+-]\d\d):?(\d\d)?/;function rr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return ka[e]=n*60+a>0?n*60+a+r:n*60-a-r}class bt extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Wt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Lr(this),Dn(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new bt(...n,t):new bt(Date.now(),t)}withTimeZone(t){return new bt(+this,t)}getTimezoneOffset(){const t=-Wt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Dn(this),+this}[Symbol.for("constructDateFrom")](t){return new bt(+new Date(t),this.timeZone)}}const or=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!or.test(e))return;const t=e.replace(or,"$1UTC");bt.prototype[t]&&(e.startsWith("get")?bt.prototype[e]=function(){return this.internal[t]()}:(bt.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ci(this),+this},bt.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Dn(this),+this}))});function Dn(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Wt(e.timeZone,e)*60))}function Ci(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Lr(e)}function Lr(e){const t=Wt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=-new Date(+a).getTimezoneOffset(),s=r-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const u=r-n;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);const h=new Date(+e);h.setUTCSeconds(0);const p=r>0?h.getSeconds():(h.getSeconds()-60)%60,g=Math.round(-(Wt(e.timeZone,e)*60))%60;(g||p)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+g),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+g+p));const w=Wt(e.timeZone,e),c=w>0?Math.floor(w):Math.ceil(w),b=-new Date(+e).getTimezoneOffset()-c,_=c!==n,d=b-u;if(_&&d){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const m=Wt(e.timeZone,e),v=m>0?Math.floor(m):Math.ceil(m),M=c-v;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class aa extends bt{static tz(t,...n){return n.length?new aa(...n,t):new aa(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${Ai(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new aa(+this,t)}[Symbol.for("constructDateFrom")](t){return new aa(+new Date(t),this.timeZone)}}function Oa(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),Ie("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}function Si(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),Ie("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}function Wr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ir(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}function Hr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),Ie("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}function qr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ur(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}const jr=Symbol("ContextKey"),Yi=(e,t)=>{const{setTimeModelValue:n}=qe(),a=Mu(e),r=ie(null),o=Ha({menuFocused:!1,shiftKeyInMenu:!1,isInputFocused:!1,isTextInputDate:!1,arrowNavigationLevel:0}),s=a.getDate(new Date),l=ie(""),u=ie([{month:Ae(s),year:he(s)}]),h=Ha({hours:0,minutes:0,seconds:0});n(h,null,s,a.range.value.enabled);const p=V({get:()=>r.value,set:b=>{r.value=b}}),g=V(()=>b=>u.value[b]?u.value[b].month:0),w=V(()=>b=>u.value[b]?u.value[b].year:0),c=(b,_)=>{o[b]=_},y=()=>{n(h,p.value,s,a.range.value.enabled)};po(jr,{rootProps:e,defaults:a,modelValue:p,state:ho(o),rootEmit:t,calendars:u,month:g,year:w,time:h,today:s,inputValue:l,setState:c,updateTime:y,getDate:a.getDate})},Pe=()=>{const e=go(jr);if(!e)throw new Error("Can't use context");return e};var it=(e=>(e.month="month",e.year="year",e))(it||{}),Ht=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Ht||{}),Qe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Qe||{});const Ri=["timestamp","date","iso"];var ut=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(ut||{}),Re=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Re||{}),na=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(na||{}),zr=(e=>(e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e))(zr||{});const $i=()=>{const{rootProps:e,state:t}=Pe(),n=V(()=>t.arrowNavigationLevel),a=ie(-1),r=ie(-1);Je(n,(m,v)=>{d(m===0&&v>0)});const o=ie([]),s=ie(new Map),l=()=>{const m=Array.from(document.querySelectorAll(`[data-dp-action-element="${n.value}"]`)),v=new Map,M=new Map;for(const O of m){const E=O.getBoundingClientRect(),P=E.top,Y=E.left;v.has(P)||v.set(P,[]),v.get(P).push(O),M.set(O,{row:P,col:Y})}o.value=Array.from(v.entries()).sort((O,E)=>O[0]-E[0]).map(([O,E])=>u(E,M)),s.value=M},u=(m,v)=>m.sort((M,O)=>{const E=v.get(M),P=v.get(O);return E.col-P.col}),h=(m,v)=>{n.value===0&&(a.value=m,r.value=v)},p=m=>{if(![Re.arrowUp,Re.arrowDown,Re.arrowLeft,Re.arrowRight].includes(m.key))return;l(),m.preventDefault();const v=document.activeElement;if(!v?.hasAttribute("data-dp-action-element"))return;let M=-1,O=-1;for(let E=0;E{if(v>0){const M=o.value[m][v-1];h(m,v-1),M&&M.focus()}},w=(m,v)=>{if(v{if(m>0){const M=o.value[m-1],O=Math.min(v,M.length-1),E=M[O];h(m-1,O),E&&E.focus()}},y=(m,v)=>{if(m{Ge().then(()=>{l();const m=o.value[a.value]?.[r.value];m&&_(m)})},_=m=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{m.focus({preventScroll:!0})})})},d=m=>{if(m)return b();const v=document.querySelector(`[data-dp-element-active="${n.value}"]`);if(v&&!m)_(v);else{const M=document.querySelector(`[data-dp-action-element="${n.value}"]`);M&&_(M)}};je(()=>{e.arrowNavigation&&(d(!1),document.addEventListener("keydown",p))}),jt(()=>{e.arrowNavigation&&document.removeEventListener("keydown",p)})},Ei=()=>{const{checkPartialRangeValue:e,checkRangeEnabled:t,isValidDate:n}=st(),{convertType:a,errorMapper:r}=qe(),{getDate:o,rootEmit:s,state:l,rootProps:u,inputValue:h,defaults:{textInput:p,range:g,multiDates:w,timeConfig:c,formats:y},modelValue:b,updateTime:_}=Pe(),{setTime:d,getWeekFromDate:m}=Xe(),{formatSelectedDate:v,formatForTextInput:M}=Nt();Je(b,(D,R)=>{s("internal-model-change",b.value),JSON.stringify(R??{})!==JSON.stringify(D??{})&&_()},{deep:!0}),Je(g,(D,R)=>{D.enabled!==R.enabled&&(b.value=null)}),Je(()=>y.value.input,()=>{fe()});const O=D=>D?u.modelType?ne(D):{hours:xt(D),minutes:Tt(D),seconds:c.value.enableSeconds?Et(D):0}:null,E=D=>u.modelType?ne(D):{month:Ae(D),year:he(D)},P=D=>Array.isArray(D)?w.value.enabled?D.map(R=>Y(R,ct(o(),R))):t(()=>[ct(o(),D[0]),D[1]?ct(o(),D[1]):e(g.value.partialRange)],g.value.enabled):ct(o(),+D),Y=(D,R)=>(typeof D=="string"||typeof D=="number")&&u.modelType?ge(D):R,N=D=>Array.isArray(D)?[Y(D[0],d(D[0])),Y(D[1],d(D[1]))]:Y(D,d(D)),W=D=>{const R=xe(o(),{date:1});return Array.isArray(D)?w.value.enabled?D.map(Q=>Y(Q,xe(R,{month:+Q.month,year:+Q.year}))):t(()=>[Y(D[0],xe(R,{month:+D[0].month,year:+D[0].year})),Y(D[1],D[1]?xe(R,{month:+D[1].month,year:+D[1].year}):e(g.value.partialRange))],g.value.enabled):Y(D,xe(R,{month:+D.month,year:+D.year}))},H=D=>{if(Array.isArray(D))return D.map(R=>ge(R));throw new Error(r.dateArr("multi-dates"))},q=D=>{if(Array.isArray(D)&&g.value.enabled){const R=D[0],Q=D[1];return[o(Array.isArray(R)?R[0]:null),Array.isArray(Q)&&Q.length?o(Q[0]):null]}return o(D[0])},G=D=>u.modelAuto?Array.isArray(D)?[ge(D[0]),ge(D[1])]:u.autoApply?[ge(D)]:[ge(D),null]:Array.isArray(D)?t(()=>D[1]?[ge(D[0]),D[1]?ge(D[1]):e(g.value.partialRange)]:[ge(D[0])],g.value.enabled):ge(D),Z=()=>{Array.isArray(b.value)&&g.value.enabled&&b.value.length===1&&b.value.push(e(g.value.partialRange))},U=()=>{const D=b.value;return[ne(D[0]),D[1]?ne(D[1]):e(g.value.partialRange)]},X=()=>Array.isArray(b.value)?b.value[1]?U():ne(a(b.value[0])):[],$=()=>(b.value||[]).map(D=>ne(D)),I=(D=!1)=>(D||Z(),u.modelAuto?X():w.value.enabled?$():Array.isArray(b.value)?t(()=>U(),g.value.enabled):ne(a(b.value))),le=D=>!D||Array.isArray(D)&&!D.length?null:u.timePicker?N(a(D)):u.monthPicker?W(a(D)):u.yearPicker?P(a(D)):w.value.enabled?H(a(D)):u.weekPicker?q(a(D)):G(a(D)),z=D=>{if(l.isTextInputDate)return;const R=le(D);n(a(R))?(b.value=a(R),fe()):(b.value=null,h.value="")},se=()=>b.value?w.value.enabled?b.value.map(D=>v(D)).join("; "):p.value.enabled?M():v(b.value):"",fe=()=>{h.value=se()},ge=D=>u.modelType?Ri.includes(u.modelType)?o(D):u.modelType==="format"&&typeof y.value.input=="string"?_n(D,y.value.input,o(),{locale:u.locale}):_n(D,u.modelType,o(),{locale:u.locale}):o(D),ne=D=>D?u.modelType?u.modelType==="timestamp"?+D:u.modelType==="iso"?D.toISOString():u.modelType==="format"&&typeof y.value.input=="string"?v(D):v(D,u.modelType):D:null,pe=D=>{s("update:model-value",D)},ue=D=>Array.isArray(b.value)?w.value.enabled?b.value.map(R=>D(R)):[D(b.value[0]),b.value[1]?D(b.value[1]):null]:D(a(b.value)),ke=()=>{if(Array.isArray(b.value)){const D=m(b.value[0],u.weekStart),R=b.value[1]?m(b.value[1],u.weekStart):[];return[D.map(Q=>o(Q)),R.map(Q=>o(Q))]}return m(b.value,u.weekStart).map(D=>o(D))},me=D=>pe(a(ue(D))),Te=()=>s("update:model-value",ke());return{checkBeforeEmit:()=>b.value?g.value.enabled?g.value.partialRange?b.value.length>=1:b.value.length===2:!!b.value:!1,parseExternalModelValue:z,formatInputValue:fe,emitModelValue:()=>(fe(),u.monthPicker?me(E):u.timePicker?me(O):u.yearPicker?me(he):u.weekPicker?Te():pe(I()))}},Ca=()=>{const{defaults:{transitions:e}}=Pe(),t=V(()=>a=>e.value?a?e.value.open:e.value.close:""),n=V(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Sa=e=>{const{today:t,time:n,modelValue:a,defaults:{range:r}}=Pe(),{setTimeModelValue:o}=qe();Je(r,(s,l)=>{s.enabled!==l.enabled&&o(n,a.value,t,r.value.enabled)},{deep:!0}),Je(a,(s,l)=>{e&&JSON.stringify(s??{})!==JSON.stringify(l??{})&&e()},{deep:!0})},st=()=>{const{defaults:{safeDates:e,range:t,multiDates:n,filters:a,timeConfig:r},rootProps:o,getDate:s}=Pe(),{getMapKeyType:l,getMapDate:u,errorMapper:h,convertType:p}=qe(),{isDateBefore:g,isDateAfter:w,isDateEqual:c,resetDate:y,getDaysInBetween:b,setTimeValue:_,getTimeObj:d,setTime:m}=Xe(),v=x=>e.value.disabledDates?typeof e.value.disabledDates=="function"?e.value.disabledDates(s(x)):!!u(x,e.value.disabledDates):!1,M=x=>e.value.maxDate?o.yearPicker?he(x)>he(e.value.maxDate):w(x,e.value.maxDate):!1,O=x=>e.value.minDate?o.yearPicker?he(x){if(!x)return!1;const B=M(x),J=O(x),T=v(x),L=a.value.months.map(A=>+A).includes(Ae(x)),f=a.value.weekDays?.length?a.value.weekDays.some(A=>+A===xl(x)):!1,S=H(x),k=he(x),j=k<+o.yearRange[0]||k>+o.yearRange[1];return!(B||J||T||L||j||f||S)},P=(x,B)=>g(...Te(e.value.minDate,x,B))||c(...Te(e.value.minDate,x,B)),Y=(x,B)=>w(...Te(e.value.maxDate,x,B))||c(...Te(e.value.maxDate,x,B)),N=(x,B,J)=>{let T=!1;return e.value.maxDate&&J&&Y(x,B)&&(T=!0),e.value.minDate&&!J&&P(x,B)&&(T=!0),T},W=(x,B,J,T)=>{let L=!1;return T&&(e.value.minDate||e.value.maxDate)?e.value.minDate&&e.value.maxDate?L=N(x,B,J):(e.value.minDate&&P(x,B)||e.value.maxDate&&Y(x,B))&&(L=!0):L=!0,L},H=x=>Array.isArray(e.value.allowedDates)&&!e.value.allowedDates.length?!0:e.value.allowedDates?!u(x,e.value.allowedDates,l(o.monthPicker,o.yearPicker)):!1,q=x=>!E(x),G=x=>t.value.noDisabledRange?!Yn({start:x[0],end:x[1]}).some(B=>q(B)):!0,Z=x=>{if(x){const B=he(x);return B>=+o.yearRange[0]&&B<=o.yearRange[1]}return!0},U=(x,B)=>!!(Array.isArray(x)&&x[B]&&(t.value.maxRange||t.value.minRange)&&Z(x[B])),X=(x,B,J=0)=>{if(U(B,J)&&Z(x)){const T=Mr(x,B[J]),L=b(B[J],x),f=L.length===1?0:L.filter(k=>q(k)).length,S=Math.abs(T)-(t.value.minMaxRawRange?0:f);if(t.value.minRange&&t.value.maxRange)return S>=+t.value.minRange&&S<=+t.value.maxRange;if(t.value.minRange)return S>=+t.value.minRange;if(t.value.maxRange)return S<=+t.value.maxRange}return!0},$=()=>!r.value.enableTimePicker||o.monthPicker||o.yearPicker||r.value.ignoreTimeValidation,I=x=>Array.isArray(x)?[x[0]?_(x[0]):null,x[1]?_(x[1]):null]:_(x),le=(x,B,J)=>B?x.find(T=>+T.hours===xt(B)&&T.minutes==="*"?!0:+T.minutes===Tt(B)&&+T.hours===xt(B))&&J:!1,z=(x,B,J)=>{const[T,L]=x,[f,S]=B;return!le(T,f,J)&&!le(L,S,J)&&J},se=(x,B)=>{const J=Array.isArray(B)?B:[B];return Array.isArray(o.disabledTimes)?Array.isArray(o.disabledTimes[0])?z(o.disabledTimes,J,x):!J.some(T=>le(o.disabledTimes,T,x)):x},fe=(x,B)=>{const J=Array.isArray(B)?[d(B[0]),B[1]?d(B[1]):void 0]:d(B),T=!o.disabledTimes(J);return x&&T},ge=(x,B)=>o.disabledTimes?Array.isArray(o.disabledTimes)?se(B,x):fe(B,x):B,ne=x=>{let B=!0;if(!x||$())return!0;const J=!e.value.minDate&&!e.value.maxDate?I(x):x;return(o.maxTime||e.value.maxDate)&&(B=R(o.maxTime,e.value.maxDate,"max",p(J),B)),(o.minTime||e.value.minDate)&&(B=R(o.minTime,e.value.minDate,"min",p(J),B)),ge(x,B)},pe=x=>{if(!o.monthPicker)return!0;let B=!0;const J=s(y(x));if(e.value.minDate&&e.value.maxDate){const T=s(y(e.value.minDate)),L=s(y(e.value.maxDate));return w(J,T)&&g(J,L)||c(J,T)||c(J,L)}if(e.value.minDate){const T=s(y(e.value.minDate));B=w(J,T)||c(J,T)}if(e.value.maxDate){const T=s(y(e.value.maxDate));B=g(J,T)||c(J,T)}return B},ue=V(()=>x=>!r.value.enableTimePicker||r.value.ignoreTimeValidation?!0:ne(x)),ke=V(()=>x=>o.monthPicker?Array.isArray(x)&&(t.value.enabled||n.value.enabled)?!x.filter(B=>!pe(B)).length:pe(x):!0),me=(x,B,J)=>{if(!B||J&&!e.value.maxDate||!J&&!e.value.minDate)return!1;const T=J?ft(x,1):ca(x,1),L=[Ae(T),he(T)];return J?!Y(...L):!P(...L)},Te=(x,B,J)=>[xe(s(x),{date:1}),xe(s(),{month:B,year:J,date:1})],D=(x,B,J,T)=>{if(!x)return!0;if(T){const L=J==="max"?Pt(x,B):wt(x,B),f={seconds:0,milliseconds:0};return L||ta(xe(x,f),xe(B,f))}return J==="max"?x.getTime()<=B.getTime():x.getTime()>=B.getTime()},R=(x,B,J,T,L)=>{if(Array.isArray(T)){const S=Q(x,T[0],B),k=Q(x,T[1],B);return D(T[0],S,J,!!B)&&D(T[1],k,J,!!B)&&L}const f=Q(x,T,B);return D(T,f,J,!!B)&&L},Q=(x,B,J)=>x?m(x,B):s(J??B);return{isDisabled:q,validateDate:E,validateMonthYearInRange:W,isDateRangeAllowed:G,checkMinMaxRange:X,isValidTime:ne,validateMonthYear:me,validateMinDate:P,validateMaxDate:Y,isValidDate:x=>Array.isArray(x)?_a(x[0])&&(x[1]?_a(x[1]):!0):x?_a(x):!1,checkPartialRangeValue:x=>{if(x)return null;throw new Error(h.prop("partial-range"))},checkRangeEnabled:(x,B)=>{if(B)return x();throw new Error(h.prop("range"))},checkMinMaxValue:(x,B,J)=>{const T=J!=null,L=B!=null;if(!T&&!L)return!1;const f=+J,S=+B;return T&&L?+x>f||+xf:L?+x{const{rootEmit:t,rootProps:n,defaults:{timeConfig:a,flow:r}}=Pe(),o=ie(0),s=Ha({[Ht.timePicker]:!a.value.enableTimePicker||n.timePicker||n.monthPicker,[Ht.calendar]:!1,[Ht.header]:!1}),l=V(()=>n.monthPicker||n.timePicker),u=c=>{if(r.value?.steps?.length){if(!c&&l.value)return w();s[c]=!0,Object.keys(s).filter(y=>!s[y]).length||w()}},h=()=>{r.value?.steps?.length&&o.value!==-1&&(o.value+=1,t("flow-step",o.value),w()),r.value?.steps?.length===o.value&&Ge().then(()=>p())},p=()=>{o.value=-1},g=(c,y,...b)=>{r.value?.steps[o.value]===c&&e.value&&e.value[y]?.(...b)},w=(c=0)=>{c&&(o.value+=c),g(Qe.month,"toggleMonthPicker",!0),g(Qe.year,"toggleYearPicker",!0),g(Qe.calendar,"toggleTimePicker",!1,!0),g(Qe.time,"toggleTimePicker",!0,!0);const y=r.value?.steps[o.value];(y===Qe.hours||y===Qe.minutes||y===Qe.seconds)&&g(y,"toggleTimePicker",!0,!0,y)};return{childMount:u,updateFlowStep:h,resetFlow:p,handleFlow:w,flowStep:o}};function pn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function wa(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]}}function ba(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)?Fi(l,g=>g.test(s)):Ni(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 Ni(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Fi(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Li={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"}},Wi=(e,t,n)=>{let a;const r=Li[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},Ii={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Hi=(e,t,n,a)=>Ii[e],qi={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ui={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ji={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"]},zi={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"]},Ki={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"}},Xi={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"}},Qi=(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"},Gi={ordinalNumber:Qi,era:wa({values:qi,defaultWidth:"wide"}),quarter:wa({values:Ui,defaultWidth:"wide",argumentCallback:e=>e-1}),month:wa({values:ji,defaultWidth:"wide"}),day:wa({values:zi,defaultWidth:"wide"}),dayPeriod:wa({values:Ki,defaultWidth:"wide",formattingValues:Xi,defaultFormattingWidth:"wide"})},Zi=/^(\d+)(th|st|nd|rd)?/i,Ji=/\d+/i,eu={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},tu={any:[/^b/i,/^(a|c)/i]},au={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nu={any:[/1/i,/2/i,/3/i,/4/i]},ru={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},ou={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]},su={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},lu={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]},iu={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},uu={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}},cu={ordinalNumber:Vi({matchPattern:Zi,parsePattern:Ji,valueCallback:e=>parseInt(e,10)}),era:ba({matchPatterns:eu,defaultMatchWidth:"wide",parsePatterns:tu,defaultParseWidth:"any"}),quarter:ba({matchPatterns:au,defaultMatchWidth:"wide",parsePatterns:nu,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ba({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:ou,defaultParseWidth:"any"}),day:ba({matchPatterns:su,defaultMatchWidth:"wide",parsePatterns:lu,defaultParseWidth:"any"}),dayPeriod:ba({matchPatterns:iu,defaultMatchWidth:"any",parsePatterns:uu,defaultParseWidth:"any"})},du={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},fu={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},mu={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},vu={date:pn({formats:du,defaultWidth:"full"}),time:pn({formats:fu,defaultWidth:"full"}),dateTime:pn({formats:mu,defaultWidth:"full"})},pu={code:"en-US",formatDistance:Wi,formatLong:vu,formatRelative:Hi,localize:Gi,match:cu,options:{weekStartsOn:0,firstWeekContainsDate:1}},sr={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1,autoSwitchStartEnd:!0},hu={allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,escClose:!0,spaceConfirm:!0,monthChangeOnArrows:!0,monthChangeOnScroll:!0},lr={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0,format:void 0,maskFormat:void 0,applyOnBlur:!1,separators:void 0},yu={dates:[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}},gu={showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,selectBtnLabel:"Select",cancelBtnLabel:"Cancel",nowBtnLabel:"Now",nowBtnRound:void 0},wu={toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:e=>`Increment ${e}`,decrementValue:e=>`Decrement ${e}`,openTpOverlay:e=>`Open ${e} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:e=>`Month picker${e?" overlay":""}`,yearPicker:e=>`Year picker${e?" overlay":""}`,timeOverlay:e=>`${e} overlay`},ir={menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down"},bu={weekDays:[],months:[],years:[],times:{hours:[],minutes:[],seconds:[]}},ku={month:"LLL",year:"yyyy",weekDay:"EEEEEE",quarter:"MMMM",day:"d",input:void 0,preview:void 0},_u={enableTimePicker:!0,ignoreTimeValidation:!1,enableSeconds:!1,enableMinutes:!0,is24:!0,noHoursOverlay:!1,noMinutesOverlay:!1,noSecondsOverlay:!1,hoursGridIncrement:1,minutesGridIncrement:5,secondsGridIncrement:5,hoursIncrement:1,minutesIncrement:1,secondsIncrement:1,timePickerInline:!1,startTime:void 0},Du={flowStep:0,menuWrapRef:null,collapse:!1},xu={weekStart:zr.Monday,yearRange:()=>[1900,2100],ui:()=>({}),locale:()=>pu,dark:!1,transitions:!0,hideNavigation:()=>[],vertical:!1,hideMonthYearSelect:!1,disableYearSelect:!1,autoApply:!1,disabledDates:()=>[],hideOffsetDates:!1,noToday:!1,markers:()=>[],presetDates:()=>[],preventMinMaxNavigation:!1,reverseYears:!1,weekPicker:!1,arrowNavigation:!1,monthPicker:!1,yearPicker:!1,quarterPicker:!1,timePicker:!1,modelAuto:!1,multiDates:!1,range:!1,inline:!1,sixWeeks:!1,focusStartDate:!1,yearFirst:!1,loading:!1,centered:!1},ur={name:void 0,required:!1,autocomplete:"off",state:void 0,clearable:!0,alwaysClearable:!1,hideInputIcon:!1,id:void 0,inputmode:"none"},La={type:"local",hideOnOffsetDates:!1,label:"W"},Mu=e=>{const{getMapKey:t,getMapKeyType:n,getTimeObjFromCurrent:a}=qe();function r($,I){let le;return e.timezone?le=new aa($??new Date,e.timezone):le=$?new Date($):new Date,I?xe(le,{hours:0,minutes:0,seconds:0,milliseconds:0}):le}const o=()=>{const $=G.value.enableSeconds?":ss":"",I=G.value.enableMinutes?":mm":"";return G.value.is24?`HH${I}${$}`:`hh${I}${$} aa`},s=()=>e.monthPicker?"MM/yyyy":e.timePicker?o():e.weekPicker?`${E.value?.type==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":G.value.enableTimePicker?`MM/dd/yyyy, ${o()}`:"MM/dd/yyyy",l=$=>a(r(),$,G.value.enableSeconds),u=()=>N.value.enabled?G.value.startTime&&Array.isArray(G.value.startTime)?[l(G.value.startTime[0]),l(G.value.startTime[1])]:null:G.value.startTime&&!Array.isArray(G.value.startTime)?l(G.value.startTime):null,h=$=>$?typeof $=="boolean"?$?2:0:Math.max(+$,2):0,p=$=>{const I=n(e.monthPicker,e.yearPicker);return new Map($.map(le=>{const z=r(le,g.value);return[t(z,I),z]}))},g=V(()=>e.monthPicker||e.yearPicker||e.quarterPicker),w=V(()=>{const $=typeof e.multiCalendars=="object"&&e.multiCalendars,I={static:!0,solo:!1};if(!e.multiCalendars)return{...I,count:h(!1)};const le=$?e.multiCalendars:{},z=$?le.count??!0:e.multiCalendars,se=h(z);return Object.assign(I,le,{count:se})}),c=V(()=>u()),y=V(()=>({...wu,...e.ariaLabels})),b=V(()=>({...bu,...e.filters})),_=V(()=>typeof e.transitions=="boolean"?e.transitions?ir:!1:{...ir,...e.transitions}),d=V(()=>({...gu,...e.actionRow})),m=V(()=>typeof e.textInput=="object"?{...lr,...e.textInput,format:typeof e.textInput.format=="string"?e.textInput.format:H.value.input,pattern:e.textInput.format??H.value.input,enabled:!0}:{...lr,format:H.value.input,pattern:H.value.input,enabled:e.textInput}),v=V(()=>{const $={input:!1};return typeof e.inline=="object"?{...$,...e.inline,enabled:!0}:{enabled:e.inline,...$}}),M=V(()=>({...hu,...e.config})),O=V(()=>typeof e.highlight=="function"?e.highlight:{...yu,...e.highlight}),E=V(()=>typeof e.weekNumbers=="object"?{type:e.weekNumbers?.type??La.type,hideOnOffsetDates:e.weekNumbers?.hideOnOffsetDates??La.hideOnOffsetDates,label:e.weekNumbers.label??La.label}:e.weekNumbers?La:void 0),P=V(()=>typeof e.multiDates=="boolean"?{enabled:e.multiDates,dragSelect:!0,limit:null}:{enabled:!!e.multiDates,limit:e.multiDates?.limit?+e.multiDates.limit:null,dragSelect:e.multiDates?.dragSelect??!0}),Y=V(()=>({minDate:e.minDate?r(e.minDate):null,maxDate:e.maxDate?r(e.maxDate):null,disabledDates:Array.isArray(e.disabledDates)?p(e.disabledDates):e.disabledDates,allowedDates:Array.isArray(e.allowedDates)?p(e.allowedDates):null,highlight:typeof O.value=="object"&&Array.isArray(O.value.dates)?p(O.value.dates):O.value,markers:e.markers?.length?new Map(e.markers.map($=>{const I=r($.date);return[t(I,na.DATE),$]})):null})),N=V(()=>typeof e.range=="object"?{enabled:!0,...sr,...e.range}:{enabled:e.range,...sr}),W=V(()=>({...Object.fromEntries(Object.keys(e.ui).map($=>{const I=$,le=e.ui[I];if(I==="dayClass")return[I,e.ui[I]];const z=typeof e.ui[I]=="string"?{[le]:!0}:Object.fromEntries(le.map(se=>[se,!0]));return[$,z]}))})),H=V(()=>({...ku,...e.formats,input:e.formats?.input??s(),preview:e.formats?.preview??s()})),q=V(()=>{if(e.teleport)return typeof e.teleport=="string"?e.teleport:typeof e.teleport=="boolean"?"body":e.teleport}),G=V(()=>({..._u,...e.timeConfig})),Z=V(()=>{if(e.flow)return{steps:[],partial:!1,...e.flow}}),U=V(()=>{const $=m.value.enabled?"text":"none";return e.inputAttrs?{...ur,inputmode:$,...e.inputAttrs}:{...ur,inputmode:$}}),X=V(()=>({offset:e.floating?.offset??10,arrow:e.floating?.arrow??!0,strategy:e.floating?.strategy??void 0,placement:e.floating?.placement??void 0,flip:e.floating?.flip??!0,shift:e.floating?.shift??!0}));return{transitions:_,multiCalendars:w,startTime:c,ariaLabels:y,filters:b,actionRow:d,textInput:m,inline:v,config:M,highlight:O,weekNumbers:E,range:N,safeDates:Y,multiDates:P,ui:W,formats:H,teleport:q,timeConfig:G,flow:Z,inputAttrs:U,floatingConfig:X,getDate:r}},qe=()=>{const e=(m,v)=>nt(m,v??na.DATE),t=(m,v)=>m?na.MONTH_AND_YEAR:v?na.YEAR:na.DATE,n=(m,v,M)=>v.get(e(m,M)),a=m=>m,r=m=>m===0?m:!m||Number.isNaN(+m)?null:+m,o=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", "),s=(m,v)=>{let M=[...document.querySelectorAll(o())];M=M.filter(E=>!m.contains(E)||"datepicker-instance"in E.dataset);const O=M.indexOf(m);if(O>=0&&(v?O-1>=0:O+1<=M.length))return M[O+(v?-1:1)]},l=m=>String(m).padStart(2,"0"),u=(m,v)=>m?.querySelector(`[data-dp-element="${v}"]`),h=(m,v,M=!1)=>{m&&v.allowStopPropagation&&(M&&m.stopImmediatePropagation(),m.stopPropagation())},p=(m,v,M=!1,O)=>{if(m.key===Re.enter||m.key===Re.space)return M&&m.preventDefault(),v();if(O)return O(m)},g=(m,v)=>{v.allowStopPropagation&&m.stopPropagation(),v.allowPreventDefault&&m.preventDefault()},w=m=>{if(m)return[...m.querySelectorAll("input, button, select, textarea, a[href]")][0]},c=()=>"ontouchstart"in globalThis||navigator.maxTouchPoints>0,y=m=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][m],b=m=>{const v=[],M=O=>O.filter(E=>!!E);for(let O=0;O`"${m}" prop must be enabled!`,dateArr:m=>`You need to use array as "model-value" binding in order to support "${m}"`},d=(m,v,M,O,E)=>{const P={hours:xt,minutes:Tt,seconds:Et};if(!v)return O?[P[m](M),P[m](M)]:P[m](M);if(Array.isArray(v)&&O){const Y=v[0]??M,N=v[1];return[P[m](Y),N?P[m](N):E[m][1]??P[m](M)]}return Array.isArray(v)&&!O?P[m](v[v.length-1]??M):P[m](v)};return{getMapKey:e,getMapKeyType:t,getMapDate:n,convertType:a,getNumVal:r,findNextFocusableElement:s,padZero:l,getElWithin:u,checkStopPropagation:h,checkKeyDown:p,handleEventPropagation:g,findFocusableEl:w,isTouchDevice:c,hoursToAmPmHours:y,getGroupedList:b,setTimeModelValue:(m,v,M,O)=>{m.hours=d("hours",v,M,O,m),m.minutes=d("minutes",v,M,O,m),m.seconds=d("seconds",v,M,O,m)},getTimeObjFromCurrent:(m,v,M)=>{const O={hours:xt(m),minutes:Tt(m),seconds:M?Et(m):0};return Object.assign(O,v)},errorMapper:_}},Xe=()=>{const{getDate:e}=Pe(),{getMapDate:t,getGroupedList:n}=qe(),a=(d,m)=>{if(!d)return e();const v=e(d),M=xe(v,{hours:0,minutes:0,seconds:0,milliseconds:0});return m?Ys(M):M},r=(d,m)=>{const v=e(m);return xe(v,{hours:+(d.hours??xt(v)),minutes:+(d.minutes??Tt(v)),seconds:+(d.seconds??Et(v)),milliseconds:0})},o=(d,m)=>{const v=ot(d,{weekStartsOn:+m}),M=Rn(d,{weekStartsOn:+m});return[v,M]},s=(d,m)=>!d||!m?!1:Pt(a(d),a(m)),l=(d,m)=>!d||!m?!1:ta(a(d),a(m)),u=(d,m)=>!d||!m?!1:wt(a(d),a(m)),h=(d,m,v)=>d?.[0]&&d?.[1]?u(v,d[0])&&s(v,d[1]):d?.[0]&&m?u(v,d[0])&&s(v,m)||s(v,d[0])&&u(v,m):!1,p=(d,m)=>{const v=u(d,m)?m:d,M=u(m,d)?m:d;return Yn({start:v,end:M})},g=d=>`dp-${nt(d,"yyyy-MM-dd")}`,w=d=>a(xe(e(d),{date:1})),c=(d,m)=>{if(m){const v=he(e(m));if(v>d)return 12;if(v===d)return Ae(e(m))}},y=(d,m)=>{if(m){const v=he(e(m));return v{if(d)return he(e(d))},_=d=>({hours:xt(d),minutes:Tt(d),seconds:Et(d)});return{resetDateTime:a,groupListAndMap:(d,m)=>n(d).map(v=>v.map(M=>{const{active:O,disabled:E,isBetween:P,highlighted:Y}=m(M);return{...M,active:O,disabled:E,className:{dp__overlay_cell_active:O,dp__overlay_cell:!O,dp__overlay_cell_disabled:E,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:E&&O,dp__cell_in_between:P,"dp--highlighted":Y}}})),setTime:r,getWeekFromDate:o,isDateAfter:u,isDateBefore:s,isDateBetween:h,isDateEqual:l,getDaysInBetween:p,getCellId:g,resetDate:w,getMinMonth:c,getMaxMonth:y,getYearFromDate:b,getTimeObj:_,setTimeValue:d=>xe(e(),_(d)),sanitizeTime:(d,m,v)=>m&&(v||v===0)?Object.fromEntries(["hours","minutes","seconds"].map(M=>M===m?[M,v]:[M,Number.isNaN(+d[M])?void 0:+d[M]])):{hours:Number.isNaN(+d.hours)?void 0:+d.hours,minutes:Number.isNaN(+d.minutes)?void 0:+d.minutes,seconds:Number.isNaN(+(d.seconds??""))?void 0:+d.seconds},getBeforeAndAfterInRange:(d,m)=>{const v=Nr(a(m),d),M=rt(a(m),d);return{before:v,after:M}},isModelAuto:d=>Array.isArray(d)?!!d[0]&&!!d[1]:!1,matchDate:(d,m)=>d?m?m instanceof Map?!!t(d,m):m(e(d)):!1:!0,checkHighlightMonth:(d,m,v)=>typeof d=="function"?d({month:m,year:v}):d.months.some(M=>M.month===m&&M.year===v),checkHighlightYear:(d,m)=>typeof d=="function"?d(m):d.years.includes(m)}},Ja=()=>{const{defaults:{config:e}}=Pe(),t=ie(0);je(()=>{n(),globalThis.addEventListener("resize",n,{passive:!0})}),jt(()=>{globalThis.removeEventListener("resize",n)});const n=()=>{t.value=globalThis.document.documentElement.clientWidth};return{isMobile:V(()=>t.value<=e.value.mobileBreakpoint?!0:void 0)}},Nt=()=>{const{getDate:e,state:t,modelValue:n,rootProps:a,defaults:{formats:r,textInput:o}}=Pe(),s=y=>nt(ct(e(),y),r.value.year,{locale:a.locale}),l=y=>nt(Fr(e(),y),r.value.month,{locale:a.locale}),u=y=>nt(y,r.value.weekDay,{locale:a.locale}),h=y=>nt(y,r.value.quarter,{locale:a.locale}),p=(y,b)=>[y,b].map(_=>h(_)).join("-"),g=y=>nt(y,r.value.day,{locale:a.locale}),w=(y,b,_)=>{const d=_?r.value.preview:r.value.input;if(!y)return"";if(typeof d=="function")return d(y);const m=b??d,v={locale:a.locale};return Array.isArray(y)?`${nt(y[0],m,v)}${a.modelAuto&&!y[1]?"":o.value.rangeSeparator}${y[1]?nt(y[1],m,v):""}`:nt(y,m,v)},c=()=>{const y=b=>nt(b,o.value.format);return Array.isArray(n.value)?`${y(n.value[0])} ${o.value.rangeSeparator} ${n.value[1]?y(n.value[1]):""}`:""};return{formatYear:s,formatMonth:l,formatWeekDay:u,formatQuarter:h,formatSelectedDate:w,formatForTextInput:()=>t.isInputFocused&&n.value?Array.isArray(n.value)?c():nt(n.value,o.value.format):w(n.value),formatPreview:y=>w(y,void 0,!0),formatQuarterText:p,formatDay:g}},en=()=>{const{rootProps:e}=Pe(),{formatYear:t,formatMonth:n}=Nt();return{getMonths:()=>[0,1,2,3,4,5,6,7,8,9,10,11].map(a=>({text:n(a),value:a})),getYears:()=>{const a=[];for(let r=+e.yearRange[0];r<=+e.yearRange[1];r++)a.push({value:+r,text:t(r)});return e.reverseYears?a.reverse():a},isOutOfYearRange:a=>a<+e.yearRange[0]||a>+e.yearRange[1]}},Pu=e=>({openMenu:()=>e.value?.openMenu(),closeMenu:()=>e.value?.closeMenu(),selectDate:()=>e.value?.selectDate(),clearValue:()=>e.value?.clearValue(),formatInputValue:()=>e.value?.formatInputValue(),updateInternalModelValue:t=>e.value?.updateInternalModelValue(t),setMonthYear:(t,n)=>e.value?.setMonthYear(t,n),parseModel:()=>e.value?.parseModel(),switchView:(t,n)=>e.value?.switchView(t,n),handleFlow:()=>e.value?.handleFlow(),toggleMenu:()=>e.value?.toggleMenu(),dpMenuRef:()=>e.value?.dpMenuRef(),dpWrapMenuRef:()=>e.value?.dpWrapMenuRef(),inputRef:()=>e.value?.inputRef()}),fa=()=>({boolHtmlAttribute:e=>e?!0:void 0}),Au=()=>{const{getDate:e,rootProps:t,defaults:{textInput:n,startTime:a,timeConfig:r}}=Pe(),{getTimeObjFromCurrent:o}=qe(),s=ie(!1),l=V(()=>Array.isArray(a.value)?a.value[0]:a.value??o(e(),{},r.value.enableSeconds)),u=(p,g)=>{const w=/[^a-zA-Z]+/g,c=/\D+/g,y=g.split(c),b=p.split(w),_=p.match(w)||[],d=g.match(c)||[];let m="";for(let v=0;v0&&d[v-1]&&(m+=_[v-1]||d[v-1]);const M=y[v]?.length;m+=b[v]?.slice(0,M)}return m},h=(p,g,w)=>{const c=_n(p,u(g,p),e(),{locale:t.locale});return _a(c)&&Pr(c)?w||s.value?c:xe(c,{hours:+l.value.hours,minutes:+l.value.minutes,seconds:+(l.value.seconds??0),milliseconds:0}):null};return{textPasted:s,parseFreeInput:(p,g)=>{if(typeof n.value.pattern=="string")return h(p,n.value.pattern,g);if(Array.isArray(n.value.pattern)){let w=null;for(const c of n.value.pattern)if(w=h(p,c,g),w)break;return w}return typeof n.value.pattern=="function"?n.value.pattern(p):null},applyMaxValues:(p,g)=>{const w={MM:12,DD:31,hh:23,mm:59,ss:59};let c="",y=0;for(let b=0;bw[_]&&(v=w[_]),c+=v.toString().padStart(d,"0").slice(0,d)}y+=d}return c},createMaskedValue:(p,g)=>{const w=/(YYYY|MM|DD|hh|mm|ss)/g,c=[...g.matchAll(w)].map(m=>m[0]),y=g.replace(w,"|").split("|").filter(Boolean),b=c.map(m=>m.length);let _="",d=0;for(let m=0;m(e.Input="input",e.DatePicker="date-picker",e.Calendar="calendar",e.DatePickerHeader="date-picker-header",e.Menu="menu",e.ActionRow="action-row",e.TimePicker="time-picker",e.TimeInput="time-input",e.PassTrough="pass-trough",e.MonthPicker="month-picker",e.YearMode="year-mode",e.QuarterPicker="quarter-picker",e.YearPicker="year-picker",e))(mt||{});const Jt=["time-input","time-picker","pass-trough"],Kr=[{name:"trigger",use:["input"]},{name:"input-icon",use:["input"]},{name:"clear-icon",use:["input"]},{name:"dp-input",use:["input"]},{name:"clock-icon",use:["time-picker","time-input","pass-trough"]},{name:"arrow-left",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-right",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-up",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"arrow-down",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"calendar-icon",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"day",use:["calendar","pass-trough"]},{name:"month-overlay-value",use:["date-picker-header","pass-trough","month-picker"]},{name:"year-overlay-value",use:["date-picker-header","pass-trough","year-mode","year-picker"]},{name:"year-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay-header",use:["date-picker-header","pass-trough"]},{name:"year-overlay-header",use:["date-picker-header","pass-trough"]},{name:"hours-overlay-value",use:Jt},{name:"hours-overlay-header",use:Jt},{name:"minutes-overlay-value",use:Jt},{name:"minutes-overlay-header",use:Jt},{name:"seconds-overlay-value",use:Jt},{name:"seconds-overlay-header",use:Jt},{name:"hours",use:["time-input","time-picker","pass-trough"]},{name:"minutes",use:["time-input","time-picker","pass-trough"]},{name:"seconds",use:["time-input","time-picker","pass-trough"]},{name:"month",use:["date-picker-header","time-picker","pass-trough"]},{name:"year",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"action-buttons",use:["action-row"]},{name:"action-preview",use:["action-row"]},{name:"calendar-header",use:["calendar","pass-trough"]},{name:"marker-tooltip",use:["calendar","pass-trough"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["time-picker","time-picker","pass-trough"]},{name:"am-pm-button",use:["time-picker","time-input","pass-trough"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["date-picker-header","pass-trough","month-picker","year-picker"]},{name:"time-picker",use:["date-picker","pass-trough"]},{name:"action-row",use:["action-row"]},{name:"marker",use:["calendar","pass-trough"]},{name:"quarter",use:["quarter-picker","pass-trough"]},{name:"top-extra",use:["date-picker-header","pass-trough","month-picker","quarter-picker","year-picker"]},{name:"tp-inline-arrow-up",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"tp-inline-arrow-down",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"arrow",use:["menu"]},{name:"menu-header",use:["menu"]}],_t=(e,t)=>Kr.filter(n=>e[n.name]&&n.use.includes(t)).map(n=>n.name),Xr=(e,t)=>Kr.map(n=>n.name).concat(t?.filter(n=>n.slot).map(n=>n.slot)??[]).filter(n=>!!e[n]),Tu={key:1,class:"dp__input_wrap"},Ou=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Cu={key:1,class:"dp--clear-btn"},Su=["aria-label"],Yu=Ue({__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1}},emits:["clear","open","set-input-date","close","select-date","set-empty-date","toggle","focus","blur","real-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,inputValue:s,rootProps:l,defaults:{textInput:u,ariaLabels:h,inline:p,config:g,range:w,multiDates:c,ui:y,inputAttrs:b}}=Pe(),{checkMinMaxRange:_,isValidDate:d}=st(),{parseFreeInput:m,textPasted:v,createMaskedValue:M,applyMaxValues:O}=Au(),{checkKeyDown:E,checkStopPropagation:P}=qe(),{boolHtmlAttribute:Y}=fa(),N=Be("dp-input"),W=ie(null),H=ie(!1),q=V(()=>({dp__pointer:!l.disabled&&!l.readonly&&!u.value.enabled,dp__disabled:l.disabled,dp__input_readonly:!u.value.enabled,dp__input:!0,dp__input_not_clearable:!b.value.clearable,dp__input_icon_pad:!b.value.hideInputIcon,dp__input_valid:typeof b.value.state=="boolean"?b.value.state:!1,dp__input_invalid:typeof b.value.state=="boolean"?!b.value.state:!1,dp__input_focus:H.value||r.isMenuOpen,dp__input_reg:!u.value.enabled,...y.value.input})),G=()=>{a("set-input-date",null),b&&l.autoApply&&(a("set-empty-date"),W.value=null)},Z=D=>{if(u.value.separators?.length){const R=new RegExp(u.value.separators.map(Q=>Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"));return D.split(R)}return D.split(u.value.rangeSeparator)},U=D=>{const[R,Q]=Z(D);if(R){const x=m(R.trim(),s.value),B=Q?m(Q.trim(),s.value):void 0;if(wt(x,B))return;const J=x&&B?[x,B]:[x];_(B,J,0)&&(W.value=x?J:null)}},X=()=>{v.value=!0},$=D=>{if(w.value.enabled)U(D);else if(c.value.enabled){const R=D.split(";");W.value=R.map(Q=>m(Q.trim())).filter(Q=>!!Q)}else W.value=m(D,s.value)},I=D=>{const R=typeof D=="string"?D:D.target?.value,Q=u?.value?.maskFormat;let x=R;if(typeof Q=="string"){const B=/(YYYY|MM|DD|hh|mm|ss)/g,J=[...Q.matchAll(B)].map(f=>f[0]),T=R.replace(/\D/g,""),L=O(T,J);x=M(L,Q)}x===""?G():(u.value.openMenu&&!r.isMenuOpen&&a("open"),$(x),a("set-input-date",W.value)),v.value=!1,s.value=x,o("text-input",D,W.value)},le=D=>{u.value.enabled?($(D.target.value),u.value.enterSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0),W.value=null):u.value.enterSubmit&&s.value===""&&(W.value=null,a("clear"))):fe(D)},z=(D,R)=>{u.value.enabled&&u.value.tabSubmit&&!R&&$(D.target.value),u.value.tabSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0,!0),W.value=null):u.value.tabSubmit&&s.value===""&&(W.value=null,a("clear"))},se=()=>{H.value=!0,a("focus"),Ge().then(()=>{u.value.enabled&&u.value.selectOnFocus&&N.value?.select()})},fe=D=>{if(P(D,g.value,!0),u.value.enabled&&u.value.openMenu&&!p.value.input){if(u.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(u.value.openMenu==="toggle")return a("toggle")}else u.value.enabled||a("toggle")},ge=()=>{a("real-blur"),H.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),(l.autoApply&&u.value.enabled&&W.value&&!r.isMenuOpen||u.value.applyOnBlur)&&(a("set-input-date",W.value),a("select-date"),W.value=null)},ne=D=>{P(D,g.value,!0),a("clear")},pe=()=>{a("close")},ue=D=>{if(D.key==="Tab"&&z(D),D.key==="Enter"&&le(D),D.key==="Escape"&&u.value.escClose&&pe(),!u.value.enabled){if(D.code==="Tab")return;D.preventDefault()}},ke=()=>{N.value?.focus({preventScroll:!0})},me=D=>{W.value=D},Te=D=>{D.key===Re.tab&&z(D,!0)};return t({focusInput:ke,setParsedDate:me}),(D,R)=>(F(),te("div",{onClick:fe},[!D.$slots["dp-input"]&&!i(p).enabled?oe(D.$slots,"trigger",{key:0}):re("",!0),!D.$slots.trigger&&(!i(p).enabled||i(p).input)?(F(),te("div",Tu,[!D.$slots.trigger&&(!i(p).enabled||i(p).enabled&&i(p).input)?oe(D.$slots,"dp-input",{key:0,value:i(s),isMenuOpen:e.isMenuOpen,onInput:I,onEnter:le,onTab:z,onClear:ne,onBlur:ge,onKeypress:ue,onPaste:X,onFocus:se,openMenu:()=>D.$emit("open"),closeMenu:()=>D.$emit("close"),toggleMenu:()=>D.$emit("toggle")},()=>[we("input",{id:i(b).id,ref:"dp-input","data-test-id":"dp-input",name:i(b).name,class:ye(q.value),inputmode:i(b).inputmode,placeholder:i(l).placeholder,disabled:i(Y)(i(l).disabled),readonly:i(Y)(i(l).readonly),required:i(Y)(i(b).required),value:i(s),autocomplete:i(b).autocomplete,"aria-label":i(h).input,"aria-disabled":i(l).disabled||void 0,"aria-invalid":i(b).state===!1?!0:void 0,onInput:I,onBlur:ge,onFocus:se,onKeypress:ue,onKeydown:R[0]||(R[0]=Q=>ue(Q)),onPaste:X,onInvalid:R[1]||(R[1]=Q=>i(o)("invalid",Q))},null,42,Ou)]):re("",!0),we("div",{onClick:R[4]||(R[4]=Q=>a("toggle"))},[D.$slots["input-icon"]&&!i(b).hideInputIcon?(F(),te("span",{key:0,class:"dp__input_icon",onClick:R[2]||(R[2]=Q=>a("toggle"))},[oe(D.$slots,"input-icon")])):re("",!0),!D.$slots["input-icon"]&&!i(b).hideInputIcon&&!D.$slots["dp-input"]?(F(),$e(i(Oa),{key:1,"aria-label":i(h)?.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:R[3]||(R[3]=Q=>a("toggle"))},null,8,["aria-label"])):re("",!0)]),D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(s)&&i(b).clearable&&!i(l).disabled&&!i(l).readonly)?(F(),te("span",Cu,[oe(D.$slots,"clear-icon",{clear:ne})])):re("",!0),!D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(b).clearable&&i(s)&&!i(l).disabled&&!i(l).readonly)?(F(),te("button",{key:2,"aria-label":i(h)?.clearInput,class:"dp--clear-btn",type:"button","data-test-id":"clear-input-value-btn",onKeydown:R[5]||(R[5]=Q=>i(E)(Q,()=>ne(Q),!0,Te)),onClick:R[6]||(R[6]=sa(Q=>ne(Q),["prevent"]))},[He(i(Si),{class:"dp__input_icons"})],40,Su)):re("",!0)])):re("",!0)]))}}),Ru={ref:"action-row",class:"dp__action_row"},$u=["title"],Eu={ref:"action-buttons-container",class:"dp__action_buttons","data-dp-element":"action-row"},Bu=["disabled"],Nu=Ue({__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{default:0}},emits:["close-picker","select-date","select-now"],setup(e,{emit:t}){const n=t,a=e,{rootEmit:r,rootProps:o,modelValue:s,defaults:{actionRow:l,multiCalendars:u,inline:h,range:p,multiDates:g,formats:w}}=Pe(),{isTimeValid:c,isMonthValid:y}=st(),{formatPreview:b}=Nt(),{checkKeyDown:_,convertType:d}=qe(),{boolHtmlAttribute:m}=fa(),v=Be("action-buttons-container"),M=Be("action-row"),O=ie(!1),E=ie({});je(()=>{P(),globalThis.addEventListener("resize",P)}),jt(()=>{globalThis.removeEventListener("resize",P)});const P=()=>{O.value=!1,setTimeout(()=>{const X=v.value?.getBoundingClientRect(),$=M.value?.getBoundingClientRect();X&&$&&(E.value.maxWidth=`${$.width-X.width-20}px`),O.value=!0},0)},Y=V(()=>p.value.enabled&&!p.value.partialRange&&s.value?s.value.length===2:!0),N=V(()=>!c.value(s.value)||!y.value(s.value)||!Y.value),W=()=>{const X=w.value.preview;return o.timePicker||o.monthPicker,X(d(s.value))},H=()=>{const X=s.value;return u.value.count>0?`${b(X[0])} - ${b(X[1])}`:[b(X[0]),b(X[1])]},q=V(()=>!s.value||!a.menuMount?"":typeof w.value.preview=="string"?Array.isArray(s.value)?s.value.length===2&&s.value[1]?H():g.value.enabled?s.value.map(X=>`${b(X)}`):o.modelAuto?`${b(s.value[0])}`:`${b(s.value[0])} -`:b(s.value):W()),G=()=>g.value.enabled?"; ":" - ",Z=V(()=>Array.isArray(q.value)?q.value.join(G()):q.value),U=()=>{c.value(s.value)&&y.value(s.value)&&Y.value?n("select-date"):r("invalid-select")};return(X,$)=>(F(),te("div",Ru,[X.$slots["action-row"]?oe(X.$slots,"action-row",et(vt({key:0},{modelValue:i(s),disabled:N.value,selectDate:()=>X.$emit("select-date"),closePicker:()=>X.$emit("close-picker")}))):(F(),te(Se,{key:1},[i(l).showPreview?(F(),te("div",{key:0,class:"dp__selection_preview",title:Z.value||void 0,style:tt(E.value)},[X.$slots["action-preview"]&&O.value?oe(X.$slots,"action-preview",{key:0,value:i(s),formatValue:Z.value}):re("",!0),!X.$slots["action-preview"]&&O.value?(F(),te(Se,{key:1},[At(Ke(Z.value),1)],64)):re("",!0)],12,$u)):re("",!0),we("div",Eu,[X.$slots["action-buttons"]?oe(X.$slots,"action-buttons",{key:0,value:i(s),selectDate:U,selectionDisabled:N.value}):re("",!0),X.$slots["action-buttons"]?re("",!0):(F(),te(Se,{key:1},[!i(h).enabled&&i(l).showCancel?(F(),te("button",{key:0,ref:"cancel-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[0]||($[0]=I=>X.$emit("close-picker")),onKeydown:$[1]||($[1]=I=>i(_)(I,()=>X.$emit("close-picker")))},Ke(i(l).cancelBtnLabel),545)):re("",!0),i(l).showNow?(F(),te("button",{key:1,type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[2]||($[2]=I=>X.$emit("select-now")),onKeydown:$[3]||($[3]=I=>i(_)(I,()=>X.$emit("select-now")))},Ke(i(l).nowBtnLabel),33)):re("",!0),i(l).showSelect?(F(),te("button",{key:2,ref:"select-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_select",disabled:i(m)(N.value),"data-test-id":"select-button",onKeydown:$[4]||($[4]=I=>i(_)(I,()=>U())),onClick:U},Ke(i(l).selectBtnLabel),41,Bu)):re("",!0)],64))],512)],64))],512))}}),tn=()=>{const{rootProps:e,defaults:{multiCalendars:t}}=Pe(),n=V(()=>o=>e.hideNavigation?.includes(o)),a=V(()=>o=>t.value.count?t.value.solo?!0:o===0:!0),r=V(()=>o=>t.value.count?t.value.solo?!0:o===t.value.count-1:!0);return{hideNavigationButtons:n,showLeftIcon:a,showRightIcon:r}},Fu=["role","aria-label","tabindex"],Vu={class:"dp__selection_grid_header"},Lu=["aria-selected","aria-disabled","data-dp-action-element","data-dp-element-active","data-test-id","onClick","onKeydown","onMouseover"],Wu=["aria-label","data-dp-action-element"],Ya=Ue({__name:"SelectionOverlay",props:{items:{},type:{},useRelative:{type:Boolean},height:{},overlayLabel:{},isLast:{type:Boolean},level:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{emit:t}){const n=t,a=e,{setState:r,defaults:{ariaLabels:o,config:s}}=Pe(),{hideNavigationButtons:l}=tn(),{handleEventPropagation:u,checkKeyDown:h}=qe(),p=Be("toggle-button"),g=Be("overlay-container"),w=Be("grid-wrap"),c=ie(!1),y=ie(null),b=ie(),_=ie(0);bo(()=>{y.value=null}),je(async()=>{await Ge(),E(),r("arrowNavigationLevel",a.level??1)}),jt(()=>{r("arrowNavigationLevel",(a.level??1)-1)});const d=V(()=>({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),m=V(()=>a.useRelative?{height:`${a.height}px`,width:"var(--dp-menu-min-width)"}:void 0),v=V(()=>({dp__overlay_col:!0})),M=V(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:c.value,dp__button_bottom:a.isLast})),O=V(()=>({dp__overlay_container:!0,dp__container_flex:a.items?.length<=6,dp__container_block:a.items?.length>6}));Je(()=>a.items,()=>E(!1),{deep:!0});const E=(G=!0)=>{Ge().then(()=>{const Z=document.querySelector(`[data-dp-element-active="${a.level??1}"]`),U=Yt(w),X=Yt(p),$=Yt(g),I=X?X.getBoundingClientRect().height:0;U&&(U.getBoundingClientRect().height?_.value=U.getBoundingClientRect().height-I:_.value=s.value.modeHeight-I),Z&&$&&G&&($.scrollTop=Z.offsetTop-$.offsetTop-(_.value/2-Z.getBoundingClientRect().height)-I)})},P=G=>{G.disabled||n("selected",G.value)},Y=()=>{n("toggle"),n("reset-flow")},N=G=>{s.value.escClose&&(Y(),u(G,s.value))},W=G=>{b.value=G,n("hover-value",G)},H=G=>{if(G.key===Re.esc)return N(G)},q=G=>{if(G.key===Re.enter)return Y()};return(G,Z)=>(F(),te("div",{ref:"grid-wrap",class:ye(d.value),style:tt(m.value),role:e.useRelative?void 0:"dialog","aria-label":e.overlayLabel,tabindex:e.useRelative?void 0:"0",onKeydown:H,onClick:Z[0]||(Z[0]=sa(()=>{},["prevent"]))},[we("div",{ref:"overlay-container",class:ye(O.value),style:tt({"--dp-overlay-height":`${_.value}px`}),role:"grid"},[we("div",Vu,[oe(G.$slots,"header")]),oe(G.$slots,"overlay",{},()=>[(F(!0),te(Se,null,Ee(e.items,(U,X)=>(F(),te("div",{key:X,class:ye(["dp__overlay_row",{dp__flex_row:e.items.length>=3}]),role:"row"},[(F(!0),te(Se,null,Ee(U,$=>(F(),te("div",{key:$.value,role:"gridcell",class:ye(v.value),"aria-selected":$.active||void 0,"aria-disabled":$.disabled||void 0,"data-dp-action-element":e.level??1,"data-dp-element-active":$.active?e.level??1:void 0,tabindex:"0","data-test-id":$.text,onClick:sa(I=>P($),["prevent"]),onKeydown:I=>i(h)(I,()=>P($),!0),onMouseover:I=>W($.value)},[we("div",{class:ye($.className)},[oe(G.$slots,"item",{item:$},()=>[At(Ke($.text),1)])],2)],42,Lu))),128))],2))),128))])],6),G.$slots["button-icon"]?Wa((F(),te("button",{key:0,ref:"toggle-button",type:"button","aria-label":i(o)?.toggleOverlay,class:ye(M.value),tabindex:"0","data-dp-action-element":e.level??1,onClick:Y,onKeydown:q},[oe(G.$slots,"button-icon")],42,Wu)),[[Ia,!i(l)(e.type)]]):re("",!0)],46,Fu))}}),Iu=["data-dp-mobile"],an=Ue({__name:"InstanceWrap",props:{stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const{defaults:{multiCalendars:t}}=Pe(),{isMobile:n}=Ja(),a=V(()=>t.value.count>0?[...new Array(t.value.count).keys()]:[0]);return(r,o)=>(F(),te("div",{class:ye({dp__menu_inner:!e.stretch,"dp--menu--inner-stretched":e.stretch,dp__flex_display:i(t).count>0,"dp--flex-display-collapsed":e.collapse}),"data-dp-mobile":i(n)},[oe(r.$slots,"default",{instances:a.value,wrapClass:{dp__instance_calendar:i(t).count>0}})],10,Iu))}}),Hu=["data-dp-element","aria-label","aria-disabled"],Da=Ue({__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const{checkKeyDown:n}=qe(),a=t;return(r,o)=>(F(),te("button",{ref:"arrow-btn",type:"button","data-dp-element":e.elName,"data-dp-action-element":"0",class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":e.ariaLabel,"aria-disabled":e.disabled||void 0,onClick:o[0]||(o[0]=s=>a("activate")),onKeydown:o[1]||(o[1]=s=>i(n)(s,()=>a("activate"),!0))},[we("span",{class:ye(["dp__inner_nav",{dp__inner_nav_disabled:e.disabled}])},[oe(r.$slots,"default")],2)],40,Hu))}}),qu=["aria-label","data-test-id"],Qr=Ue({__name:"YearModePicker",props:{items:{},instance:{},year:{},showYearPicker:{type:Boolean,default:!1},isDisabled:{}},emits:["handle-year","year-select","toggle-year-picker"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=tn(),{rootProps:s,defaults:{config:l,ariaLabels:u,ui:h}}=Pe(),{showTransition:p,transitionName:g}=Ca(),{formatYear:w}=Nt(),{boolHtmlAttribute:c}=fa(),y=ie(!1),b=V(()=>w(a.year)),_=(v=!1,M)=>{y.value=!y.value,n("toggle-year-picker",{flow:v,show:M})},d=v=>{y.value=!1,n("year-select",v)},m=(v=!1)=>{n("handle-year",v)};return(v,M)=>(F(),te(Se,null,[we("div",{class:ye(["dp--year-mode-picker",{"dp--hidden-el":y.value}])},[i(o)(e.instance)?(F(),$e(Da,{key:0,ref:"mpPrevIconRef","aria-label":i(u)?.prevYear,disabled:i(c)(e.isDisabled(!1)),class:ye(i(h)?.navBtnPrev),onActivate:M[0]||(M[0]=O=>m(!1))},{default:be(()=>[v.$slots["arrow-left"]?oe(v.$slots,"arrow-left",{key:0}):re("",!0),v.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${i(u)?.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,"data-dp-action-element":"0",onClick:M[1]||(M[1]=()=>_(!1)),onKeydown:M[2]||(M[2]=ko(sa(()=>_(!1),["prevent"]),["enter"]))},[v.$slots.year?oe(v.$slots,"year",{key:0,text:b.value,value:e.year}):re("",!0),v.$slots.year?re("",!0):(F(),te(Se,{key:1},[At(Ke(e.year),1)],64))],40,qu),i(r)(e.instance)?(F(),$e(Da,{key:1,ref:"mpNextIconRef","aria-label":i(u)?.nextYear,disabled:i(c)(e.isDisabled(!0)),class:ye(i(h)?.navBtnNext),onActivate:M[3]||(M[3]=O=>m(!0))},{default:be(()=>[v.$slots["arrow-right"]?oe(v.$slots,"arrow-right",{key:0}):re("",!0),v.$slots["arrow-right"]?re("",!0):(F(),$e(i(Ir),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),He(da,{name:i(g)(e.showYearPicker),css:i(p)},{default:be(()=>[e.showYearPicker?(F(),$e(Ya,{key:0,items:e.items,config:i(l),"is-last":i(s).autoApply&&!i(l).keepActionRow,"overlay-label":i(u)?.yearPicker?.(!0),type:"year",onToggle:_,onSelected:M[4]||(M[4]=O=>d(O))},ze({"button-icon":be(()=>[v.$slots["calendar-icon"]?oe(v.$slots,"calendar-icon",{key:0}):re("",!0),v.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:be(({item:O})=>[oe(v.$slots,"year-overlay-value",{text:O.text,value:O.value})]),key:"0"}:void 0]),1032,["items","config","is-last","overlay-label"])):re("",!0)]),_:3},8,["name","css"])],64))}}),Gr=e=>{const{getDate:t,rootEmit:n,state:a,month:r,year:o,modelValue:s,calendars:l,rootProps:u,defaults:{multiCalendars:h,range:p,safeDates:g,filters:w,highlight:c}}=Pe(),{resetDate:y,getYearFromDate:b,checkHighlightYear:_,groupListAndMap:d}=Xe(),{getYears:m}=en(),{validateMonthYear:v,checkMinMaxValue:M}=st(),O=ie([!1]),E=V(()=>m()),P=V(()=>(z,se)=>{const fe=xe(y(t()),{month:r.value(z),year:o.value(z)}),ge=se?Tr(fe):oa(fe);return v(ge,u.preventMinMaxNavigation,se)}),Y=()=>Array.isArray(s.value)&&h.value.solo&&s.value[1],N=()=>{for(let z=0;z{if(!z)return N();const se=xe(t(),l.value[z]);return l.value[0].year=he(Vr(se,h.value.count-1)),N()},H=(z,se)=>{const fe=Cs(se,z);return p.value.showLastInRange&&fe>1?se:z},q=z=>u.focusStartDate||h.value.solo?z[0]:z[1]?H(z[0],z[1]):z[0],G=()=>{if(s.value){const z=Array.isArray(s.value)?q(s.value):s.value;l.value[0]={month:Ae(z),year:he(z)}}},Z=()=>{G(),h.value.count&&N()};Je(s,(z,se)=>{a.isTextInputDate&&JSON.stringify(z??{})!==JSON.stringify(se??{})&&Z()}),je(()=>{Z()});const U=(z,se)=>{l.value[se].year=z,n("update-month-year",{instance:se,year:z,month:l.value[se].month}),h.value.count&&!h.value.solo&&W(se)},X=V(()=>z=>d(E.value,se=>{const fe=o.value(z)===se.value,ge=M(se.value,b(g.value.minDate),b(g.value.maxDate))||w.value.years?.includes(o.value(z)),ne=_(c.value,se.value);return{active:fe,disabled:ge,highlighted:ne}})),$=(z,se)=>{U(z,se),le(se)},I=(z,se=!1)=>{if(!P.value(z,se)){const fe=se?o.value(z)+1:o.value(z)-1;U(fe,z)}},le=(z,se=!1,fe)=>{se||e("reset-flow"),fe===void 0?O.value[z]=!O.value[z]:O.value[z]=fe,O.value[z]?n("overlay-toggle",{open:!0,overlay:Qe.year}):n("overlay-toggle",{open:!1,overlay:Qe.year})};return{isDisabled:P,groupedYears:X,showYearPicker:O,selectYear:U,setStartDate:()=>{u.startDate&&(s.value&&u.focusStartDate||!s.value)&&U(he(t(u.startDate)),0)},toggleYearPicker:le,handleYearSelect:$,handleYear:I}},nn=()=>{const{isDateAfter:e,isDateBefore:t,isDateEqual:n}=Xe(),{getDate:a,rootEmit:r,rootProps:o,modelValue:s,defaults:{range:l}}=Pe();return{getRangeWithFixedDate:u=>Array.isArray(s.value)&&(s.value.length===2||s.value.length===1&&l.value.partialRange)?l.value.fixedStart&&(e(u,s.value[0])||n(u,s.value[0]))?[s.value[0],u]:l.value.fixedEnd&&(t(u,s.value[1])||n(u,s.value[1]))?[u,s.value[1]]:(r("invalid-fixed-range",u),s.value):[],setPresetDate:u=>{Array.isArray(u.value)&&u.value.length<=2&&l.value.enabled?s.value=u.value.map(h=>a(h)):Array.isArray(u.value)||(s.value=a(u.value))},checkRangeAutoApply:(u,h,p)=>{l&&(u[0]&&u[1]&&o.autoApply&&h("auto-apply",p),u[0]&&!u[1]&&(o.modelAuto||l.value.partialRange)&&o.autoApply&&h("auto-apply",p))},setMonthOrYearRange:u=>{let h=s.value?s.value.slice():[];return h.length===2&&h[1]!==null&&(h=[]),h.length?(t(u,h[0])?h.unshift(u):h[1]=u,r("range-end",u)):(h=[u],r("range-start",u)),h},handleMultiDatesSelect:(u,h)=>{if(s.value&&Array.isArray(s.value))if(s.value.some(p=>n(u,p))){const p=s.value.filter(g=>!n(g,u));s.value=p.length?p:null}else(h&&+h>s.value.length||!h)&&s.value.push(u);else s.value=[u]}}},Uu=(e,t)=>{const{getDate:n,rootEmit:a,state:r,calendars:o,year:s,modelValue:l,rootProps:u,defaults:{range:h,highlight:p,safeDates:g,filters:w,multiDates:c}}=Pe();Sa(()=>{r.isTextInputDate&&$(he(n(u.startDate)),0)});const{checkMinMaxRange:y,checkMinMaxValue:b}=st(),{isDateBetween:_,resetDateTime:d,resetDate:m,getMinMonth:v,getMaxMonth:M,checkHighlightMonth:O,groupListAndMap:E}=Xe(),{checkRangeAutoApply:P,getRangeWithFixedDate:Y,handleMultiDatesSelect:N,setMonthOrYearRange:W,setPresetDate:H}=nn(),{padZero:q}=qe(),{getMonths:G,isOutOfYearRange:Z}=en(),U=V(()=>G()),X=ie(null),{selectYear:$,groupedYears:I,showYearPicker:le,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,isDisabled:ge,setStartDate:ne}=Gr(t);je(()=>{ne()});const pe=A=>A?{month:Ae(A),year:he(A)}:{month:null,year:null},ue=()=>l.value?Array.isArray(l.value)?l.value.map(A=>pe(A)):pe(l.value):pe(),ke=(A,ae)=>{const ee=o.value[A],Me=ue();return Array.isArray(Me)?Me.some(_e=>_e.year===ee?.year&&_e.month===ae):ee?.year===Me.year&&ae===Me.month},me=(A,ae,ee)=>{const Me=ue();return Array.isArray(Me)?s.value(ae)===Me[ee]?.year&&A===Me[ee]?.month:!1},Te=(A,ae)=>{if(h.value.enabled){const ee=ue();if(Array.isArray(l.value)&&Array.isArray(ee)){const Me=me(A,ae,0)||me(A,ae,1),_e=xe(m(n()),{month:A,year:s.value(ae)});return _(l.value,X.value,_e)&&!Me}return!1}return!1},D=V(()=>A=>E(U.value,ae=>{const ee=ke(A,ae.value),Me=b(ae.value,v(s.value(A),g.value.minDate),M(s.value(A),g.value.maxDate))||k(g.value.disabledDates,s.value(A),ae.value)||w.value.months?.includes(ae.value)||!j(g.value.allowedDates,s.value(A),ae.value)||Z(s.value(A)),_e=Te(ae.value,A),Xt=O(p.value,ae.value,s.value(A));return{active:ee,disabled:Me,isBetween:_e,highlighted:Xt}})),R=(A,ae)=>xe(m(n()),{month:A,year:s.value(ae)}),Q=(A,ae)=>{const ee=l.value?l.value:m(n());l.value=xe(ee,{month:A,year:s.value(ae)}),t("auto-apply"),t("update-flow-step")},x=(A,ae)=>{const ee=R(A,ae);h.value.fixedEnd||h.value.fixedStart?l.value=Y(ee):l.value?y(ee,l.value)&&(l.value=W(R(A,ae))):l.value=[R(A,ae)],Ge().then(()=>{P(l.value,t,l.value.length<2)})},B=(A,ae)=>{N(R(A,ae),c.value.limit),t("auto-apply",!0)},J=(A,ae)=>(o.value[ae].month=A,L(ae,o.value[ae].year,A),c.value.enabled?B(A,ae):h.value.enabled?x(A,ae):Q(A,ae)),T=(A,ae)=>{$(A,ae),L(ae,A,null)},L=(A,ae,ee)=>{let Me=ee;if(!Me&&Me!==0){const _e=ue();Me=Array.isArray(_e)?_e[A].month:_e.month}a("update-month-year",{instance:A,year:ae,month:Me})},f=(A,ae)=>{X.value=R(A,ae)},S=A=>{H({value:A}),t("auto-apply")},k=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!1}return typeof A=="function"?A(d(xe(n(),{month:ee,year:ae}),!0)):!1},j=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!0}return!0};return{groupedMonths:D,groupedYears:I,year:s,isDisabled:ge,showYearPicker:le,modelValue:l,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,presetDate:S,setHoverDate:f,selectMonth:J,selectYear:T,getModelMonthYear:ue}},ju=Ue({__name:"MonthPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply","update-flow-step","mount"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Bt(),{rootProps:s,defaults:{config:l}}=Pe(),u=_t(o,mt.YearMode);je(()=>{a("mount")});const{groupedMonths:h,groupedYears:p,year:g,isDisabled:w,showYearPicker:c,modelValue:y,presetDate:b,setHoverDate:_,selectMonth:d,selectYear:m,toggleYearPicker:v,handleYearSelect:M,handleYear:O,getModelMonthYear:E}=Uu(r,a);return t({getSidebarProps:()=>({modelValue:y,year:g,getModelMonthYear:E,selectMonth:d,selectYear:m,handleYear:O}),presetDate:b,toggleYearPicker:P=>v(0,P)}),(P,Y)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:N,wrapClass:W})=>[(F(!0),te(Se,null,Ee(N,H=>(F(),te("div",{key:H,class:ye(W)},[P.$slots["top-extra"]?oe(P.$slots,"top-extra",{key:0,value:i(y)}):re("",!0),oe(P.$slots,"month-year",vt({ref_for:!0},{year:i(g),months:i(h)(H),years:i(p)(H),selectMonth:i(d),selectYear:i(m),instance:H}),()=>[He(Ya,{items:i(h)(H),"is-last":i(s).autoApply&&!i(l).keepActionRow,height:i(l).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(s).textInput),"use-relative":"",level:0,type:"month",onSelected:q=>i(d)(q,H),onHoverValue:q=>i(_)(q,H)},ze({header:be(()=>[He(Qr,{items:i(p)(H),instance:H,"show-year-picker":i(c)[H],year:i(g)(H),"is-disabled":q=>i(w)(H,q),onHandleYear:q=>i(O)(H,q),onYearSelect:q=>i(M)(q,H),onToggleYearPicker:q=>i(v)(H,q?.flow,q?.show)},ze({_:2},[Ee(i(u),(q,G)=>({name:q,fn:be(Z=>[oe(P.$slots,q,vt({ref_for:!0},Z))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[P.$slots["month-overlay-value"]?{name:"item",fn:be(({item:q})=>[oe(P.$slots,"month-overlay-value",{text:q.text,value:q.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","onSelected","onHoverValue"])])],2))),128))]),_:3},8,["collapse"]))}}),zu=(e,t)=>{const{rootEmit:n,getDate:a,state:r,modelValue:o,rootProps:s,defaults:{highlight:l,multiDates:u,filters:h,range:p,safeDates:g}}=Pe(),{getYears:w}=en(),{isDateBetween:c,resetDate:y,resetDateTime:b,getYearFromDate:_,checkHighlightYear:d,groupListAndMap:m}=Xe(),{checkRangeAutoApply:v,setMonthOrYearRange:M}=nn(),{checkMinMaxValue:O,checkMinMaxRange:E}=st();Sa(()=>{r.isTextInputDate&&(Y.value=he(a(s.startDate)))});const P=ie(null),Y=ie();je(()=>{s.startDate&&(o.value&&s.focusStartDate||!o.value)&&(Y.value=he(a(s.startDate)))});const N=U=>Array.isArray(o.value)?o.value.some(X=>he(X)===U):o.value?he(o.value)===U:!1,W=U=>p.value.enabled&&Array.isArray(o.value)?c(o.value,P.value,Z(U)):!1,H=U=>g.value.allowedDates?.size?g.value.allowedDates.has(`${U}`):!0,q=U=>g.value.disabledDates instanceof Map?g.value.disabledDates.size?g.value.disabledDates.has(`${U}`):!1:typeof g.value.disabledDates=="function"?g.value.disabledDates(ct(b(oa(a())),U)):!0,G=V(()=>m(w(),U=>{const X=N(U.value),$=O(U.value,_(g.value.minDate),_(g.value.maxDate))||h.value.years.includes(U.value)||!H(U.value)||q(U.value),I=W(U.value)&&!X,le=d(l.value,U.value);return{active:X,disabled:$,isBetween:I,highlighted:le}})),Z=U=>ct(y(oa(a())),U);return{groupedYears:G,focusYear:Y,setHoverValue:U=>{P.value=ct(y(a()),U)},selectYear:U=>{if(n("update-month-year",{instance:0,year:U,month:Number.NaN}),u.value.enabled)return o.value?Array.isArray(o.value)&&((o.value?.map(X=>he(X))).includes(U)?o.value=o.value.filter(X=>he(X)!==U):o.value.push(ct(b(a()),U))):o.value=[ct(b(oa(a())),U)],t("auto-apply",!0);p.value.enabled?E(Z(U),o.value)&&(o.value=M(Z(U)),Ge().then(()=>{v(o.value,t,o.value.length<2)})):(o.value=Z(U),t("auto-apply"))}}},Ku=Ue({__name:"YearPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{modelValue:o,defaults:{config:s},rootProps:l}=Pe(),{groupedYears:u,focusYear:h,selectYear:p,setHoverValue:g}=zu(r,a);return t({getSidebarProps:()=>({modelValue:o,selectYear:p})}),(w,c)=>(F(),te("div",null,[w.$slots["top-extra"]?oe(w.$slots,"top-extra",{key:0,value:i(o)}):re("",!0),w.$slots["month-year"]?oe(w.$slots,"month-year",et(vt({key:1},{years:i(u),selectYear:i(p)}))):(F(),$e(Ya,{key:2,items:i(u),"is-last":i(l).autoApply&&!i(s).keepActionRow,height:i(s).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(l).textInput),"focus-value":i(h),type:"year","use-relative":"",onSelected:i(p),onHoverValue:i(g)},ze({_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:be(({item:y})=>[oe(w.$slots,"year-overlay-value",{text:y.text,value:y.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),Xu={key:0,class:"dp__time_input"},Qu=["data-compact","data-collapsed"],Gu=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],Zu=["aria-label","disabled","data-dp-action-element","data-test-id","onKeydown","onClick"],Ju=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],ec={key:0},tc=["aria-label","data-dp-action-element","data-compact"],ac=Ue({__name:"TimeInput",props:{hours:{},minutes:{},seconds:{},order:{},closeTimePickerBtn:{},disabledTimesConfig:{},validateTime:{}},emits:["update:hours","update:minutes","update:seconds","overlay-opened","overlay-closed","set-hours","set-minutes","reset-flow","mounted"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{ariaLabels:u,filters:h,config:p,range:g,multiCalendars:w,timeConfig:c}}=Pe(),{checkKeyDown:y,hoursToAmPmHours:b}=qe(),{boolHtmlAttribute:_}=fa(),{sanitizeTime:d,groupListAndMap:m}=Xe(),{transitionName:v,showTransition:M}=Ca(),O=Ha({hours:!1,minutes:!1,seconds:!1}),E=ie("AM"),P=ie(null),Y=ie(),N=ie(!1);je(()=>{a("mounted")});const W=k=>xe(o(),{hours:k.hours,minutes:k.minutes,seconds:c.value.enableSeconds?k.seconds:0,milliseconds:0}),H=V(()=>l.timePicker||c.value.timePickerInline?0:1),q=V(()=>k=>pe(k,r[k])||Z(k,r[k])),G=V(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),Z=(k,j)=>g.value.enabled&&!g.value.disableTimeRangeValidation?!r.validateTime(k,j):!1,U=(k,j)=>{if(g.value.enabled&&!g.value.disableTimeRangeValidation){const A=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`],ae=r[k]+A;return!r.validateTime(k,ae)}return!1},X=V(()=>k=>!D(+r[k]+ +c.value[`${k}Increment`],k)||U(k,!0)),$=V(()=>k=>!D(+r[k]-+c.value[`${k}Increment`],k)||U(k,!1)),I=(k,j)=>Dr(xe(o(),k),j),le=(k,j)=>Pi(xe(o(),k),j),z=V(()=>({dp__time_col:!0,dp__time_col_block:!c.value.timePickerInline,dp__time_col_reg_block:!c.value.enableSeconds&&c.value.is24&&!c.value.timePickerInline,dp__time_col_reg_inline:!c.value.enableSeconds&&c.value.is24&&c.value.timePickerInline,dp__time_col_reg_with_button:!c.value.enableSeconds&&!c.value.is24,dp__time_col_sec:c.value.enableSeconds&&c.value.is24,dp__time_col_sec_with_button:c.value.enableSeconds&&!c.value.is24})),se=V(()=>c.value.timePickerInline&&g.value.enabled&&!w.value.count),fe=V(()=>{const k=[{type:"hours"}];return c.value.enableMinutes&&k.push({type:"",separator:!0},{type:"minutes"}),c.value.enableSeconds&&k.push({type:"",separator:!0},{type:"seconds"}),k}),ge=V(()=>fe.value.filter(k=>!k.separator)),ne=V(()=>k=>{if(k==="hours"){const j=T(+r.hours);return{text:j<10?`0${j}`:`${j}`,value:j}}return{text:r[k]<10?`0${r[k]}`:`${r[k]}`,value:r[k]}}),pe=(k,j)=>{if(!r.disabledTimesConfig)return!1;const A=r.disabledTimesConfig(r.order,k==="hours"?j:void 0);return A[k]?!!A[k]?.includes(j):!0},ue=(k,j)=>j!=="hours"||E.value==="AM"?k:k+12,ke=k=>{const j=c.value.is24?24:12,A=k==="hours"?j:60,ae=+c.value[`${k}GridIncrement`],ee=k==="hours"&&!c.value.is24?ae:0,Me=[];for(let _e=ee;_e({active:!1,disabled:h.value.times[k].includes(_e.value)||!D(_e.value,k)||pe(k,_e.value)||Z(k,_e.value)}))},me=k=>k>=0?k:59,Te=k=>k>=0?k:23,D=(k,j)=>{const A=l.minTime?W(d(l.minTime)):null,ae=l.maxTime?W(d(l.maxTime)):null,ee=W(d(G.value,j,j==="minutes"||j==="seconds"?me(k):Te(k)));return A&&ae?(Pt(ee,ae)||ta(ee,ae))&&(wt(ee,A)||ta(ee,A)):A?wt(ee,A)||ta(ee,A):ae?Pt(ee,ae)||ta(ee,ae):!0},R=k=>c.value[`no${k[0].toUpperCase()+k.slice(1)}Overlay`],Q=k=>{R(k)||(O[k]=!O[k],O[k]?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k)))},x=k=>k==="hours"?xt:k==="minutes"?Tt:Et,B=()=>{Y.value&&clearTimeout(Y.value)},J=(k,j=!0,A)=>{const ae=j?I:le,ee=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`];D(+r[k]+ee,k)&&a(`update:${k}`,x(k)(ae({[k]:+r[k]},{[k]:+c.value[`${k}Increment`]}))),!A?.keyboard&&p.value.timeArrowHoldThreshold&&(Y.value=setTimeout(()=>{J(k,j)},p.value.timeArrowHoldThreshold))},T=k=>c.value.is24?k:(k>=12?E.value="PM":E.value="AM",b(k)),L=()=>{E.value==="PM"?(E.value="AM",a("update:hours",r.hours-12)):(E.value="PM",a("update:hours",r.hours+12)),s("am-pm-change",E.value)},f=k=>{O[k]=!0},S=(k,j)=>(Q(k),a(`update:${k}`,j));return t({openChildCmp:f}),(k,j)=>i(l).disabled?re("",!0):(F(),te("div",Xu,[(F(!0),te(Se,null,Ee(fe.value,(A,ae)=>(F(),te("div",{key:ae,class:ye(z.value),"data-compact":se.value&&!i(c).enableSeconds,"data-collapsed":se.value&&i(c).enableSeconds},[A.separator?(F(),te(Se,{key:0},[N.value?re("",!0):(F(),te(Se,{key:0},[At(":")],64))],64)):(F(),te(Se,{key:1},[we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_top:i(c).timePickerInline,dp__inc_dec_button_disabled:X.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-inc-btn-${r.order}`,"aria-label":i(u)?.incrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!0,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!0),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!0):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-up",{key:1},()=>[j[2]||(j[2]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[3]||(j[3]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-up",{key:0},()=>[He(i(qr))])],42,Gu),we("button",{type:"button","aria-label":`${ne.value(A.type).text}-${i(u)?.openTpOverlay(A.type)}`,class:ye({dp__time_display:!0,dp__time_display_block:!i(c).timePickerInline,dp__time_display_inline:i(c).timePickerInline,"dp--time-invalid":q.value(A.type),"dp--time-overlay-btn":!q.value(A.type),"dp--hidden-el":N.value}),disabled:i(_)(R(A.type)),tabindex:"0","data-dp-action-element":H.value,"data-test-id":`${A.type}-toggle-overlay-btn-${r.order}`,onKeydown:ee=>i(y)(ee,()=>Q(A.type),!0),onClick:ee=>Q(A.type)},[oe(k.$slots,A.type,{text:ne.value(A.type).text,value:ne.value(A.type).value},()=>[At(Ke(ne.value(A.type).text),1)])],42,Zu),we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_bottom:i(c).timePickerInline,dp__inc_dec_button_disabled:$.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-dec-btn-${r.order}`,"aria-label":i(u)?.decrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!1,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!1),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!1):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-down",{key:1},()=>[j[4]||(j[4]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[5]||(j[5]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-down",{key:0},()=>[He(i(Ur))])],42,Ju)],64))],10,Qu))),128)),i(c).is24?re("",!0):(F(),te("div",ec,[oe(k.$slots,"am-pm-button",{toggle:L,value:E.value},()=>[we("button",{ref_key:"amPmButton",ref:P,type:"button",class:"dp__pm_am_button",role:"button","aria-label":i(u)?.amPmButton,tabindex:"0","data-dp-action-element":H.value,"data-compact":se.value,onClick:L,onKeydown:j[0]||(j[0]=A=>i(y)(A,()=>L(),!0))},Ke(E.value),41,tc)])])),(F(!0),te(Se,null,Ee(ge.value,(A,ae)=>(F(),$e(da,{key:ae,name:i(v)(O[A.type]),css:i(M)},{default:be(()=>[O[A.type]?(F(),$e(Ya,{key:0,items:ke(A.type),"is-last":i(l).autoApply&&!i(p).keepActionRow,type:A.type,"aria-labels":i(u),level:i(c).timePickerInline||i(l).timePicker?1:2,"overlay-label":i(u).timeOverlay?.(A.type),onSelected:ee=>S(A.type,ee),onToggle:ee=>Q(A.type),onResetFlow:j[1]||(j[1]=ee=>k.$emit("reset-flow"))},ze({"button-icon":be(()=>[oe(k.$slots,"clock-icon",{},()=>[k.$slots["clock-icon"]?re("",!0):(F(),$e(xn(i(c).timePickerInline?i(Oa):i(Hr)),{key:0}))])]),_:2},[k.$slots[`${A.type}-overlay-value`]?{name:"item",fn:be(({item:ee})=>[oe(k.$slots,`${A.type}-overlay-value`,{text:ee.text,value:ee.value})]),key:"0"}:void 0,k.$slots[`${A.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(k.$slots,`${A.type}-overlay-header`,{toggle:()=>Q(A.type)})]),key:"1"}:void 0]),1032,["items","is-last","type","aria-labels","level","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"]))),128))]))}}),nc=["data-dp-mobile"],rc=["aria-label","tabindex"],oc=["role","aria-label","tabindex"],sc=["aria-label"],Zr=Ue({__name:"TimePicker",props:{hours:{},minutes:{},seconds:{},disabledTimesConfig:{type:[Function,null]},noOverlayFocus:{type:Boolean},validateTime:{type:Function}},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,setState:s,modelValue:l,rootProps:u,defaults:{ariaLabels:h,textInput:p,config:g,range:w,timeConfig:c}}=Pe(),{isModelAuto:y}=Xe(),{checkKeyDown:b,findFocusableEl:_}=qe(),{transitionName:d,showTransition:m}=Ca(),{hideNavigationButtons:v}=tn(),{isMobile:M}=Ja(),O=Bt(),E=Be("overlay"),P=Be("close-tp-btn"),Y=Be("tp-input"),N=ie(!1);je(()=>{a("mount")});const W=V(()=>w.value.enabled&&u.modelAuto?y(l.value):!0),H=ie(!1),q=ne=>({hours:Array.isArray(r.hours)?r.hours[ne]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[ne]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[ne]:r.seconds}),G=V(()=>{const ne=[];if(w.value.enabled)for(let pe=0;pe<2;pe++)ne.push(q(pe));else ne.push(q(0));return ne}),Z=(ne,pe=!1,ue="")=>{pe||a("reset-flow"),H.value=ne,s("arrowNavigationLevel",ne?1:0),o("overlay-toggle",{open:ne,overlay:Qe.time}),Ge(()=>{ue!==""&&Y.value?.[0]&&Y.value[0].openChildCmp(ue)})},U=V(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:u.autoApply&&!g.value.keepActionRow})),X=_t(O,mt.TimeInput),$=(ne,pe,ue)=>w.value.enabled?pe===0?[ne,G.value[1][ue]]:[G.value[0][ue],ne]:ne,I=ne=>{a("update:hours",ne)},le=ne=>{a("update:minutes",ne)},z=ne=>{a("update:seconds",ne)},se=()=>{if(E.value&&!p.value.enabled&&!r.noOverlayFocus){const ne=_(E.value);ne&&ne.focus({preventScroll:!0})}},fe=ne=>{N.value=!1,o("overlay-toggle",{open:!1,overlay:ne})},ge=ne=>{N.value=!0,o("overlay-toggle",{open:!0,overlay:ne})};return t({toggleTimePicker:Z}),(ne,pe)=>(F(),te("div",{class:"dp--tp-wrap","data-dp-mobile":i(M)},[!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"open-tp-btn",type:"button","data-dp-action-element":"0",class:ye({...U.value,"dp--hidden-el":H.value}),"aria-label":i(h)?.openTimePicker,tabindex:e.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:pe[0]||(pe[0]=ue=>i(b)(ue,()=>Z(!0))),onClick:pe[1]||(pe[1]=ue=>Z(!0))},[oe(ne.$slots,"clock-icon",{},()=>[He(i(Hr))])],42,rc)),[[Ia,!i(v)("time")]]):re("",!0),He(da,{name:i(d)(H.value),css:i(m)&&!i(c).timePickerInline},{default:be(()=>[H.value||i(u).timePicker||i(c).timePickerInline?(F(),te("div",{key:0,ref:"overlay",role:i(c).timePickerInline?void 0:"dialog",class:ye({dp__overlay:!i(c).timePickerInline,"dp--overlay-absolute":!i(u).timePicker&&!i(c).timePickerInline,"dp--overlay-relative":i(u).timePicker}),style:tt(i(u).timePicker?{height:`${i(g).modeHeight}px`}:void 0),"aria-label":i(h)?.timePicker,tabindex:i(c).timePickerInline?void 0:0},[we("div",{class:ye(i(c).timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[oe(ne.$slots,"time-picker-overlay",{hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:I,setMinutes:le,setSeconds:z},()=>[we("div",{class:ye(i(c).timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(F(!0),te(Se,null,Ee(G.value,(ue,ke)=>Wa((F(),$e(ac,vt({key:ke},{ref_for:!0},{order:ke,hours:ue.hours,minutes:ue.minutes,seconds:ue.seconds,closeTimePickerBtn:P.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ke===0?i(w).fixedStart:i(w).fixedEnd},{ref_for:!0,ref:"tp-input","validate-time":(me,Te)=>e.validateTime(me,$(Te,ke,me)),"onUpdate:hours":me=>I($(me,ke,"hours")),"onUpdate:minutes":me=>le($(me,ke,"minutes")),"onUpdate:seconds":me=>z($(me,ke,"seconds")),onMounted:se,onOverlayClosed:fe,onOverlayOpened:ge}),ze({_:2},[Ee(i(X),(me,Te)=>({name:me,fn:be(D=>[oe(ne.$slots,me,vt({ref_for:!0},D))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ia,ke===0?!0:W.value]])),128))],2)]),!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"close-tp-btn","data-dp-action-element":"1",type:"button",class:ye({...U.value,"dp--hidden-el":N.value}),"aria-label":i(h)?.closeTimePicker,tabindex:"0",onKeydown:pe[2]||(pe[2]=ue=>i(b)(ue,()=>Z(!1))),onClick:pe[3]||(pe[3]=ue=>Z(!1))},[oe(ne.$slots,"calendar-icon",{},()=>[He(i(Oa))])],42,sc)),[[Ia,!i(v)("time")]]):re("",!0)],2)],14,oc)):re("",!0)]),_:3},8,["name","css"])],8,nc))}}),Jr=e=>{const{getDate:t,modelValue:n,time:a,rootProps:r,defaults:{range:o,timeConfig:s}}=Pe(),{isDateEqual:l,setTime:u}=Xe(),h=(P,Y)=>Array.isArray(a[P])?a[P][Y]:a[P],p=P=>s.value.enableSeconds?Array.isArray(a.seconds)?a.seconds[P]:a.seconds:0,g=(P,Y)=>P?u(Y!==void 0?{hours:h("hours",Y),minutes:h("minutes",Y),seconds:p(Y)}:{hours:a.hours,minutes:a.minutes,seconds:p()},P):Mi(t(),p(Y)),w=(P,Y)=>{a[P]=Y},c=V(()=>r.modelAuto&&o.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:o.value.enabled),y=(P,Y)=>{const N=Object.fromEntries(Object.keys(a).map(W=>W===P?[W,Y]:[W,a[W]].slice()));if(c.value&&!o.value.disableTimeRangeValidation){const W=q=>n.value?u({hours:N.hours[q],minutes:N.minutes[q],seconds:N.seconds[q]},n.value[q]):null,H=q=>xi(n.value[q],0);return!(l(W(0),W(1))&&(wt(W(0),H(1))||Pt(W(1),H(0))))}return!0},b=(P,Y)=>{y(P,Y)&&(w(P,Y),e&&e())},_=P=>{b("hours",P)},d=P=>{b("minutes",P)},m=P=>{b("seconds",P)},v=(P,Y)=>{_(P.hours),d(P.minutes),m(P.seconds),n.value&&Y(n.value)},M=P=>{if(P){const Y=Array.isArray(P),N=Y?[+P[0].hours,+P[1].hours]:+P.hours,W=Y?[+P[0].minutes,+P[1].minutes]:+P.minutes,H=Y?[+(P[0].seconds??0),+(P[1].seconds??0)]:+(P.seconds??0);w("hours",N),w("minutes",W),s.value.enableSeconds&&w("seconds",H)}},O=(P,Y)=>{const N={hours:Array.isArray(a.hours)?a.hours[P]:a.hours,disabledArr:[]};return(Y||Y===0)&&(N.hours=Y),Array.isArray(r.disabledTimes)&&(N.disabledArr=o.value.enabled&&Array.isArray(r.disabledTimes[P])?r.disabledTimes[P]:r.disabledTimes),N},E=V(()=>(P,Y)=>{if(Array.isArray(r.disabledTimes)){const{disabledArr:N,hours:W}=O(P,Y),H=N.filter(q=>+q.hours===W);return H[0]?.minutes==="*"?{hours:[W],minutes:void 0,seconds:void 0}:{hours:[],minutes:H?.map(q=>+q.minutes)??[],seconds:H?.map(q=>q.seconds?+q.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{assignTime:w,updateHours:_,updateMinutes:d,updateSeconds:m,getSetDateTime:g,updateTimeValues:v,getSecondsValue:p,assignStartTime:M,validateTime:y,disabledTimesConfig:E}},lc=e=>{const{getDate:t,time:n,modelValue:a,state:r,defaults:{startTime:o,range:s,timeConfig:l}}=Pe(),{getTimeObj:u}=Xe();Sa(()=>{r.isTextInputDate&&O()});const{updateTimeValues:h,getSetDateTime:p,assignTime:g,assignStartTime:w,disabledTimesConfig:c,validateTime:y}=Jr(b);function b(){e("update-flow-step")}const _=P=>{const{hours:Y,minutes:N,seconds:W}=P;return{hours:+Y,minutes:+N,seconds:W?+W:0}},d=()=>{if(l.value.startTime){if(Array.isArray(l.value.startTime)){const Y=_(l.value.startTime[0]),N=_(l.value.startTime[1]);return[xe(t(),Y),xe(t(),N)]}const P=_(l.value.startTime);return xe(t(),P)}return s.value.enabled?[null,null]:null},m=()=>{if(s.value.enabled){const[P,Y]=d();a.value=[p(P,0),p(Y,1)]}else a.value=p(d())},v=P=>Array.isArray(P)?[u(t(P[0])),u(t(P[1]))]:[u(P??t())],M=(P,Y,N)=>{g("hours",P),g("minutes",Y),g("seconds",l.value.enableSeconds?N:0)},O=()=>{const[P,Y]=v(a.value);return s.value.enabled?M([P.hours,Y.hours],[P.minutes,Y.minutes],[P.seconds,Y.seconds]):M(P.hours,P.minutes,P.seconds)};je(()=>(w(o.value),a.value?O():m()));const E=()=>{Array.isArray(a.value)?a.value=a.value.map((P,Y)=>P&&p(P,Y)):a.value=p(a.value),e("time-update")};return{modelValue:a,time:n,disabledTimesConfig:c,validateTime:y,updateTime:P=>{h(P,E)}}},ic=Ue({__name:"TimePickerSolo",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["time-update","mount","reset-flow","update-flow-step"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),o=_t(r,mt.TimePicker),s=Be("time-input"),{time:l,modelValue:u,disabledTimesConfig:h,updateTime:p,validateTime:g}=lc(a);return je(()=>{a("mount")}),t({getSidebarProps:()=>({modelValue:u,time:l,updateTime:p}),toggleTimePicker:(w,c=!1,y="")=>{s.value?.toggleTimePicker(w,c,y)}}),(w,c)=>(F(),$e(an,{"multi-calendars":0,stretch:""},{default:be(({wrapClass:y})=>[we("div",{class:ye(y)},[He(Zr,vt({ref:"time-input"},w.$props,{hours:i(l).hours,minutes:i(l).minutes,seconds:i(l).seconds,"disabled-times-config":i(h),"validate-time":i(g),"onUpdate:hours":c[0]||(c[0]=b=>i(p)({hours:b,minutes:i(l).minutes,seconds:i(l).seconds})),"onUpdate:minutes":c[1]||(c[1]=b=>i(p)({hours:i(l).hours,minutes:b,seconds:i(l).seconds})),"onUpdate:seconds":c[2]||(c[2]=b=>i(p)({hours:i(l).hours,minutes:i(l).minutes,seconds:b})),onResetFlow:c[3]||(c[3]=b=>w.$emit("reset-flow"))}),ze({_:2},[Ee(i(o),(b,_)=>({name:b,fn:be(d=>[oe(w.$slots,b,et(dt(d)))])}))]),1040,["hours","minutes","seconds","disabled-times-config","validate-time"])],2)]),_:3}))}}),uc=(e,t)=>{const{getDate:n,rootProps:a,defaults:{filters:r}}=Pe(),{validateMonthYearInRange:o,validateMonthYear:s}=st(),l=(w,c)=>{let y=w;return r.value.months.includes(Ae(y))?(y=c?ft(w,1):ca(w,1),l(y,c)):y},u=(w,c)=>{let y=w;return r.value.years.includes(he(y))?(y=c?Sn(w,1):Vr(w,1),u(y,c)):y},h=(w,c=!1)=>{const y=xe(n(),{month:e.month,year:e.year});let b=w?ft(y,1):ca(y,1);a.disableYearSelect&&(b=ct(b,e.year));let _=Ae(b),d=he(b);r.value.months.includes(_)&&(b=l(b,w),_=Ae(b),d=he(b)),r.value.years.includes(d)&&(b=u(b,w),d=he(b)),o(_,d,w,a.preventMinMaxNavigation)&&p(_,d,c)},p=(w,c,y=!1)=>{t("update-month-year",{month:w,year:c,fromNav:y})},g=V(()=>w=>s(xe(n(),{month:e.month,year:e.year}),a.preventMinMaxNavigation,w));return{handleMonthYearChange:h,isDisabled:g,updateMonthYear:p}},cc={class:"dp--header-wrap"},dc={key:0,class:"dp__month_year_wrap"},fc={key:0},mc={class:"dp__month_year_wrap"},vc=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],pc=Ue({__name:"DpHeader",props:{month:{},year:{},instance:{},years:{},months:{},menuWrapRef:{}},emits:["mount","reset-flow","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,rootProps:s,modelValue:l,defaults:{ariaLabels:u,filters:h,config:p,highlight:g,safeDates:w,ui:c}}=Pe(),{transitionName:y,showTransition:b}=Ca(),{showLeftIcon:_,showRightIcon:d}=tn(),{handleMonthYearChange:m,isDisabled:v,updateMonthYear:M}=uc(r,a),{getMaxMonth:O,getMinMonth:E,getYearFromDate:P,groupListAndMap:Y,checkHighlightYear:N,checkHighlightMonth:W}=Xe(),{checkKeyDown:H}=qe(),{formatYear:q}=Nt(),{checkMinMaxValue:G}=st(),{boolHtmlAttribute:Z}=fa(),U=ie(!1),X=ie(!1),$=ie(!1);je(()=>{a("mount")});const I=R=>({get:()=>r[R],set:Q=>{const x=R===it.month?it.year:it.month;a("update-month-year",{[R]:Q,[x]:r[x]}),R===it.month?ue(!0):ke(!0)}}),le=V(I(it.month)),z=V(I(it.year)),se=V(()=>R=>({month:r.month,year:r.year,items:R===it.month?r.months:r.years,instance:r.instance,updateMonthYear:M,toggle:R===it.month?ue:ke})),fe=V(()=>r.months.find(Q=>Q.value===r.month)||{text:"",value:0}),ge=V(()=>Y(r.months,R=>{const Q=r.month===R.value,x=G(R.value,E(r.year,w.value.minDate),O(r.year,w.value.maxDate))||h.value.months.includes(R.value),B=W(g.value,R.value,r.year);return{active:Q,disabled:x,highlighted:B}})),ne=V(()=>Y(r.years,R=>{const Q=r.year===R.value,x=G(R.value,P(w.value.minDate),P(w.value.maxDate))||h.value.years.includes(R.value),B=N(g.value,R.value);return{active:Q,disabled:x,highlighted:B}})),pe=(R,Q,x)=>{x===void 0?R.value=!R.value:R.value=x,R.value?($.value=!0,o("overlay-toggle",{open:!0,overlay:Q})):($.value=!1,o("overlay-toggle",{open:!1,overlay:Q}))},ue=(R=!1,Q)=>{me(R),pe(U,Qe.month,Q)},ke=(R=!1,Q)=>{me(R),pe(X,Qe.year,Q)},me=R=>{R||a("reset-flow")},Te=V(()=>[{type:it.month,index:1,toggle:ue,modelValue:le.value,updateModelValue:R=>le.value=R,text:fe.value.text,showSelectionGrid:U.value,items:ge.value,ariaLabel:u.value?.openMonthsOverlay,overlayLabel:u.value.monthPicker?.(!0)??void 0},{type:it.year,index:2,toggle:ke,modelValue:z.value,updateModelValue:R=>z.value=R,text:q(r.year),showSelectionGrid:X.value,items:ne.value,ariaLabel:u.value?.openYearsOverlay,overlayLabel:u.value.yearPicker?.(!0)??void 0}]),D=V(()=>s.disableYearSelect?[Te.value[0]]:s.yearFirst?[...Te.value].reverse():Te.value);return t({toggleMonthPicker:ue,toggleYearPicker:ke,handleMonthYearChange:m}),(R,Q)=>(F(),te("div",cc,[R.$slots["month-year"]?(F(),te("div",dc,[oe(R.$slots,"month-year",et(dt({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(M),handleMonthYearChange:i(m),instance:e.instance,isDisabled:i(v)})))])):(F(),te(Se,{key:1},[R.$slots["top-extra"]?(F(),te("div",fc,[oe(R.$slots,"top-extra",{value:i(l)})])):re("",!0),we("div",mc,[i(_)(e.instance)&&!i(s).vertical?(F(),$e(Da,{key:0,"aria-label":i(u)?.prevMonth,disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),"el-name":"action-prev",onActivate:Q[0]||(Q[0]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-left"]?oe(R.$slots,"arrow-left",{key:0}):re("",!0),R.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("div",{class:ye(["dp__month_year_wrap",{dp__year_disable_select:i(s).disableYearSelect}])},[(F(!0),te(Se,null,Ee(D.value,x=>(F(),te(Se,{key:x.type},[we("button",{type:"button","data-dp-element":`overlay-${x.type}`,class:ye(["dp__btn dp__month_year_select",{"dp--hidden-el":$.value}]),"aria-label":`${x.text}-${x.ariaLabel}`,"data-test-id":`${x.type}-toggle-overlay-${e.instance}`,tabindex:"0","data-dp-action-element":"0",onClick:B=>x.toggle(!1),onKeydown:B=>i(H)(B,()=>x.toggle(),!0)},[R.$slots[x.type]?oe(R.$slots,x.type,{key:0,text:x.text,value:r[x.type]}):re("",!0),R.$slots[x.type]?re("",!0):(F(),te(Se,{key:1},[At(Ke(x.text),1)],64))],42,vc),He(da,{name:i(y)(x.showSelectionGrid),css:i(b)},{default:be(()=>[x.showSelectionGrid?(F(),$e(Ya,{key:0,items:x.items,"is-last":i(s).autoApply&&!i(p).keepActionRow,"skip-button-ref":!1,type:x.type,"header-refs":[],"menu-wrap-ref":e.menuWrapRef,"overlay-label":x.overlayLabel,onSelected:x.updateModelValue,onToggle:x.toggle},ze({"button-icon":be(()=>[R.$slots["calendar-icon"]?oe(R.$slots,"calendar-icon",{key:0}):re("",!0),R.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[R.$slots[`${x.type}-overlay-value`]?{name:"item",fn:be(({item:B})=>[oe(R.$slots,`${x.type}-overlay-value`,{text:B.text,value:B.value})]),key:"0"}:void 0,R.$slots[`${x.type}-overlay`]?{name:"overlay",fn:be(()=>[oe(R.$slots,`${x.type}-overlay`,vt({ref_for:!0},se.value(x.type)))]),key:"1"}:void 0,R.$slots[`${x.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(R.$slots,`${x.type}-overlay-header`,{toggle:x.toggle})]),key:"2"}:void 0]),1032,["items","is-last","type","menu-wrap-ref","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(_)(e.instance)&&i(s).vertical?(F(),$e(Da,{key:1,"aria-label":i(u)?.prevMonth,"el-name":"action-prev",disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),onActivate:Q[1]||(Q[1]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-up"]?oe(R.$slots,"arrow-up",{key:0}):re("",!0),R.$slots["arrow-up"]?re("",!0):(F(),$e(i(qr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),i(d)(e.instance)?(F(),$e(Da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(Z)(i(v)(!0)),"aria-label":i(u)?.nextMonth,class:ye(i(c)?.navBtnNext),onActivate:Q[2]||(Q[2]=x=>i(m)(!0,!0))},{default:be(()=>[R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?oe(R.$slots,i(s).vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?re("",!0):(F(),$e(xn(i(s).vertical?i(Ur):i(Ir)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))]))}}),hc={class:"dp__calendar_header",role:"row"},yc={key:0,class:"dp__calendar_header_item",role:"gridcell"},gc=["aria-label"],wc={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},bc={class:"dp__cell_inner"},kc=["id","aria-selected","aria-disabled","aria-label","tabindex","data-test-id","data-dp-element-active","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],_c=Ue({__name:"DpCalendar",props:{instance:{},mappedDates:{},month:{},year:{}},emits:["mount","select-date","set-hover-date","handle-scroll","handle-swipe"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{transitions:u,config:h,ariaLabels:p,multiCalendars:g,weekNumbers:w,multiDates:c,ui:y}}=Pe(),{isDateAfter:b,isDateEqual:_,resetDateTime:d,getCellId:m}=Xe(),{checkKeyDown:v,checkStopPropagation:M,isTouchDevice:O}=qe(),{formatWeekDay:E}=Nt(),P=Be("calendar-wrap"),Y=Be("active-tooltip"),N=ie([]),W=ie(null),H=ie(!0),q=ie(!1),G=ie(""),Z=ie({bottom:"",left:"",transform:""}),U=ie({left:"50%"});Do(P,{onSwipeEnd:(f,S)=>{h.value.noSwipe||(l.vertical?(S==="up"||S==="down")&&a("handle-swipe",S==="up"?"left":"right"):(S==="left"||S==="right")&&a("handle-swipe",S==="right"?"left":"right"))}});const X=V(()=>l.calendar?l.calendar(r.mappedDates):r.mappedDates),$=V(()=>l.dayNames?Array.isArray(l.dayNames)?l.dayNames:l.dayNames():L());je(()=>{a("mount",{cmp:"calendar",dayRefs:N.value}),h.value.monthChangeOnScroll&&P.value&&P.value.addEventListener("wheel",R,{passive:!1})}),jt(()=>{h.value.monthChangeOnScroll&&P.value&&P.value.removeEventListener("wheel",R)});const I=f=>f?l.vertical?"vNext":"next":l.vertical?"vPrevious":"previous",le=(f,S)=>{if(l.transitions){const k=d(xe(o(),{month:r.month,year:r.year}));G.value=b(d(xe(o(),{month:f,year:S})),k)?u.value[I(!0)]:u.value[I(!1)],H.value=!1,Ge(()=>{H.value=!0})}},z=V(()=>({...y.value.calendar})),se=f=>({type:"dot",...f}),fe=V(()=>f=>{const S=se(f);return{dp__marker_dot:S.type==="dot",dp__marker_line:S.type==="line"}}),ge=V(()=>f=>_(f,W.value)),ne=V(()=>({dp__calendar:!0,dp__calendar_next:g.value.count>0&&r.instance!==0})),pe=V(()=>f=>l.hideOffsetDates?f.current:!0),ue=async(f,S)=>{const{width:k,height:j}=f.getBoundingClientRect();W.value=S.value;let A={left:`${k/2}px`},ae=-50;if(await Ge(),Y.value?.[0]){const{left:ee,width:Me}=Y.value[0].getBoundingClientRect();ee<0&&(A={left:"0"},ae=0,U.value.left=`${k/2}px`),globalThis.innerWidth{const j=Yt(N.value?.[S]?.[k]);j&&(f.marker?.customPosition&&f.marker?.tooltip?.length?Z.value=f.marker.customPosition(j):await ue(j,f),s("tooltip-open",f.marker))},me=async(f,S,k)=>{if(q.value&&c.value.enabled&&c.value.dragSelect)return a("select-date",f);if(a("set-hover-date",f),f.marker?.tooltip?.length){if(l.hideOffsetDates&&!f.current)return;await ke(f,S,k)}},Te=f=>{W.value&&(W.value=null,Z.value=structuredClone({bottom:"",left:"",transform:""}),s("tooltip-close",f.marker))},D=(f,S,k)=>{f&&(Array.isArray(N.value[S])?N.value[S][k]=f:N.value[S]=[f])},R=f=>{h.value.monthChangeOnScroll&&(f.preventDefault(),a("handle-scroll",f))},Q=f=>w.value?w.value.type==="local"?Bn(f.value,{weekStartsOn:+l.weekStart,locale:l.locale}):w.value.type==="iso"?$n(f.value):typeof w.value.type=="function"?w.value.type(f.value):"":"",x=f=>{const S=f[0];return w.value?.hideOnOffsetDates?f.some(k=>k.current)?Q(S):"":Q(S)},B=(f,S,k=!0)=>{!k&&O()||(!c.value.enabled||h.value.allowPreventDefault)&&(M(f,h.value),a("select-date",S))},J=f=>{M(f,h.value)},T=f=>{c.value.enabled&&c.value.dragSelect?(q.value=!0,a("select-date",f)):c.value.enabled&&a("select-date",f)},L=()=>{const f=o(),S=ot(f,{locale:l.locale,weekStartsOn:+l.weekStart}),k=Rn(f,{locale:l.locale,weekStartsOn:+l.weekStart});return Yn({start:S,end:k}).map(j=>E(j))};return t({triggerTransition:le}),(f,S)=>(F(),te("div",{class:ye(ne.value)},[we("div",{ref:"calendar-wrap",class:ye(z.value),role:"grid"},[we("div",hc,[i(w)?(F(),te("div",yc,Ke(i(w).label),1)):re("",!0),(F(!0),te(Se,null,Ee($.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":i(p)?.weekDay?.(j)},[oe(f.$slots,"calendar-header",{day:k,index:j},()=>[At(Ke(k),1)])],8,gc))),128))]),S[2]||(S[2]=we("div",{class:"dp__calendar_header_separator"},null,-1)),He(da,{name:G.value,css:!!i(u)},{default:be(()=>[H.value?(F(),te("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:S[1]||(S[1]=k=>q.value=!1)},[(F(!0),te(Se,null,Ee(X.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_row",role:"row"},[i(w)?(F(),te("div",wc,[we("div",bc,Ke(x(k.days)),1)])):re("",!0),(F(!0),te(Se,null,Ee(k.days,(A,ae)=>(F(),te("div",{id:i(m)(A.value),ref_for:!0,ref:ee=>D(ee,j,ae),key:ae+j,role:"gridcell",class:"dp__calendar_item","aria-selected":(A.classData.dp__active_date||A.classData.dp__range_start||A.classData.dp__range_end)??void 0,"aria-disabled":A.classData.dp__cell_disabled||void 0,"aria-label":i(p)?.day?.(A),tabindex:!A.current&&i(l).hideOffsetDates?void 0:0,"data-test-id":i(m)(A.value),"data-dp-element-active":A.classData.dp__active_date?0:void 0,"data-dp-action-element":"0",onClick:sa(ee=>B(ee,A),["prevent"]),onTouchend:ee=>B(ee,A,!1),onKeydown:ee=>i(v)(ee,()=>f.$emit("select-date",A)),onMouseenter:ee=>me(A,j,ae),onMouseleave:ee=>Te(A),onMousedown:ee=>T(A),onMouseup:S[0]||(S[0]=ee=>q.value=!1)},[we("div",{class:ye(["dp__cell_inner",A.classData])},[f.$slots.day&&pe.value(A)?oe(f.$slots,"day",{key:0,day:+A.text,date:A.value}):re("",!0),f.$slots.day?re("",!0):(F(),te(Se,{key:1},[At(Ke(A.text),1)],64)),A.marker&&pe.value(A)?oe(f.$slots,"marker",{key:2,marker:A.marker,day:+A.text,date:A.value},()=>[we("div",{class:ye(fe.value(A.marker)),style:tt(A.marker.color?{backgroundColor:A.marker.color}:{})},null,6)]):re("",!0),ge.value(A.value)?(F(),te("div",{key:3,ref_for:!0,ref:"active-tooltip",class:"dp__marker_tooltip",style:tt(Z.value)},[A.marker?.tooltip?(F(),te("div",{key:0,class:"dp__tooltip_content",onClick:J},[(F(!0),te(Se,null,Ee(A.marker.tooltip,(ee,Me)=>(F(),te("div",{key:Me,class:"dp__tooltip_text"},[oe(f.$slots,"marker-tooltip",{tooltip:ee,day:A.value},()=>[we("div",{class:"dp__tooltip_mark",style:tt(ee.color?{backgroundColor:ee.color}:{})},null,4),we("div",null,Ke(ee.text),1)])]))),128)),we("div",{class:"dp__arrow_bottom_tp",style:tt(U.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,kc))),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Dc=(e,t,n,a)=>{const r=ie([]),o=ie(new Date),s=ie(),{getDate:l,rootEmit:u,calendars:h,month:p,year:g,time:w,modelValue:c,rootProps:y,today:b,state:_,defaults:{multiCalendars:d,startTime:m,range:v,config:M,safeDates:O,multiDates:E,timeConfig:P,flow:Y}}=Pe(),{validateMonthYearInRange:N,isDisabled:W,isDateRangeAllowed:H,checkMinMaxRange:q}=st(),{updateTimeValues:G,getSetDateTime:Z,assignTime:U,assignStartTime:X,validateTime:$,disabledTimesConfig:I}=Jr(a),{formatDay:le}=Nt(),{resetDateTime:z,setTime:se,isDateBefore:fe,isDateEqual:ge,getDaysInBetween:ne}=Xe(),{checkRangeAutoApply:pe,getRangeWithFixedDate:ue,handleMultiDatesSelect:ke,setPresetDate:me}=nn(),{getMapDate:Te}=qe();Sa(()=>T(_.isTextInputDate));const D=C=>!M.value.keepViewOnOffsetClick||C?!0:!s.value,R=(C,K,de,De=!1)=>{D(De)&&(h.value[C]??=h.value[C]={month:0,year:0},h.value[C].month=K??h.value[C]?.month,h.value[C].year=de??h.value[C]?.year)},Q=()=>{y.autoApply&&t("select-date")},x=()=>{m.value&&X(m.value)};je(()=>{c.value||(Ra(),x()),T(!0),y.focusStartDate&&y.startDate&&Ra()});const B=V(()=>Y.value?.steps?.length&&!Y.value?.partial?e.flowStep===Y.value.steps.length:!0),J=()=>{y.autoApply&&B.value&&t("auto-apply",Y.value?.partial?e.flowStep!==Y.value?.steps?.length:!1)},T=(C=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,ee(C)):k(c.value,C);if(d.value.count&&C&&!y.startDate)return S(l(),C)},L=()=>Array.isArray(c.value)&&v.value.enabled?Ae(c.value[0])===Ae(c.value[1]??c.value[0]):!1,f=C=>{const K=ft(C,1);return{month:Ae(K),year:he(K)}},S=(C=l(),K=!1)=>{if((!d.value.count||!d.value.static||K)&&R(0,Ae(C),he(C)),d.value.count&&(!c.value||L()||!d.value.solo)&&(!d.value.solo||K))for(let de=1;de{S(C),U("hours",xt(C)),U("minutes",Tt(C)),U("seconds",Et(C)),d.value.count&&K&&Xt()},j=C=>{if(d.value.count){if(d.value.solo)return 0;const K=Ae(C[0]),de=Ae(C[1]);return Math.abs(de-K){C[1]&&v.value.showLastInRange?S(C[j(C)],K):S(C[0],K);const de=(De,Fe)=>[De(C[0]),C?.[1]?De(C[1]):w[Fe][1]];U("hours",de(xt,"hours")),U("minutes",de(Tt,"minutes")),U("seconds",de(Et,"seconds"))},ae=(C,K)=>{if((v.value.enabled||y.weekPicker)&&!E.value.enabled)return A(C,K);if(E.value.enabled&&K){const de=C[C.length-1];return k(de,K)}},ee=C=>{const K=c.value;ae(K,C),d.value.count&&d.value.solo&&Xt()},Me=(C,K)=>{const de=xe(l(),{month:p.value(K),year:g.value(K)}),De=C<0?ft(de,1):ca(de,1);N(Ae(De),he(De),C<0,y.preventMinMaxNavigation)&&(R(K,Ae(De),he(De)),u("update-month-year",{instance:K,month:Ae(De),year:he(De)}),d.value.count&&!d.value.solo&&_e(K),n())},_e=C=>{for(let K=C-1;K>=0;K--){const de=ca(xe(l(),{month:p.value(K+1),year:g.value(K+1)}),1);R(K,Ae(de),he(de))}for(let K=C+1;K<=d.value.count-1;K++){const de=ft(xe(l(),{month:p.value(K-1),year:g.value(K-1)}),1);R(K,Ae(de),he(de))}},Xt=()=>{if(Array.isArray(c.value)&&c.value.length===2){const C=l(l(c.value[1]??ft(c.value[0],1))),[K,de]=[Ae(c.value[0]),he(c.value[0])],[De,Fe]=[Ae(c.value[1]),he(c.value[1])];(K!==De||K===De&&de!==Fe)&&d.value.solo&&R(1,Ae(C),he(C))}else c.value&&!Array.isArray(c.value)&&(R(0,Ae(c.value),he(c.value)),S(l()))},Ra=()=>{y.startDate&&(R(0,Ae(l(y.startDate)),he(l(y.startDate))),d.value.count&&_e(0))},$a=(C,K)=>{if(M.value.monthChangeOnScroll){const de=Date.now()-o.value.getTime(),De=Math.abs(C.deltaY);let Fe=500;De>1&&(Fe=100),De>100&&(Fe=0),de>Fe&&(o.value=new Date,Me(M.value.monthChangeOnScroll==="inverse"?C.deltaY:-C.deltaY,K))}},rn=(C,K,de=!1)=>{M.value.monthChangeOnArrows&&y.vertical===de&&Ea(C,K)},Ea=(C,K)=>{Me(C==="right"?-1:1,K)},on=C=>{if(O.value.markers)return Te(C.value,O.value.markers)},sn=(C,K)=>{switch(y.sixWeeks===!0?"append":y.sixWeeks){case"prepend":return[!0,!1];case"center":return[C==0,!0];case"fair":return[C==0||K>C,!0];case"append":return[!1,!1];default:return[!1,!1]}},ln=(C,K,de,De)=>{if(y.sixWeeks&&C.length<6){const Fe=6-C.length,Ot=(K.getDay()+7-De)%7,Qt=6-(de.getDay()+7-De)%7,[pa,Fa]=sn(Ot,Qt);for(let ha=1;ha<=Fe;ha++)if(Fa?!!(ha%2)==pa:pa){const Ct=C[0].days[0],fn=ma(rt(Ct.value,-7),Ae(K));C.unshift({days:fn})}else{const Ct=C[C.length-1],fn=Ct.days[Ct.days.length-1],co=ma(rt(fn.value,1),Ae(K));C.push({days:co})}}return C},ma=(C,K)=>{const de=l(C),De=[];for(let Fe=0;Fe<7;Fe++){const Ot=rt(de,Fe),Qt=Ae(Ot)!==K;De.push({text:y.hideOffsetDates&&Qt?"":le(Ot),value:Ot,current:!Qt,classData:{}})}return De},un=(C,K)=>{const de=[],De=l(new Date(K,C)),Fe=l(new Date(K,C+1,0)),Ot=y.weekStart,Qt=ot(De,{weekStartsOn:Ot}),pa=Fa=>{const ha=ma(Fa,C);if(de.push({days:ha}),!de[de.length-1].days.some(Ct=>ge(l(Ct.value),z(Fe)))){const Ct=rt(Fa,7);pa(Ct)}};return pa(Qt),ln(de,De,Fe,Ot)},cn=C=>{const K=se({hours:w.hours,minutes:w.minutes,seconds:Na()},l(C.value));u("date-click",K),E.value.enabled?ke(K,E.value.limit):c.value=K,a(),Ge().then(()=>{J()})},Ba=C=>v.value.noDisabledRange?ne(r.value[0],C).some(K=>W(K)):!1,ce=()=>{r.value=c.value?c.value.slice().filter(C=>!!C):[],r.value.length===2&&!(v.value.fixedStart||v.value.fixedEnd)&&(r.value=[])},Ze=(C,K)=>{const de=[l(C.value),rt(l(C.value),+v.value.autoRange)];H(de)?(K&<(C.value),r.value=de):u("invalid-date",C.value)},lt=C=>{const K=Ae(l(C)),de=he(l(C));if(R(0,K,de),d.value.count>0)for(let De=1;De{if(Ba(C.value)||!q(C.value,c.value,v.value.fixedStart?0:1))return u("invalid-date",C.value);r.value=ue(l(C.value))},Ft=(C,K)=>{if(ce(),v.value.autoRange)return Ze(C,K);if(v.value.fixedStart||v.value.fixedEnd)return va(C);r.value[0]?q(l(C.value),c.value)&&!Ba(C.value)?fe(l(C.value),l(r.value[0]))?v.value.autoSwitchStartEnd?(r.value.unshift(l(C.value)),u("range-end",r.value[0])):(r.value[0]=l(C.value),u("range-start",r.value[0])):(r.value[1]=l(C.value),u("range-end",r.value[1])):u("invalid-date",C.value):(r.value[0]=l(C.value),u("range-start",r.value[0]))},Na=(C=!0)=>P.value.enableSeconds?Array.isArray(w.seconds)?C?w.seconds[0]:w.seconds[1]:w.seconds:0,dn=C=>{r.value[C]=se({hours:w.hours[C],minutes:w.minutes[C],seconds:Na(C!==1)},r.value[C])},eo=()=>{r.value[0]&&r.value[1]&&+r.value?.[0]>+r.value?.[1]&&(r.value.reverse(),u("range-start",r.value[0]),u("range-end",r.value[1]))},to=()=>{r.value.length&&(r.value[0]&&!r.value[1]?dn(0):(dn(0),dn(1),a()),eo(),c.value=r.value.slice(),pe(r.value,t,r.value.length<2||Y.value?.steps.length?e.flowStep!==Y.value?.steps?.length:!1))},ao=(C,K=!1)=>{if(W(C.value)||!C.current&&y.hideOffsetDates)return u("invalid-date",C.value);if(s.value=structuredClone(C),!v.value.enabled)return cn(C);Array.isArray(w.hours)&&Array.isArray(w.minutes)&&!E.value.enabled&&(Ft(C,K),to())},no=(C,K)=>{R(C,K.month,K.year,!0),d.value.count&&!d.value.solo&&_e(C),u("update-month-year",{instance:C,month:K.month,year:K.year}),n(d.value.solo?C:void 0);const de=Y.value?.steps?.length?Y.value.steps[e.flowStep]:void 0;!K.fromNav&&(de===Qe.month||de===Qe.year)&&a()},ro=C=>{me({value:C}),Q(),y.multiCalendars&&Ge().then(()=>T(!0))},oo=()=>{let C=l();return y.actionRow?.nowBtnRound&&(C=Di(C,{roundingMethod:y.actionRow.nowBtnRound.rounding??"ceil",nearestTo:y.actionRow.nowBtnRound.roundTo??15})),C},so=()=>{const C=oo();!v.value.enabled&&!E.value.enabled?c.value=C:c.value&&Array.isArray(c.value)&&c.value[0]?E.value.enabled?c.value=[...c.value,C]:c.value=fe(C,c.value[0])?[C,c.value[0]]:[c.value[0],C]:c.value=[C],Q()},lo=()=>{if(Array.isArray(c.value))if(E.value.enabled){const C=io();c.value[c.value.length-1]=Z(C)}else c.value=c.value.map((C,K)=>C&&Z(C,K));else c.value=Z(c.value);t("time-update")},io=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null,uo=C=>{let K="";if(v.value.enabled&&Array.isArray(c.value))for(const de of Object.keys(C)){const De=C[de];Array.isArray(De)&&(w[de][0]!==De[0]&&(K="range-start"),w[de][1]!==De[1]&&(K="range-start"))}return K};return{calendars:h,modelValue:c,month:p,year:g,time:w,disabledTimesConfig:I,today:b,validateTime:$,getCalendarDays:un,getMarker:on,handleScroll:$a,handleSwipe:Ea,handleArrow:rn,selectDate:ao,updateMonthYear:no,presetDate:ro,selectCurrentDate:so,updateTime:C=>{const K=uo(C);G(C,lo),K&&u(K,c.value[K==="range-start"?0:1])},assignMonthAndYear:S,setStartTime:x}},xc=()=>{const{isModelAuto:e,matchDate:t,isDateAfter:n,isDateBefore:a,isDateBetween:r,isDateEqual:o,getWeekFromDate:s,getBeforeAndAfterInRange:l}=Xe(),{getDate:u,today:h,rootProps:p,defaults:{multiCalendars:g,multiDates:w,ui:c,highlight:y,safeDates:b,range:_},modelValue:d}=Pe(),{isDisabled:m}=st(),v=ie(null),M=f=>{!f.current&&p.hideOffsetDates||(v.value=f.value)},O=()=>{v.value=null},E=f=>Array.isArray(d.value)&&_.value.enabled&&d.value[0]&&v.value?f?n(v.value,d.value[0]):a(v.value,d.value[0]):!0,P=(f,S)=>{const k=()=>d.value?S?d.value[0]||null:d.value[1]:null,j=d.value&&Array.isArray(d.value)?k():null;return o(u(f.value),j)},Y=f=>{const S=Array.isArray(d.value)?d.value[0]:null;return f?!a(v.value,S):!0},N=(f,S=!0)=>(_.value.enabled||p.weekPicker)&&Array.isArray(d.value)&&d.value.length===2?p.hideOffsetDates&&!f.current?!1:o(u(f.value),d.value[S?0:1]):_.value.enabled?P(f,S)&&Y(S)||o(f.value,Array.isArray(d.value)?d.value[0]:null)&&E(S):!1,W=(f,S)=>{if(Array.isArray(d.value)&&d.value[0]&&d.value.length===1){const k=o(f.value,v.value);return S?n(d.value[0],f.value)&&k:a(d.value[0],f.value)&&k}return!1},H=f=>!d.value||p.hideOffsetDates&&!f.current?!1:_.value.enabled?p.modelAuto&&Array.isArray(d.value)?o(f.value,d.value[0]??h):!1:w.value.enabled&&Array.isArray(d.value)?d.value.some(S=>o(S,f.value)):o(f.value,d.value?d.value:h),q=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=rt(v.value,+_.value.autoRange),k=s(u(v.value),p.weekStart);return p.weekPicker?o(k[1],u(f.value)):o(S,u(f.value))}return!1}return!1},G=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){const S=rt(v.value,+_.value.autoRange);if(p.hideOffsetDates&&!f.current)return!1;const k=s(u(v.value),p.weekStart);return p.weekPicker?n(f.value,k[0])&&a(f.value,k[1]):n(f.value,v.value)&&a(f.value,S)}return!1}return!1},Z=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=s(u(v.value),p.weekStart);return p.weekPicker?o(S[0],f.value):o(v.value,f.value)}return!1}return!1},U=f=>r(d.value,v.value,f.value),X=()=>p.modelAuto&&Array.isArray(d.value)?!!d.value[0]:!1,$=()=>p.modelAuto?e(d.value):!0,I=f=>{if(p.weekPicker)return!1;const S=_.value.enabled?!N(f)&&!N(f,!1):!0;return!m(f.value)&&!H(f)&&!(!f.current&&p.hideOffsetDates)&&S},le=f=>_.value.enabled?p.modelAuto?X()&&H(f):!1:H(f),z=f=>y.value?t(f.value,b.value.highlight):!1,se=f=>{const S=m(f.value);return S&&(typeof y.value=="function"?!y.value(f.value,S):!y.value.options.highlightDisabled)},fe=f=>typeof y.value=="function"?y.value(f.value):y.value.weekdays?.includes(f.value.getDay()),ge=f=>(_.value.enabled||p.weekPicker)&&(!(g.value.count>0)||f.current)&&$()&&!(!f.current&&p.hideOffsetDates)&&!H(f)?U(f):!1,ne=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.maxRange,d.value[0]);return Pt(f.value,S)||wt(f.value,k)}return!1},pe=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.minRange,d.value[0]);return r([S,k],d.value[0],f.value)}return!1},ue=f=>_.value.enabled&&(_.value.maxRange||_.value.minRange)?_.value.maxRange&&_.value.minRange?ne(f)||pe(f):_.value.maxRange?ne(f):pe(f):!1,ke=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f),j=_.value.enabled?S||k:!1;return{dp__cell_offset:!f.current,dp__pointer:!p.disabled&&!(!f.current&&p.hideOffsetDates)&&!m(f.value)&&!ue(f),dp__cell_disabled:m(f.value)||ue(f),dp__cell_highlight:!se(f)&&(z(f)||fe(f))&&!le(f)&&!j&&!Z(f)&&!(ge(f)&&p.weekPicker)&&!k,dp__cell_highlight_active:!se(f)&&(z(f)||fe(f))&&le(f),dp__today:!p.noToday&&o(f.value,h)&&f.current,"dp--past":a(f.value,h),"dp--future":n(f.value,h)}},me=f=>({dp__active_date:le(f),dp__date_hover:I(f)}),Te=f=>{if(d.value&&!Array.isArray(d.value)){const S=s(d.value,p.weekStart);return{...T(f),dp__range_start:o(S[0],f.value),dp__range_end:o(S[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])}}return{...T(f)}},D=f=>{if(d.value&&Array.isArray(d.value)){const S=s(d.value[0],p.weekStart),k=d.value[1]?s(d.value[1],p.weekStart):[];return{...T(f),dp__range_start:o(S[0],f.value)||o(k[0],f.value),dp__range_end:o(S[1],f.value)||o(k[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])||n(f.value,k[0])&&a(f.value,k[1]),dp__range_between:n(f.value,S[1])&&a(f.value,k[0])}}return{...T(f)}},R=f=>{const S=g.value.count>0?f.current&&N(f)&&$():N(f)&&$(),k=g.value.count>0?f.current&&N(f,!1)&&$():N(f,!1)&&$();return{isRangeStart:S,isRangeEnd:k}},Q=f=>_.value.enabled&&(_.value.fixedStart||_.value.fixedEnd)&&Array.isArray(d.value)&&d.value.length===2,x=(f,S,k,j)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&o(f.value,v.value)&&Pt(f.value,d.value[0])&&!k:_.value.fixedStart&&o(f.value,v.value)&&wt(f.value,d.value[1])&&!j,B=(f,S)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&wt(f.value,v.value)&&Pt(f.value,d.value[0]):_.value.fixedStart&&Pt(f.value,v.value)&&wt(f.value,d.value[1]),J=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f);return{dp__range_start:S,dp__range_end:k,dp__range_between:ge(f),dp__date_hover:o(f.value,v.value)&&!S&&!k&&!p.weekPicker,dp__date_hover_start:W(f,!0)||x(f,!0,S,k),dp__date_hover_end:W(f,!1)||x(f,!1,S,k),"dp--extended-fixed-start":B(f,!0),"dp--extended-fixed-end":B(f,!1)}},T=f=>({...J(f),dp__cell_auto_range:G(f),dp__cell_auto_range_start:Z(f),dp__cell_auto_range_end:q(f)}),L=f=>_.value.enabled?_.value.autoRange?T(f):p.modelAuto?{...me(f),...J(f)}:p.weekPicker?D(f):J(f):p.weekPicker?Te(f):me(f);return{setHoverDate:M,clearHoverDate:O,getDayClassData:f=>p.hideOffsetDates&&!f.current?{}:{...ke(f),...L(f),[c.value.dayClass?c.value.dayClass(f.value,d.value):""]:!0,...c.value.calendarCell}}},Mc={key:0},Pc=Ue({__name:"DatePicker",props:cr({flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},Du),emits:["mount","update-flow-step","reset-flow","focus-menu","select-date","time-update","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{month:o,year:s,modelValue:l,time:u,disabledTimesConfig:h,today:p,validateTime:g,getCalendarDays:w,getMarker:c,handleArrow:y,handleScroll:b,handleSwipe:_,selectDate:d,updateMonthYear:m,presetDate:v,selectCurrentDate:M,updateTime:O,assignMonthAndYear:E,setStartTime:P}=Dc(r,a,me,Te),Y=Bt(),{setHoverDate:N,getDayClassData:W,clearHoverDate:H}=xc(),{getDate:q,rootEmit:G,rootProps:Z,defaults:{multiCalendars:U,timeConfig:X}}=Pe(),{getYears:$,getMonths:I}=en(),{getCellId:le}=Xe(),z=Be("calendar-header"),se=Be("calendar"),fe=Be("time-picker"),ge=_t(Y,mt.Calendar),ne=_t(Y,mt.DatePickerHeader),pe=_t(Y,mt.TimePicker),ue=L=>{a("mount",L)};Je(U,(L,f)=>{L.count-f.count>0&&E()},{deep:!0});const ke=V(()=>L=>w(o.value(L),s.value(L)).map(f=>({...f,days:f.days.map(S=>(S.marker=c(S),S.classData=W(S),S))})));function me(L){L||L===0?se.value?.[L]?.triggerTransition(o.value(L),s.value(L)):se.value?.forEach((f,S)=>f?.triggerTransition(o.value(S),s.value(S)))}function Te(){a("update-flow-step")}const D=(L,f,S=0)=>{z.value?.[S]?.toggleMonthPicker(L,f)},R=(L,f,S=0)=>{z.value?.[S]?.toggleYearPicker(L,f)},Q=(L,f,S)=>{fe.value?.toggleTimePicker(L,f,S)},x=(L,f)=>{if(!Z.range){const S=l.value?l.value:p,k=f?q(f):S,j=L?ot(k,{weekStartsOn:1}):Rn(k,{weekStartsOn:1});d({value:j,current:Ae(k)===o.value(0),text:"",classData:{}}),document.getElementById(le(j))?.focus()}},B=L=>{z.value?.[0]?.handleMonthYearChange(L,!0)},J=L=>{m(0,{month:o.value(0),year:s.value(0)+(L?1:-1),fromNav:!0})},T=L=>{G("overlay-toggle",{open:!1,overlay:L}),a("focus-menu")};return t({clearHoverDate:H,presetDate:v,selectCurrentDate:M,handleArrow:y,updateMonthYear:m,setStartTime:P,toggleMonthPicker:D,toggleYearPicker:R,toggleTimePicker:Q,getSidebarProps:()=>({modelValue:l,month:o,year:s,time:u,updateTime:O,updateMonthYear:m,selectDate:d,presetDate:v}),changeMonth:B,changeYear:J,selectWeekDate:x}),(L,f)=>(F(),te(Se,null,[He(an,{collapse:e.collapse},{default:be(({instances:S,wrapClass:k})=>[(F(!0),te(Se,null,Ee(S,j=>(F(),te("div",{key:j,class:ye(k)},[i(Z).hideMonthYearSelect?re("",!0):(F(),$e(pc,{key:0,ref_for:!0,ref:"calendar-header",months:i(I)(),years:i($)(),month:i(o)(j),year:i(s)(j),instance:j,"menu-wrap-ref":e.menuWrapRef,onMount:f[0]||(f[0]=A=>ue(i(Ht).header)),onResetFlow:f[1]||(f[1]=A=>L.$emit("reset-flow")),onUpdateMonthYear:A=>i(m)(j,A),onOverlayClosed:T},ze({_:2},[Ee(i(ne),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["months","years","month","year","instance","menu-wrap-ref","onUpdateMonthYear"])),He(_c,{ref_for:!0,ref:"calendar","mapped-dates":ke.value(j),instance:j,month:i(o)(j),year:i(s)(j),onSelectDate:A=>i(d)(A,j!==1),onSetHoverDate:f[2]||(f[2]=A=>i(N)(A)),onHandleScroll:A=>i(b)(A,j),onHandleSwipe:A=>i(_)(A,j),onMount:f[3]||(f[3]=A=>ue(i(Ht).calendar))},ze({_:2},[Ee(i(ge),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["mapped-dates","instance","month","year","onSelectDate","onHandleScroll","onHandleSwipe"])],2))),128))]),_:3},8,["collapse"]),i(X).enableTimePicker?(F(),te("div",Mc,[oe(L.$slots,"time-picker",et(dt({time:i(u),updateTime:i(O)})),()=>[He(Zr,{ref:"time-picker",hours:i(u).hours,minutes:i(u).minutes,seconds:i(u).seconds,"disabled-times-config":i(h),"validate-time":i(g),"no-overlay-focus":e.noOverlayFocus,onMount:f[4]||(f[4]=S=>ue(i(Ht).timePicker)),"onUpdate:hours":f[5]||(f[5]=S=>i(O)({hours:S,minutes:i(u).minutes,seconds:i(u).seconds})),"onUpdate:minutes":f[6]||(f[6]=S=>i(O)({hours:i(u).hours,minutes:S,seconds:i(u).seconds})),"onUpdate:seconds":f[7]||(f[7]=S=>i(O)({hours:i(u).hours,minutes:i(u).minutes,seconds:S})),onResetFlow:f[8]||(f[8]=S=>L.$emit("reset-flow"))},ze({_:2},[Ee(i(pe),(S,k)=>({name:S,fn:be(j=>[oe(L.$slots,S,et(dt(j)))])}))]),1032,["hours","minutes","seconds","disabled-times-config","validate-time","no-overlay-focus"])])])):re("",!0)],64))}}),Ac=(e,t)=>{const{getDate:n,modelValue:a,year:r,calendars:o,defaults:{highlight:s,range:l,multiDates:u}}=Pe(),{isDateBetween:h,isDateEqual:p}=Xe(),{checkRangeAutoApply:g,handleMultiDatesSelect:w,setMonthOrYearRange:c}=nn();Sa();const{isDisabled:y}=st(),{formatQuarterText:b}=Nt(),{selectYear:_,groupedYears:d,showYearPicker:m,isDisabled:v,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setStartDate:P}=Gr(t),Y=ie();je(()=>{P()});const N=V(()=>$=>a.value?Array.isArray(a.value)?a.value.some(I=>nr($,I)):nr(a.value,$):!1),W=$=>{if(l.value.enabled){if(Array.isArray(a.value)){const I=p($,a.value[0])||p($,a.value[1]);return h(a.value,Y.value,$)&&!I}return!1}return!1},H=($,I)=>$.quarter===Gn(I)&&$.year===he(I),q=$=>typeof s.value=="function"?s.value({quarter:Gn($),year:he($)}):s.value.quarters.some(I=>H(I,$)),G=V(()=>$=>{const I=xe(n(),{year:r.value($)});return Ss({start:oa(I),end:Tr(I)}).map(le=>{const z=Lt(le),se=Zn(le),fe=y(le),ge=W(z),ne=q(z);return{text:b(z,se),value:z,active:N.value(z),highlighted:ne,disabled:fe,isBetween:ge}})}),Z=$=>{w($,u.value.limit),t("auto-apply",!0)},U=$=>{a.value=c($),g(a.value,t,a.value.length<2)},X=$=>{a.value=$,t("auto-apply")};return{groupedYears:d,year:r,isDisabled:v,quarters:G,showYearPicker:m,modelValue:a,selectYear:_,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setHoverDate:$=>{Y.value=$},selectQuarter:($,I,le)=>{if(!le)return o.value[I].month=Ae(Zn($)),u.value.enabled?Z($):l.value.enabled?U($):X($)}}},Tc={class:"dp--quarter-items"},Oc=["data-test-id","disabled","onClick","onMouseover"],Cc=Ue({__name:"QuarterPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaults:{config:o}}=Pe(),s=Bt(),{boolHtmlAttribute:l}=fa(),u=_t(s,mt.YearMode),{groupedYears:h,year:p,isDisabled:g,quarters:w,modelValue:c,showYearPicker:y,setHoverDate:b,selectQuarter:_,toggleYearPicker:d,handleYearSelect:m,handleYear:v}=Ac(r,a);return t({getSidebarProps:()=>({modelValue:c,year:p,selectQuarter:_,handleYearSelect:m,handleYear:v})}),(M,O)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:E,wrapClass:P})=>[(F(!0),te(Se,null,Ee(E,Y=>(F(),te("div",{key:Y,class:ye(P)},[we("div",{class:"dp-quarter-picker-wrap",style:tt({minHeight:`${i(o).modeHeight}px`})},[M.$slots["top-extra"]?oe(M.$slots,"top-extra",{key:0,value:i(c)}):re("",!0),we("div",null,[He(Qr,{items:i(h)(Y),instance:Y,"show-year-picker":i(y)[Y],year:i(p)(Y),"is-disabled":N=>i(g)(Y,N),onHandleYear:N=>i(v)(Y,N),onYearSelect:N=>i(m)(N,Y),onToggleYearPicker:N=>i(d)(Y,N?.flow,N?.show)},ze({_:2},[Ee(i(u),(N,W)=>({name:N,fn:be(H=>[oe(M.$slots,N,vt({ref_for:!0},H))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),we("div",Tc,[(F(!0),te(Se,null,Ee(i(w)(Y),(N,W)=>(F(),te("div",{key:W},[we("button",{type:"button",class:ye(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-dp-action-element":"0","data-test-id":N.value,disabled:i(l)(N.disabled),onClick:H=>i(_)(N.value,Y,N.disabled),onMouseover:H=>i(b)(N.value)},[oe(M.$slots,"quarter",{value:N.value,text:N.text},()=>[At(Ke(N.text),1)])],42,Oc)]))),128))])],4)],2))),128))]),_:3},8,["collapse"]))}}),Sc=["id","tabindex","role","aria-label"],Yc={key:0,class:"dp--menu-load-container"},Rc={key:1,class:"dp--menu-header"},$c=["data-dp-mobile"],Ec={key:0,class:"dp__sidebar_left"},Bc=["data-dp-mobile"],Nc=["data-test-id","data-dp-mobile","onClick","onKeydown"],Fc={class:"dp__instance_calendar"},Vc={key:2,class:"dp__sidebar_right"},Lc={key:2,class:"dp__action_extra"},Wc=Ue({__name:"DatepickerMenu",props:{collapse:{type:Boolean},noOverlayFocus:{type:Boolean},getInputRect:{type:Function}},emits:["close-picker","select-date","auto-apply","time-update","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),{state:o,rootProps:s,defaults:{textInput:l,inline:u,config:h,ui:p,ariaLabels:g},setState:w}=Pe(),{isMobile:c}=Ja(),{handleEventPropagation:y,getElWithin:b,checkStopPropagation:_,checkKeyDown:d}=qe();$i();const m=Be("inner-menu"),v=Be("dp-menu"),M=Be("dyn-cmp"),O=ie(0),E=ie(!1),P=ie(!1),{flowStep:Y,updateFlowStep:N,childMount:W,resetFlow:H,handleFlow:q}=Bi(M),G=T=>{P.value=!0,h.value.allowPreventDefault&&T.preventDefault(),_(T,h.value,!0)};je(()=>{E.value=!0,Z(),globalThis.addEventListener("resize",Z);const T=Yt(v);T&&!l.value.enabled&&!u.value.enabled&&w("menuFocused",!0),T&&(T.addEventListener("pointerdown",G),T.addEventListener("mousedown",G)),document.addEventListener("mousedown",J)}),jt(()=>{globalThis.removeEventListener("resize",Z),document.removeEventListener("mousedown",J);const T=Yt(v);T&&(T.removeEventListener("pointerdown",G),T.removeEventListener("mousedown",G))});const Z=()=>{const T=Yt(m);T&&(O.value=T.getBoundingClientRect().width)},U=V(()=>s.monthPicker?ju:s.yearPicker?Ku:s.timePicker?ic:s.quarterPicker?Cc:Pc),X=()=>{const T=Yt(v);T&&T.focus({preventScroll:!0})},$=V(()=>M.value?.getSidebarProps()||{}),I=_t(r,mt.ActionRow),le=_t(r,mt.PassTrough),z=V(()=>({dp__menu_disabled:s.disabled,dp__menu_readonly:s.readonly,"dp-menu-loading":s.loading})),se=V(()=>({dp__menu:!0,dp__menu_index:!u.value.enabled,dp__relative:u.value.enabled,...p.value.menu})),fe=T=>{_(T,h.value,!0)},ge=T=>{h.value.escClose&&(a("close-picker"),y(T,h.value))},ne=T=>{s.arrowNavigation||(T===ut.left||T===ut.up?me("handleArrow",ut.left,0,T===ut.up):me("handleArrow",ut.right,0,T===ut.down))},pe=T=>{w("shiftKeyInMenu",T.shiftKey),!s.hideMonthYearSelect&&T.code===Re.tab&&T.target.classList.contains("dp__menu")&&o.shiftKeyInMenu&&(T.preventDefault(),_(T,h.value,!0),a("close-picker"))},ue=T=>{M.value?.toggleTimePicker(!1,!1),M.value?.toggleMonthPicker(!1,!1,T),M.value?.toggleYearPicker(!1,!1,T)},ke=(T,L=0)=>T==="month"?M.value?.toggleMonthPicker(!1,!0,L):T==="year"?M.value?.toggleYearPicker(!1,!0,L):T==="time"?M.value?.toggleTimePicker(!0,!1):ue(L),me=(T,...L)=>{M.value?.[T]&&M.value?.[T](...L)},Te=()=>{me("selectCurrentDate")},D=T=>{me("presetDate",wo(T))},R=()=>{me("clearHoverDate")},Q=(T,L)=>{me("updateMonthYear",T,L)},x=(T,L)=>{T.preventDefault(),ne(L)},B=T=>{if(pe(T),T.key===Re.home||T.key===Re.end)return me("selectWeekDate",T.key===Re.home,T.target.getAttribute("id"));switch((T.key===Re.pageUp||T.key===Re.pageDown)&&(T.shiftKey?(me("changeYear",T.key===Re.pageUp),b(v.value,"overlay-year")?.focus()):(me("changeMonth",T.key===Re.pageUp),b(v.value,T.key===Re.pageUp?"action-prev":"action-next")?.focus()),T.target.getAttribute("id")&&v.value?.focus({preventScroll:!0})),T.key){case Re.esc:return ge(T);case Re.arrowLeft:return x(T,ut.left);case Re.arrowRight:return x(T,ut.right);case Re.arrowUp:return x(T,ut.up);case Re.arrowDown:return x(T,ut.down);default:return}},J=T=>{u.value.enabled&&!u.value.input&&!v.value?.contains(T.target)&&P.value&&(P.value=!1,a("menu-blur"))};return t({updateMonthYear:Q,switchView:ke,onValueCleared:()=>{M.value?.setStartTime?.()},handleFlow:q}),(T,L)=>(F(),te("div",{id:i(s).menuId,ref:"dp-menu",tabindex:i(u).enabled?void 0:"0",role:i(u).enabled?void 0:"dialog","aria-label":i(g)?.menu,class:ye(se.value),onMouseleave:R,onClick:fe,onKeydown:B},[(i(s).disabled||i(s).readonly)&&i(u).enabled||i(s).loading?(F(),te("div",{key:0,class:ye(z.value)},[i(s).loading?(F(),te("div",Yc,[...L[5]||(L[5]=[we("span",{class:"dp--menu-loader"},null,-1)])])):re("",!0)],2)):re("",!0),T.$slots["menu-header"]?(F(),te("div",Rc,[oe(T.$slots,"menu-header")])):re("",!0),oe(T.$slots,"arrow"),we("div",{ref:"inner-menu",class:ye({dp__menu_content_wrapper:i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"])}),"data-dp-mobile":i(c),style:tt({"--dp-menu-width":`${O.value}px`})},[T.$slots["left-sidebar"]?(F(),te("div",Ec,[oe(T.$slots,"left-sidebar",et(dt($.value)))])):re("",!0),i(s).presetDates.length?(F(),te("div",{key:1,class:ye({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(c)},[(F(!0),te(Se,null,Ee(i(s).presetDates,(f,S)=>(F(),te(Se,{key:S},[f.slot?oe(T.$slots,f.slot,{key:0,presetDate:D,label:f.label,value:f.value}):(F(),te("button",{key:1,type:"button",style:tt(f.style||{}),class:ye(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":f.testId??void 0,"data-dp-mobile":i(c),onClick:sa(k=>D(f.value),["prevent"]),onKeydown:k=>i(d)(k,()=>D(f.value),!0)},Ke(f.label),47,Nc))],64))),128))],10,Bc)):re("",!0),we("div",Fc,[(F(),$e(xn(U.value),{ref:"dyn-cmp","flow-step":i(Y),collapse:e.collapse,"no-overlay-focus":e.noOverlayFocus,"menu-wrap-ref":v.value,onMount:i(W),onUpdateFlowStep:i(N),onResetFlow:i(H),onFocusMenu:X,onSelectDate:L[0]||(L[0]=f=>T.$emit("select-date")),onAutoApply:L[1]||(L[1]=f=>T.$emit("auto-apply",f)),onTimeUpdate:L[2]||(L[2]=f=>T.$emit("time-update"))},ze({_:2},[Ee(i(le),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt({...k})))])}))]),1064,["flow-step","collapse","no-overlay-focus","menu-wrap-ref","onMount","onUpdateFlowStep","onResetFlow"]))]),T.$slots["right-sidebar"]?(F(),te("div",Vc,[oe(T.$slots,"right-sidebar",et(dt($.value)))])):re("",!0)],14,$c),T.$slots["action-extra"]?(F(),te("div",Lc,[T.$slots["action-extra"]?oe(T.$slots,"action-extra",{key:0,selectCurrentDate:Te}):re("",!0)])):re("",!0),!i(s).autoApply||i(h).keepActionRow?(F(),$e(Nu,{key:3,"menu-mount":E.value,"calendar-width":O.value,onClosePicker:L[3]||(L[3]=f=>T.$emit("close-picker")),onSelectDate:L[4]||(L[4]=f=>T.$emit("select-date")),onSelectNow:Te},ze({_:2},[Ee(i(I),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt(k)))])}))]),1032,["menu-mount","calendar-width"])):re("",!0)],42,Sc))}}),Ic=["data-dp-mobile"],Hc=Ue({__name:"VueDatePicker",setup(e,{expose:t}){const{rootEmit:n,setState:a,inputValue:r,modelValue:o,rootProps:s,defaults:{inline:l,config:u,textInput:h,range:p,multiDates:g,teleport:w,floatingConfig:c}}=Pe(),{validateDate:y,isValidTime:b}=st(),{menuTransition:_,showTransition:d}=Ca(),{isMobile:m}=Ja(),{findNextFocusableElement:v,getNumVal:M}=qe(),O=Bt(),E=ie(!1),P=ie(l.value.enabled||s.centered),Y=Vn(s,"modelValue"),N=Vn(s,"timezone"),W=Be("dp-menu-wrap"),H=Be("dp-menu"),q=Be("input-cmp"),G=Be("picker-wrapper"),Z=Be("menu-arrow"),U=ie(!1),X=ie(!1),$=ie(!1),I=ie(!0),le=ce=>(c.value.arrow&&ce.push(ws({element:c.value.arrow===!0?Z:c.value.arrow})),c.value.flip&&ce.push(ps(typeof c.value.flip=="object"?c.value.flip:{})),c.value.shift&&ce.push(vs(typeof c.value.shift=="object"?c.value.shift:{})),ce),{floatingStyles:z,middlewareData:se,placement:fe,y:ge}=bs(q,W,{strategy:c.value.strategy,placement:c.value.placement,middleware:le([ms(c.value.offset)]),whileElementsMounted:fs});je(()=>{ue(s.modelValue),Ge().then(()=>{l.value.enabled||globalThis.addEventListener("resize",J)}),l.value.enabled&&(E.value=!0),globalThis.addEventListener("keyup",T),globalThis.addEventListener("keydown",L)}),jt(()=>{l.value.enabled||globalThis.removeEventListener("resize",J),globalThis.removeEventListener("keyup",T),globalThis.removeEventListener("keydown",L)});const ne=Xr(O,s.presetDates),pe=_t(O,mt.Input);Je([Y,N],()=>{ue(Y.value)},{deep:!0}),Je([fe,ge],()=>{!l.value.enabled&&!s.centered&&I.value&&(P.value=!1,Ge().then(()=>{I.value=!1,P.value=!0}))});const{parseExternalModelValue:ue,emitModelValue:ke,formatInputValue:me,checkBeforeEmit:Te}=Ei(),D=V(()=>({dp__main:!0,dp__theme_dark:s.dark,dp__theme_light:!s.dark,dp__flex_display:l.value.enabled,"dp--flex-display-collapsed":$.value,dp__flex_display_with_input:l.value.input})),R=V(()=>s.dark?"dp__theme_dark":"dp__theme_light"),Q=V(()=>l.value.enabled&&(s.timePicker||s.monthPicker||s.yearPicker||s.quarterPicker)),x=()=>q.value?.$el?.getBoundingClientRect()??{width:0,left:0,right:0},B=()=>{E.value&&u.value.closeOnScroll&&_e()},J=()=>{const ce=H.value?.$el.getBoundingClientRect().width??0;$.value=document.body.offsetWidth<=ce},T=ce=>{ce.key==="Tab"&&!l.value.enabled&&!s.teleport&&u.value.tabOutClosesMenu&&(G.value.contains(document.activeElement)||_e()),X.value=ce.shiftKey},L=ce=>{X.value=ce.shiftKey},f=()=>{!s.disabled&&!s.readonly&&(I.value=!0,E.value=!0,E.value&&n("open"),E.value||Me(),ue(s.modelValue))},S=()=>{r.value="",Me(),H.value?.onValueCleared(),q.value?.setParsedDate(null),n("update:model-value",null),n("cleared"),u.value.closeOnClearValue&&_e()},k=()=>{const ce=o.value;return!ce||!Array.isArray(ce)&&y(ce)?!0:Array.isArray(ce)?g.value.enabled||ce.length===2&&y(ce[0])&&y(ce[1])?!0:p.value.partialRange&&!s.timePicker?y(ce[0]):!1:!1},j=()=>{Te()&&k()?(ke(),_e()):n("invalid-select")},A=ce=>{ae(),ke(),u.value.closeOnAutoApply&&!ce&&_e()},ae=()=>{q.value&&h.value.enabled&&q.value.setParsedDate(o.value)},ee=(ce=!1)=>{s.autoApply&&b(o.value)&&k()&&(p.value.enabled&&Array.isArray(o.value)?(p.value.partialRange||o.value.length===2)&&A(ce):A(ce))},Me=()=>{h.value.enabled||(o.value=null)},_e=(ce=!1)=>{I.value=!0,ce&&o.value&&u.value.setDateOnMenuClose&&j(),l.value.enabled||(E.value&&(E.value=!1,a("menuFocused",!1),a("shiftKeyInMenu",!1),n("closed"),r.value&&ue(Y.value)),Me(),n("blur"))},Xt=(ce,Ze,lt=!1)=>{if(!ce){o.value=null;return}const va=Array.isArray(ce)?ce.every(Na=>y(Na)):y(ce),Ft=b(ce);va&&Ft?(a("isTextInputDate",!0),o.value=ce,Ze?(U.value=lt,j(),n("text-submit")):s.autoApply&&ee(!0),Ge().then(()=>{a("isTextInputDate",!1)})):n("invalid-date",ce)},Ra=()=>{s.autoApply&&b(o.value)&&ke(),ae()},$a=()=>E.value?_e():f(),rn=ce=>{o.value=ce},Ea=()=>{h.value.enabled&&(a("isInputFocused",!0),me()),n("focus")},on=()=>{h.value.enabled&&(a("isInputFocused",!1),ue(s.modelValue),U.value&&v(G.value,X.value)?.focus()),n("blur")},sn=(ce,Ze)=>{H.value&&H.value.updateMonthYear(Ze??0,{month:M(ce.month),year:M(ce.year)})},ln=ce=>{ue(ce??s.modelValue)},ma=(ce,Ze)=>{H.value?.switchView(ce,Ze)},un=(ce,Ze)=>{if(E.value)return u.value.onClickOutside?u.value.onClickOutside(ce,Ze):_e(!0)},cn=(ce=0)=>{H.value?.handleFlow(ce)},Ba=()=>W;return _o(W,ce=>un(k,ce),{ignore:[q]}),t({closeMenu:_e,selectDate:j,clearValue:S,openMenu:f,onScroll:B,formatInputValue:me,updateInternalModelValue:rn,setMonthYear:sn,parseModel:ln,switchView:ma,toggleMenu:$a,handleFlow:cn,getDpWrapMenuRef:Ba,dpMenuRef:()=>H,dpWrapMenuRef:()=>W,inputRef:()=>q}),(ce,Ze)=>(F(),te("div",{ref:"picker-wrapper",class:ye(D.value),"data-datepicker-instance":"","data-dp-mobile":i(m)},[He(Yu,{ref:"input-cmp","is-menu-open":E.value,onClear:S,onOpen:f,onSetInputDate:Xt,onSetEmptyDate:i(ke),onSelectDate:j,onToggle:$a,onClose:_e,onFocus:Ea,onBlur:on,onRealBlur:Ze[0]||(Ze[0]=lt=>i(a)("isInputFocused",!1))},ze({_:2},[Ee(i(pe),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt(Ft)))])}))]),1032,["is-menu-open","onSetEmptyDate"]),He(yo,{to:i(w),disabled:!i(w)},{default:be(()=>[we("div",{ref:"dp-menu-wrap",class:ye({"dp--menu-wrapper":!i(l).enabled,dp__outer_menu_wrap:!0,"dp--centered":i(s).centered}),style:tt(!i(l).enabled&&!i(s).centered?i(z):void 0)},[He(da,{name:i(_)(i(fe).startsWith("top")),css:i(d)&&!i(l).enabled&&!i(s).centered&&P.value},{default:be(()=>[E.value&&P.value?(F(),$e(Wc,{key:0,ref:"dp-menu",class:ye({[R.value]:!0}),"no-overlay-focus":Q.value,collapse:$.value,"get-input-rect":x,onClosePicker:_e,onSelectDate:j,onAutoApply:ee,onTimeUpdate:Ra,onMenuBlur:Ze[1]||(Ze[1]=lt=>i(n)("blur"))},ze({_:2},[Ee(i(ne),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt({...Ft})))])})),!i(l).enabled&&!i(s).centered&&i(c).arrow===!0?{name:"arrow",fn:be(()=>[we("div",{ref:"menu-arrow",class:ye({dp__arrow_top:i(fe)==="bottom",dp__arrow_bottom:i(fe)==="top"}),style:tt({left:i(se).arrow?.x!=null?`${i(se).arrow.x}px`:"",top:i(se).arrow?.y!=null?`${i(se).arrow.y}px`:""})},null,6)]),key:"0"}:void 0]),1032,["class","no-overlay-focus","collapse"])):re("",!0)]),_:3},8,["name","css"])],6)]),_:3},8,["to","disabled"])],10,Ic))}}),jc=Ue({__name:"VueDatePickerRoot",props:cr({multiCalendars:{type:[Boolean,Number,String,Object]},modelValue:{},modelType:{},dark:{type:Boolean},transitions:{type:[Boolean,Object]},ariaLabels:{},hideNavigation:{},timezone:{},vertical:{type:Boolean},hideMonthYearSelect:{type:Boolean},disableYearSelect:{type:Boolean},yearRange:{},autoApply:{type:Boolean},disabledDates:{type:[Array,Function]},startDate:{},hideOffsetDates:{type:Boolean},noToday:{type:Boolean},allowedDates:{},markers:{},presetDates:{},flow:{},preventMinMaxNavigation:{type:Boolean},reverseYears:{type:Boolean},weekPicker:{type:Boolean},filters:{},arrowNavigation:{type:Boolean},highlight:{type:[Function,Object]},teleport:{type:[String,Boolean]},centered:{type:Boolean},locale:{},weekStart:{},weekNumbers:{type:[Boolean,Object]},dayNames:{type:[Function,Array]},monthPicker:{type:Boolean},yearPicker:{type:Boolean},modelAuto:{type:Boolean},formats:{},multiDates:{type:[Boolean,Object]},minDate:{},maxDate:{},minTime:{},maxTime:{},inputAttrs:{},timeConfig:{},placeholder:{},timePicker:{type:Boolean},range:{type:[Boolean,Object]},menuId:{},disabled:{type:Boolean},readonly:{type:Boolean},inline:{type:[Boolean,Object]},textInput:{type:[Boolean,Object]},sixWeeks:{type:[Boolean,String]},actionRow:{},focusStartDate:{type:Boolean},disabledTimes:{type:[Function,Array]},calendar:{type:Function},config:{},quarterPicker:{type:Boolean},yearFirst:{type:Boolean},loading:{type:Boolean},ui:{},floating:{}},xu),emits:["update:model-value","internal-model-change","text-submit","text-input","open","closed","focus","blur","cleared","flow-step","update-month-year","invalid-select","invalid-fixed-range","invalid-date","tooltip-open","tooltip-close","am-pm-change","range-start","range-end","date-click","overlay-toggle","invalid"],setup(e,{expose:t,emit:n}){const a=n,r=e;Yi(r,a);const o=Bt(),s=Xr(o,r.presetDates),l=Be("date-picker");return t(Pu(l)),(u,h)=>(F(),$e(Hc,{ref:"date-picker"},ze({_:2},[Ee(i(s),(p,g)=>({name:p,fn:be(w=>[oe(u.$slots,p,et(dt(w)))])}))]),1536))}});export{jc as Z}; +import{q as V,r as ie,Q as fo,H as Je,a8 as mo,a9 as vo,aa as Gt,u as i,B as Ue,ab as cr,ac as Bt,a0 as Be,j as $e,ad as ze,i as Ee,J as Ha,ae as po,af as ho,ag as Vn,o as je,Z as Ge,V as jt,c as te,f as F,b as He,w as be,ah as oe,ai as et,aj as dt,a as we,k as da,d as re,s as tt,n as ye,ak as yo,al as go,a3 as sa,F as Se,t as Ke,l as xn,P as wo,R as Ie,am as vt,e as At,an as bo,m as Wa,ao as Ia,I as ko}from"./index-DM7YJCOo.js";import{o as _o,u as Yt,a as Do}from"./index-i3npkoSo.js";const la=Math.min,It=Math.max,qa=Math.round,Va=Math.floor,kt=e=>({x:e,y:e}),xo={left:"right",right:"left",bottom:"top",top:"bottom"},Mo={start:"end",end:"start"};function hn(e,t,n){return It(e,la(t,n))}function Ma(e,t){return typeof e=="function"?e(t):e}function qt(e){return e.split("-")[0]}function Pa(e){return e.split("-")[1]}function dr(e){return e==="x"?"y":"x"}function Mn(e){return e==="y"?"height":"width"}const Po=new Set(["top","bottom"]);function Rt(e){return Po.has(qt(e))?"y":"x"}function Pn(e){return dr(Rt(e))}function Ao(e,t,n){n===void 0&&(n=!1);const a=Pa(e),r=Pn(e),o=Mn(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Ua(s)),[s,Ua(s)]}function To(e){const t=Ua(e);return[yn(e),t,yn(t)]}function yn(e){return e.replace(/start|end/g,t=>Mo[t])}const Ln=["left","right"],Wn=["right","left"],Oo=["top","bottom"],Co=["bottom","top"];function So(e,t,n){switch(e){case"top":case"bottom":return n?t?Wn:Ln:t?Ln:Wn;case"left":case"right":return t?Oo:Co;default:return[]}}function Yo(e,t,n,a){const r=Pa(e);let o=So(qt(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(yn)))),o}function Ua(e){return e.replace(/left|right|bottom|top/g,t=>xo[t])}function Ro(e){return{top:0,right:0,bottom:0,left:0,...e}}function fr(e){return typeof e!="number"?Ro(e):{top:e,right:e,bottom:e,left:e}}function ja(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function In(e,t,n){let{reference:a,floating:r}=e;const o=Rt(t),s=Pn(t),l=Mn(s),u=qt(t),h=o==="y",p=a.x+a.width/2-r.width/2,g=a.y+a.height/2-r.height/2,w=a[l]/2-r[l]/2;let c;switch(u){case"top":c={x:p,y:a.y-r.height};break;case"bottom":c={x:p,y:a.y+a.height};break;case"right":c={x:a.x+a.width,y:g};break;case"left":c={x:a.x-r.width,y:g};break;default:c={x:a.x,y:a.y}}switch(Pa(t)){case"start":c[s]-=w*(n&&h?-1:1);break;case"end":c[s]+=w*(n&&h?-1:1);break}return c}const $o=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,l=o.filter(Boolean),u=await(s.isRTL==null?void 0:s.isRTL(t));let h=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:g}=In(h,a,u),w=a,c={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:l,middlewareData:u}=t,{element:h,padding:p=0}=Ma(e,t)||{};if(h==null)return{};const g=fr(p),w={x:n,y:a},c=Pn(r),y=Mn(c),b=await s.getDimensions(h),_=c==="y",d=_?"top":"left",m=_?"bottom":"right",v=_?"clientHeight":"clientWidth",M=o.reference[y]+o.reference[c]-w[c]-o.floating[y],O=w[c]-o.reference[c],E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(h));let P=E?E[v]:0;(!P||!await(s.isElement==null?void 0:s.isElement(E)))&&(P=l.floating[v]||o.floating[y]);const Y=M/2-O/2,N=P/2-b[y]/2-1,W=la(g[d],N),H=la(g[m],N),q=W,G=P-b[y]-H,Z=P/2-b[y]/2+Y,U=hn(q,Z,G),X=!u.arrow&&Pa(r)!=null&&Z!==U&&o.reference[y]/2-(ZZ<=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{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Zs=/^(\d+)(th|st|nd|rd)?/i,Js=/\d+/i,el={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},tl={any:[/^b/i,/^(a|c)/i]},al={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nl={any:[/1/i,/2/i,/3/i,/4/i]},rl={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},ol={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]},sl={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},ll={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]},il={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},ul={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}},cl={ordinalNumber:Gs({matchPattern:Zs,parsePattern:Js,valueCallback:e=>parseInt(e,10)}),era:ga({matchPatterns:el,defaultMatchWidth:"wide",parsePatterns:tl,defaultParseWidth:"any"}),quarter:ga({matchPatterns:al,defaultMatchWidth:"wide",parsePatterns:nl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ga({matchPatterns:rl,defaultMatchWidth:"wide",parsePatterns:ol,defaultParseWidth:"any"}),day:ga({matchPatterns:sl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),dayPeriod:ga({matchPatterns:il,defaultMatchWidth:"any",parsePatterns:ul,defaultParseWidth:"any"})},Or={code:"en-US",formatDistance:$s,formatLong:Fs,formatRelative:Ls,localize:Ks,match:cl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function dl(e,t){const n=ve(e,t?.in);return Mr(n,oa(n))+1}function $n(e,t){const n=ve(e,t?.in),a=+ua(n)-+Ps(n);return Math.round(a/_r)+1}function En(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=Kt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Ye(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const l=ot(s,t),u=Ye(t?.in||e,0);u.setFullYear(a,0,o),u.setHours(0,0,0,0);const h=ot(u,t);return+n>=+l?a+1:+n>=+h?a:a-1}function fl(e,t){const n=Kt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=En(e,t),o=Ye(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),ot(o,t)}function Bn(e,t){const n=ve(e,t?.in),a=+ot(n,t)-+fl(n,t);return Math.round(a/_r)+1}function Ce(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const St={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ce(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ce(n+1,2)},d(e,t){return Ce(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 Ce(e.getHours()%12||12,t.length)},H(e,t){return Ce(e.getHours(),t.length)},m(e,t){return Ce(e.getMinutes(),t.length)},s(e,t){return Ce(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ce(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return St.y(e,t)},Y:function(e,t,n,a){const r=En(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Ce(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Ce(o,t.length)},R:function(e,t){const n=xr(e);return Ce(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ce(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ce(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ce(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return St.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ce(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Bn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ce(r,t.length)},I:function(e,t,n){const a=$n(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ce(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):St.d(e,t)},D:function(e,t,n){const a=dl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ce(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":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"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Ce(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});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"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Ce(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ce(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return St.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):St.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):St.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):St.s(e,t)},S:function(e,t){return St.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return tr(a);case"XXXX":case"XX":return Vt(a);case"XXXXX":case"XXX":default:return Vt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return tr(a);case"xxxx":case"xx":return Vt(a);case"xxxxx":case"xxx":default:return Vt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+er(a,":");case"OOOO":default:return"GMT"+Vt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+er(a,":");case"zzzz":default:return"GMT"+Vt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Ce(a,t.length)},T:function(e,t,n){return Ce(+e,t.length)}};function er(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Ce(o,2)}function tr(e,t){return e%60===0?(e>0?"-":"+")+Ce(Math.abs(e)/60,2):Vt(e,t)}function Vt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ce(Math.trunc(a/60),2),o=Ce(a%60,2);return n+r+t+o}const ar=(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"})}},Cr=(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"})}},ml=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ar(e,t);let o;switch(a){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}}",ar(a,t)).replace("{{time}}",Cr(r,t))},bn={p:Cr,P:ml},vl=/^D+$/,pl=/^Y+$/,hl=["D","DD","YY","YYYY"];function Sr(e){return vl.test(e)}function Yr(e){return pl.test(e)}function kn(e,t,n){const a=yl(e,t,n);if(console.warn(a),hl.includes(e))throw new RangeError(a)}function yl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const gl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bl=/^'([^]*?)'?$/,kl=/''/g,_l=/[a-zA-Z]/;function nt(e,t,n){const a=Kt(),r=n?.locale??a.locale??Or,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e,n?.in);if(!_a(l))throw new RangeError("Invalid time value");let u=t.match(wl).map(p=>{const g=p[0];if(g==="p"||g==="P"){const w=bn[g];return w(p,r.formatLong)}return p}).join("").match(gl).map(p=>{if(p==="''")return{isToken:!1,value:"'"};const g=p[0];if(g==="'")return{isToken:!1,value:Dl(p)};if(Jn[g])return{isToken:!0,value:p};if(g.match(_l))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:p}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const h={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return u.map(p=>{if(!p.isToken)return p.value;const g=p.value;(!n?.useAdditionalWeekYearTokens&&Yr(g)||!n?.useAdditionalDayOfYearTokens&&Sr(g))&&kn(g,t,String(e));const w=Jn[g[0]];return w(l,g,r.localize,h)}).join("")}function Dl(e){const t=e.match(bl);return t?t[1].replace(kl,"'"):e}function xl(e,t){return ve(e,t?.in).getDay()}function Ml(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Ye(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function Pl(){return Object.assign({},Kt())}function xt(e,t){return ve(e,t?.in).getHours()}function Al(e,t){const n=ve(e,t?.in).getDay();return n===0?7:n}function Tt(e,t){return ve(e,t?.in).getMinutes()}function Ae(e,t){return ve(e,t?.in).getMonth()}function Et(e){return ve(e).getSeconds()}function he(e,t){return ve(e,t?.in).getFullYear()}function wt(e,t){return+ve(e)>+ve(t)}function Pt(e,t){return+ve(e)<+ve(t)}function ta(e,t){return+ve(e)==+ve(t)}function Tl(e,t){const n=Ol(t)?new t(0):Ye(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Ol(e){return typeof e=="function"&&e.prototype?.constructor===e}const Cl=10;class Rr{subPriority=0;validate(t,n){return!0}}class Sl extends Rr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class Yl extends Rr{priority=Cl;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Ye(n,a))}set(t,n){return n.timestampIsSet?t:Ye(t,Tl(t,this.context))}}class Oe{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new Sl(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class Rl extends Oe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},yt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function We(e,t){return e&&{value:t(e.value),rest:e.rest}}function Ne(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function gt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*Ds+o*_s+s*xs),rest:t.slice(n[0].length)}}function $r(e){return Ne(Le.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Ne(Le.singleDigit,t);case 2:return Ne(Le.twoDigits,t);case 3:return Ne(Le.threeDigits,t);case 4:return Ne(Le.fourDigits,t);default:return Ne(new RegExp("^\\d{1,"+e+"}"),t)}}function Ka(e,t){switch(e){case 1:return Ne(Le.singleDigitSigned,t);case 2:return Ne(Le.twoDigitsSigned,t);case 3:return Ne(Le.threeDigitsSigned,t);case 4:return Ne(Le.fourDigitsSigned,t);default:return Ne(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Nn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Er(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,l=e>=o%100;r=e+s-(l?100:0)}return n?r:1-r}function Br(e){return e%400===0||e%4===0&&e%100!==0}class $l extends Oe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return We(Ve(4,t),r);case"yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=Er(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class El extends Oe{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return We(Ve(4,t),r);case"Yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=En(t,r);if(a.isTwoDigitYear){const l=Er(a.year,o);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class Bl extends Oe{priority=130;parse(t,n){return Ka(n==="R"?4:n.length,t)}set(t,n,a){const r=Ye(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),ua(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class Nl extends Oe{priority=130;parse(t,n){return Ka(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class Fl extends Oe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class Vl extends Oe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class Ll extends Oe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return We(Ne(Le.month,t),r);case"MM":return We(Ve(2,t),r);case"Mo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class Wl extends Oe{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return We(Ne(Le.month,t),r);case"LL":return We(Ve(2,t),r);case"Lo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Il(e,t,n){const a=ve(e,n?.in),r=Bn(a,n)-t;return a.setDate(a.getDate()-r*7),ve(a,n?.in)}class Hl extends Oe{priority=100;parse(t,n,a){switch(n){case"w":return Ne(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ot(Il(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function ql(e,t,n){const a=ve(e,n?.in),r=$n(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Ul extends Oe{priority=100;parse(t,n,a){switch(n){case"I":return Ne(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return ua(ql(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const jl=[31,28,31,30,31,30,31,31,30,31,30,31],zl=[31,29,31,30,31,30,31,31,30,31,30,31];class Kl extends Oe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Ne(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=Br(a),o=t.getMonth();return r?n>=1&&n<=zl[o]:n>=1&&n<=jl[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Xl extends Oe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Ne(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return Br(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fn(e,t,n){const a=Kt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=ve(e,n?.in),s=o.getDay(),u=(t%7+7)%7,h=7-r,p=t<0||t>6?t-(s+h)%7:(u+h)%7-(s+h)%7;return rt(o,p,n)}class Ql extends Oe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Gl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"e":case"ee":return We(Ve(n.length,t),o);case"eo":return We(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Zl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"c":case"cc":return We(Ve(n.length,t),o);case"co":return We(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function Jl(e,t,n){const a=ve(e,n?.in),r=Al(a,n),o=t-r;return rt(a,o,n)}class ei extends Oe{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return We(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return We(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return We(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return We(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=Jl(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class ti extends Oe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class ai extends Oe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ni extends Oe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class ri extends Oe{priority=70;parse(t,n,a){switch(n){case"h":return Ne(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class oi extends Oe{priority=70;parse(t,n,a){switch(n){case"H":return Ne(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class si extends Oe{priority=70;parse(t,n,a){switch(n){case"K":return Ne(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class li extends Oe{priority=70;parse(t,n,a){switch(n){case"k":return Ne(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class ii extends Oe{priority=60;parse(t,n,a){switch(n){case"m":return Ne(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class ui extends Oe{priority=50;parse(t,n,a){switch(n){case"s":return Ne(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class ci extends Oe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return We(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class di extends Oe{priority=10;parse(t,n){switch(n){case"X":return gt(yt.basicOptionalMinutes,t);case"XX":return gt(yt.basic,t);case"XXXX":return gt(yt.basicOptionalSeconds,t);case"XXXXX":return gt(yt.extendedOptionalSeconds,t);case"XXX":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","x"]}class fi extends Oe{priority=10;parse(t,n){switch(n){case"x":return gt(yt.basicOptionalMinutes,t);case"xx":return gt(yt.basic,t);case"xxxx":return gt(yt.basicOptionalSeconds,t);case"xxxxx":return gt(yt.extendedOptionalSeconds,t);case"xxx":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","X"]}class mi extends Oe{priority=40;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class vi extends Oe{priority=20;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const pi={G:new Rl,y:new $l,Y:new El,R:new Bl,u:new Nl,Q:new Fl,q:new Vl,M:new Ll,L:new Wl,w:new Hl,I:new Ul,d:new Kl,D:new Xl,E:new Ql,e:new Gl,c:new Zl,i:new ei,a:new ti,b:new ai,B:new ni,h:new ri,H:new oi,K:new si,k:new li,m:new ii,s:new ui,S:new ci,X:new di,x:new fi,t:new mi,T:new vi},hi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,yi=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gi=/^'([^]*?)'?$/,wi=/''/g,bi=/\S/,ki=/[a-zA-Z]/;function _n(e,t,n,a){const r=()=>Ye(a?.in||n,NaN),o=Pl(),s=a?.locale??o.locale??Or,l=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,u=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():ve(n,a?.in);const h={firstWeekContainsDate:l,weekStartsOn:u,locale:s},p=[new Yl(a?.in,n)],g=t.match(yi).map(_=>{const d=_[0];if(d in bn){const m=bn[d];return m(_,s.formatLong)}return _}).join("").match(hi),w=[];for(let _ of g){!a?.useAdditionalWeekYearTokens&&Yr(_)&&kn(_,t,e),!a?.useAdditionalDayOfYearTokens&&Sr(_)&&kn(_,t,e);const d=_[0],m=pi[d];if(m){const{incompatibleTokens:v}=m;if(Array.isArray(v)){const O=w.find(E=>v.includes(E.token)||E.token===d);if(O)throw new RangeError(`The format string mustn't contain \`${O.fullToken}\` and \`${_}\` at the same time`)}else if(m.incompatibleTokens==="*"&&w.length>0)throw new RangeError(`The format string mustn't contain \`${_}\` and any other token at the same time`);w.push({token:d,fullToken:_});const M=m.run(e,_,s.match,h);if(!M)return r();p.push(M.setter),e=M.rest}else{if(d.match(ki))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");if(_==="''"?_="'":d==="'"&&(_=_i(_)),e.indexOf(_)===0)e=e.slice(_.length);else return r()}}if(e.length>0&&bi.test(e))return r();const c=p.map(_=>_.priority).sort((_,d)=>d-_).filter((_,d,m)=>m.indexOf(_)===d).map(_=>p.filter(d=>d.priority===_).sort((d,m)=>m.subPriority-d.subPriority)).map(_=>_[0]);let y=ve(n,a?.in);if(isNaN(+y))return r();const b={};for(const _ of c){if(!_.validate(y,h))return r();const d=_.set(y,b,h);Array.isArray(d)?(y=d[0],Object.assign(b,d[1])):y=d}return y}function _i(e){return e.match(gi)[1].replace(wi,"'")}function nr(e,t,n){const[a,r]=Ta(n?.in,e,t);return+Lt(a)==+Lt(r)}function Nr(e,t,n){return rt(e,-t,n)}function Di(e,t){const n=t?.nearestTo??1;if(n<1||n>30)return Ye(e,NaN);const a=ve(e,t?.in),r=a.getSeconds()/60,o=a.getMilliseconds()/1e3/60,s=a.getMinutes()+r+o,l=t?.roundingMethod??"round",h=Os(l)(s/n)*n;return a.setMinutes(h,0,0),a}function Fr(e,t,n){const a=ve(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Ye(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const l=Ml(s);return a.setMonth(t,Math.min(o,l)),a}function xe(e,t,n){let a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=Fr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function xi(e,t,n){const a=ve(e,n?.in);return a.setMilliseconds(t),a}function Mi(e,t,n){const a=ve(e,n?.in);return a.setSeconds(t),a}function ct(e,t,n){const a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(a.setFullYear(t),a)}function ca(e,t,n){return ft(e,-t,n)}function Pi(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=ca(e,r+a*12,n),g=Nr(p,s+o*7,n),w=u+l*60,y=(h+w*60)*1e3;return Ye(e,+g-y)}function Vr(e,t,n){return Sn(e,-t,n)}function Ai(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Ti={},ka={};function Wt(e,t){try{const a=(Ti[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in ka?ka[a]:rr(a,a.split(":"))}catch{if(e in ka)return ka[e];const n=e?.match(Oi);return n?rr(e,n.slice(1)):NaN}}const Oi=/([+-]\d\d):?(\d\d)?/;function rr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return ka[e]=n*60+a>0?n*60+a+r:n*60-a-r}class bt extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Wt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Lr(this),Dn(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new bt(...n,t):new bt(Date.now(),t)}withTimeZone(t){return new bt(+this,t)}getTimezoneOffset(){const t=-Wt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Dn(this),+this}[Symbol.for("constructDateFrom")](t){return new bt(+new Date(t),this.timeZone)}}const or=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!or.test(e))return;const t=e.replace(or,"$1UTC");bt.prototype[t]&&(e.startsWith("get")?bt.prototype[e]=function(){return this.internal[t]()}:(bt.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ci(this),+this},bt.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Dn(this),+this}))});function Dn(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Wt(e.timeZone,e)*60))}function Ci(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Lr(e)}function Lr(e){const t=Wt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=-new Date(+a).getTimezoneOffset(),s=r-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const u=r-n;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);const h=new Date(+e);h.setUTCSeconds(0);const p=r>0?h.getSeconds():(h.getSeconds()-60)%60,g=Math.round(-(Wt(e.timeZone,e)*60))%60;(g||p)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+g),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+g+p));const w=Wt(e.timeZone,e),c=w>0?Math.floor(w):Math.ceil(w),b=-new Date(+e).getTimezoneOffset()-c,_=c!==n,d=b-u;if(_&&d){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const m=Wt(e.timeZone,e),v=m>0?Math.floor(m):Math.ceil(m),M=c-v;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class aa extends bt{static tz(t,...n){return n.length?new aa(...n,t):new aa(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${Ai(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new aa(+this,t)}[Symbol.for("constructDateFrom")](t){return new aa(+new Date(t),this.timeZone)}}function Oa(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),Ie("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}function Si(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),Ie("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}function Wr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ir(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}function Hr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),Ie("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}function qr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ur(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}const jr=Symbol("ContextKey"),Yi=(e,t)=>{const{setTimeModelValue:n}=qe(),a=Mu(e),r=ie(null),o=Ha({menuFocused:!1,shiftKeyInMenu:!1,isInputFocused:!1,isTextInputDate:!1,arrowNavigationLevel:0}),s=a.getDate(new Date),l=ie(""),u=ie([{month:Ae(s),year:he(s)}]),h=Ha({hours:0,minutes:0,seconds:0});n(h,null,s,a.range.value.enabled);const p=V({get:()=>r.value,set:b=>{r.value=b}}),g=V(()=>b=>u.value[b]?u.value[b].month:0),w=V(()=>b=>u.value[b]?u.value[b].year:0),c=(b,_)=>{o[b]=_},y=()=>{n(h,p.value,s,a.range.value.enabled)};po(jr,{rootProps:e,defaults:a,modelValue:p,state:ho(o),rootEmit:t,calendars:u,month:g,year:w,time:h,today:s,inputValue:l,setState:c,updateTime:y,getDate:a.getDate})},Pe=()=>{const e=go(jr);if(!e)throw new Error("Can't use context");return e};var it=(e=>(e.month="month",e.year="year",e))(it||{}),Ht=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Ht||{}),Qe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Qe||{});const Ri=["timestamp","date","iso"];var ut=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(ut||{}),Re=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Re||{}),na=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(na||{}),zr=(e=>(e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e))(zr||{});const $i=()=>{const{rootProps:e,state:t}=Pe(),n=V(()=>t.arrowNavigationLevel),a=ie(-1),r=ie(-1);Je(n,(m,v)=>{d(m===0&&v>0)});const o=ie([]),s=ie(new Map),l=()=>{const m=Array.from(document.querySelectorAll(`[data-dp-action-element="${n.value}"]`)),v=new Map,M=new Map;for(const O of m){const E=O.getBoundingClientRect(),P=E.top,Y=E.left;v.has(P)||v.set(P,[]),v.get(P).push(O),M.set(O,{row:P,col:Y})}o.value=Array.from(v.entries()).sort((O,E)=>O[0]-E[0]).map(([O,E])=>u(E,M)),s.value=M},u=(m,v)=>m.sort((M,O)=>{const E=v.get(M),P=v.get(O);return E.col-P.col}),h=(m,v)=>{n.value===0&&(a.value=m,r.value=v)},p=m=>{if(![Re.arrowUp,Re.arrowDown,Re.arrowLeft,Re.arrowRight].includes(m.key))return;l(),m.preventDefault();const v=document.activeElement;if(!v?.hasAttribute("data-dp-action-element"))return;let M=-1,O=-1;for(let E=0;E{if(v>0){const M=o.value[m][v-1];h(m,v-1),M&&M.focus()}},w=(m,v)=>{if(v{if(m>0){const M=o.value[m-1],O=Math.min(v,M.length-1),E=M[O];h(m-1,O),E&&E.focus()}},y=(m,v)=>{if(m{Ge().then(()=>{l();const m=o.value[a.value]?.[r.value];m&&_(m)})},_=m=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{m.focus({preventScroll:!0})})})},d=m=>{if(m)return b();const v=document.querySelector(`[data-dp-element-active="${n.value}"]`);if(v&&!m)_(v);else{const M=document.querySelector(`[data-dp-action-element="${n.value}"]`);M&&_(M)}};je(()=>{e.arrowNavigation&&(d(!1),document.addEventListener("keydown",p))}),jt(()=>{e.arrowNavigation&&document.removeEventListener("keydown",p)})},Ei=()=>{const{checkPartialRangeValue:e,checkRangeEnabled:t,isValidDate:n}=st(),{convertType:a,errorMapper:r}=qe(),{getDate:o,rootEmit:s,state:l,rootProps:u,inputValue:h,defaults:{textInput:p,range:g,multiDates:w,timeConfig:c,formats:y},modelValue:b,updateTime:_}=Pe(),{setTime:d,getWeekFromDate:m}=Xe(),{formatSelectedDate:v,formatForTextInput:M}=Nt();Je(b,(D,R)=>{s("internal-model-change",b.value),JSON.stringify(R??{})!==JSON.stringify(D??{})&&_()},{deep:!0}),Je(g,(D,R)=>{D.enabled!==R.enabled&&(b.value=null)}),Je(()=>y.value.input,()=>{fe()});const O=D=>D?u.modelType?ne(D):{hours:xt(D),minutes:Tt(D),seconds:c.value.enableSeconds?Et(D):0}:null,E=D=>u.modelType?ne(D):{month:Ae(D),year:he(D)},P=D=>Array.isArray(D)?w.value.enabled?D.map(R=>Y(R,ct(o(),R))):t(()=>[ct(o(),D[0]),D[1]?ct(o(),D[1]):e(g.value.partialRange)],g.value.enabled):ct(o(),+D),Y=(D,R)=>(typeof D=="string"||typeof D=="number")&&u.modelType?ge(D):R,N=D=>Array.isArray(D)?[Y(D[0],d(D[0])),Y(D[1],d(D[1]))]:Y(D,d(D)),W=D=>{const R=xe(o(),{date:1});return Array.isArray(D)?w.value.enabled?D.map(Q=>Y(Q,xe(R,{month:+Q.month,year:+Q.year}))):t(()=>[Y(D[0],xe(R,{month:+D[0].month,year:+D[0].year})),Y(D[1],D[1]?xe(R,{month:+D[1].month,year:+D[1].year}):e(g.value.partialRange))],g.value.enabled):Y(D,xe(R,{month:+D.month,year:+D.year}))},H=D=>{if(Array.isArray(D))return D.map(R=>ge(R));throw new Error(r.dateArr("multi-dates"))},q=D=>{if(Array.isArray(D)&&g.value.enabled){const R=D[0],Q=D[1];return[o(Array.isArray(R)?R[0]:null),Array.isArray(Q)&&Q.length?o(Q[0]):null]}return o(D[0])},G=D=>u.modelAuto?Array.isArray(D)?[ge(D[0]),ge(D[1])]:u.autoApply?[ge(D)]:[ge(D),null]:Array.isArray(D)?t(()=>D[1]?[ge(D[0]),D[1]?ge(D[1]):e(g.value.partialRange)]:[ge(D[0])],g.value.enabled):ge(D),Z=()=>{Array.isArray(b.value)&&g.value.enabled&&b.value.length===1&&b.value.push(e(g.value.partialRange))},U=()=>{const D=b.value;return[ne(D[0]),D[1]?ne(D[1]):e(g.value.partialRange)]},X=()=>Array.isArray(b.value)?b.value[1]?U():ne(a(b.value[0])):[],$=()=>(b.value||[]).map(D=>ne(D)),I=(D=!1)=>(D||Z(),u.modelAuto?X():w.value.enabled?$():Array.isArray(b.value)?t(()=>U(),g.value.enabled):ne(a(b.value))),le=D=>!D||Array.isArray(D)&&!D.length?null:u.timePicker?N(a(D)):u.monthPicker?W(a(D)):u.yearPicker?P(a(D)):w.value.enabled?H(a(D)):u.weekPicker?q(a(D)):G(a(D)),z=D=>{if(l.isTextInputDate)return;const R=le(D);n(a(R))?(b.value=a(R),fe()):(b.value=null,h.value="")},se=()=>b.value?w.value.enabled?b.value.map(D=>v(D)).join("; "):p.value.enabled?M():v(b.value):"",fe=()=>{h.value=se()},ge=D=>u.modelType?Ri.includes(u.modelType)?o(D):u.modelType==="format"&&typeof y.value.input=="string"?_n(D,y.value.input,o(),{locale:u.locale}):_n(D,u.modelType,o(),{locale:u.locale}):o(D),ne=D=>D?u.modelType?u.modelType==="timestamp"?+D:u.modelType==="iso"?D.toISOString():u.modelType==="format"&&typeof y.value.input=="string"?v(D):v(D,u.modelType):D:null,pe=D=>{s("update:model-value",D)},ue=D=>Array.isArray(b.value)?w.value.enabled?b.value.map(R=>D(R)):[D(b.value[0]),b.value[1]?D(b.value[1]):null]:D(a(b.value)),ke=()=>{if(Array.isArray(b.value)){const D=m(b.value[0],u.weekStart),R=b.value[1]?m(b.value[1],u.weekStart):[];return[D.map(Q=>o(Q)),R.map(Q=>o(Q))]}return m(b.value,u.weekStart).map(D=>o(D))},me=D=>pe(a(ue(D))),Te=()=>s("update:model-value",ke());return{checkBeforeEmit:()=>b.value?g.value.enabled?g.value.partialRange?b.value.length>=1:b.value.length===2:!!b.value:!1,parseExternalModelValue:z,formatInputValue:fe,emitModelValue:()=>(fe(),u.monthPicker?me(E):u.timePicker?me(O):u.yearPicker?me(he):u.weekPicker?Te():pe(I()))}},Ca=()=>{const{defaults:{transitions:e}}=Pe(),t=V(()=>a=>e.value?a?e.value.open:e.value.close:""),n=V(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Sa=e=>{const{today:t,time:n,modelValue:a,defaults:{range:r}}=Pe(),{setTimeModelValue:o}=qe();Je(r,(s,l)=>{s.enabled!==l.enabled&&o(n,a.value,t,r.value.enabled)},{deep:!0}),Je(a,(s,l)=>{e&&JSON.stringify(s??{})!==JSON.stringify(l??{})&&e()},{deep:!0})},st=()=>{const{defaults:{safeDates:e,range:t,multiDates:n,filters:a,timeConfig:r},rootProps:o,getDate:s}=Pe(),{getMapKeyType:l,getMapDate:u,errorMapper:h,convertType:p}=qe(),{isDateBefore:g,isDateAfter:w,isDateEqual:c,resetDate:y,getDaysInBetween:b,setTimeValue:_,getTimeObj:d,setTime:m}=Xe(),v=x=>e.value.disabledDates?typeof e.value.disabledDates=="function"?e.value.disabledDates(s(x)):!!u(x,e.value.disabledDates):!1,M=x=>e.value.maxDate?o.yearPicker?he(x)>he(e.value.maxDate):w(x,e.value.maxDate):!1,O=x=>e.value.minDate?o.yearPicker?he(x){if(!x)return!1;const B=M(x),J=O(x),T=v(x),L=a.value.months.map(A=>+A).includes(Ae(x)),f=a.value.weekDays?.length?a.value.weekDays.some(A=>+A===xl(x)):!1,S=H(x),k=he(x),j=k<+o.yearRange[0]||k>+o.yearRange[1];return!(B||J||T||L||j||f||S)},P=(x,B)=>g(...Te(e.value.minDate,x,B))||c(...Te(e.value.minDate,x,B)),Y=(x,B)=>w(...Te(e.value.maxDate,x,B))||c(...Te(e.value.maxDate,x,B)),N=(x,B,J)=>{let T=!1;return e.value.maxDate&&J&&Y(x,B)&&(T=!0),e.value.minDate&&!J&&P(x,B)&&(T=!0),T},W=(x,B,J,T)=>{let L=!1;return T&&(e.value.minDate||e.value.maxDate)?e.value.minDate&&e.value.maxDate?L=N(x,B,J):(e.value.minDate&&P(x,B)||e.value.maxDate&&Y(x,B))&&(L=!0):L=!0,L},H=x=>Array.isArray(e.value.allowedDates)&&!e.value.allowedDates.length?!0:e.value.allowedDates?!u(x,e.value.allowedDates,l(o.monthPicker,o.yearPicker)):!1,q=x=>!E(x),G=x=>t.value.noDisabledRange?!Yn({start:x[0],end:x[1]}).some(B=>q(B)):!0,Z=x=>{if(x){const B=he(x);return B>=+o.yearRange[0]&&B<=o.yearRange[1]}return!0},U=(x,B)=>!!(Array.isArray(x)&&x[B]&&(t.value.maxRange||t.value.minRange)&&Z(x[B])),X=(x,B,J=0)=>{if(U(B,J)&&Z(x)){const T=Mr(x,B[J]),L=b(B[J],x),f=L.length===1?0:L.filter(k=>q(k)).length,S=Math.abs(T)-(t.value.minMaxRawRange?0:f);if(t.value.minRange&&t.value.maxRange)return S>=+t.value.minRange&&S<=+t.value.maxRange;if(t.value.minRange)return S>=+t.value.minRange;if(t.value.maxRange)return S<=+t.value.maxRange}return!0},$=()=>!r.value.enableTimePicker||o.monthPicker||o.yearPicker||r.value.ignoreTimeValidation,I=x=>Array.isArray(x)?[x[0]?_(x[0]):null,x[1]?_(x[1]):null]:_(x),le=(x,B,J)=>B?x.find(T=>+T.hours===xt(B)&&T.minutes==="*"?!0:+T.minutes===Tt(B)&&+T.hours===xt(B))&&J:!1,z=(x,B,J)=>{const[T,L]=x,[f,S]=B;return!le(T,f,J)&&!le(L,S,J)&&J},se=(x,B)=>{const J=Array.isArray(B)?B:[B];return Array.isArray(o.disabledTimes)?Array.isArray(o.disabledTimes[0])?z(o.disabledTimes,J,x):!J.some(T=>le(o.disabledTimes,T,x)):x},fe=(x,B)=>{const J=Array.isArray(B)?[d(B[0]),B[1]?d(B[1]):void 0]:d(B),T=!o.disabledTimes(J);return x&&T},ge=(x,B)=>o.disabledTimes?Array.isArray(o.disabledTimes)?se(B,x):fe(B,x):B,ne=x=>{let B=!0;if(!x||$())return!0;const J=!e.value.minDate&&!e.value.maxDate?I(x):x;return(o.maxTime||e.value.maxDate)&&(B=R(o.maxTime,e.value.maxDate,"max",p(J),B)),(o.minTime||e.value.minDate)&&(B=R(o.minTime,e.value.minDate,"min",p(J),B)),ge(x,B)},pe=x=>{if(!o.monthPicker)return!0;let B=!0;const J=s(y(x));if(e.value.minDate&&e.value.maxDate){const T=s(y(e.value.minDate)),L=s(y(e.value.maxDate));return w(J,T)&&g(J,L)||c(J,T)||c(J,L)}if(e.value.minDate){const T=s(y(e.value.minDate));B=w(J,T)||c(J,T)}if(e.value.maxDate){const T=s(y(e.value.maxDate));B=g(J,T)||c(J,T)}return B},ue=V(()=>x=>!r.value.enableTimePicker||r.value.ignoreTimeValidation?!0:ne(x)),ke=V(()=>x=>o.monthPicker?Array.isArray(x)&&(t.value.enabled||n.value.enabled)?!x.filter(B=>!pe(B)).length:pe(x):!0),me=(x,B,J)=>{if(!B||J&&!e.value.maxDate||!J&&!e.value.minDate)return!1;const T=J?ft(x,1):ca(x,1),L=[Ae(T),he(T)];return J?!Y(...L):!P(...L)},Te=(x,B,J)=>[xe(s(x),{date:1}),xe(s(),{month:B,year:J,date:1})],D=(x,B,J,T)=>{if(!x)return!0;if(T){const L=J==="max"?Pt(x,B):wt(x,B),f={seconds:0,milliseconds:0};return L||ta(xe(x,f),xe(B,f))}return J==="max"?x.getTime()<=B.getTime():x.getTime()>=B.getTime()},R=(x,B,J,T,L)=>{if(Array.isArray(T)){const S=Q(x,T[0],B),k=Q(x,T[1],B);return D(T[0],S,J,!!B)&&D(T[1],k,J,!!B)&&L}const f=Q(x,T,B);return D(T,f,J,!!B)&&L},Q=(x,B,J)=>x?m(x,B):s(J??B);return{isDisabled:q,validateDate:E,validateMonthYearInRange:W,isDateRangeAllowed:G,checkMinMaxRange:X,isValidTime:ne,validateMonthYear:me,validateMinDate:P,validateMaxDate:Y,isValidDate:x=>Array.isArray(x)?_a(x[0])&&(x[1]?_a(x[1]):!0):x?_a(x):!1,checkPartialRangeValue:x=>{if(x)return null;throw new Error(h.prop("partial-range"))},checkRangeEnabled:(x,B)=>{if(B)return x();throw new Error(h.prop("range"))},checkMinMaxValue:(x,B,J)=>{const T=J!=null,L=B!=null;if(!T&&!L)return!1;const f=+J,S=+B;return T&&L?+x>f||+xf:L?+x{const{rootEmit:t,rootProps:n,defaults:{timeConfig:a,flow:r}}=Pe(),o=ie(0),s=Ha({[Ht.timePicker]:!a.value.enableTimePicker||n.timePicker||n.monthPicker,[Ht.calendar]:!1,[Ht.header]:!1}),l=V(()=>n.monthPicker||n.timePicker),u=c=>{if(r.value?.steps?.length){if(!c&&l.value)return w();s[c]=!0,Object.keys(s).filter(y=>!s[y]).length||w()}},h=()=>{r.value?.steps?.length&&o.value!==-1&&(o.value+=1,t("flow-step",o.value),w()),r.value?.steps?.length===o.value&&Ge().then(()=>p())},p=()=>{o.value=-1},g=(c,y,...b)=>{r.value?.steps[o.value]===c&&e.value&&e.value[y]?.(...b)},w=(c=0)=>{c&&(o.value+=c),g(Qe.month,"toggleMonthPicker",!0),g(Qe.year,"toggleYearPicker",!0),g(Qe.calendar,"toggleTimePicker",!1,!0),g(Qe.time,"toggleTimePicker",!0,!0);const y=r.value?.steps[o.value];(y===Qe.hours||y===Qe.minutes||y===Qe.seconds)&&g(y,"toggleTimePicker",!0,!0,y)};return{childMount:u,updateFlowStep:h,resetFlow:p,handleFlow:w,flowStep:o}};function pn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function wa(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]}}function ba(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)?Fi(l,g=>g.test(s)):Ni(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 Ni(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Fi(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Li={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"}},Wi=(e,t,n)=>{let a;const r=Li[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},Ii={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Hi=(e,t,n,a)=>Ii[e],qi={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ui={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ji={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"]},zi={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"]},Ki={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"}},Xi={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"}},Qi=(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"},Gi={ordinalNumber:Qi,era:wa({values:qi,defaultWidth:"wide"}),quarter:wa({values:Ui,defaultWidth:"wide",argumentCallback:e=>e-1}),month:wa({values:ji,defaultWidth:"wide"}),day:wa({values:zi,defaultWidth:"wide"}),dayPeriod:wa({values:Ki,defaultWidth:"wide",formattingValues:Xi,defaultFormattingWidth:"wide"})},Zi=/^(\d+)(th|st|nd|rd)?/i,Ji=/\d+/i,eu={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},tu={any:[/^b/i,/^(a|c)/i]},au={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nu={any:[/1/i,/2/i,/3/i,/4/i]},ru={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},ou={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]},su={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},lu={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]},iu={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},uu={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}},cu={ordinalNumber:Vi({matchPattern:Zi,parsePattern:Ji,valueCallback:e=>parseInt(e,10)}),era:ba({matchPatterns:eu,defaultMatchWidth:"wide",parsePatterns:tu,defaultParseWidth:"any"}),quarter:ba({matchPatterns:au,defaultMatchWidth:"wide",parsePatterns:nu,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ba({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:ou,defaultParseWidth:"any"}),day:ba({matchPatterns:su,defaultMatchWidth:"wide",parsePatterns:lu,defaultParseWidth:"any"}),dayPeriod:ba({matchPatterns:iu,defaultMatchWidth:"any",parsePatterns:uu,defaultParseWidth:"any"})},du={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},fu={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},mu={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},vu={date:pn({formats:du,defaultWidth:"full"}),time:pn({formats:fu,defaultWidth:"full"}),dateTime:pn({formats:mu,defaultWidth:"full"})},pu={code:"en-US",formatDistance:Wi,formatLong:vu,formatRelative:Hi,localize:Gi,match:cu,options:{weekStartsOn:0,firstWeekContainsDate:1}},sr={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1,autoSwitchStartEnd:!0},hu={allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,escClose:!0,spaceConfirm:!0,monthChangeOnArrows:!0,monthChangeOnScroll:!0},lr={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0,format:void 0,maskFormat:void 0,applyOnBlur:!1,separators:void 0},yu={dates:[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}},gu={showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,selectBtnLabel:"Select",cancelBtnLabel:"Cancel",nowBtnLabel:"Now",nowBtnRound:void 0},wu={toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:e=>`Increment ${e}`,decrementValue:e=>`Decrement ${e}`,openTpOverlay:e=>`Open ${e} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:e=>`Month picker${e?" overlay":""}`,yearPicker:e=>`Year picker${e?" overlay":""}`,timeOverlay:e=>`${e} overlay`},ir={menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down"},bu={weekDays:[],months:[],years:[],times:{hours:[],minutes:[],seconds:[]}},ku={month:"LLL",year:"yyyy",weekDay:"EEEEEE",quarter:"MMMM",day:"d",input:void 0,preview:void 0},_u={enableTimePicker:!0,ignoreTimeValidation:!1,enableSeconds:!1,enableMinutes:!0,is24:!0,noHoursOverlay:!1,noMinutesOverlay:!1,noSecondsOverlay:!1,hoursGridIncrement:1,minutesGridIncrement:5,secondsGridIncrement:5,hoursIncrement:1,minutesIncrement:1,secondsIncrement:1,timePickerInline:!1,startTime:void 0},Du={flowStep:0,menuWrapRef:null,collapse:!1},xu={weekStart:zr.Monday,yearRange:()=>[1900,2100],ui:()=>({}),locale:()=>pu,dark:!1,transitions:!0,hideNavigation:()=>[],vertical:!1,hideMonthYearSelect:!1,disableYearSelect:!1,autoApply:!1,disabledDates:()=>[],hideOffsetDates:!1,noToday:!1,markers:()=>[],presetDates:()=>[],preventMinMaxNavigation:!1,reverseYears:!1,weekPicker:!1,arrowNavigation:!1,monthPicker:!1,yearPicker:!1,quarterPicker:!1,timePicker:!1,modelAuto:!1,multiDates:!1,range:!1,inline:!1,sixWeeks:!1,focusStartDate:!1,yearFirst:!1,loading:!1,centered:!1},ur={name:void 0,required:!1,autocomplete:"off",state:void 0,clearable:!0,alwaysClearable:!1,hideInputIcon:!1,id:void 0,inputmode:"none"},La={type:"local",hideOnOffsetDates:!1,label:"W"},Mu=e=>{const{getMapKey:t,getMapKeyType:n,getTimeObjFromCurrent:a}=qe();function r($,I){let le;return e.timezone?le=new aa($??new Date,e.timezone):le=$?new Date($):new Date,I?xe(le,{hours:0,minutes:0,seconds:0,milliseconds:0}):le}const o=()=>{const $=G.value.enableSeconds?":ss":"",I=G.value.enableMinutes?":mm":"";return G.value.is24?`HH${I}${$}`:`hh${I}${$} aa`},s=()=>e.monthPicker?"MM/yyyy":e.timePicker?o():e.weekPicker?`${E.value?.type==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":G.value.enableTimePicker?`MM/dd/yyyy, ${o()}`:"MM/dd/yyyy",l=$=>a(r(),$,G.value.enableSeconds),u=()=>N.value.enabled?G.value.startTime&&Array.isArray(G.value.startTime)?[l(G.value.startTime[0]),l(G.value.startTime[1])]:null:G.value.startTime&&!Array.isArray(G.value.startTime)?l(G.value.startTime):null,h=$=>$?typeof $=="boolean"?$?2:0:Math.max(+$,2):0,p=$=>{const I=n(e.monthPicker,e.yearPicker);return new Map($.map(le=>{const z=r(le,g.value);return[t(z,I),z]}))},g=V(()=>e.monthPicker||e.yearPicker||e.quarterPicker),w=V(()=>{const $=typeof e.multiCalendars=="object"&&e.multiCalendars,I={static:!0,solo:!1};if(!e.multiCalendars)return{...I,count:h(!1)};const le=$?e.multiCalendars:{},z=$?le.count??!0:e.multiCalendars,se=h(z);return Object.assign(I,le,{count:se})}),c=V(()=>u()),y=V(()=>({...wu,...e.ariaLabels})),b=V(()=>({...bu,...e.filters})),_=V(()=>typeof e.transitions=="boolean"?e.transitions?ir:!1:{...ir,...e.transitions}),d=V(()=>({...gu,...e.actionRow})),m=V(()=>typeof e.textInput=="object"?{...lr,...e.textInput,format:typeof e.textInput.format=="string"?e.textInput.format:H.value.input,pattern:e.textInput.format??H.value.input,enabled:!0}:{...lr,format:H.value.input,pattern:H.value.input,enabled:e.textInput}),v=V(()=>{const $={input:!1};return typeof e.inline=="object"?{...$,...e.inline,enabled:!0}:{enabled:e.inline,...$}}),M=V(()=>({...hu,...e.config})),O=V(()=>typeof e.highlight=="function"?e.highlight:{...yu,...e.highlight}),E=V(()=>typeof e.weekNumbers=="object"?{type:e.weekNumbers?.type??La.type,hideOnOffsetDates:e.weekNumbers?.hideOnOffsetDates??La.hideOnOffsetDates,label:e.weekNumbers.label??La.label}:e.weekNumbers?La:void 0),P=V(()=>typeof e.multiDates=="boolean"?{enabled:e.multiDates,dragSelect:!0,limit:null}:{enabled:!!e.multiDates,limit:e.multiDates?.limit?+e.multiDates.limit:null,dragSelect:e.multiDates?.dragSelect??!0}),Y=V(()=>({minDate:e.minDate?r(e.minDate):null,maxDate:e.maxDate?r(e.maxDate):null,disabledDates:Array.isArray(e.disabledDates)?p(e.disabledDates):e.disabledDates,allowedDates:Array.isArray(e.allowedDates)?p(e.allowedDates):null,highlight:typeof O.value=="object"&&Array.isArray(O.value.dates)?p(O.value.dates):O.value,markers:e.markers?.length?new Map(e.markers.map($=>{const I=r($.date);return[t(I,na.DATE),$]})):null})),N=V(()=>typeof e.range=="object"?{enabled:!0,...sr,...e.range}:{enabled:e.range,...sr}),W=V(()=>({...Object.fromEntries(Object.keys(e.ui).map($=>{const I=$,le=e.ui[I];if(I==="dayClass")return[I,e.ui[I]];const z=typeof e.ui[I]=="string"?{[le]:!0}:Object.fromEntries(le.map(se=>[se,!0]));return[$,z]}))})),H=V(()=>({...ku,...e.formats,input:e.formats?.input??s(),preview:e.formats?.preview??s()})),q=V(()=>{if(e.teleport)return typeof e.teleport=="string"?e.teleport:typeof e.teleport=="boolean"?"body":e.teleport}),G=V(()=>({..._u,...e.timeConfig})),Z=V(()=>{if(e.flow)return{steps:[],partial:!1,...e.flow}}),U=V(()=>{const $=m.value.enabled?"text":"none";return e.inputAttrs?{...ur,inputmode:$,...e.inputAttrs}:{...ur,inputmode:$}}),X=V(()=>({offset:e.floating?.offset??10,arrow:e.floating?.arrow??!0,strategy:e.floating?.strategy??void 0,placement:e.floating?.placement??void 0,flip:e.floating?.flip??!0,shift:e.floating?.shift??!0}));return{transitions:_,multiCalendars:w,startTime:c,ariaLabels:y,filters:b,actionRow:d,textInput:m,inline:v,config:M,highlight:O,weekNumbers:E,range:N,safeDates:Y,multiDates:P,ui:W,formats:H,teleport:q,timeConfig:G,flow:Z,inputAttrs:U,floatingConfig:X,getDate:r}},qe=()=>{const e=(m,v)=>nt(m,v??na.DATE),t=(m,v)=>m?na.MONTH_AND_YEAR:v?na.YEAR:na.DATE,n=(m,v,M)=>v.get(e(m,M)),a=m=>m,r=m=>m===0?m:!m||Number.isNaN(+m)?null:+m,o=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", "),s=(m,v)=>{let M=[...document.querySelectorAll(o())];M=M.filter(E=>!m.contains(E)||"datepicker-instance"in E.dataset);const O=M.indexOf(m);if(O>=0&&(v?O-1>=0:O+1<=M.length))return M[O+(v?-1:1)]},l=m=>String(m).padStart(2,"0"),u=(m,v)=>m?.querySelector(`[data-dp-element="${v}"]`),h=(m,v,M=!1)=>{m&&v.allowStopPropagation&&(M&&m.stopImmediatePropagation(),m.stopPropagation())},p=(m,v,M=!1,O)=>{if(m.key===Re.enter||m.key===Re.space)return M&&m.preventDefault(),v();if(O)return O(m)},g=(m,v)=>{v.allowStopPropagation&&m.stopPropagation(),v.allowPreventDefault&&m.preventDefault()},w=m=>{if(m)return[...m.querySelectorAll("input, button, select, textarea, a[href]")][0]},c=()=>"ontouchstart"in globalThis||navigator.maxTouchPoints>0,y=m=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][m],b=m=>{const v=[],M=O=>O.filter(E=>!!E);for(let O=0;O`"${m}" prop must be enabled!`,dateArr:m=>`You need to use array as "model-value" binding in order to support "${m}"`},d=(m,v,M,O,E)=>{const P={hours:xt,minutes:Tt,seconds:Et};if(!v)return O?[P[m](M),P[m](M)]:P[m](M);if(Array.isArray(v)&&O){const Y=v[0]??M,N=v[1];return[P[m](Y),N?P[m](N):E[m][1]??P[m](M)]}return Array.isArray(v)&&!O?P[m](v[v.length-1]??M):P[m](v)};return{getMapKey:e,getMapKeyType:t,getMapDate:n,convertType:a,getNumVal:r,findNextFocusableElement:s,padZero:l,getElWithin:u,checkStopPropagation:h,checkKeyDown:p,handleEventPropagation:g,findFocusableEl:w,isTouchDevice:c,hoursToAmPmHours:y,getGroupedList:b,setTimeModelValue:(m,v,M,O)=>{m.hours=d("hours",v,M,O,m),m.minutes=d("minutes",v,M,O,m),m.seconds=d("seconds",v,M,O,m)},getTimeObjFromCurrent:(m,v,M)=>{const O={hours:xt(m),minutes:Tt(m),seconds:M?Et(m):0};return Object.assign(O,v)},errorMapper:_}},Xe=()=>{const{getDate:e}=Pe(),{getMapDate:t,getGroupedList:n}=qe(),a=(d,m)=>{if(!d)return e();const v=e(d),M=xe(v,{hours:0,minutes:0,seconds:0,milliseconds:0});return m?Ys(M):M},r=(d,m)=>{const v=e(m);return xe(v,{hours:+(d.hours??xt(v)),minutes:+(d.minutes??Tt(v)),seconds:+(d.seconds??Et(v)),milliseconds:0})},o=(d,m)=>{const v=ot(d,{weekStartsOn:+m}),M=Rn(d,{weekStartsOn:+m});return[v,M]},s=(d,m)=>!d||!m?!1:Pt(a(d),a(m)),l=(d,m)=>!d||!m?!1:ta(a(d),a(m)),u=(d,m)=>!d||!m?!1:wt(a(d),a(m)),h=(d,m,v)=>d?.[0]&&d?.[1]?u(v,d[0])&&s(v,d[1]):d?.[0]&&m?u(v,d[0])&&s(v,m)||s(v,d[0])&&u(v,m):!1,p=(d,m)=>{const v=u(d,m)?m:d,M=u(m,d)?m:d;return Yn({start:v,end:M})},g=d=>`dp-${nt(d,"yyyy-MM-dd")}`,w=d=>a(xe(e(d),{date:1})),c=(d,m)=>{if(m){const v=he(e(m));if(v>d)return 12;if(v===d)return Ae(e(m))}},y=(d,m)=>{if(m){const v=he(e(m));return v{if(d)return he(e(d))},_=d=>({hours:xt(d),minutes:Tt(d),seconds:Et(d)});return{resetDateTime:a,groupListAndMap:(d,m)=>n(d).map(v=>v.map(M=>{const{active:O,disabled:E,isBetween:P,highlighted:Y}=m(M);return{...M,active:O,disabled:E,className:{dp__overlay_cell_active:O,dp__overlay_cell:!O,dp__overlay_cell_disabled:E,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:E&&O,dp__cell_in_between:P,"dp--highlighted":Y}}})),setTime:r,getWeekFromDate:o,isDateAfter:u,isDateBefore:s,isDateBetween:h,isDateEqual:l,getDaysInBetween:p,getCellId:g,resetDate:w,getMinMonth:c,getMaxMonth:y,getYearFromDate:b,getTimeObj:_,setTimeValue:d=>xe(e(),_(d)),sanitizeTime:(d,m,v)=>m&&(v||v===0)?Object.fromEntries(["hours","minutes","seconds"].map(M=>M===m?[M,v]:[M,Number.isNaN(+d[M])?void 0:+d[M]])):{hours:Number.isNaN(+d.hours)?void 0:+d.hours,minutes:Number.isNaN(+d.minutes)?void 0:+d.minutes,seconds:Number.isNaN(+(d.seconds??""))?void 0:+d.seconds},getBeforeAndAfterInRange:(d,m)=>{const v=Nr(a(m),d),M=rt(a(m),d);return{before:v,after:M}},isModelAuto:d=>Array.isArray(d)?!!d[0]&&!!d[1]:!1,matchDate:(d,m)=>d?m?m instanceof Map?!!t(d,m):m(e(d)):!1:!0,checkHighlightMonth:(d,m,v)=>typeof d=="function"?d({month:m,year:v}):d.months.some(M=>M.month===m&&M.year===v),checkHighlightYear:(d,m)=>typeof d=="function"?d(m):d.years.includes(m)}},Ja=()=>{const{defaults:{config:e}}=Pe(),t=ie(0);je(()=>{n(),globalThis.addEventListener("resize",n,{passive:!0})}),jt(()=>{globalThis.removeEventListener("resize",n)});const n=()=>{t.value=globalThis.document.documentElement.clientWidth};return{isMobile:V(()=>t.value<=e.value.mobileBreakpoint?!0:void 0)}},Nt=()=>{const{getDate:e,state:t,modelValue:n,rootProps:a,defaults:{formats:r,textInput:o}}=Pe(),s=y=>nt(ct(e(),y),r.value.year,{locale:a.locale}),l=y=>nt(Fr(e(),y),r.value.month,{locale:a.locale}),u=y=>nt(y,r.value.weekDay,{locale:a.locale}),h=y=>nt(y,r.value.quarter,{locale:a.locale}),p=(y,b)=>[y,b].map(_=>h(_)).join("-"),g=y=>nt(y,r.value.day,{locale:a.locale}),w=(y,b,_)=>{const d=_?r.value.preview:r.value.input;if(!y)return"";if(typeof d=="function")return d(y);const m=b??d,v={locale:a.locale};return Array.isArray(y)?`${nt(y[0],m,v)}${a.modelAuto&&!y[1]?"":o.value.rangeSeparator}${y[1]?nt(y[1],m,v):""}`:nt(y,m,v)},c=()=>{const y=b=>nt(b,o.value.format);return Array.isArray(n.value)?`${y(n.value[0])} ${o.value.rangeSeparator} ${n.value[1]?y(n.value[1]):""}`:""};return{formatYear:s,formatMonth:l,formatWeekDay:u,formatQuarter:h,formatSelectedDate:w,formatForTextInput:()=>t.isInputFocused&&n.value?Array.isArray(n.value)?c():nt(n.value,o.value.format):w(n.value),formatPreview:y=>w(y,void 0,!0),formatQuarterText:p,formatDay:g}},en=()=>{const{rootProps:e}=Pe(),{formatYear:t,formatMonth:n}=Nt();return{getMonths:()=>[0,1,2,3,4,5,6,7,8,9,10,11].map(a=>({text:n(a),value:a})),getYears:()=>{const a=[];for(let r=+e.yearRange[0];r<=+e.yearRange[1];r++)a.push({value:+r,text:t(r)});return e.reverseYears?a.reverse():a},isOutOfYearRange:a=>a<+e.yearRange[0]||a>+e.yearRange[1]}},Pu=e=>({openMenu:()=>e.value?.openMenu(),closeMenu:()=>e.value?.closeMenu(),selectDate:()=>e.value?.selectDate(),clearValue:()=>e.value?.clearValue(),formatInputValue:()=>e.value?.formatInputValue(),updateInternalModelValue:t=>e.value?.updateInternalModelValue(t),setMonthYear:(t,n)=>e.value?.setMonthYear(t,n),parseModel:()=>e.value?.parseModel(),switchView:(t,n)=>e.value?.switchView(t,n),handleFlow:()=>e.value?.handleFlow(),toggleMenu:()=>e.value?.toggleMenu(),dpMenuRef:()=>e.value?.dpMenuRef(),dpWrapMenuRef:()=>e.value?.dpWrapMenuRef(),inputRef:()=>e.value?.inputRef()}),fa=()=>({boolHtmlAttribute:e=>e?!0:void 0}),Au=()=>{const{getDate:e,rootProps:t,defaults:{textInput:n,startTime:a,timeConfig:r}}=Pe(),{getTimeObjFromCurrent:o}=qe(),s=ie(!1),l=V(()=>Array.isArray(a.value)?a.value[0]:a.value??o(e(),{},r.value.enableSeconds)),u=(p,g)=>{const w=/[^a-zA-Z]+/g,c=/\D+/g,y=g.split(c),b=p.split(w),_=p.match(w)||[],d=g.match(c)||[];let m="";for(let v=0;v0&&d[v-1]&&(m+=_[v-1]||d[v-1]);const M=y[v]?.length;m+=b[v]?.slice(0,M)}return m},h=(p,g,w)=>{const c=_n(p,u(g,p),e(),{locale:t.locale});return _a(c)&&Pr(c)?w||s.value?c:xe(c,{hours:+l.value.hours,minutes:+l.value.minutes,seconds:+(l.value.seconds??0),milliseconds:0}):null};return{textPasted:s,parseFreeInput:(p,g)=>{if(typeof n.value.pattern=="string")return h(p,n.value.pattern,g);if(Array.isArray(n.value.pattern)){let w=null;for(const c of n.value.pattern)if(w=h(p,c,g),w)break;return w}return typeof n.value.pattern=="function"?n.value.pattern(p):null},applyMaxValues:(p,g)=>{const w={MM:12,DD:31,hh:23,mm:59,ss:59};let c="",y=0;for(let b=0;bw[_]&&(v=w[_]),c+=v.toString().padStart(d,"0").slice(0,d)}y+=d}return c},createMaskedValue:(p,g)=>{const w=/(YYYY|MM|DD|hh|mm|ss)/g,c=[...g.matchAll(w)].map(m=>m[0]),y=g.replace(w,"|").split("|").filter(Boolean),b=c.map(m=>m.length);let _="",d=0;for(let m=0;m(e.Input="input",e.DatePicker="date-picker",e.Calendar="calendar",e.DatePickerHeader="date-picker-header",e.Menu="menu",e.ActionRow="action-row",e.TimePicker="time-picker",e.TimeInput="time-input",e.PassTrough="pass-trough",e.MonthPicker="month-picker",e.YearMode="year-mode",e.QuarterPicker="quarter-picker",e.YearPicker="year-picker",e))(mt||{});const Jt=["time-input","time-picker","pass-trough"],Kr=[{name:"trigger",use:["input"]},{name:"input-icon",use:["input"]},{name:"clear-icon",use:["input"]},{name:"dp-input",use:["input"]},{name:"clock-icon",use:["time-picker","time-input","pass-trough"]},{name:"arrow-left",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-right",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-up",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"arrow-down",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"calendar-icon",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"day",use:["calendar","pass-trough"]},{name:"month-overlay-value",use:["date-picker-header","pass-trough","month-picker"]},{name:"year-overlay-value",use:["date-picker-header","pass-trough","year-mode","year-picker"]},{name:"year-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay-header",use:["date-picker-header","pass-trough"]},{name:"year-overlay-header",use:["date-picker-header","pass-trough"]},{name:"hours-overlay-value",use:Jt},{name:"hours-overlay-header",use:Jt},{name:"minutes-overlay-value",use:Jt},{name:"minutes-overlay-header",use:Jt},{name:"seconds-overlay-value",use:Jt},{name:"seconds-overlay-header",use:Jt},{name:"hours",use:["time-input","time-picker","pass-trough"]},{name:"minutes",use:["time-input","time-picker","pass-trough"]},{name:"seconds",use:["time-input","time-picker","pass-trough"]},{name:"month",use:["date-picker-header","time-picker","pass-trough"]},{name:"year",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"action-buttons",use:["action-row"]},{name:"action-preview",use:["action-row"]},{name:"calendar-header",use:["calendar","pass-trough"]},{name:"marker-tooltip",use:["calendar","pass-trough"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["time-picker","time-picker","pass-trough"]},{name:"am-pm-button",use:["time-picker","time-input","pass-trough"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["date-picker-header","pass-trough","month-picker","year-picker"]},{name:"time-picker",use:["date-picker","pass-trough"]},{name:"action-row",use:["action-row"]},{name:"marker",use:["calendar","pass-trough"]},{name:"quarter",use:["quarter-picker","pass-trough"]},{name:"top-extra",use:["date-picker-header","pass-trough","month-picker","quarter-picker","year-picker"]},{name:"tp-inline-arrow-up",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"tp-inline-arrow-down",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"arrow",use:["menu"]},{name:"menu-header",use:["menu"]}],_t=(e,t)=>Kr.filter(n=>e[n.name]&&n.use.includes(t)).map(n=>n.name),Xr=(e,t)=>Kr.map(n=>n.name).concat(t?.filter(n=>n.slot).map(n=>n.slot)??[]).filter(n=>!!e[n]),Tu={key:1,class:"dp__input_wrap"},Ou=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Cu={key:1,class:"dp--clear-btn"},Su=["aria-label"],Yu=Ue({__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1}},emits:["clear","open","set-input-date","close","select-date","set-empty-date","toggle","focus","blur","real-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,inputValue:s,rootProps:l,defaults:{textInput:u,ariaLabels:h,inline:p,config:g,range:w,multiDates:c,ui:y,inputAttrs:b}}=Pe(),{checkMinMaxRange:_,isValidDate:d}=st(),{parseFreeInput:m,textPasted:v,createMaskedValue:M,applyMaxValues:O}=Au(),{checkKeyDown:E,checkStopPropagation:P}=qe(),{boolHtmlAttribute:Y}=fa(),N=Be("dp-input"),W=ie(null),H=ie(!1),q=V(()=>({dp__pointer:!l.disabled&&!l.readonly&&!u.value.enabled,dp__disabled:l.disabled,dp__input_readonly:!u.value.enabled,dp__input:!0,dp__input_not_clearable:!b.value.clearable,dp__input_icon_pad:!b.value.hideInputIcon,dp__input_valid:typeof b.value.state=="boolean"?b.value.state:!1,dp__input_invalid:typeof b.value.state=="boolean"?!b.value.state:!1,dp__input_focus:H.value||r.isMenuOpen,dp__input_reg:!u.value.enabled,...y.value.input})),G=()=>{a("set-input-date",null),b&&l.autoApply&&(a("set-empty-date"),W.value=null)},Z=D=>{if(u.value.separators?.length){const R=new RegExp(u.value.separators.map(Q=>Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"));return D.split(R)}return D.split(u.value.rangeSeparator)},U=D=>{const[R,Q]=Z(D);if(R){const x=m(R.trim(),s.value),B=Q?m(Q.trim(),s.value):void 0;if(wt(x,B))return;const J=x&&B?[x,B]:[x];_(B,J,0)&&(W.value=x?J:null)}},X=()=>{v.value=!0},$=D=>{if(w.value.enabled)U(D);else if(c.value.enabled){const R=D.split(";");W.value=R.map(Q=>m(Q.trim())).filter(Q=>!!Q)}else W.value=m(D,s.value)},I=D=>{const R=typeof D=="string"?D:D.target?.value,Q=u?.value?.maskFormat;let x=R;if(typeof Q=="string"){const B=/(YYYY|MM|DD|hh|mm|ss)/g,J=[...Q.matchAll(B)].map(f=>f[0]),T=R.replace(/\D/g,""),L=O(T,J);x=M(L,Q)}x===""?G():(u.value.openMenu&&!r.isMenuOpen&&a("open"),$(x),a("set-input-date",W.value)),v.value=!1,s.value=x,o("text-input",D,W.value)},le=D=>{u.value.enabled?($(D.target.value),u.value.enterSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0),W.value=null):u.value.enterSubmit&&s.value===""&&(W.value=null,a("clear"))):fe(D)},z=(D,R)=>{u.value.enabled&&u.value.tabSubmit&&!R&&$(D.target.value),u.value.tabSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0,!0),W.value=null):u.value.tabSubmit&&s.value===""&&(W.value=null,a("clear"))},se=()=>{H.value=!0,a("focus"),Ge().then(()=>{u.value.enabled&&u.value.selectOnFocus&&N.value?.select()})},fe=D=>{if(P(D,g.value,!0),u.value.enabled&&u.value.openMenu&&!p.value.input){if(u.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(u.value.openMenu==="toggle")return a("toggle")}else u.value.enabled||a("toggle")},ge=()=>{a("real-blur"),H.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),(l.autoApply&&u.value.enabled&&W.value&&!r.isMenuOpen||u.value.applyOnBlur)&&(a("set-input-date",W.value),a("select-date"),W.value=null)},ne=D=>{P(D,g.value,!0),a("clear")},pe=()=>{a("close")},ue=D=>{if(D.key==="Tab"&&z(D),D.key==="Enter"&&le(D),D.key==="Escape"&&u.value.escClose&&pe(),!u.value.enabled){if(D.code==="Tab")return;D.preventDefault()}},ke=()=>{N.value?.focus({preventScroll:!0})},me=D=>{W.value=D},Te=D=>{D.key===Re.tab&&z(D,!0)};return t({focusInput:ke,setParsedDate:me}),(D,R)=>(F(),te("div",{onClick:fe},[!D.$slots["dp-input"]&&!i(p).enabled?oe(D.$slots,"trigger",{key:0}):re("",!0),!D.$slots.trigger&&(!i(p).enabled||i(p).input)?(F(),te("div",Tu,[!D.$slots.trigger&&(!i(p).enabled||i(p).enabled&&i(p).input)?oe(D.$slots,"dp-input",{key:0,value:i(s),isMenuOpen:e.isMenuOpen,onInput:I,onEnter:le,onTab:z,onClear:ne,onBlur:ge,onKeypress:ue,onPaste:X,onFocus:se,openMenu:()=>D.$emit("open"),closeMenu:()=>D.$emit("close"),toggleMenu:()=>D.$emit("toggle")},()=>[we("input",{id:i(b).id,ref:"dp-input","data-test-id":"dp-input",name:i(b).name,class:ye(q.value),inputmode:i(b).inputmode,placeholder:i(l).placeholder,disabled:i(Y)(i(l).disabled),readonly:i(Y)(i(l).readonly),required:i(Y)(i(b).required),value:i(s),autocomplete:i(b).autocomplete,"aria-label":i(h).input,"aria-disabled":i(l).disabled||void 0,"aria-invalid":i(b).state===!1?!0:void 0,onInput:I,onBlur:ge,onFocus:se,onKeypress:ue,onKeydown:R[0]||(R[0]=Q=>ue(Q)),onPaste:X,onInvalid:R[1]||(R[1]=Q=>i(o)("invalid",Q))},null,42,Ou)]):re("",!0),we("div",{onClick:R[4]||(R[4]=Q=>a("toggle"))},[D.$slots["input-icon"]&&!i(b).hideInputIcon?(F(),te("span",{key:0,class:"dp__input_icon",onClick:R[2]||(R[2]=Q=>a("toggle"))},[oe(D.$slots,"input-icon")])):re("",!0),!D.$slots["input-icon"]&&!i(b).hideInputIcon&&!D.$slots["dp-input"]?(F(),$e(i(Oa),{key:1,"aria-label":i(h)?.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:R[3]||(R[3]=Q=>a("toggle"))},null,8,["aria-label"])):re("",!0)]),D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(s)&&i(b).clearable&&!i(l).disabled&&!i(l).readonly)?(F(),te("span",Cu,[oe(D.$slots,"clear-icon",{clear:ne})])):re("",!0),!D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(b).clearable&&i(s)&&!i(l).disabled&&!i(l).readonly)?(F(),te("button",{key:2,"aria-label":i(h)?.clearInput,class:"dp--clear-btn",type:"button","data-test-id":"clear-input-value-btn",onKeydown:R[5]||(R[5]=Q=>i(E)(Q,()=>ne(Q),!0,Te)),onClick:R[6]||(R[6]=sa(Q=>ne(Q),["prevent"]))},[He(i(Si),{class:"dp__input_icons"})],40,Su)):re("",!0)])):re("",!0)]))}}),Ru={ref:"action-row",class:"dp__action_row"},$u=["title"],Eu={ref:"action-buttons-container",class:"dp__action_buttons","data-dp-element":"action-row"},Bu=["disabled"],Nu=Ue({__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{default:0}},emits:["close-picker","select-date","select-now"],setup(e,{emit:t}){const n=t,a=e,{rootEmit:r,rootProps:o,modelValue:s,defaults:{actionRow:l,multiCalendars:u,inline:h,range:p,multiDates:g,formats:w}}=Pe(),{isTimeValid:c,isMonthValid:y}=st(),{formatPreview:b}=Nt(),{checkKeyDown:_,convertType:d}=qe(),{boolHtmlAttribute:m}=fa(),v=Be("action-buttons-container"),M=Be("action-row"),O=ie(!1),E=ie({});je(()=>{P(),globalThis.addEventListener("resize",P)}),jt(()=>{globalThis.removeEventListener("resize",P)});const P=()=>{O.value=!1,setTimeout(()=>{const X=v.value?.getBoundingClientRect(),$=M.value?.getBoundingClientRect();X&&$&&(E.value.maxWidth=`${$.width-X.width-20}px`),O.value=!0},0)},Y=V(()=>p.value.enabled&&!p.value.partialRange&&s.value?s.value.length===2:!0),N=V(()=>!c.value(s.value)||!y.value(s.value)||!Y.value),W=()=>{const X=w.value.preview;return o.timePicker||o.monthPicker,X(d(s.value))},H=()=>{const X=s.value;return u.value.count>0?`${b(X[0])} - ${b(X[1])}`:[b(X[0]),b(X[1])]},q=V(()=>!s.value||!a.menuMount?"":typeof w.value.preview=="string"?Array.isArray(s.value)?s.value.length===2&&s.value[1]?H():g.value.enabled?s.value.map(X=>`${b(X)}`):o.modelAuto?`${b(s.value[0])}`:`${b(s.value[0])} -`:b(s.value):W()),G=()=>g.value.enabled?"; ":" - ",Z=V(()=>Array.isArray(q.value)?q.value.join(G()):q.value),U=()=>{c.value(s.value)&&y.value(s.value)&&Y.value?n("select-date"):r("invalid-select")};return(X,$)=>(F(),te("div",Ru,[X.$slots["action-row"]?oe(X.$slots,"action-row",et(vt({key:0},{modelValue:i(s),disabled:N.value,selectDate:()=>X.$emit("select-date"),closePicker:()=>X.$emit("close-picker")}))):(F(),te(Se,{key:1},[i(l).showPreview?(F(),te("div",{key:0,class:"dp__selection_preview",title:Z.value||void 0,style:tt(E.value)},[X.$slots["action-preview"]&&O.value?oe(X.$slots,"action-preview",{key:0,value:i(s),formatValue:Z.value}):re("",!0),!X.$slots["action-preview"]&&O.value?(F(),te(Se,{key:1},[At(Ke(Z.value),1)],64)):re("",!0)],12,$u)):re("",!0),we("div",Eu,[X.$slots["action-buttons"]?oe(X.$slots,"action-buttons",{key:0,value:i(s),selectDate:U,selectionDisabled:N.value}):re("",!0),X.$slots["action-buttons"]?re("",!0):(F(),te(Se,{key:1},[!i(h).enabled&&i(l).showCancel?(F(),te("button",{key:0,ref:"cancel-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[0]||($[0]=I=>X.$emit("close-picker")),onKeydown:$[1]||($[1]=I=>i(_)(I,()=>X.$emit("close-picker")))},Ke(i(l).cancelBtnLabel),545)):re("",!0),i(l).showNow?(F(),te("button",{key:1,type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[2]||($[2]=I=>X.$emit("select-now")),onKeydown:$[3]||($[3]=I=>i(_)(I,()=>X.$emit("select-now")))},Ke(i(l).nowBtnLabel),33)):re("",!0),i(l).showSelect?(F(),te("button",{key:2,ref:"select-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_select",disabled:i(m)(N.value),"data-test-id":"select-button",onKeydown:$[4]||($[4]=I=>i(_)(I,()=>U())),onClick:U},Ke(i(l).selectBtnLabel),41,Bu)):re("",!0)],64))],512)],64))],512))}}),tn=()=>{const{rootProps:e,defaults:{multiCalendars:t}}=Pe(),n=V(()=>o=>e.hideNavigation?.includes(o)),a=V(()=>o=>t.value.count?t.value.solo?!0:o===0:!0),r=V(()=>o=>t.value.count?t.value.solo?!0:o===t.value.count-1:!0);return{hideNavigationButtons:n,showLeftIcon:a,showRightIcon:r}},Fu=["role","aria-label","tabindex"],Vu={class:"dp__selection_grid_header"},Lu=["aria-selected","aria-disabled","data-dp-action-element","data-dp-element-active","data-test-id","onClick","onKeydown","onMouseover"],Wu=["aria-label","data-dp-action-element"],Ya=Ue({__name:"SelectionOverlay",props:{items:{},type:{},useRelative:{type:Boolean},height:{},overlayLabel:{},isLast:{type:Boolean},level:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{emit:t}){const n=t,a=e,{setState:r,defaults:{ariaLabels:o,config:s}}=Pe(),{hideNavigationButtons:l}=tn(),{handleEventPropagation:u,checkKeyDown:h}=qe(),p=Be("toggle-button"),g=Be("overlay-container"),w=Be("grid-wrap"),c=ie(!1),y=ie(null),b=ie(),_=ie(0);bo(()=>{y.value=null}),je(async()=>{await Ge(),E(),r("arrowNavigationLevel",a.level??1)}),jt(()=>{r("arrowNavigationLevel",(a.level??1)-1)});const d=V(()=>({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),m=V(()=>a.useRelative?{height:`${a.height}px`,width:"var(--dp-menu-min-width)"}:void 0),v=V(()=>({dp__overlay_col:!0})),M=V(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:c.value,dp__button_bottom:a.isLast})),O=V(()=>({dp__overlay_container:!0,dp__container_flex:a.items?.length<=6,dp__container_block:a.items?.length>6}));Je(()=>a.items,()=>E(!1),{deep:!0});const E=(G=!0)=>{Ge().then(()=>{const Z=document.querySelector(`[data-dp-element-active="${a.level??1}"]`),U=Yt(w),X=Yt(p),$=Yt(g),I=X?X.getBoundingClientRect().height:0;U&&(U.getBoundingClientRect().height?_.value=U.getBoundingClientRect().height-I:_.value=s.value.modeHeight-I),Z&&$&&G&&($.scrollTop=Z.offsetTop-$.offsetTop-(_.value/2-Z.getBoundingClientRect().height)-I)})},P=G=>{G.disabled||n("selected",G.value)},Y=()=>{n("toggle"),n("reset-flow")},N=G=>{s.value.escClose&&(Y(),u(G,s.value))},W=G=>{b.value=G,n("hover-value",G)},H=G=>{if(G.key===Re.esc)return N(G)},q=G=>{if(G.key===Re.enter)return Y()};return(G,Z)=>(F(),te("div",{ref:"grid-wrap",class:ye(d.value),style:tt(m.value),role:e.useRelative?void 0:"dialog","aria-label":e.overlayLabel,tabindex:e.useRelative?void 0:"0",onKeydown:H,onClick:Z[0]||(Z[0]=sa(()=>{},["prevent"]))},[we("div",{ref:"overlay-container",class:ye(O.value),style:tt({"--dp-overlay-height":`${_.value}px`}),role:"grid"},[we("div",Vu,[oe(G.$slots,"header")]),oe(G.$slots,"overlay",{},()=>[(F(!0),te(Se,null,Ee(e.items,(U,X)=>(F(),te("div",{key:X,class:ye(["dp__overlay_row",{dp__flex_row:e.items.length>=3}]),role:"row"},[(F(!0),te(Se,null,Ee(U,$=>(F(),te("div",{key:$.value,role:"gridcell",class:ye(v.value),"aria-selected":$.active||void 0,"aria-disabled":$.disabled||void 0,"data-dp-action-element":e.level??1,"data-dp-element-active":$.active?e.level??1:void 0,tabindex:"0","data-test-id":$.text,onClick:sa(I=>P($),["prevent"]),onKeydown:I=>i(h)(I,()=>P($),!0),onMouseover:I=>W($.value)},[we("div",{class:ye($.className)},[oe(G.$slots,"item",{item:$},()=>[At(Ke($.text),1)])],2)],42,Lu))),128))],2))),128))])],6),G.$slots["button-icon"]?Wa((F(),te("button",{key:0,ref:"toggle-button",type:"button","aria-label":i(o)?.toggleOverlay,class:ye(M.value),tabindex:"0","data-dp-action-element":e.level??1,onClick:Y,onKeydown:q},[oe(G.$slots,"button-icon")],42,Wu)),[[Ia,!i(l)(e.type)]]):re("",!0)],46,Fu))}}),Iu=["data-dp-mobile"],an=Ue({__name:"InstanceWrap",props:{stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const{defaults:{multiCalendars:t}}=Pe(),{isMobile:n}=Ja(),a=V(()=>t.value.count>0?[...new Array(t.value.count).keys()]:[0]);return(r,o)=>(F(),te("div",{class:ye({dp__menu_inner:!e.stretch,"dp--menu--inner-stretched":e.stretch,dp__flex_display:i(t).count>0,"dp--flex-display-collapsed":e.collapse}),"data-dp-mobile":i(n)},[oe(r.$slots,"default",{instances:a.value,wrapClass:{dp__instance_calendar:i(t).count>0}})],10,Iu))}}),Hu=["data-dp-element","aria-label","aria-disabled"],Da=Ue({__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const{checkKeyDown:n}=qe(),a=t;return(r,o)=>(F(),te("button",{ref:"arrow-btn",type:"button","data-dp-element":e.elName,"data-dp-action-element":"0",class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":e.ariaLabel,"aria-disabled":e.disabled||void 0,onClick:o[0]||(o[0]=s=>a("activate")),onKeydown:o[1]||(o[1]=s=>i(n)(s,()=>a("activate"),!0))},[we("span",{class:ye(["dp__inner_nav",{dp__inner_nav_disabled:e.disabled}])},[oe(r.$slots,"default")],2)],40,Hu))}}),qu=["aria-label","data-test-id"],Qr=Ue({__name:"YearModePicker",props:{items:{},instance:{},year:{},showYearPicker:{type:Boolean,default:!1},isDisabled:{}},emits:["handle-year","year-select","toggle-year-picker"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=tn(),{rootProps:s,defaults:{config:l,ariaLabels:u,ui:h}}=Pe(),{showTransition:p,transitionName:g}=Ca(),{formatYear:w}=Nt(),{boolHtmlAttribute:c}=fa(),y=ie(!1),b=V(()=>w(a.year)),_=(v=!1,M)=>{y.value=!y.value,n("toggle-year-picker",{flow:v,show:M})},d=v=>{y.value=!1,n("year-select",v)},m=(v=!1)=>{n("handle-year",v)};return(v,M)=>(F(),te(Se,null,[we("div",{class:ye(["dp--year-mode-picker",{"dp--hidden-el":y.value}])},[i(o)(e.instance)?(F(),$e(Da,{key:0,ref:"mpPrevIconRef","aria-label":i(u)?.prevYear,disabled:i(c)(e.isDisabled(!1)),class:ye(i(h)?.navBtnPrev),onActivate:M[0]||(M[0]=O=>m(!1))},{default:be(()=>[v.$slots["arrow-left"]?oe(v.$slots,"arrow-left",{key:0}):re("",!0),v.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${i(u)?.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,"data-dp-action-element":"0",onClick:M[1]||(M[1]=()=>_(!1)),onKeydown:M[2]||(M[2]=ko(sa(()=>_(!1),["prevent"]),["enter"]))},[v.$slots.year?oe(v.$slots,"year",{key:0,text:b.value,value:e.year}):re("",!0),v.$slots.year?re("",!0):(F(),te(Se,{key:1},[At(Ke(e.year),1)],64))],40,qu),i(r)(e.instance)?(F(),$e(Da,{key:1,ref:"mpNextIconRef","aria-label":i(u)?.nextYear,disabled:i(c)(e.isDisabled(!0)),class:ye(i(h)?.navBtnNext),onActivate:M[3]||(M[3]=O=>m(!0))},{default:be(()=>[v.$slots["arrow-right"]?oe(v.$slots,"arrow-right",{key:0}):re("",!0),v.$slots["arrow-right"]?re("",!0):(F(),$e(i(Ir),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),He(da,{name:i(g)(e.showYearPicker),css:i(p)},{default:be(()=>[e.showYearPicker?(F(),$e(Ya,{key:0,items:e.items,config:i(l),"is-last":i(s).autoApply&&!i(l).keepActionRow,"overlay-label":i(u)?.yearPicker?.(!0),type:"year",onToggle:_,onSelected:M[4]||(M[4]=O=>d(O))},ze({"button-icon":be(()=>[v.$slots["calendar-icon"]?oe(v.$slots,"calendar-icon",{key:0}):re("",!0),v.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:be(({item:O})=>[oe(v.$slots,"year-overlay-value",{text:O.text,value:O.value})]),key:"0"}:void 0]),1032,["items","config","is-last","overlay-label"])):re("",!0)]),_:3},8,["name","css"])],64))}}),Gr=e=>{const{getDate:t,rootEmit:n,state:a,month:r,year:o,modelValue:s,calendars:l,rootProps:u,defaults:{multiCalendars:h,range:p,safeDates:g,filters:w,highlight:c}}=Pe(),{resetDate:y,getYearFromDate:b,checkHighlightYear:_,groupListAndMap:d}=Xe(),{getYears:m}=en(),{validateMonthYear:v,checkMinMaxValue:M}=st(),O=ie([!1]),E=V(()=>m()),P=V(()=>(z,se)=>{const fe=xe(y(t()),{month:r.value(z),year:o.value(z)}),ge=se?Tr(fe):oa(fe);return v(ge,u.preventMinMaxNavigation,se)}),Y=()=>Array.isArray(s.value)&&h.value.solo&&s.value[1],N=()=>{for(let z=0;z{if(!z)return N();const se=xe(t(),l.value[z]);return l.value[0].year=he(Vr(se,h.value.count-1)),N()},H=(z,se)=>{const fe=Cs(se,z);return p.value.showLastInRange&&fe>1?se:z},q=z=>u.focusStartDate||h.value.solo?z[0]:z[1]?H(z[0],z[1]):z[0],G=()=>{if(s.value){const z=Array.isArray(s.value)?q(s.value):s.value;l.value[0]={month:Ae(z),year:he(z)}}},Z=()=>{G(),h.value.count&&N()};Je(s,(z,se)=>{a.isTextInputDate&&JSON.stringify(z??{})!==JSON.stringify(se??{})&&Z()}),je(()=>{Z()});const U=(z,se)=>{l.value[se].year=z,n("update-month-year",{instance:se,year:z,month:l.value[se].month}),h.value.count&&!h.value.solo&&W(se)},X=V(()=>z=>d(E.value,se=>{const fe=o.value(z)===se.value,ge=M(se.value,b(g.value.minDate),b(g.value.maxDate))||w.value.years?.includes(o.value(z)),ne=_(c.value,se.value);return{active:fe,disabled:ge,highlighted:ne}})),$=(z,se)=>{U(z,se),le(se)},I=(z,se=!1)=>{if(!P.value(z,se)){const fe=se?o.value(z)+1:o.value(z)-1;U(fe,z)}},le=(z,se=!1,fe)=>{se||e("reset-flow"),fe===void 0?O.value[z]=!O.value[z]:O.value[z]=fe,O.value[z]?n("overlay-toggle",{open:!0,overlay:Qe.year}):n("overlay-toggle",{open:!1,overlay:Qe.year})};return{isDisabled:P,groupedYears:X,showYearPicker:O,selectYear:U,setStartDate:()=>{u.startDate&&(s.value&&u.focusStartDate||!s.value)&&U(he(t(u.startDate)),0)},toggleYearPicker:le,handleYearSelect:$,handleYear:I}},nn=()=>{const{isDateAfter:e,isDateBefore:t,isDateEqual:n}=Xe(),{getDate:a,rootEmit:r,rootProps:o,modelValue:s,defaults:{range:l}}=Pe();return{getRangeWithFixedDate:u=>Array.isArray(s.value)&&(s.value.length===2||s.value.length===1&&l.value.partialRange)?l.value.fixedStart&&(e(u,s.value[0])||n(u,s.value[0]))?[s.value[0],u]:l.value.fixedEnd&&(t(u,s.value[1])||n(u,s.value[1]))?[u,s.value[1]]:(r("invalid-fixed-range",u),s.value):[],setPresetDate:u=>{Array.isArray(u.value)&&u.value.length<=2&&l.value.enabled?s.value=u.value.map(h=>a(h)):Array.isArray(u.value)||(s.value=a(u.value))},checkRangeAutoApply:(u,h,p)=>{l&&(u[0]&&u[1]&&o.autoApply&&h("auto-apply",p),u[0]&&!u[1]&&(o.modelAuto||l.value.partialRange)&&o.autoApply&&h("auto-apply",p))},setMonthOrYearRange:u=>{let h=s.value?s.value.slice():[];return h.length===2&&h[1]!==null&&(h=[]),h.length?(t(u,h[0])?h.unshift(u):h[1]=u,r("range-end",u)):(h=[u],r("range-start",u)),h},handleMultiDatesSelect:(u,h)=>{if(s.value&&Array.isArray(s.value))if(s.value.some(p=>n(u,p))){const p=s.value.filter(g=>!n(g,u));s.value=p.length?p:null}else(h&&+h>s.value.length||!h)&&s.value.push(u);else s.value=[u]}}},Uu=(e,t)=>{const{getDate:n,rootEmit:a,state:r,calendars:o,year:s,modelValue:l,rootProps:u,defaults:{range:h,highlight:p,safeDates:g,filters:w,multiDates:c}}=Pe();Sa(()=>{r.isTextInputDate&&$(he(n(u.startDate)),0)});const{checkMinMaxRange:y,checkMinMaxValue:b}=st(),{isDateBetween:_,resetDateTime:d,resetDate:m,getMinMonth:v,getMaxMonth:M,checkHighlightMonth:O,groupListAndMap:E}=Xe(),{checkRangeAutoApply:P,getRangeWithFixedDate:Y,handleMultiDatesSelect:N,setMonthOrYearRange:W,setPresetDate:H}=nn(),{padZero:q}=qe(),{getMonths:G,isOutOfYearRange:Z}=en(),U=V(()=>G()),X=ie(null),{selectYear:$,groupedYears:I,showYearPicker:le,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,isDisabled:ge,setStartDate:ne}=Gr(t);je(()=>{ne()});const pe=A=>A?{month:Ae(A),year:he(A)}:{month:null,year:null},ue=()=>l.value?Array.isArray(l.value)?l.value.map(A=>pe(A)):pe(l.value):pe(),ke=(A,ae)=>{const ee=o.value[A],Me=ue();return Array.isArray(Me)?Me.some(_e=>_e.year===ee?.year&&_e.month===ae):ee?.year===Me.year&&ae===Me.month},me=(A,ae,ee)=>{const Me=ue();return Array.isArray(Me)?s.value(ae)===Me[ee]?.year&&A===Me[ee]?.month:!1},Te=(A,ae)=>{if(h.value.enabled){const ee=ue();if(Array.isArray(l.value)&&Array.isArray(ee)){const Me=me(A,ae,0)||me(A,ae,1),_e=xe(m(n()),{month:A,year:s.value(ae)});return _(l.value,X.value,_e)&&!Me}return!1}return!1},D=V(()=>A=>E(U.value,ae=>{const ee=ke(A,ae.value),Me=b(ae.value,v(s.value(A),g.value.minDate),M(s.value(A),g.value.maxDate))||k(g.value.disabledDates,s.value(A),ae.value)||w.value.months?.includes(ae.value)||!j(g.value.allowedDates,s.value(A),ae.value)||Z(s.value(A)),_e=Te(ae.value,A),Xt=O(p.value,ae.value,s.value(A));return{active:ee,disabled:Me,isBetween:_e,highlighted:Xt}})),R=(A,ae)=>xe(m(n()),{month:A,year:s.value(ae)}),Q=(A,ae)=>{const ee=l.value?l.value:m(n());l.value=xe(ee,{month:A,year:s.value(ae)}),t("auto-apply"),t("update-flow-step")},x=(A,ae)=>{const ee=R(A,ae);h.value.fixedEnd||h.value.fixedStart?l.value=Y(ee):l.value?y(ee,l.value)&&(l.value=W(R(A,ae))):l.value=[R(A,ae)],Ge().then(()=>{P(l.value,t,l.value.length<2)})},B=(A,ae)=>{N(R(A,ae),c.value.limit),t("auto-apply",!0)},J=(A,ae)=>(o.value[ae].month=A,L(ae,o.value[ae].year,A),c.value.enabled?B(A,ae):h.value.enabled?x(A,ae):Q(A,ae)),T=(A,ae)=>{$(A,ae),L(ae,A,null)},L=(A,ae,ee)=>{let Me=ee;if(!Me&&Me!==0){const _e=ue();Me=Array.isArray(_e)?_e[A].month:_e.month}a("update-month-year",{instance:A,year:ae,month:Me})},f=(A,ae)=>{X.value=R(A,ae)},S=A=>{H({value:A}),t("auto-apply")},k=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!1}return typeof A=="function"?A(d(xe(n(),{month:ee,year:ae}),!0)):!1},j=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!0}return!0};return{groupedMonths:D,groupedYears:I,year:s,isDisabled:ge,showYearPicker:le,modelValue:l,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,presetDate:S,setHoverDate:f,selectMonth:J,selectYear:T,getModelMonthYear:ue}},ju=Ue({__name:"MonthPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply","update-flow-step","mount"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Bt(),{rootProps:s,defaults:{config:l}}=Pe(),u=_t(o,mt.YearMode);je(()=>{a("mount")});const{groupedMonths:h,groupedYears:p,year:g,isDisabled:w,showYearPicker:c,modelValue:y,presetDate:b,setHoverDate:_,selectMonth:d,selectYear:m,toggleYearPicker:v,handleYearSelect:M,handleYear:O,getModelMonthYear:E}=Uu(r,a);return t({getSidebarProps:()=>({modelValue:y,year:g,getModelMonthYear:E,selectMonth:d,selectYear:m,handleYear:O}),presetDate:b,toggleYearPicker:P=>v(0,P)}),(P,Y)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:N,wrapClass:W})=>[(F(!0),te(Se,null,Ee(N,H=>(F(),te("div",{key:H,class:ye(W)},[P.$slots["top-extra"]?oe(P.$slots,"top-extra",{key:0,value:i(y)}):re("",!0),oe(P.$slots,"month-year",vt({ref_for:!0},{year:i(g),months:i(h)(H),years:i(p)(H),selectMonth:i(d),selectYear:i(m),instance:H}),()=>[He(Ya,{items:i(h)(H),"is-last":i(s).autoApply&&!i(l).keepActionRow,height:i(l).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(s).textInput),"use-relative":"",level:0,type:"month",onSelected:q=>i(d)(q,H),onHoverValue:q=>i(_)(q,H)},ze({header:be(()=>[He(Qr,{items:i(p)(H),instance:H,"show-year-picker":i(c)[H],year:i(g)(H),"is-disabled":q=>i(w)(H,q),onHandleYear:q=>i(O)(H,q),onYearSelect:q=>i(M)(q,H),onToggleYearPicker:q=>i(v)(H,q?.flow,q?.show)},ze({_:2},[Ee(i(u),(q,G)=>({name:q,fn:be(Z=>[oe(P.$slots,q,vt({ref_for:!0},Z))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[P.$slots["month-overlay-value"]?{name:"item",fn:be(({item:q})=>[oe(P.$slots,"month-overlay-value",{text:q.text,value:q.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","onSelected","onHoverValue"])])],2))),128))]),_:3},8,["collapse"]))}}),zu=(e,t)=>{const{rootEmit:n,getDate:a,state:r,modelValue:o,rootProps:s,defaults:{highlight:l,multiDates:u,filters:h,range:p,safeDates:g}}=Pe(),{getYears:w}=en(),{isDateBetween:c,resetDate:y,resetDateTime:b,getYearFromDate:_,checkHighlightYear:d,groupListAndMap:m}=Xe(),{checkRangeAutoApply:v,setMonthOrYearRange:M}=nn(),{checkMinMaxValue:O,checkMinMaxRange:E}=st();Sa(()=>{r.isTextInputDate&&(Y.value=he(a(s.startDate)))});const P=ie(null),Y=ie();je(()=>{s.startDate&&(o.value&&s.focusStartDate||!o.value)&&(Y.value=he(a(s.startDate)))});const N=U=>Array.isArray(o.value)?o.value.some(X=>he(X)===U):o.value?he(o.value)===U:!1,W=U=>p.value.enabled&&Array.isArray(o.value)?c(o.value,P.value,Z(U)):!1,H=U=>g.value.allowedDates?.size?g.value.allowedDates.has(`${U}`):!0,q=U=>g.value.disabledDates instanceof Map?g.value.disabledDates.size?g.value.disabledDates.has(`${U}`):!1:typeof g.value.disabledDates=="function"?g.value.disabledDates(ct(b(oa(a())),U)):!0,G=V(()=>m(w(),U=>{const X=N(U.value),$=O(U.value,_(g.value.minDate),_(g.value.maxDate))||h.value.years.includes(U.value)||!H(U.value)||q(U.value),I=W(U.value)&&!X,le=d(l.value,U.value);return{active:X,disabled:$,isBetween:I,highlighted:le}})),Z=U=>ct(y(oa(a())),U);return{groupedYears:G,focusYear:Y,setHoverValue:U=>{P.value=ct(y(a()),U)},selectYear:U=>{if(n("update-month-year",{instance:0,year:U,month:Number.NaN}),u.value.enabled)return o.value?Array.isArray(o.value)&&((o.value?.map(X=>he(X))).includes(U)?o.value=o.value.filter(X=>he(X)!==U):o.value.push(ct(b(a()),U))):o.value=[ct(b(oa(a())),U)],t("auto-apply",!0);p.value.enabled?E(Z(U),o.value)&&(o.value=M(Z(U)),Ge().then(()=>{v(o.value,t,o.value.length<2)})):(o.value=Z(U),t("auto-apply"))}}},Ku=Ue({__name:"YearPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{modelValue:o,defaults:{config:s},rootProps:l}=Pe(),{groupedYears:u,focusYear:h,selectYear:p,setHoverValue:g}=zu(r,a);return t({getSidebarProps:()=>({modelValue:o,selectYear:p})}),(w,c)=>(F(),te("div",null,[w.$slots["top-extra"]?oe(w.$slots,"top-extra",{key:0,value:i(o)}):re("",!0),w.$slots["month-year"]?oe(w.$slots,"month-year",et(vt({key:1},{years:i(u),selectYear:i(p)}))):(F(),$e(Ya,{key:2,items:i(u),"is-last":i(l).autoApply&&!i(s).keepActionRow,height:i(s).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(l).textInput),"focus-value":i(h),type:"year","use-relative":"",onSelected:i(p),onHoverValue:i(g)},ze({_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:be(({item:y})=>[oe(w.$slots,"year-overlay-value",{text:y.text,value:y.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),Xu={key:0,class:"dp__time_input"},Qu=["data-compact","data-collapsed"],Gu=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],Zu=["aria-label","disabled","data-dp-action-element","data-test-id","onKeydown","onClick"],Ju=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],ec={key:0},tc=["aria-label","data-dp-action-element","data-compact"],ac=Ue({__name:"TimeInput",props:{hours:{},minutes:{},seconds:{},order:{},closeTimePickerBtn:{},disabledTimesConfig:{},validateTime:{}},emits:["update:hours","update:minutes","update:seconds","overlay-opened","overlay-closed","set-hours","set-minutes","reset-flow","mounted"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{ariaLabels:u,filters:h,config:p,range:g,multiCalendars:w,timeConfig:c}}=Pe(),{checkKeyDown:y,hoursToAmPmHours:b}=qe(),{boolHtmlAttribute:_}=fa(),{sanitizeTime:d,groupListAndMap:m}=Xe(),{transitionName:v,showTransition:M}=Ca(),O=Ha({hours:!1,minutes:!1,seconds:!1}),E=ie("AM"),P=ie(null),Y=ie(),N=ie(!1);je(()=>{a("mounted")});const W=k=>xe(o(),{hours:k.hours,minutes:k.minutes,seconds:c.value.enableSeconds?k.seconds:0,milliseconds:0}),H=V(()=>l.timePicker||c.value.timePickerInline?0:1),q=V(()=>k=>pe(k,r[k])||Z(k,r[k])),G=V(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),Z=(k,j)=>g.value.enabled&&!g.value.disableTimeRangeValidation?!r.validateTime(k,j):!1,U=(k,j)=>{if(g.value.enabled&&!g.value.disableTimeRangeValidation){const A=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`],ae=r[k]+A;return!r.validateTime(k,ae)}return!1},X=V(()=>k=>!D(+r[k]+ +c.value[`${k}Increment`],k)||U(k,!0)),$=V(()=>k=>!D(+r[k]-+c.value[`${k}Increment`],k)||U(k,!1)),I=(k,j)=>Dr(xe(o(),k),j),le=(k,j)=>Pi(xe(o(),k),j),z=V(()=>({dp__time_col:!0,dp__time_col_block:!c.value.timePickerInline,dp__time_col_reg_block:!c.value.enableSeconds&&c.value.is24&&!c.value.timePickerInline,dp__time_col_reg_inline:!c.value.enableSeconds&&c.value.is24&&c.value.timePickerInline,dp__time_col_reg_with_button:!c.value.enableSeconds&&!c.value.is24,dp__time_col_sec:c.value.enableSeconds&&c.value.is24,dp__time_col_sec_with_button:c.value.enableSeconds&&!c.value.is24})),se=V(()=>c.value.timePickerInline&&g.value.enabled&&!w.value.count),fe=V(()=>{const k=[{type:"hours"}];return c.value.enableMinutes&&k.push({type:"",separator:!0},{type:"minutes"}),c.value.enableSeconds&&k.push({type:"",separator:!0},{type:"seconds"}),k}),ge=V(()=>fe.value.filter(k=>!k.separator)),ne=V(()=>k=>{if(k==="hours"){const j=T(+r.hours);return{text:j<10?`0${j}`:`${j}`,value:j}}return{text:r[k]<10?`0${r[k]}`:`${r[k]}`,value:r[k]}}),pe=(k,j)=>{if(!r.disabledTimesConfig)return!1;const A=r.disabledTimesConfig(r.order,k==="hours"?j:void 0);return A[k]?!!A[k]?.includes(j):!0},ue=(k,j)=>j!=="hours"||E.value==="AM"?k:k+12,ke=k=>{const j=c.value.is24?24:12,A=k==="hours"?j:60,ae=+c.value[`${k}GridIncrement`],ee=k==="hours"&&!c.value.is24?ae:0,Me=[];for(let _e=ee;_e({active:!1,disabled:h.value.times[k].includes(_e.value)||!D(_e.value,k)||pe(k,_e.value)||Z(k,_e.value)}))},me=k=>k>=0?k:59,Te=k=>k>=0?k:23,D=(k,j)=>{const A=l.minTime?W(d(l.minTime)):null,ae=l.maxTime?W(d(l.maxTime)):null,ee=W(d(G.value,j,j==="minutes"||j==="seconds"?me(k):Te(k)));return A&&ae?(Pt(ee,ae)||ta(ee,ae))&&(wt(ee,A)||ta(ee,A)):A?wt(ee,A)||ta(ee,A):ae?Pt(ee,ae)||ta(ee,ae):!0},R=k=>c.value[`no${k[0].toUpperCase()+k.slice(1)}Overlay`],Q=k=>{R(k)||(O[k]=!O[k],O[k]?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k)))},x=k=>k==="hours"?xt:k==="minutes"?Tt:Et,B=()=>{Y.value&&clearTimeout(Y.value)},J=(k,j=!0,A)=>{const ae=j?I:le,ee=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`];D(+r[k]+ee,k)&&a(`update:${k}`,x(k)(ae({[k]:+r[k]},{[k]:+c.value[`${k}Increment`]}))),!A?.keyboard&&p.value.timeArrowHoldThreshold&&(Y.value=setTimeout(()=>{J(k,j)},p.value.timeArrowHoldThreshold))},T=k=>c.value.is24?k:(k>=12?E.value="PM":E.value="AM",b(k)),L=()=>{E.value==="PM"?(E.value="AM",a("update:hours",r.hours-12)):(E.value="PM",a("update:hours",r.hours+12)),s("am-pm-change",E.value)},f=k=>{O[k]=!0},S=(k,j)=>(Q(k),a(`update:${k}`,j));return t({openChildCmp:f}),(k,j)=>i(l).disabled?re("",!0):(F(),te("div",Xu,[(F(!0),te(Se,null,Ee(fe.value,(A,ae)=>(F(),te("div",{key:ae,class:ye(z.value),"data-compact":se.value&&!i(c).enableSeconds,"data-collapsed":se.value&&i(c).enableSeconds},[A.separator?(F(),te(Se,{key:0},[N.value?re("",!0):(F(),te(Se,{key:0},[At(":")],64))],64)):(F(),te(Se,{key:1},[we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_top:i(c).timePickerInline,dp__inc_dec_button_disabled:X.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-inc-btn-${r.order}`,"aria-label":i(u)?.incrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!0,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!0),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!0):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-up",{key:1},()=>[j[2]||(j[2]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[3]||(j[3]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-up",{key:0},()=>[He(i(qr))])],42,Gu),we("button",{type:"button","aria-label":`${ne.value(A.type).text}-${i(u)?.openTpOverlay(A.type)}`,class:ye({dp__time_display:!0,dp__time_display_block:!i(c).timePickerInline,dp__time_display_inline:i(c).timePickerInline,"dp--time-invalid":q.value(A.type),"dp--time-overlay-btn":!q.value(A.type),"dp--hidden-el":N.value}),disabled:i(_)(R(A.type)),tabindex:"0","data-dp-action-element":H.value,"data-test-id":`${A.type}-toggle-overlay-btn-${r.order}`,onKeydown:ee=>i(y)(ee,()=>Q(A.type),!0),onClick:ee=>Q(A.type)},[oe(k.$slots,A.type,{text:ne.value(A.type).text,value:ne.value(A.type).value},()=>[At(Ke(ne.value(A.type).text),1)])],42,Zu),we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_bottom:i(c).timePickerInline,dp__inc_dec_button_disabled:$.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-dec-btn-${r.order}`,"aria-label":i(u)?.decrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!1,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!1),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!1):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-down",{key:1},()=>[j[4]||(j[4]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[5]||(j[5]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-down",{key:0},()=>[He(i(Ur))])],42,Ju)],64))],10,Qu))),128)),i(c).is24?re("",!0):(F(),te("div",ec,[oe(k.$slots,"am-pm-button",{toggle:L,value:E.value},()=>[we("button",{ref_key:"amPmButton",ref:P,type:"button",class:"dp__pm_am_button",role:"button","aria-label":i(u)?.amPmButton,tabindex:"0","data-dp-action-element":H.value,"data-compact":se.value,onClick:L,onKeydown:j[0]||(j[0]=A=>i(y)(A,()=>L(),!0))},Ke(E.value),41,tc)])])),(F(!0),te(Se,null,Ee(ge.value,(A,ae)=>(F(),$e(da,{key:ae,name:i(v)(O[A.type]),css:i(M)},{default:be(()=>[O[A.type]?(F(),$e(Ya,{key:0,items:ke(A.type),"is-last":i(l).autoApply&&!i(p).keepActionRow,type:A.type,"aria-labels":i(u),level:i(c).timePickerInline||i(l).timePicker?1:2,"overlay-label":i(u).timeOverlay?.(A.type),onSelected:ee=>S(A.type,ee),onToggle:ee=>Q(A.type),onResetFlow:j[1]||(j[1]=ee=>k.$emit("reset-flow"))},ze({"button-icon":be(()=>[oe(k.$slots,"clock-icon",{},()=>[k.$slots["clock-icon"]?re("",!0):(F(),$e(xn(i(c).timePickerInline?i(Oa):i(Hr)),{key:0}))])]),_:2},[k.$slots[`${A.type}-overlay-value`]?{name:"item",fn:be(({item:ee})=>[oe(k.$slots,`${A.type}-overlay-value`,{text:ee.text,value:ee.value})]),key:"0"}:void 0,k.$slots[`${A.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(k.$slots,`${A.type}-overlay-header`,{toggle:()=>Q(A.type)})]),key:"1"}:void 0]),1032,["items","is-last","type","aria-labels","level","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"]))),128))]))}}),nc=["data-dp-mobile"],rc=["aria-label","tabindex"],oc=["role","aria-label","tabindex"],sc=["aria-label"],Zr=Ue({__name:"TimePicker",props:{hours:{},minutes:{},seconds:{},disabledTimesConfig:{type:[Function,null]},noOverlayFocus:{type:Boolean},validateTime:{type:Function}},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,setState:s,modelValue:l,rootProps:u,defaults:{ariaLabels:h,textInput:p,config:g,range:w,timeConfig:c}}=Pe(),{isModelAuto:y}=Xe(),{checkKeyDown:b,findFocusableEl:_}=qe(),{transitionName:d,showTransition:m}=Ca(),{hideNavigationButtons:v}=tn(),{isMobile:M}=Ja(),O=Bt(),E=Be("overlay"),P=Be("close-tp-btn"),Y=Be("tp-input"),N=ie(!1);je(()=>{a("mount")});const W=V(()=>w.value.enabled&&u.modelAuto?y(l.value):!0),H=ie(!1),q=ne=>({hours:Array.isArray(r.hours)?r.hours[ne]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[ne]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[ne]:r.seconds}),G=V(()=>{const ne=[];if(w.value.enabled)for(let pe=0;pe<2;pe++)ne.push(q(pe));else ne.push(q(0));return ne}),Z=(ne,pe=!1,ue="")=>{pe||a("reset-flow"),H.value=ne,s("arrowNavigationLevel",ne?1:0),o("overlay-toggle",{open:ne,overlay:Qe.time}),Ge(()=>{ue!==""&&Y.value?.[0]&&Y.value[0].openChildCmp(ue)})},U=V(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:u.autoApply&&!g.value.keepActionRow})),X=_t(O,mt.TimeInput),$=(ne,pe,ue)=>w.value.enabled?pe===0?[ne,G.value[1][ue]]:[G.value[0][ue],ne]:ne,I=ne=>{a("update:hours",ne)},le=ne=>{a("update:minutes",ne)},z=ne=>{a("update:seconds",ne)},se=()=>{if(E.value&&!p.value.enabled&&!r.noOverlayFocus){const ne=_(E.value);ne&&ne.focus({preventScroll:!0})}},fe=ne=>{N.value=!1,o("overlay-toggle",{open:!1,overlay:ne})},ge=ne=>{N.value=!0,o("overlay-toggle",{open:!0,overlay:ne})};return t({toggleTimePicker:Z}),(ne,pe)=>(F(),te("div",{class:"dp--tp-wrap","data-dp-mobile":i(M)},[!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"open-tp-btn",type:"button","data-dp-action-element":"0",class:ye({...U.value,"dp--hidden-el":H.value}),"aria-label":i(h)?.openTimePicker,tabindex:e.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:pe[0]||(pe[0]=ue=>i(b)(ue,()=>Z(!0))),onClick:pe[1]||(pe[1]=ue=>Z(!0))},[oe(ne.$slots,"clock-icon",{},()=>[He(i(Hr))])],42,rc)),[[Ia,!i(v)("time")]]):re("",!0),He(da,{name:i(d)(H.value),css:i(m)&&!i(c).timePickerInline},{default:be(()=>[H.value||i(u).timePicker||i(c).timePickerInline?(F(),te("div",{key:0,ref:"overlay",role:i(c).timePickerInline?void 0:"dialog",class:ye({dp__overlay:!i(c).timePickerInline,"dp--overlay-absolute":!i(u).timePicker&&!i(c).timePickerInline,"dp--overlay-relative":i(u).timePicker}),style:tt(i(u).timePicker?{height:`${i(g).modeHeight}px`}:void 0),"aria-label":i(h)?.timePicker,tabindex:i(c).timePickerInline?void 0:0},[we("div",{class:ye(i(c).timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[oe(ne.$slots,"time-picker-overlay",{hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:I,setMinutes:le,setSeconds:z},()=>[we("div",{class:ye(i(c).timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(F(!0),te(Se,null,Ee(G.value,(ue,ke)=>Wa((F(),$e(ac,vt({key:ke},{ref_for:!0},{order:ke,hours:ue.hours,minutes:ue.minutes,seconds:ue.seconds,closeTimePickerBtn:P.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ke===0?i(w).fixedStart:i(w).fixedEnd},{ref_for:!0,ref:"tp-input","validate-time":(me,Te)=>e.validateTime(me,$(Te,ke,me)),"onUpdate:hours":me=>I($(me,ke,"hours")),"onUpdate:minutes":me=>le($(me,ke,"minutes")),"onUpdate:seconds":me=>z($(me,ke,"seconds")),onMounted:se,onOverlayClosed:fe,onOverlayOpened:ge}),ze({_:2},[Ee(i(X),(me,Te)=>({name:me,fn:be(D=>[oe(ne.$slots,me,vt({ref_for:!0},D))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ia,ke===0?!0:W.value]])),128))],2)]),!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"close-tp-btn","data-dp-action-element":"1",type:"button",class:ye({...U.value,"dp--hidden-el":N.value}),"aria-label":i(h)?.closeTimePicker,tabindex:"0",onKeydown:pe[2]||(pe[2]=ue=>i(b)(ue,()=>Z(!1))),onClick:pe[3]||(pe[3]=ue=>Z(!1))},[oe(ne.$slots,"calendar-icon",{},()=>[He(i(Oa))])],42,sc)),[[Ia,!i(v)("time")]]):re("",!0)],2)],14,oc)):re("",!0)]),_:3},8,["name","css"])],8,nc))}}),Jr=e=>{const{getDate:t,modelValue:n,time:a,rootProps:r,defaults:{range:o,timeConfig:s}}=Pe(),{isDateEqual:l,setTime:u}=Xe(),h=(P,Y)=>Array.isArray(a[P])?a[P][Y]:a[P],p=P=>s.value.enableSeconds?Array.isArray(a.seconds)?a.seconds[P]:a.seconds:0,g=(P,Y)=>P?u(Y!==void 0?{hours:h("hours",Y),minutes:h("minutes",Y),seconds:p(Y)}:{hours:a.hours,minutes:a.minutes,seconds:p()},P):Mi(t(),p(Y)),w=(P,Y)=>{a[P]=Y},c=V(()=>r.modelAuto&&o.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:o.value.enabled),y=(P,Y)=>{const N=Object.fromEntries(Object.keys(a).map(W=>W===P?[W,Y]:[W,a[W]].slice()));if(c.value&&!o.value.disableTimeRangeValidation){const W=q=>n.value?u({hours:N.hours[q],minutes:N.minutes[q],seconds:N.seconds[q]},n.value[q]):null,H=q=>xi(n.value[q],0);return!(l(W(0),W(1))&&(wt(W(0),H(1))||Pt(W(1),H(0))))}return!0},b=(P,Y)=>{y(P,Y)&&(w(P,Y),e&&e())},_=P=>{b("hours",P)},d=P=>{b("minutes",P)},m=P=>{b("seconds",P)},v=(P,Y)=>{_(P.hours),d(P.minutes),m(P.seconds),n.value&&Y(n.value)},M=P=>{if(P){const Y=Array.isArray(P),N=Y?[+P[0].hours,+P[1].hours]:+P.hours,W=Y?[+P[0].minutes,+P[1].minutes]:+P.minutes,H=Y?[+(P[0].seconds??0),+(P[1].seconds??0)]:+(P.seconds??0);w("hours",N),w("minutes",W),s.value.enableSeconds&&w("seconds",H)}},O=(P,Y)=>{const N={hours:Array.isArray(a.hours)?a.hours[P]:a.hours,disabledArr:[]};return(Y||Y===0)&&(N.hours=Y),Array.isArray(r.disabledTimes)&&(N.disabledArr=o.value.enabled&&Array.isArray(r.disabledTimes[P])?r.disabledTimes[P]:r.disabledTimes),N},E=V(()=>(P,Y)=>{if(Array.isArray(r.disabledTimes)){const{disabledArr:N,hours:W}=O(P,Y),H=N.filter(q=>+q.hours===W);return H[0]?.minutes==="*"?{hours:[W],minutes:void 0,seconds:void 0}:{hours:[],minutes:H?.map(q=>+q.minutes)??[],seconds:H?.map(q=>q.seconds?+q.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{assignTime:w,updateHours:_,updateMinutes:d,updateSeconds:m,getSetDateTime:g,updateTimeValues:v,getSecondsValue:p,assignStartTime:M,validateTime:y,disabledTimesConfig:E}},lc=e=>{const{getDate:t,time:n,modelValue:a,state:r,defaults:{startTime:o,range:s,timeConfig:l}}=Pe(),{getTimeObj:u}=Xe();Sa(()=>{r.isTextInputDate&&O()});const{updateTimeValues:h,getSetDateTime:p,assignTime:g,assignStartTime:w,disabledTimesConfig:c,validateTime:y}=Jr(b);function b(){e("update-flow-step")}const _=P=>{const{hours:Y,minutes:N,seconds:W}=P;return{hours:+Y,minutes:+N,seconds:W?+W:0}},d=()=>{if(l.value.startTime){if(Array.isArray(l.value.startTime)){const Y=_(l.value.startTime[0]),N=_(l.value.startTime[1]);return[xe(t(),Y),xe(t(),N)]}const P=_(l.value.startTime);return xe(t(),P)}return s.value.enabled?[null,null]:null},m=()=>{if(s.value.enabled){const[P,Y]=d();a.value=[p(P,0),p(Y,1)]}else a.value=p(d())},v=P=>Array.isArray(P)?[u(t(P[0])),u(t(P[1]))]:[u(P??t())],M=(P,Y,N)=>{g("hours",P),g("minutes",Y),g("seconds",l.value.enableSeconds?N:0)},O=()=>{const[P,Y]=v(a.value);return s.value.enabled?M([P.hours,Y.hours],[P.minutes,Y.minutes],[P.seconds,Y.seconds]):M(P.hours,P.minutes,P.seconds)};je(()=>(w(o.value),a.value?O():m()));const E=()=>{Array.isArray(a.value)?a.value=a.value.map((P,Y)=>P&&p(P,Y)):a.value=p(a.value),e("time-update")};return{modelValue:a,time:n,disabledTimesConfig:c,validateTime:y,updateTime:P=>{h(P,E)}}},ic=Ue({__name:"TimePickerSolo",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["time-update","mount","reset-flow","update-flow-step"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),o=_t(r,mt.TimePicker),s=Be("time-input"),{time:l,modelValue:u,disabledTimesConfig:h,updateTime:p,validateTime:g}=lc(a);return je(()=>{a("mount")}),t({getSidebarProps:()=>({modelValue:u,time:l,updateTime:p}),toggleTimePicker:(w,c=!1,y="")=>{s.value?.toggleTimePicker(w,c,y)}}),(w,c)=>(F(),$e(an,{"multi-calendars":0,stretch:""},{default:be(({wrapClass:y})=>[we("div",{class:ye(y)},[He(Zr,vt({ref:"time-input"},w.$props,{hours:i(l).hours,minutes:i(l).minutes,seconds:i(l).seconds,"disabled-times-config":i(h),"validate-time":i(g),"onUpdate:hours":c[0]||(c[0]=b=>i(p)({hours:b,minutes:i(l).minutes,seconds:i(l).seconds})),"onUpdate:minutes":c[1]||(c[1]=b=>i(p)({hours:i(l).hours,minutes:b,seconds:i(l).seconds})),"onUpdate:seconds":c[2]||(c[2]=b=>i(p)({hours:i(l).hours,minutes:i(l).minutes,seconds:b})),onResetFlow:c[3]||(c[3]=b=>w.$emit("reset-flow"))}),ze({_:2},[Ee(i(o),(b,_)=>({name:b,fn:be(d=>[oe(w.$slots,b,et(dt(d)))])}))]),1040,["hours","minutes","seconds","disabled-times-config","validate-time"])],2)]),_:3}))}}),uc=(e,t)=>{const{getDate:n,rootProps:a,defaults:{filters:r}}=Pe(),{validateMonthYearInRange:o,validateMonthYear:s}=st(),l=(w,c)=>{let y=w;return r.value.months.includes(Ae(y))?(y=c?ft(w,1):ca(w,1),l(y,c)):y},u=(w,c)=>{let y=w;return r.value.years.includes(he(y))?(y=c?Sn(w,1):Vr(w,1),u(y,c)):y},h=(w,c=!1)=>{const y=xe(n(),{month:e.month,year:e.year});let b=w?ft(y,1):ca(y,1);a.disableYearSelect&&(b=ct(b,e.year));let _=Ae(b),d=he(b);r.value.months.includes(_)&&(b=l(b,w),_=Ae(b),d=he(b)),r.value.years.includes(d)&&(b=u(b,w),d=he(b)),o(_,d,w,a.preventMinMaxNavigation)&&p(_,d,c)},p=(w,c,y=!1)=>{t("update-month-year",{month:w,year:c,fromNav:y})},g=V(()=>w=>s(xe(n(),{month:e.month,year:e.year}),a.preventMinMaxNavigation,w));return{handleMonthYearChange:h,isDisabled:g,updateMonthYear:p}},cc={class:"dp--header-wrap"},dc={key:0,class:"dp__month_year_wrap"},fc={key:0},mc={class:"dp__month_year_wrap"},vc=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],pc=Ue({__name:"DpHeader",props:{month:{},year:{},instance:{},years:{},months:{},menuWrapRef:{}},emits:["mount","reset-flow","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,rootProps:s,modelValue:l,defaults:{ariaLabels:u,filters:h,config:p,highlight:g,safeDates:w,ui:c}}=Pe(),{transitionName:y,showTransition:b}=Ca(),{showLeftIcon:_,showRightIcon:d}=tn(),{handleMonthYearChange:m,isDisabled:v,updateMonthYear:M}=uc(r,a),{getMaxMonth:O,getMinMonth:E,getYearFromDate:P,groupListAndMap:Y,checkHighlightYear:N,checkHighlightMonth:W}=Xe(),{checkKeyDown:H}=qe(),{formatYear:q}=Nt(),{checkMinMaxValue:G}=st(),{boolHtmlAttribute:Z}=fa(),U=ie(!1),X=ie(!1),$=ie(!1);je(()=>{a("mount")});const I=R=>({get:()=>r[R],set:Q=>{const x=R===it.month?it.year:it.month;a("update-month-year",{[R]:Q,[x]:r[x]}),R===it.month?ue(!0):ke(!0)}}),le=V(I(it.month)),z=V(I(it.year)),se=V(()=>R=>({month:r.month,year:r.year,items:R===it.month?r.months:r.years,instance:r.instance,updateMonthYear:M,toggle:R===it.month?ue:ke})),fe=V(()=>r.months.find(Q=>Q.value===r.month)||{text:"",value:0}),ge=V(()=>Y(r.months,R=>{const Q=r.month===R.value,x=G(R.value,E(r.year,w.value.minDate),O(r.year,w.value.maxDate))||h.value.months.includes(R.value),B=W(g.value,R.value,r.year);return{active:Q,disabled:x,highlighted:B}})),ne=V(()=>Y(r.years,R=>{const Q=r.year===R.value,x=G(R.value,P(w.value.minDate),P(w.value.maxDate))||h.value.years.includes(R.value),B=N(g.value,R.value);return{active:Q,disabled:x,highlighted:B}})),pe=(R,Q,x)=>{x===void 0?R.value=!R.value:R.value=x,R.value?($.value=!0,o("overlay-toggle",{open:!0,overlay:Q})):($.value=!1,o("overlay-toggle",{open:!1,overlay:Q}))},ue=(R=!1,Q)=>{me(R),pe(U,Qe.month,Q)},ke=(R=!1,Q)=>{me(R),pe(X,Qe.year,Q)},me=R=>{R||a("reset-flow")},Te=V(()=>[{type:it.month,index:1,toggle:ue,modelValue:le.value,updateModelValue:R=>le.value=R,text:fe.value.text,showSelectionGrid:U.value,items:ge.value,ariaLabel:u.value?.openMonthsOverlay,overlayLabel:u.value.monthPicker?.(!0)??void 0},{type:it.year,index:2,toggle:ke,modelValue:z.value,updateModelValue:R=>z.value=R,text:q(r.year),showSelectionGrid:X.value,items:ne.value,ariaLabel:u.value?.openYearsOverlay,overlayLabel:u.value.yearPicker?.(!0)??void 0}]),D=V(()=>s.disableYearSelect?[Te.value[0]]:s.yearFirst?[...Te.value].reverse():Te.value);return t({toggleMonthPicker:ue,toggleYearPicker:ke,handleMonthYearChange:m}),(R,Q)=>(F(),te("div",cc,[R.$slots["month-year"]?(F(),te("div",dc,[oe(R.$slots,"month-year",et(dt({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(M),handleMonthYearChange:i(m),instance:e.instance,isDisabled:i(v)})))])):(F(),te(Se,{key:1},[R.$slots["top-extra"]?(F(),te("div",fc,[oe(R.$slots,"top-extra",{value:i(l)})])):re("",!0),we("div",mc,[i(_)(e.instance)&&!i(s).vertical?(F(),$e(Da,{key:0,"aria-label":i(u)?.prevMonth,disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),"el-name":"action-prev",onActivate:Q[0]||(Q[0]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-left"]?oe(R.$slots,"arrow-left",{key:0}):re("",!0),R.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("div",{class:ye(["dp__month_year_wrap",{dp__year_disable_select:i(s).disableYearSelect}])},[(F(!0),te(Se,null,Ee(D.value,x=>(F(),te(Se,{key:x.type},[we("button",{type:"button","data-dp-element":`overlay-${x.type}`,class:ye(["dp__btn dp__month_year_select",{"dp--hidden-el":$.value}]),"aria-label":`${x.text}-${x.ariaLabel}`,"data-test-id":`${x.type}-toggle-overlay-${e.instance}`,tabindex:"0","data-dp-action-element":"0",onClick:B=>x.toggle(!1),onKeydown:B=>i(H)(B,()=>x.toggle(),!0)},[R.$slots[x.type]?oe(R.$slots,x.type,{key:0,text:x.text,value:r[x.type]}):re("",!0),R.$slots[x.type]?re("",!0):(F(),te(Se,{key:1},[At(Ke(x.text),1)],64))],42,vc),He(da,{name:i(y)(x.showSelectionGrid),css:i(b)},{default:be(()=>[x.showSelectionGrid?(F(),$e(Ya,{key:0,items:x.items,"is-last":i(s).autoApply&&!i(p).keepActionRow,"skip-button-ref":!1,type:x.type,"header-refs":[],"menu-wrap-ref":e.menuWrapRef,"overlay-label":x.overlayLabel,onSelected:x.updateModelValue,onToggle:x.toggle},ze({"button-icon":be(()=>[R.$slots["calendar-icon"]?oe(R.$slots,"calendar-icon",{key:0}):re("",!0),R.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[R.$slots[`${x.type}-overlay-value`]?{name:"item",fn:be(({item:B})=>[oe(R.$slots,`${x.type}-overlay-value`,{text:B.text,value:B.value})]),key:"0"}:void 0,R.$slots[`${x.type}-overlay`]?{name:"overlay",fn:be(()=>[oe(R.$slots,`${x.type}-overlay`,vt({ref_for:!0},se.value(x.type)))]),key:"1"}:void 0,R.$slots[`${x.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(R.$slots,`${x.type}-overlay-header`,{toggle:x.toggle})]),key:"2"}:void 0]),1032,["items","is-last","type","menu-wrap-ref","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(_)(e.instance)&&i(s).vertical?(F(),$e(Da,{key:1,"aria-label":i(u)?.prevMonth,"el-name":"action-prev",disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),onActivate:Q[1]||(Q[1]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-up"]?oe(R.$slots,"arrow-up",{key:0}):re("",!0),R.$slots["arrow-up"]?re("",!0):(F(),$e(i(qr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),i(d)(e.instance)?(F(),$e(Da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(Z)(i(v)(!0)),"aria-label":i(u)?.nextMonth,class:ye(i(c)?.navBtnNext),onActivate:Q[2]||(Q[2]=x=>i(m)(!0,!0))},{default:be(()=>[R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?oe(R.$slots,i(s).vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?re("",!0):(F(),$e(xn(i(s).vertical?i(Ur):i(Ir)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))]))}}),hc={class:"dp__calendar_header",role:"row"},yc={key:0,class:"dp__calendar_header_item",role:"gridcell"},gc=["aria-label"],wc={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},bc={class:"dp__cell_inner"},kc=["id","aria-selected","aria-disabled","aria-label","tabindex","data-test-id","data-dp-element-active","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],_c=Ue({__name:"DpCalendar",props:{instance:{},mappedDates:{},month:{},year:{}},emits:["mount","select-date","set-hover-date","handle-scroll","handle-swipe"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{transitions:u,config:h,ariaLabels:p,multiCalendars:g,weekNumbers:w,multiDates:c,ui:y}}=Pe(),{isDateAfter:b,isDateEqual:_,resetDateTime:d,getCellId:m}=Xe(),{checkKeyDown:v,checkStopPropagation:M,isTouchDevice:O}=qe(),{formatWeekDay:E}=Nt(),P=Be("calendar-wrap"),Y=Be("active-tooltip"),N=ie([]),W=ie(null),H=ie(!0),q=ie(!1),G=ie(""),Z=ie({bottom:"",left:"",transform:""}),U=ie({left:"50%"});Do(P,{onSwipeEnd:(f,S)=>{h.value.noSwipe||(l.vertical?(S==="up"||S==="down")&&a("handle-swipe",S==="up"?"left":"right"):(S==="left"||S==="right")&&a("handle-swipe",S==="right"?"left":"right"))}});const X=V(()=>l.calendar?l.calendar(r.mappedDates):r.mappedDates),$=V(()=>l.dayNames?Array.isArray(l.dayNames)?l.dayNames:l.dayNames():L());je(()=>{a("mount",{cmp:"calendar",dayRefs:N.value}),h.value.monthChangeOnScroll&&P.value&&P.value.addEventListener("wheel",R,{passive:!1})}),jt(()=>{h.value.monthChangeOnScroll&&P.value&&P.value.removeEventListener("wheel",R)});const I=f=>f?l.vertical?"vNext":"next":l.vertical?"vPrevious":"previous",le=(f,S)=>{if(l.transitions){const k=d(xe(o(),{month:r.month,year:r.year}));G.value=b(d(xe(o(),{month:f,year:S})),k)?u.value[I(!0)]:u.value[I(!1)],H.value=!1,Ge(()=>{H.value=!0})}},z=V(()=>({...y.value.calendar})),se=f=>({type:"dot",...f}),fe=V(()=>f=>{const S=se(f);return{dp__marker_dot:S.type==="dot",dp__marker_line:S.type==="line"}}),ge=V(()=>f=>_(f,W.value)),ne=V(()=>({dp__calendar:!0,dp__calendar_next:g.value.count>0&&r.instance!==0})),pe=V(()=>f=>l.hideOffsetDates?f.current:!0),ue=async(f,S)=>{const{width:k,height:j}=f.getBoundingClientRect();W.value=S.value;let A={left:`${k/2}px`},ae=-50;if(await Ge(),Y.value?.[0]){const{left:ee,width:Me}=Y.value[0].getBoundingClientRect();ee<0&&(A={left:"0"},ae=0,U.value.left=`${k/2}px`),globalThis.innerWidth{const j=Yt(N.value?.[S]?.[k]);j&&(f.marker?.customPosition&&f.marker?.tooltip?.length?Z.value=f.marker.customPosition(j):await ue(j,f),s("tooltip-open",f.marker))},me=async(f,S,k)=>{if(q.value&&c.value.enabled&&c.value.dragSelect)return a("select-date",f);if(a("set-hover-date",f),f.marker?.tooltip?.length){if(l.hideOffsetDates&&!f.current)return;await ke(f,S,k)}},Te=f=>{W.value&&(W.value=null,Z.value=structuredClone({bottom:"",left:"",transform:""}),s("tooltip-close",f.marker))},D=(f,S,k)=>{f&&(Array.isArray(N.value[S])?N.value[S][k]=f:N.value[S]=[f])},R=f=>{h.value.monthChangeOnScroll&&(f.preventDefault(),a("handle-scroll",f))},Q=f=>w.value?w.value.type==="local"?Bn(f.value,{weekStartsOn:+l.weekStart,locale:l.locale}):w.value.type==="iso"?$n(f.value):typeof w.value.type=="function"?w.value.type(f.value):"":"",x=f=>{const S=f[0];return w.value?.hideOnOffsetDates?f.some(k=>k.current)?Q(S):"":Q(S)},B=(f,S,k=!0)=>{!k&&O()||(!c.value.enabled||h.value.allowPreventDefault)&&(M(f,h.value),a("select-date",S))},J=f=>{M(f,h.value)},T=f=>{c.value.enabled&&c.value.dragSelect?(q.value=!0,a("select-date",f)):c.value.enabled&&a("select-date",f)},L=()=>{const f=o(),S=ot(f,{locale:l.locale,weekStartsOn:+l.weekStart}),k=Rn(f,{locale:l.locale,weekStartsOn:+l.weekStart});return Yn({start:S,end:k}).map(j=>E(j))};return t({triggerTransition:le}),(f,S)=>(F(),te("div",{class:ye(ne.value)},[we("div",{ref:"calendar-wrap",class:ye(z.value),role:"grid"},[we("div",hc,[i(w)?(F(),te("div",yc,Ke(i(w).label),1)):re("",!0),(F(!0),te(Se,null,Ee($.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":i(p)?.weekDay?.(j)},[oe(f.$slots,"calendar-header",{day:k,index:j},()=>[At(Ke(k),1)])],8,gc))),128))]),S[2]||(S[2]=we("div",{class:"dp__calendar_header_separator"},null,-1)),He(da,{name:G.value,css:!!i(u)},{default:be(()=>[H.value?(F(),te("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:S[1]||(S[1]=k=>q.value=!1)},[(F(!0),te(Se,null,Ee(X.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_row",role:"row"},[i(w)?(F(),te("div",wc,[we("div",bc,Ke(x(k.days)),1)])):re("",!0),(F(!0),te(Se,null,Ee(k.days,(A,ae)=>(F(),te("div",{id:i(m)(A.value),ref_for:!0,ref:ee=>D(ee,j,ae),key:ae+j,role:"gridcell",class:"dp__calendar_item","aria-selected":(A.classData.dp__active_date||A.classData.dp__range_start||A.classData.dp__range_end)??void 0,"aria-disabled":A.classData.dp__cell_disabled||void 0,"aria-label":i(p)?.day?.(A),tabindex:!A.current&&i(l).hideOffsetDates?void 0:0,"data-test-id":i(m)(A.value),"data-dp-element-active":A.classData.dp__active_date?0:void 0,"data-dp-action-element":"0",onClick:sa(ee=>B(ee,A),["prevent"]),onTouchend:ee=>B(ee,A,!1),onKeydown:ee=>i(v)(ee,()=>f.$emit("select-date",A)),onMouseenter:ee=>me(A,j,ae),onMouseleave:ee=>Te(A),onMousedown:ee=>T(A),onMouseup:S[0]||(S[0]=ee=>q.value=!1)},[we("div",{class:ye(["dp__cell_inner",A.classData])},[f.$slots.day&&pe.value(A)?oe(f.$slots,"day",{key:0,day:+A.text,date:A.value}):re("",!0),f.$slots.day?re("",!0):(F(),te(Se,{key:1},[At(Ke(A.text),1)],64)),A.marker&&pe.value(A)?oe(f.$slots,"marker",{key:2,marker:A.marker,day:+A.text,date:A.value},()=>[we("div",{class:ye(fe.value(A.marker)),style:tt(A.marker.color?{backgroundColor:A.marker.color}:{})},null,6)]):re("",!0),ge.value(A.value)?(F(),te("div",{key:3,ref_for:!0,ref:"active-tooltip",class:"dp__marker_tooltip",style:tt(Z.value)},[A.marker?.tooltip?(F(),te("div",{key:0,class:"dp__tooltip_content",onClick:J},[(F(!0),te(Se,null,Ee(A.marker.tooltip,(ee,Me)=>(F(),te("div",{key:Me,class:"dp__tooltip_text"},[oe(f.$slots,"marker-tooltip",{tooltip:ee,day:A.value},()=>[we("div",{class:"dp__tooltip_mark",style:tt(ee.color?{backgroundColor:ee.color}:{})},null,4),we("div",null,Ke(ee.text),1)])]))),128)),we("div",{class:"dp__arrow_bottom_tp",style:tt(U.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,kc))),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Dc=(e,t,n,a)=>{const r=ie([]),o=ie(new Date),s=ie(),{getDate:l,rootEmit:u,calendars:h,month:p,year:g,time:w,modelValue:c,rootProps:y,today:b,state:_,defaults:{multiCalendars:d,startTime:m,range:v,config:M,safeDates:O,multiDates:E,timeConfig:P,flow:Y}}=Pe(),{validateMonthYearInRange:N,isDisabled:W,isDateRangeAllowed:H,checkMinMaxRange:q}=st(),{updateTimeValues:G,getSetDateTime:Z,assignTime:U,assignStartTime:X,validateTime:$,disabledTimesConfig:I}=Jr(a),{formatDay:le}=Nt(),{resetDateTime:z,setTime:se,isDateBefore:fe,isDateEqual:ge,getDaysInBetween:ne}=Xe(),{checkRangeAutoApply:pe,getRangeWithFixedDate:ue,handleMultiDatesSelect:ke,setPresetDate:me}=nn(),{getMapDate:Te}=qe();Sa(()=>T(_.isTextInputDate));const D=C=>!M.value.keepViewOnOffsetClick||C?!0:!s.value,R=(C,K,de,De=!1)=>{D(De)&&(h.value[C]??=h.value[C]={month:0,year:0},h.value[C].month=K??h.value[C]?.month,h.value[C].year=de??h.value[C]?.year)},Q=()=>{y.autoApply&&t("select-date")},x=()=>{m.value&&X(m.value)};je(()=>{c.value||(Ra(),x()),T(!0),y.focusStartDate&&y.startDate&&Ra()});const B=V(()=>Y.value?.steps?.length&&!Y.value?.partial?e.flowStep===Y.value.steps.length:!0),J=()=>{y.autoApply&&B.value&&t("auto-apply",Y.value?.partial?e.flowStep!==Y.value?.steps?.length:!1)},T=(C=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,ee(C)):k(c.value,C);if(d.value.count&&C&&!y.startDate)return S(l(),C)},L=()=>Array.isArray(c.value)&&v.value.enabled?Ae(c.value[0])===Ae(c.value[1]??c.value[0]):!1,f=C=>{const K=ft(C,1);return{month:Ae(K),year:he(K)}},S=(C=l(),K=!1)=>{if((!d.value.count||!d.value.static||K)&&R(0,Ae(C),he(C)),d.value.count&&(!c.value||L()||!d.value.solo)&&(!d.value.solo||K))for(let de=1;de{S(C),U("hours",xt(C)),U("minutes",Tt(C)),U("seconds",Et(C)),d.value.count&&K&&Xt()},j=C=>{if(d.value.count){if(d.value.solo)return 0;const K=Ae(C[0]),de=Ae(C[1]);return Math.abs(de-K){C[1]&&v.value.showLastInRange?S(C[j(C)],K):S(C[0],K);const de=(De,Fe)=>[De(C[0]),C?.[1]?De(C[1]):w[Fe][1]];U("hours",de(xt,"hours")),U("minutes",de(Tt,"minutes")),U("seconds",de(Et,"seconds"))},ae=(C,K)=>{if((v.value.enabled||y.weekPicker)&&!E.value.enabled)return A(C,K);if(E.value.enabled&&K){const de=C[C.length-1];return k(de,K)}},ee=C=>{const K=c.value;ae(K,C),d.value.count&&d.value.solo&&Xt()},Me=(C,K)=>{const de=xe(l(),{month:p.value(K),year:g.value(K)}),De=C<0?ft(de,1):ca(de,1);N(Ae(De),he(De),C<0,y.preventMinMaxNavigation)&&(R(K,Ae(De),he(De)),u("update-month-year",{instance:K,month:Ae(De),year:he(De)}),d.value.count&&!d.value.solo&&_e(K),n())},_e=C=>{for(let K=C-1;K>=0;K--){const de=ca(xe(l(),{month:p.value(K+1),year:g.value(K+1)}),1);R(K,Ae(de),he(de))}for(let K=C+1;K<=d.value.count-1;K++){const de=ft(xe(l(),{month:p.value(K-1),year:g.value(K-1)}),1);R(K,Ae(de),he(de))}},Xt=()=>{if(Array.isArray(c.value)&&c.value.length===2){const C=l(l(c.value[1]??ft(c.value[0],1))),[K,de]=[Ae(c.value[0]),he(c.value[0])],[De,Fe]=[Ae(c.value[1]),he(c.value[1])];(K!==De||K===De&&de!==Fe)&&d.value.solo&&R(1,Ae(C),he(C))}else c.value&&!Array.isArray(c.value)&&(R(0,Ae(c.value),he(c.value)),S(l()))},Ra=()=>{y.startDate&&(R(0,Ae(l(y.startDate)),he(l(y.startDate))),d.value.count&&_e(0))},$a=(C,K)=>{if(M.value.monthChangeOnScroll){const de=Date.now()-o.value.getTime(),De=Math.abs(C.deltaY);let Fe=500;De>1&&(Fe=100),De>100&&(Fe=0),de>Fe&&(o.value=new Date,Me(M.value.monthChangeOnScroll==="inverse"?C.deltaY:-C.deltaY,K))}},rn=(C,K,de=!1)=>{M.value.monthChangeOnArrows&&y.vertical===de&&Ea(C,K)},Ea=(C,K)=>{Me(C==="right"?-1:1,K)},on=C=>{if(O.value.markers)return Te(C.value,O.value.markers)},sn=(C,K)=>{switch(y.sixWeeks===!0?"append":y.sixWeeks){case"prepend":return[!0,!1];case"center":return[C==0,!0];case"fair":return[C==0||K>C,!0];case"append":return[!1,!1];default:return[!1,!1]}},ln=(C,K,de,De)=>{if(y.sixWeeks&&C.length<6){const Fe=6-C.length,Ot=(K.getDay()+7-De)%7,Qt=6-(de.getDay()+7-De)%7,[pa,Fa]=sn(Ot,Qt);for(let ha=1;ha<=Fe;ha++)if(Fa?!!(ha%2)==pa:pa){const Ct=C[0].days[0],fn=ma(rt(Ct.value,-7),Ae(K));C.unshift({days:fn})}else{const Ct=C[C.length-1],fn=Ct.days[Ct.days.length-1],co=ma(rt(fn.value,1),Ae(K));C.push({days:co})}}return C},ma=(C,K)=>{const de=l(C),De=[];for(let Fe=0;Fe<7;Fe++){const Ot=rt(de,Fe),Qt=Ae(Ot)!==K;De.push({text:y.hideOffsetDates&&Qt?"":le(Ot),value:Ot,current:!Qt,classData:{}})}return De},un=(C,K)=>{const de=[],De=l(new Date(K,C)),Fe=l(new Date(K,C+1,0)),Ot=y.weekStart,Qt=ot(De,{weekStartsOn:Ot}),pa=Fa=>{const ha=ma(Fa,C);if(de.push({days:ha}),!de[de.length-1].days.some(Ct=>ge(l(Ct.value),z(Fe)))){const Ct=rt(Fa,7);pa(Ct)}};return pa(Qt),ln(de,De,Fe,Ot)},cn=C=>{const K=se({hours:w.hours,minutes:w.minutes,seconds:Na()},l(C.value));u("date-click",K),E.value.enabled?ke(K,E.value.limit):c.value=K,a(),Ge().then(()=>{J()})},Ba=C=>v.value.noDisabledRange?ne(r.value[0],C).some(K=>W(K)):!1,ce=()=>{r.value=c.value?c.value.slice().filter(C=>!!C):[],r.value.length===2&&!(v.value.fixedStart||v.value.fixedEnd)&&(r.value=[])},Ze=(C,K)=>{const de=[l(C.value),rt(l(C.value),+v.value.autoRange)];H(de)?(K&<(C.value),r.value=de):u("invalid-date",C.value)},lt=C=>{const K=Ae(l(C)),de=he(l(C));if(R(0,K,de),d.value.count>0)for(let De=1;De{if(Ba(C.value)||!q(C.value,c.value,v.value.fixedStart?0:1))return u("invalid-date",C.value);r.value=ue(l(C.value))},Ft=(C,K)=>{if(ce(),v.value.autoRange)return Ze(C,K);if(v.value.fixedStart||v.value.fixedEnd)return va(C);r.value[0]?q(l(C.value),c.value)&&!Ba(C.value)?fe(l(C.value),l(r.value[0]))?v.value.autoSwitchStartEnd?(r.value.unshift(l(C.value)),u("range-end",r.value[0])):(r.value[0]=l(C.value),u("range-start",r.value[0])):(r.value[1]=l(C.value),u("range-end",r.value[1])):u("invalid-date",C.value):(r.value[0]=l(C.value),u("range-start",r.value[0]))},Na=(C=!0)=>P.value.enableSeconds?Array.isArray(w.seconds)?C?w.seconds[0]:w.seconds[1]:w.seconds:0,dn=C=>{r.value[C]=se({hours:w.hours[C],minutes:w.minutes[C],seconds:Na(C!==1)},r.value[C])},eo=()=>{r.value[0]&&r.value[1]&&+r.value?.[0]>+r.value?.[1]&&(r.value.reverse(),u("range-start",r.value[0]),u("range-end",r.value[1]))},to=()=>{r.value.length&&(r.value[0]&&!r.value[1]?dn(0):(dn(0),dn(1),a()),eo(),c.value=r.value.slice(),pe(r.value,t,r.value.length<2||Y.value?.steps.length?e.flowStep!==Y.value?.steps?.length:!1))},ao=(C,K=!1)=>{if(W(C.value)||!C.current&&y.hideOffsetDates)return u("invalid-date",C.value);if(s.value=structuredClone(C),!v.value.enabled)return cn(C);Array.isArray(w.hours)&&Array.isArray(w.minutes)&&!E.value.enabled&&(Ft(C,K),to())},no=(C,K)=>{R(C,K.month,K.year,!0),d.value.count&&!d.value.solo&&_e(C),u("update-month-year",{instance:C,month:K.month,year:K.year}),n(d.value.solo?C:void 0);const de=Y.value?.steps?.length?Y.value.steps[e.flowStep]:void 0;!K.fromNav&&(de===Qe.month||de===Qe.year)&&a()},ro=C=>{me({value:C}),Q(),y.multiCalendars&&Ge().then(()=>T(!0))},oo=()=>{let C=l();return y.actionRow?.nowBtnRound&&(C=Di(C,{roundingMethod:y.actionRow.nowBtnRound.rounding??"ceil",nearestTo:y.actionRow.nowBtnRound.roundTo??15})),C},so=()=>{const C=oo();!v.value.enabled&&!E.value.enabled?c.value=C:c.value&&Array.isArray(c.value)&&c.value[0]?E.value.enabled?c.value=[...c.value,C]:c.value=fe(C,c.value[0])?[C,c.value[0]]:[c.value[0],C]:c.value=[C],Q()},lo=()=>{if(Array.isArray(c.value))if(E.value.enabled){const C=io();c.value[c.value.length-1]=Z(C)}else c.value=c.value.map((C,K)=>C&&Z(C,K));else c.value=Z(c.value);t("time-update")},io=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null,uo=C=>{let K="";if(v.value.enabled&&Array.isArray(c.value))for(const de of Object.keys(C)){const De=C[de];Array.isArray(De)&&(w[de][0]!==De[0]&&(K="range-start"),w[de][1]!==De[1]&&(K="range-start"))}return K};return{calendars:h,modelValue:c,month:p,year:g,time:w,disabledTimesConfig:I,today:b,validateTime:$,getCalendarDays:un,getMarker:on,handleScroll:$a,handleSwipe:Ea,handleArrow:rn,selectDate:ao,updateMonthYear:no,presetDate:ro,selectCurrentDate:so,updateTime:C=>{const K=uo(C);G(C,lo),K&&u(K,c.value[K==="range-start"?0:1])},assignMonthAndYear:S,setStartTime:x}},xc=()=>{const{isModelAuto:e,matchDate:t,isDateAfter:n,isDateBefore:a,isDateBetween:r,isDateEqual:o,getWeekFromDate:s,getBeforeAndAfterInRange:l}=Xe(),{getDate:u,today:h,rootProps:p,defaults:{multiCalendars:g,multiDates:w,ui:c,highlight:y,safeDates:b,range:_},modelValue:d}=Pe(),{isDisabled:m}=st(),v=ie(null),M=f=>{!f.current&&p.hideOffsetDates||(v.value=f.value)},O=()=>{v.value=null},E=f=>Array.isArray(d.value)&&_.value.enabled&&d.value[0]&&v.value?f?n(v.value,d.value[0]):a(v.value,d.value[0]):!0,P=(f,S)=>{const k=()=>d.value?S?d.value[0]||null:d.value[1]:null,j=d.value&&Array.isArray(d.value)?k():null;return o(u(f.value),j)},Y=f=>{const S=Array.isArray(d.value)?d.value[0]:null;return f?!a(v.value,S):!0},N=(f,S=!0)=>(_.value.enabled||p.weekPicker)&&Array.isArray(d.value)&&d.value.length===2?p.hideOffsetDates&&!f.current?!1:o(u(f.value),d.value[S?0:1]):_.value.enabled?P(f,S)&&Y(S)||o(f.value,Array.isArray(d.value)?d.value[0]:null)&&E(S):!1,W=(f,S)=>{if(Array.isArray(d.value)&&d.value[0]&&d.value.length===1){const k=o(f.value,v.value);return S?n(d.value[0],f.value)&&k:a(d.value[0],f.value)&&k}return!1},H=f=>!d.value||p.hideOffsetDates&&!f.current?!1:_.value.enabled?p.modelAuto&&Array.isArray(d.value)?o(f.value,d.value[0]??h):!1:w.value.enabled&&Array.isArray(d.value)?d.value.some(S=>o(S,f.value)):o(f.value,d.value?d.value:h),q=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=rt(v.value,+_.value.autoRange),k=s(u(v.value),p.weekStart);return p.weekPicker?o(k[1],u(f.value)):o(S,u(f.value))}return!1}return!1},G=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){const S=rt(v.value,+_.value.autoRange);if(p.hideOffsetDates&&!f.current)return!1;const k=s(u(v.value),p.weekStart);return p.weekPicker?n(f.value,k[0])&&a(f.value,k[1]):n(f.value,v.value)&&a(f.value,S)}return!1}return!1},Z=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=s(u(v.value),p.weekStart);return p.weekPicker?o(S[0],f.value):o(v.value,f.value)}return!1}return!1},U=f=>r(d.value,v.value,f.value),X=()=>p.modelAuto&&Array.isArray(d.value)?!!d.value[0]:!1,$=()=>p.modelAuto?e(d.value):!0,I=f=>{if(p.weekPicker)return!1;const S=_.value.enabled?!N(f)&&!N(f,!1):!0;return!m(f.value)&&!H(f)&&!(!f.current&&p.hideOffsetDates)&&S},le=f=>_.value.enabled?p.modelAuto?X()&&H(f):!1:H(f),z=f=>y.value?t(f.value,b.value.highlight):!1,se=f=>{const S=m(f.value);return S&&(typeof y.value=="function"?!y.value(f.value,S):!y.value.options.highlightDisabled)},fe=f=>typeof y.value=="function"?y.value(f.value):y.value.weekdays?.includes(f.value.getDay()),ge=f=>(_.value.enabled||p.weekPicker)&&(!(g.value.count>0)||f.current)&&$()&&!(!f.current&&p.hideOffsetDates)&&!H(f)?U(f):!1,ne=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.maxRange,d.value[0]);return Pt(f.value,S)||wt(f.value,k)}return!1},pe=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.minRange,d.value[0]);return r([S,k],d.value[0],f.value)}return!1},ue=f=>_.value.enabled&&(_.value.maxRange||_.value.minRange)?_.value.maxRange&&_.value.minRange?ne(f)||pe(f):_.value.maxRange?ne(f):pe(f):!1,ke=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f),j=_.value.enabled?S||k:!1;return{dp__cell_offset:!f.current,dp__pointer:!p.disabled&&!(!f.current&&p.hideOffsetDates)&&!m(f.value)&&!ue(f),dp__cell_disabled:m(f.value)||ue(f),dp__cell_highlight:!se(f)&&(z(f)||fe(f))&&!le(f)&&!j&&!Z(f)&&!(ge(f)&&p.weekPicker)&&!k,dp__cell_highlight_active:!se(f)&&(z(f)||fe(f))&&le(f),dp__today:!p.noToday&&o(f.value,h)&&f.current,"dp--past":a(f.value,h),"dp--future":n(f.value,h)}},me=f=>({dp__active_date:le(f),dp__date_hover:I(f)}),Te=f=>{if(d.value&&!Array.isArray(d.value)){const S=s(d.value,p.weekStart);return{...T(f),dp__range_start:o(S[0],f.value),dp__range_end:o(S[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])}}return{...T(f)}},D=f=>{if(d.value&&Array.isArray(d.value)){const S=s(d.value[0],p.weekStart),k=d.value[1]?s(d.value[1],p.weekStart):[];return{...T(f),dp__range_start:o(S[0],f.value)||o(k[0],f.value),dp__range_end:o(S[1],f.value)||o(k[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])||n(f.value,k[0])&&a(f.value,k[1]),dp__range_between:n(f.value,S[1])&&a(f.value,k[0])}}return{...T(f)}},R=f=>{const S=g.value.count>0?f.current&&N(f)&&$():N(f)&&$(),k=g.value.count>0?f.current&&N(f,!1)&&$():N(f,!1)&&$();return{isRangeStart:S,isRangeEnd:k}},Q=f=>_.value.enabled&&(_.value.fixedStart||_.value.fixedEnd)&&Array.isArray(d.value)&&d.value.length===2,x=(f,S,k,j)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&o(f.value,v.value)&&Pt(f.value,d.value[0])&&!k:_.value.fixedStart&&o(f.value,v.value)&&wt(f.value,d.value[1])&&!j,B=(f,S)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&wt(f.value,v.value)&&Pt(f.value,d.value[0]):_.value.fixedStart&&Pt(f.value,v.value)&&wt(f.value,d.value[1]),J=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f);return{dp__range_start:S,dp__range_end:k,dp__range_between:ge(f),dp__date_hover:o(f.value,v.value)&&!S&&!k&&!p.weekPicker,dp__date_hover_start:W(f,!0)||x(f,!0,S,k),dp__date_hover_end:W(f,!1)||x(f,!1,S,k),"dp--extended-fixed-start":B(f,!0),"dp--extended-fixed-end":B(f,!1)}},T=f=>({...J(f),dp__cell_auto_range:G(f),dp__cell_auto_range_start:Z(f),dp__cell_auto_range_end:q(f)}),L=f=>_.value.enabled?_.value.autoRange?T(f):p.modelAuto?{...me(f),...J(f)}:p.weekPicker?D(f):J(f):p.weekPicker?Te(f):me(f);return{setHoverDate:M,clearHoverDate:O,getDayClassData:f=>p.hideOffsetDates&&!f.current?{}:{...ke(f),...L(f),[c.value.dayClass?c.value.dayClass(f.value,d.value):""]:!0,...c.value.calendarCell}}},Mc={key:0},Pc=Ue({__name:"DatePicker",props:cr({flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},Du),emits:["mount","update-flow-step","reset-flow","focus-menu","select-date","time-update","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{month:o,year:s,modelValue:l,time:u,disabledTimesConfig:h,today:p,validateTime:g,getCalendarDays:w,getMarker:c,handleArrow:y,handleScroll:b,handleSwipe:_,selectDate:d,updateMonthYear:m,presetDate:v,selectCurrentDate:M,updateTime:O,assignMonthAndYear:E,setStartTime:P}=Dc(r,a,me,Te),Y=Bt(),{setHoverDate:N,getDayClassData:W,clearHoverDate:H}=xc(),{getDate:q,rootEmit:G,rootProps:Z,defaults:{multiCalendars:U,timeConfig:X}}=Pe(),{getYears:$,getMonths:I}=en(),{getCellId:le}=Xe(),z=Be("calendar-header"),se=Be("calendar"),fe=Be("time-picker"),ge=_t(Y,mt.Calendar),ne=_t(Y,mt.DatePickerHeader),pe=_t(Y,mt.TimePicker),ue=L=>{a("mount",L)};Je(U,(L,f)=>{L.count-f.count>0&&E()},{deep:!0});const ke=V(()=>L=>w(o.value(L),s.value(L)).map(f=>({...f,days:f.days.map(S=>(S.marker=c(S),S.classData=W(S),S))})));function me(L){L||L===0?se.value?.[L]?.triggerTransition(o.value(L),s.value(L)):se.value?.forEach((f,S)=>f?.triggerTransition(o.value(S),s.value(S)))}function Te(){a("update-flow-step")}const D=(L,f,S=0)=>{z.value?.[S]?.toggleMonthPicker(L,f)},R=(L,f,S=0)=>{z.value?.[S]?.toggleYearPicker(L,f)},Q=(L,f,S)=>{fe.value?.toggleTimePicker(L,f,S)},x=(L,f)=>{if(!Z.range){const S=l.value?l.value:p,k=f?q(f):S,j=L?ot(k,{weekStartsOn:1}):Rn(k,{weekStartsOn:1});d({value:j,current:Ae(k)===o.value(0),text:"",classData:{}}),document.getElementById(le(j))?.focus()}},B=L=>{z.value?.[0]?.handleMonthYearChange(L,!0)},J=L=>{m(0,{month:o.value(0),year:s.value(0)+(L?1:-1),fromNav:!0})},T=L=>{G("overlay-toggle",{open:!1,overlay:L}),a("focus-menu")};return t({clearHoverDate:H,presetDate:v,selectCurrentDate:M,handleArrow:y,updateMonthYear:m,setStartTime:P,toggleMonthPicker:D,toggleYearPicker:R,toggleTimePicker:Q,getSidebarProps:()=>({modelValue:l,month:o,year:s,time:u,updateTime:O,updateMonthYear:m,selectDate:d,presetDate:v}),changeMonth:B,changeYear:J,selectWeekDate:x}),(L,f)=>(F(),te(Se,null,[He(an,{collapse:e.collapse},{default:be(({instances:S,wrapClass:k})=>[(F(!0),te(Se,null,Ee(S,j=>(F(),te("div",{key:j,class:ye(k)},[i(Z).hideMonthYearSelect?re("",!0):(F(),$e(pc,{key:0,ref_for:!0,ref:"calendar-header",months:i(I)(),years:i($)(),month:i(o)(j),year:i(s)(j),instance:j,"menu-wrap-ref":e.menuWrapRef,onMount:f[0]||(f[0]=A=>ue(i(Ht).header)),onResetFlow:f[1]||(f[1]=A=>L.$emit("reset-flow")),onUpdateMonthYear:A=>i(m)(j,A),onOverlayClosed:T},ze({_:2},[Ee(i(ne),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["months","years","month","year","instance","menu-wrap-ref","onUpdateMonthYear"])),He(_c,{ref_for:!0,ref:"calendar","mapped-dates":ke.value(j),instance:j,month:i(o)(j),year:i(s)(j),onSelectDate:A=>i(d)(A,j!==1),onSetHoverDate:f[2]||(f[2]=A=>i(N)(A)),onHandleScroll:A=>i(b)(A,j),onHandleSwipe:A=>i(_)(A,j),onMount:f[3]||(f[3]=A=>ue(i(Ht).calendar))},ze({_:2},[Ee(i(ge),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["mapped-dates","instance","month","year","onSelectDate","onHandleScroll","onHandleSwipe"])],2))),128))]),_:3},8,["collapse"]),i(X).enableTimePicker?(F(),te("div",Mc,[oe(L.$slots,"time-picker",et(dt({time:i(u),updateTime:i(O)})),()=>[He(Zr,{ref:"time-picker",hours:i(u).hours,minutes:i(u).minutes,seconds:i(u).seconds,"disabled-times-config":i(h),"validate-time":i(g),"no-overlay-focus":e.noOverlayFocus,onMount:f[4]||(f[4]=S=>ue(i(Ht).timePicker)),"onUpdate:hours":f[5]||(f[5]=S=>i(O)({hours:S,minutes:i(u).minutes,seconds:i(u).seconds})),"onUpdate:minutes":f[6]||(f[6]=S=>i(O)({hours:i(u).hours,minutes:S,seconds:i(u).seconds})),"onUpdate:seconds":f[7]||(f[7]=S=>i(O)({hours:i(u).hours,minutes:i(u).minutes,seconds:S})),onResetFlow:f[8]||(f[8]=S=>L.$emit("reset-flow"))},ze({_:2},[Ee(i(pe),(S,k)=>({name:S,fn:be(j=>[oe(L.$slots,S,et(dt(j)))])}))]),1032,["hours","minutes","seconds","disabled-times-config","validate-time","no-overlay-focus"])])])):re("",!0)],64))}}),Ac=(e,t)=>{const{getDate:n,modelValue:a,year:r,calendars:o,defaults:{highlight:s,range:l,multiDates:u}}=Pe(),{isDateBetween:h,isDateEqual:p}=Xe(),{checkRangeAutoApply:g,handleMultiDatesSelect:w,setMonthOrYearRange:c}=nn();Sa();const{isDisabled:y}=st(),{formatQuarterText:b}=Nt(),{selectYear:_,groupedYears:d,showYearPicker:m,isDisabled:v,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setStartDate:P}=Gr(t),Y=ie();je(()=>{P()});const N=V(()=>$=>a.value?Array.isArray(a.value)?a.value.some(I=>nr($,I)):nr(a.value,$):!1),W=$=>{if(l.value.enabled){if(Array.isArray(a.value)){const I=p($,a.value[0])||p($,a.value[1]);return h(a.value,Y.value,$)&&!I}return!1}return!1},H=($,I)=>$.quarter===Gn(I)&&$.year===he(I),q=$=>typeof s.value=="function"?s.value({quarter:Gn($),year:he($)}):s.value.quarters.some(I=>H(I,$)),G=V(()=>$=>{const I=xe(n(),{year:r.value($)});return Ss({start:oa(I),end:Tr(I)}).map(le=>{const z=Lt(le),se=Zn(le),fe=y(le),ge=W(z),ne=q(z);return{text:b(z,se),value:z,active:N.value(z),highlighted:ne,disabled:fe,isBetween:ge}})}),Z=$=>{w($,u.value.limit),t("auto-apply",!0)},U=$=>{a.value=c($),g(a.value,t,a.value.length<2)},X=$=>{a.value=$,t("auto-apply")};return{groupedYears:d,year:r,isDisabled:v,quarters:G,showYearPicker:m,modelValue:a,selectYear:_,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setHoverDate:$=>{Y.value=$},selectQuarter:($,I,le)=>{if(!le)return o.value[I].month=Ae(Zn($)),u.value.enabled?Z($):l.value.enabled?U($):X($)}}},Tc={class:"dp--quarter-items"},Oc=["data-test-id","disabled","onClick","onMouseover"],Cc=Ue({__name:"QuarterPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaults:{config:o}}=Pe(),s=Bt(),{boolHtmlAttribute:l}=fa(),u=_t(s,mt.YearMode),{groupedYears:h,year:p,isDisabled:g,quarters:w,modelValue:c,showYearPicker:y,setHoverDate:b,selectQuarter:_,toggleYearPicker:d,handleYearSelect:m,handleYear:v}=Ac(r,a);return t({getSidebarProps:()=>({modelValue:c,year:p,selectQuarter:_,handleYearSelect:m,handleYear:v})}),(M,O)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:E,wrapClass:P})=>[(F(!0),te(Se,null,Ee(E,Y=>(F(),te("div",{key:Y,class:ye(P)},[we("div",{class:"dp-quarter-picker-wrap",style:tt({minHeight:`${i(o).modeHeight}px`})},[M.$slots["top-extra"]?oe(M.$slots,"top-extra",{key:0,value:i(c)}):re("",!0),we("div",null,[He(Qr,{items:i(h)(Y),instance:Y,"show-year-picker":i(y)[Y],year:i(p)(Y),"is-disabled":N=>i(g)(Y,N),onHandleYear:N=>i(v)(Y,N),onYearSelect:N=>i(m)(N,Y),onToggleYearPicker:N=>i(d)(Y,N?.flow,N?.show)},ze({_:2},[Ee(i(u),(N,W)=>({name:N,fn:be(H=>[oe(M.$slots,N,vt({ref_for:!0},H))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),we("div",Tc,[(F(!0),te(Se,null,Ee(i(w)(Y),(N,W)=>(F(),te("div",{key:W},[we("button",{type:"button",class:ye(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-dp-action-element":"0","data-test-id":N.value,disabled:i(l)(N.disabled),onClick:H=>i(_)(N.value,Y,N.disabled),onMouseover:H=>i(b)(N.value)},[oe(M.$slots,"quarter",{value:N.value,text:N.text},()=>[At(Ke(N.text),1)])],42,Oc)]))),128))])],4)],2))),128))]),_:3},8,["collapse"]))}}),Sc=["id","tabindex","role","aria-label"],Yc={key:0,class:"dp--menu-load-container"},Rc={key:1,class:"dp--menu-header"},$c=["data-dp-mobile"],Ec={key:0,class:"dp__sidebar_left"},Bc=["data-dp-mobile"],Nc=["data-test-id","data-dp-mobile","onClick","onKeydown"],Fc={class:"dp__instance_calendar"},Vc={key:2,class:"dp__sidebar_right"},Lc={key:2,class:"dp__action_extra"},Wc=Ue({__name:"DatepickerMenu",props:{collapse:{type:Boolean},noOverlayFocus:{type:Boolean},getInputRect:{type:Function}},emits:["close-picker","select-date","auto-apply","time-update","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),{state:o,rootProps:s,defaults:{textInput:l,inline:u,config:h,ui:p,ariaLabels:g},setState:w}=Pe(),{isMobile:c}=Ja(),{handleEventPropagation:y,getElWithin:b,checkStopPropagation:_,checkKeyDown:d}=qe();$i();const m=Be("inner-menu"),v=Be("dp-menu"),M=Be("dyn-cmp"),O=ie(0),E=ie(!1),P=ie(!1),{flowStep:Y,updateFlowStep:N,childMount:W,resetFlow:H,handleFlow:q}=Bi(M),G=T=>{P.value=!0,h.value.allowPreventDefault&&T.preventDefault(),_(T,h.value,!0)};je(()=>{E.value=!0,Z(),globalThis.addEventListener("resize",Z);const T=Yt(v);T&&!l.value.enabled&&!u.value.enabled&&w("menuFocused",!0),T&&(T.addEventListener("pointerdown",G),T.addEventListener("mousedown",G)),document.addEventListener("mousedown",J)}),jt(()=>{globalThis.removeEventListener("resize",Z),document.removeEventListener("mousedown",J);const T=Yt(v);T&&(T.removeEventListener("pointerdown",G),T.removeEventListener("mousedown",G))});const Z=()=>{const T=Yt(m);T&&(O.value=T.getBoundingClientRect().width)},U=V(()=>s.monthPicker?ju:s.yearPicker?Ku:s.timePicker?ic:s.quarterPicker?Cc:Pc),X=()=>{const T=Yt(v);T&&T.focus({preventScroll:!0})},$=V(()=>M.value?.getSidebarProps()||{}),I=_t(r,mt.ActionRow),le=_t(r,mt.PassTrough),z=V(()=>({dp__menu_disabled:s.disabled,dp__menu_readonly:s.readonly,"dp-menu-loading":s.loading})),se=V(()=>({dp__menu:!0,dp__menu_index:!u.value.enabled,dp__relative:u.value.enabled,...p.value.menu})),fe=T=>{_(T,h.value,!0)},ge=T=>{h.value.escClose&&(a("close-picker"),y(T,h.value))},ne=T=>{s.arrowNavigation||(T===ut.left||T===ut.up?me("handleArrow",ut.left,0,T===ut.up):me("handleArrow",ut.right,0,T===ut.down))},pe=T=>{w("shiftKeyInMenu",T.shiftKey),!s.hideMonthYearSelect&&T.code===Re.tab&&T.target.classList.contains("dp__menu")&&o.shiftKeyInMenu&&(T.preventDefault(),_(T,h.value,!0),a("close-picker"))},ue=T=>{M.value?.toggleTimePicker(!1,!1),M.value?.toggleMonthPicker(!1,!1,T),M.value?.toggleYearPicker(!1,!1,T)},ke=(T,L=0)=>T==="month"?M.value?.toggleMonthPicker(!1,!0,L):T==="year"?M.value?.toggleYearPicker(!1,!0,L):T==="time"?M.value?.toggleTimePicker(!0,!1):ue(L),me=(T,...L)=>{M.value?.[T]&&M.value?.[T](...L)},Te=()=>{me("selectCurrentDate")},D=T=>{me("presetDate",wo(T))},R=()=>{me("clearHoverDate")},Q=(T,L)=>{me("updateMonthYear",T,L)},x=(T,L)=>{T.preventDefault(),ne(L)},B=T=>{if(pe(T),T.key===Re.home||T.key===Re.end)return me("selectWeekDate",T.key===Re.home,T.target.getAttribute("id"));switch((T.key===Re.pageUp||T.key===Re.pageDown)&&(T.shiftKey?(me("changeYear",T.key===Re.pageUp),b(v.value,"overlay-year")?.focus()):(me("changeMonth",T.key===Re.pageUp),b(v.value,T.key===Re.pageUp?"action-prev":"action-next")?.focus()),T.target.getAttribute("id")&&v.value?.focus({preventScroll:!0})),T.key){case Re.esc:return ge(T);case Re.arrowLeft:return x(T,ut.left);case Re.arrowRight:return x(T,ut.right);case Re.arrowUp:return x(T,ut.up);case Re.arrowDown:return x(T,ut.down);default:return}},J=T=>{u.value.enabled&&!u.value.input&&!v.value?.contains(T.target)&&P.value&&(P.value=!1,a("menu-blur"))};return t({updateMonthYear:Q,switchView:ke,onValueCleared:()=>{M.value?.setStartTime?.()},handleFlow:q}),(T,L)=>(F(),te("div",{id:i(s).menuId,ref:"dp-menu",tabindex:i(u).enabled?void 0:"0",role:i(u).enabled?void 0:"dialog","aria-label":i(g)?.menu,class:ye(se.value),onMouseleave:R,onClick:fe,onKeydown:B},[(i(s).disabled||i(s).readonly)&&i(u).enabled||i(s).loading?(F(),te("div",{key:0,class:ye(z.value)},[i(s).loading?(F(),te("div",Yc,[...L[5]||(L[5]=[we("span",{class:"dp--menu-loader"},null,-1)])])):re("",!0)],2)):re("",!0),T.$slots["menu-header"]?(F(),te("div",Rc,[oe(T.$slots,"menu-header")])):re("",!0),oe(T.$slots,"arrow"),we("div",{ref:"inner-menu",class:ye({dp__menu_content_wrapper:i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"])}),"data-dp-mobile":i(c),style:tt({"--dp-menu-width":`${O.value}px`})},[T.$slots["left-sidebar"]?(F(),te("div",Ec,[oe(T.$slots,"left-sidebar",et(dt($.value)))])):re("",!0),i(s).presetDates.length?(F(),te("div",{key:1,class:ye({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(c)},[(F(!0),te(Se,null,Ee(i(s).presetDates,(f,S)=>(F(),te(Se,{key:S},[f.slot?oe(T.$slots,f.slot,{key:0,presetDate:D,label:f.label,value:f.value}):(F(),te("button",{key:1,type:"button",style:tt(f.style||{}),class:ye(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":f.testId??void 0,"data-dp-mobile":i(c),onClick:sa(k=>D(f.value),["prevent"]),onKeydown:k=>i(d)(k,()=>D(f.value),!0)},Ke(f.label),47,Nc))],64))),128))],10,Bc)):re("",!0),we("div",Fc,[(F(),$e(xn(U.value),{ref:"dyn-cmp","flow-step":i(Y),collapse:e.collapse,"no-overlay-focus":e.noOverlayFocus,"menu-wrap-ref":v.value,onMount:i(W),onUpdateFlowStep:i(N),onResetFlow:i(H),onFocusMenu:X,onSelectDate:L[0]||(L[0]=f=>T.$emit("select-date")),onAutoApply:L[1]||(L[1]=f=>T.$emit("auto-apply",f)),onTimeUpdate:L[2]||(L[2]=f=>T.$emit("time-update"))},ze({_:2},[Ee(i(le),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt({...k})))])}))]),1064,["flow-step","collapse","no-overlay-focus","menu-wrap-ref","onMount","onUpdateFlowStep","onResetFlow"]))]),T.$slots["right-sidebar"]?(F(),te("div",Vc,[oe(T.$slots,"right-sidebar",et(dt($.value)))])):re("",!0)],14,$c),T.$slots["action-extra"]?(F(),te("div",Lc,[T.$slots["action-extra"]?oe(T.$slots,"action-extra",{key:0,selectCurrentDate:Te}):re("",!0)])):re("",!0),!i(s).autoApply||i(h).keepActionRow?(F(),$e(Nu,{key:3,"menu-mount":E.value,"calendar-width":O.value,onClosePicker:L[3]||(L[3]=f=>T.$emit("close-picker")),onSelectDate:L[4]||(L[4]=f=>T.$emit("select-date")),onSelectNow:Te},ze({_:2},[Ee(i(I),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt(k)))])}))]),1032,["menu-mount","calendar-width"])):re("",!0)],42,Sc))}}),Ic=["data-dp-mobile"],Hc=Ue({__name:"VueDatePicker",setup(e,{expose:t}){const{rootEmit:n,setState:a,inputValue:r,modelValue:o,rootProps:s,defaults:{inline:l,config:u,textInput:h,range:p,multiDates:g,teleport:w,floatingConfig:c}}=Pe(),{validateDate:y,isValidTime:b}=st(),{menuTransition:_,showTransition:d}=Ca(),{isMobile:m}=Ja(),{findNextFocusableElement:v,getNumVal:M}=qe(),O=Bt(),E=ie(!1),P=ie(l.value.enabled||s.centered),Y=Vn(s,"modelValue"),N=Vn(s,"timezone"),W=Be("dp-menu-wrap"),H=Be("dp-menu"),q=Be("input-cmp"),G=Be("picker-wrapper"),Z=Be("menu-arrow"),U=ie(!1),X=ie(!1),$=ie(!1),I=ie(!0),le=ce=>(c.value.arrow&&ce.push(ws({element:c.value.arrow===!0?Z:c.value.arrow})),c.value.flip&&ce.push(ps(typeof c.value.flip=="object"?c.value.flip:{})),c.value.shift&&ce.push(vs(typeof c.value.shift=="object"?c.value.shift:{})),ce),{floatingStyles:z,middlewareData:se,placement:fe,y:ge}=bs(q,W,{strategy:c.value.strategy,placement:c.value.placement,middleware:le([ms(c.value.offset)]),whileElementsMounted:fs});je(()=>{ue(s.modelValue),Ge().then(()=>{l.value.enabled||globalThis.addEventListener("resize",J)}),l.value.enabled&&(E.value=!0),globalThis.addEventListener("keyup",T),globalThis.addEventListener("keydown",L)}),jt(()=>{l.value.enabled||globalThis.removeEventListener("resize",J),globalThis.removeEventListener("keyup",T),globalThis.removeEventListener("keydown",L)});const ne=Xr(O,s.presetDates),pe=_t(O,mt.Input);Je([Y,N],()=>{ue(Y.value)},{deep:!0}),Je([fe,ge],()=>{!l.value.enabled&&!s.centered&&I.value&&(P.value=!1,Ge().then(()=>{I.value=!1,P.value=!0}))});const{parseExternalModelValue:ue,emitModelValue:ke,formatInputValue:me,checkBeforeEmit:Te}=Ei(),D=V(()=>({dp__main:!0,dp__theme_dark:s.dark,dp__theme_light:!s.dark,dp__flex_display:l.value.enabled,"dp--flex-display-collapsed":$.value,dp__flex_display_with_input:l.value.input})),R=V(()=>s.dark?"dp__theme_dark":"dp__theme_light"),Q=V(()=>l.value.enabled&&(s.timePicker||s.monthPicker||s.yearPicker||s.quarterPicker)),x=()=>q.value?.$el?.getBoundingClientRect()??{width:0,left:0,right:0},B=()=>{E.value&&u.value.closeOnScroll&&_e()},J=()=>{const ce=H.value?.$el.getBoundingClientRect().width??0;$.value=document.body.offsetWidth<=ce},T=ce=>{ce.key==="Tab"&&!l.value.enabled&&!s.teleport&&u.value.tabOutClosesMenu&&(G.value.contains(document.activeElement)||_e()),X.value=ce.shiftKey},L=ce=>{X.value=ce.shiftKey},f=()=>{!s.disabled&&!s.readonly&&(I.value=!0,E.value=!0,E.value&&n("open"),E.value||Me(),ue(s.modelValue))},S=()=>{r.value="",Me(),H.value?.onValueCleared(),q.value?.setParsedDate(null),n("update:model-value",null),n("cleared"),u.value.closeOnClearValue&&_e()},k=()=>{const ce=o.value;return!ce||!Array.isArray(ce)&&y(ce)?!0:Array.isArray(ce)?g.value.enabled||ce.length===2&&y(ce[0])&&y(ce[1])?!0:p.value.partialRange&&!s.timePicker?y(ce[0]):!1:!1},j=()=>{Te()&&k()?(ke(),_e()):n("invalid-select")},A=ce=>{ae(),ke(),u.value.closeOnAutoApply&&!ce&&_e()},ae=()=>{q.value&&h.value.enabled&&q.value.setParsedDate(o.value)},ee=(ce=!1)=>{s.autoApply&&b(o.value)&&k()&&(p.value.enabled&&Array.isArray(o.value)?(p.value.partialRange||o.value.length===2)&&A(ce):A(ce))},Me=()=>{h.value.enabled||(o.value=null)},_e=(ce=!1)=>{I.value=!0,ce&&o.value&&u.value.setDateOnMenuClose&&j(),l.value.enabled||(E.value&&(E.value=!1,a("menuFocused",!1),a("shiftKeyInMenu",!1),n("closed"),r.value&&ue(Y.value)),Me(),n("blur"))},Xt=(ce,Ze,lt=!1)=>{if(!ce){o.value=null;return}const va=Array.isArray(ce)?ce.every(Na=>y(Na)):y(ce),Ft=b(ce);va&&Ft?(a("isTextInputDate",!0),o.value=ce,Ze?(U.value=lt,j(),n("text-submit")):s.autoApply&&ee(!0),Ge().then(()=>{a("isTextInputDate",!1)})):n("invalid-date",ce)},Ra=()=>{s.autoApply&&b(o.value)&&ke(),ae()},$a=()=>E.value?_e():f(),rn=ce=>{o.value=ce},Ea=()=>{h.value.enabled&&(a("isInputFocused",!0),me()),n("focus")},on=()=>{h.value.enabled&&(a("isInputFocused",!1),ue(s.modelValue),U.value&&v(G.value,X.value)?.focus()),n("blur")},sn=(ce,Ze)=>{H.value&&H.value.updateMonthYear(Ze??0,{month:M(ce.month),year:M(ce.year)})},ln=ce=>{ue(ce??s.modelValue)},ma=(ce,Ze)=>{H.value?.switchView(ce,Ze)},un=(ce,Ze)=>{if(E.value)return u.value.onClickOutside?u.value.onClickOutside(ce,Ze):_e(!0)},cn=(ce=0)=>{H.value?.handleFlow(ce)},Ba=()=>W;return _o(W,ce=>un(k,ce),{ignore:[q]}),t({closeMenu:_e,selectDate:j,clearValue:S,openMenu:f,onScroll:B,formatInputValue:me,updateInternalModelValue:rn,setMonthYear:sn,parseModel:ln,switchView:ma,toggleMenu:$a,handleFlow:cn,getDpWrapMenuRef:Ba,dpMenuRef:()=>H,dpWrapMenuRef:()=>W,inputRef:()=>q}),(ce,Ze)=>(F(),te("div",{ref:"picker-wrapper",class:ye(D.value),"data-datepicker-instance":"","data-dp-mobile":i(m)},[He(Yu,{ref:"input-cmp","is-menu-open":E.value,onClear:S,onOpen:f,onSetInputDate:Xt,onSetEmptyDate:i(ke),onSelectDate:j,onToggle:$a,onClose:_e,onFocus:Ea,onBlur:on,onRealBlur:Ze[0]||(Ze[0]=lt=>i(a)("isInputFocused",!1))},ze({_:2},[Ee(i(pe),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt(Ft)))])}))]),1032,["is-menu-open","onSetEmptyDate"]),He(yo,{to:i(w),disabled:!i(w)},{default:be(()=>[we("div",{ref:"dp-menu-wrap",class:ye({"dp--menu-wrapper":!i(l).enabled,dp__outer_menu_wrap:!0,"dp--centered":i(s).centered}),style:tt(!i(l).enabled&&!i(s).centered?i(z):void 0)},[He(da,{name:i(_)(i(fe).startsWith("top")),css:i(d)&&!i(l).enabled&&!i(s).centered&&P.value},{default:be(()=>[E.value&&P.value?(F(),$e(Wc,{key:0,ref:"dp-menu",class:ye({[R.value]:!0}),"no-overlay-focus":Q.value,collapse:$.value,"get-input-rect":x,onClosePicker:_e,onSelectDate:j,onAutoApply:ee,onTimeUpdate:Ra,onMenuBlur:Ze[1]||(Ze[1]=lt=>i(n)("blur"))},ze({_:2},[Ee(i(ne),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt({...Ft})))])})),!i(l).enabled&&!i(s).centered&&i(c).arrow===!0?{name:"arrow",fn:be(()=>[we("div",{ref:"menu-arrow",class:ye({dp__arrow_top:i(fe)==="bottom",dp__arrow_bottom:i(fe)==="top"}),style:tt({left:i(se).arrow?.x!=null?`${i(se).arrow.x}px`:"",top:i(se).arrow?.y!=null?`${i(se).arrow.y}px`:""})},null,6)]),key:"0"}:void 0]),1032,["class","no-overlay-focus","collapse"])):re("",!0)]),_:3},8,["name","css"])],6)]),_:3},8,["to","disabled"])],10,Ic))}}),jc=Ue({__name:"VueDatePickerRoot",props:cr({multiCalendars:{type:[Boolean,Number,String,Object]},modelValue:{},modelType:{},dark:{type:Boolean},transitions:{type:[Boolean,Object]},ariaLabels:{},hideNavigation:{},timezone:{},vertical:{type:Boolean},hideMonthYearSelect:{type:Boolean},disableYearSelect:{type:Boolean},yearRange:{},autoApply:{type:Boolean},disabledDates:{type:[Array,Function]},startDate:{},hideOffsetDates:{type:Boolean},noToday:{type:Boolean},allowedDates:{},markers:{},presetDates:{},flow:{},preventMinMaxNavigation:{type:Boolean},reverseYears:{type:Boolean},weekPicker:{type:Boolean},filters:{},arrowNavigation:{type:Boolean},highlight:{type:[Function,Object]},teleport:{type:[String,Boolean]},centered:{type:Boolean},locale:{},weekStart:{},weekNumbers:{type:[Boolean,Object]},dayNames:{type:[Function,Array]},monthPicker:{type:Boolean},yearPicker:{type:Boolean},modelAuto:{type:Boolean},formats:{},multiDates:{type:[Boolean,Object]},minDate:{},maxDate:{},minTime:{},maxTime:{},inputAttrs:{},timeConfig:{},placeholder:{},timePicker:{type:Boolean},range:{type:[Boolean,Object]},menuId:{},disabled:{type:Boolean},readonly:{type:Boolean},inline:{type:[Boolean,Object]},textInput:{type:[Boolean,Object]},sixWeeks:{type:[Boolean,String]},actionRow:{},focusStartDate:{type:Boolean},disabledTimes:{type:[Function,Array]},calendar:{type:Function},config:{},quarterPicker:{type:Boolean},yearFirst:{type:Boolean},loading:{type:Boolean},ui:{},floating:{}},xu),emits:["update:model-value","internal-model-change","text-submit","text-input","open","closed","focus","blur","cleared","flow-step","update-month-year","invalid-select","invalid-fixed-range","invalid-date","tooltip-open","tooltip-close","am-pm-change","range-start","range-end","date-click","overlay-toggle","invalid"],setup(e,{expose:t,emit:n}){const a=n,r=e;Yi(r,a);const o=Bt(),s=Xr(o,r.presetDates),l=Be("date-picker");return t(Pu(l)),(u,h)=>(F(),$e(Hc,{ref:"date-picker"},ze({_:2},[Ee(i(s),(p,g)=>({name:p,fn:be(w=>[oe(u.$slots,p,et(dt(w)))])}))]),1536))}});export{jc as Z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-KKzd6SNM.js b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-1ZVC2T1K.js similarity index 80% rename from src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-KKzd6SNM.js rename to src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-1ZVC2T1K.js index 3c4aeb8b..22513112 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-KKzd6SNM.js +++ b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-1ZVC2T1K.js @@ -1 +1 @@ -import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-DXzxfcZW.js";import{L as a}from"./localeText-Dmcj5qqx.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-BNCV3lPl.js";import"./dayjs.min-C-brjxlJ.js";import"./vue-datepicker-vren6E8j.js";import"./index-CRsyV-e7.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},G=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,o)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[o[0]||(o[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(a,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[o[1]||(o[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(a,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[o[2]||(o[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(a,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),o[3]||(o[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),o[4]||(o[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(a,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{G as default}; +import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-DM7YJCOo.js";import{L as a}from"./localeText-BJvnc1lF.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-DBnS2OTV.js";import"./dayjs.min-DZl6XMNW.js";import"./vue-datepicker-9N8DgATH.js";import"./index-i3npkoSo.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},G=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,o)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[o[0]||(o[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(a,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[o[1]||(o[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(a,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[o[2]||(o[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(a,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),o[3]||(o[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),o[4]||(o[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(a,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{G as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BjFdnYVv.js b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-DVf20tDl.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BjFdnYVv.js rename to src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-DVf20tDl.js index 90bc81b4..9c5ded99 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BjFdnYVv.js +++ b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-DVf20tDl.js @@ -1 +1 @@ -import{D as B,a as O}from"./dashboardSettingsWireguardConfigurationAutostart-DWZoKQw6.js";import{r as g,E as V,o as I,D as z,c,f as s,a,t as w,m as D,v as N,d as $,e as m,b as d,n as y,z as S,g as P,W as L,H as M,j as _,F as U,i as j,u as A,B as G}from"./index-DXzxfcZW.js";import{L as f}from"./localeText-Dmcj5qqx.js";const F={class:"card"},Y={class:"card-header"},J={class:"card-body"},K={class:"row gy-2"},q={class:"col-sm"},Q={class:"form-check form-switch"},X=["disabled","id"],Z=["for"],ee={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ae={class:"mb-0"},te={class:"text-muted fw-normal"},ne={key:0,class:"ms-md-auto d-flex gap-2"},ie={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},se={class:"col-sm"},oe={class:"form-check form-switch"},re=["disabled","id"],le=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={class:"mb-0"},ue={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},fe={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},me={__name:"configurationTracking",props:["configuration","trackingData"],async setup(i){let x,v;const t=i,b=g({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0});g(!1);const k=g(!1);[x,v]=V(()=>I(async()=>{b.value=t.trackingData[t.configuration.Name]})),await x,v();const h=async()=>{await P("/api/getPeerTrackingTableCounts",{configurationName:t.configuration.Name},r=>{b.value=r.data})},l=async r=>{k.value=!0,await S("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:r,Value:t.configuration.Info[r]},e=>{console.log(e),k.value=!1})},o=g(void 0),T=async r=>{o.value=r,await P("/api/downloadPeerTrackingTable",{configurationName:t.configuration.Name,table:r},e=>{if(e.status){const n=JSON.stringify(e.data,null,2),R=new Blob([n],{type:"application/json"}),W=URL.createObjectURL(R),C=document.createElement("a");C.href=W,C.download=`${t.configuration.Name}_${r}.json`,C.click(),o.value=void 0}})},u=g(""),p=g(void 0),H=z(),E=async r=>{p.value=!0,await S("/api/deletePeerTrackingTable",{configurationName:t.configuration.Name,table:r},async e=>{e.status?H.newMessage("Server","Record deleted","success"):H.newMessage("Server","Record delete failed","danger"),await h(),p.value=!1,u.value=""})};return(r,e)=>(s(),c("div",F,[a("div",Y,w(i.configuration.Name),1),a("div",J,[a("div",K,[a("div",q,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",Q,[D(a("input",{class:"form-check-input",type:"checkbox",disabled:k.value,onChange:e[0]||(e[0]=n=>l("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=n=>i.configuration.Info.PeerTrafficTracking=n),id:i.configuration.Name+"_traffic_tracking"},null,40,X),[[N,i.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_traffic_tracking"},w(i.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[m(w(b.value.TrafficTrackingTableSize)+" ",1),a("span",te,[d(f,{t:"Records"})])]),u.value!=="TrafficTrackingTable"?(s(),c("div",ne,[a("button",{class:y(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:o.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=n=>T("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),d(f,{t:o.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=n=>u.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),m("Delete ",-1)])])])):u.value==="TrafficTrackingTable"?(s(),c("div",ie,[a("small",null,[d(f,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[4]||(e[4]=n=>E("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),m("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=n=>u.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),m("No ",-1)])],2)])):$("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[D(a("input",{class:"form-check-input",disabled:k.value,onChange:e[6]||(e[6]=n=>l("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=n=>i.configuration.Info.PeerHistoricalEndpointTracking=n),id:i.configuration.Name+"_historicalEndpoint_tracking"},null,40,re),[[N,i.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_historicalEndpoint_tracking"},w(i.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,le)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[a("h6",ce,[m(w(b.value.HistoricalTrackingTableSize)+" ",1),a("span",ue,[d(f,{t:"Records"})])])]),u.value!=="HistoricalTrackingTable"?(s(),c("div",ge,[a("button",{onClick:e[8]||(e[8]=n=>T("HistoricalTrackingTable")),class:y([{disabled:o.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),d(f,{t:o.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=n=>u.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),m("Delete ",-1)])])])):u.value==="HistoricalTrackingTable"?(s(),c("div",fe,[a("small",null,[d(f,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[10]||(e[10]=n=>E("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),m("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=n=>u.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),m("No ",-1)])],2)])):$("",!0)])])])])]))}},be={class:"card"},ke={class:"card-header d-flex align-items-center"},ve={class:"my-2"},Te={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"peerTrackingStatus"},ye={key:0,class:"card-body d-flex flex-column gap-3"},xe={key:0,class:"spinner-border text-body m-auto"},we={__name:"dashboardWireguardConfigurationTracking",setup(i){const x=L(),v=z(),t=g(v.Configuration.WireGuardConfiguration.peer_tracking),b=g(!1),k=g({});I(async()=>{t.value&&await h()});const h=async()=>{await P("/api/getPeerTrackingTableCounts",{},l=>{l.status&&(k.value=l.data),b.value=!0})};return M(t,async l=>{await S("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"peer_tracking",value:l},async o=>{o.status&&(v.newMessage("Server",l?"Peer tracking enabled":"Peer tracking disabled","success"),l&&await h())})}),(l,o)=>(s(),c("div",be,[a("div",ke,[a("h6",ve,[d(f,{t:"Peer Tracking"})]),a("div",Te,[D(a("input",{class:"form-check-input","onUpdate:modelValue":o[0]||(o[0]=T=>t.value=T),type:"checkbox",role:"switch",id:"peerTrackingStatus"},null,512),[[N,t.value]]),a("label",pe,[t.value?(s(),_(f,{key:0,t:"Enabled"})):(s(),_(f,{key:1,t:"Disabled"}))])])]),t.value?(s(),c("div",ye,[b.value?(s(!0),c(U,{key:1},j(A(x).Configurations,T=>(s(),_(me,{configuration:T,trackingData:k.value},null,8,["configuration","trackingData"]))),256)):(s(),c("div",xe))])):$("",!0)]))}},he={class:"d-flex gap-3 flex-column"},Ne=G({__name:"wireguardConfigurationSettings",setup(i){return(x,v)=>(s(),c("div",he,[d(B,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),d(O),d(we)]))}});export{Ne as default}; +import{D as B,a as O}from"./dashboardSettingsWireguardConfigurationAutostart-CLeShfcZ.js";import{r as g,E as V,o as I,D as z,c,f as s,a,t as w,m as D,v as N,d as $,e as m,b as d,n as y,z as S,g as P,W as L,H as M,j as _,F as U,i as j,u as A,B as G}from"./index-DM7YJCOo.js";import{L as f}from"./localeText-BJvnc1lF.js";const F={class:"card"},Y={class:"card-header"},J={class:"card-body"},K={class:"row gy-2"},q={class:"col-sm"},Q={class:"form-check form-switch"},X=["disabled","id"],Z=["for"],ee={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ae={class:"mb-0"},te={class:"text-muted fw-normal"},ne={key:0,class:"ms-md-auto d-flex gap-2"},ie={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},se={class:"col-sm"},oe={class:"form-check form-switch"},re=["disabled","id"],le=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={class:"mb-0"},ue={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},fe={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},me={__name:"configurationTracking",props:["configuration","trackingData"],async setup(i){let x,v;const t=i,b=g({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0});g(!1);const k=g(!1);[x,v]=V(()=>I(async()=>{b.value=t.trackingData[t.configuration.Name]})),await x,v();const h=async()=>{await P("/api/getPeerTrackingTableCounts",{configurationName:t.configuration.Name},r=>{b.value=r.data})},l=async r=>{k.value=!0,await S("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:r,Value:t.configuration.Info[r]},e=>{console.log(e),k.value=!1})},o=g(void 0),T=async r=>{o.value=r,await P("/api/downloadPeerTrackingTable",{configurationName:t.configuration.Name,table:r},e=>{if(e.status){const n=JSON.stringify(e.data,null,2),R=new Blob([n],{type:"application/json"}),W=URL.createObjectURL(R),C=document.createElement("a");C.href=W,C.download=`${t.configuration.Name}_${r}.json`,C.click(),o.value=void 0}})},u=g(""),p=g(void 0),H=z(),E=async r=>{p.value=!0,await S("/api/deletePeerTrackingTable",{configurationName:t.configuration.Name,table:r},async e=>{e.status?H.newMessage("Server","Record deleted","success"):H.newMessage("Server","Record delete failed","danger"),await h(),p.value=!1,u.value=""})};return(r,e)=>(s(),c("div",F,[a("div",Y,w(i.configuration.Name),1),a("div",J,[a("div",K,[a("div",q,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",Q,[D(a("input",{class:"form-check-input",type:"checkbox",disabled:k.value,onChange:e[0]||(e[0]=n=>l("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=n=>i.configuration.Info.PeerTrafficTracking=n),id:i.configuration.Name+"_traffic_tracking"},null,40,X),[[N,i.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_traffic_tracking"},w(i.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[m(w(b.value.TrafficTrackingTableSize)+" ",1),a("span",te,[d(f,{t:"Records"})])]),u.value!=="TrafficTrackingTable"?(s(),c("div",ne,[a("button",{class:y(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:o.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=n=>T("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),d(f,{t:o.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=n=>u.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),m("Delete ",-1)])])])):u.value==="TrafficTrackingTable"?(s(),c("div",ie,[a("small",null,[d(f,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[4]||(e[4]=n=>E("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),m("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=n=>u.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),m("No ",-1)])],2)])):$("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[D(a("input",{class:"form-check-input",disabled:k.value,onChange:e[6]||(e[6]=n=>l("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=n=>i.configuration.Info.PeerHistoricalEndpointTracking=n),id:i.configuration.Name+"_historicalEndpoint_tracking"},null,40,re),[[N,i.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_historicalEndpoint_tracking"},w(i.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,le)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[a("h6",ce,[m(w(b.value.HistoricalTrackingTableSize)+" ",1),a("span",ue,[d(f,{t:"Records"})])])]),u.value!=="HistoricalTrackingTable"?(s(),c("div",ge,[a("button",{onClick:e[8]||(e[8]=n=>T("HistoricalTrackingTable")),class:y([{disabled:o.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),d(f,{t:o.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=n=>u.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),m("Delete ",-1)])])])):u.value==="HistoricalTrackingTable"?(s(),c("div",fe,[a("small",null,[d(f,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[10]||(e[10]=n=>E("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),m("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=n=>u.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),m("No ",-1)])],2)])):$("",!0)])])])])]))}},be={class:"card"},ke={class:"card-header d-flex align-items-center"},ve={class:"my-2"},Te={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"peerTrackingStatus"},ye={key:0,class:"card-body d-flex flex-column gap-3"},xe={key:0,class:"spinner-border text-body m-auto"},we={__name:"dashboardWireguardConfigurationTracking",setup(i){const x=L(),v=z(),t=g(v.Configuration.WireGuardConfiguration.peer_tracking),b=g(!1),k=g({});I(async()=>{t.value&&await h()});const h=async()=>{await P("/api/getPeerTrackingTableCounts",{},l=>{l.status&&(k.value=l.data),b.value=!0})};return M(t,async l=>{await S("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"peer_tracking",value:l},async o=>{o.status&&(v.newMessage("Server",l?"Peer tracking enabled":"Peer tracking disabled","success"),l&&await h())})}),(l,o)=>(s(),c("div",be,[a("div",ke,[a("h6",ve,[d(f,{t:"Peer Tracking"})]),a("div",Te,[D(a("input",{class:"form-check-input","onUpdate:modelValue":o[0]||(o[0]=T=>t.value=T),type:"checkbox",role:"switch",id:"peerTrackingStatus"},null,512),[[N,t.value]]),a("label",pe,[t.value?(s(),_(f,{key:0,t:"Enabled"})):(s(),_(f,{key:1,t:"Disabled"}))])])]),t.value?(s(),c("div",ye,[b.value?(s(!0),c(U,{key:1},j(A(x).Configurations,T=>(s(),_(me,{configuration:T,trackingData:k.value},null,8,["configuration","trackingData"]))),256)):(s(),c("div",xe))])):$("",!0)]))}},he={class:"d-flex gap-3 flex-column"},Ne=G({__name:"wireguardConfigurationSettings",setup(i){return(x,v)=>(s(),c("div",he,[d(B,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),d(O),d(we)]))}});export{Ne as default}; diff --git a/src/static/dist/WGDashboardAdmin/index.html b/src/static/dist/WGDashboardAdmin/index.html index 9b7a2a63..ee9c74a7 100644 --- a/src/static/dist/WGDashboardAdmin/index.html +++ b/src/static/dist/WGDashboardAdmin/index.html @@ -11,6 +11,26 @@ WGDashboard + - + -
+
+
+
+ WGDashboard Admin +
+
+
diff --git a/src/static/dist/WGDashboardClient/assets/index-B0IcYqqq.js b/src/static/dist/WGDashboardClient/assets/index-B0IcYqqq.js new file mode 100644 index 00000000..179530cc --- /dev/null +++ b/src/static/dist/WGDashboardClient/assets/index-B0IcYqqq.js @@ -0,0 +1,31 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./router-eqjoytLE.js","./router-DXASIj4b.css"])))=>i.map(i=>d[i]); +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();const Dg="modulepreload",$g=function(t,e){return new URL(t,e).href},sc={},Rg=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){let l=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const u=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),p=d?.nonce||d?.getAttribute("nonce");i=l(n.map(h=>{if(h=$g(h,r),h in sc)return;sc[h]=!0;const m=h.endsWith(".css"),b=m?'[rel="stylesheet"]':"";if(!!r)for(let x=u.length-1;x>=0;x--){const F=u[x];if(F.href===h&&(!m||F.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${h}"]${b}`))return;const T=document.createElement("link");if(T.rel=m?"stylesheet":Dg,m||(T.as="script"),T.crossOrigin="",T.href=h,p&&T.setAttribute("nonce",p),document.head.appendChild(T),m)return new Promise((x,F)=>{T.addEventListener("load",x),T.addEventListener("error",()=>F(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(l){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l}return i.then(l=>{for(const u of l||[])u.status==="rejected"&&o(u.reason);return e().catch(o)})};/** +* @vue/shared v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Xo(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const xt={},Es=[],ze=()=>{},Lg=()=>!1,ai=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Qo=t=>t.startsWith("onUpdate:"),Wt=Object.assign,Zo=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},Ig=Object.prototype.hasOwnProperty,At=(t,e)=>Ig.call(t,e),it=Array.isArray,bs=t=>ir(t)==="[object Map]",Ss=t=>ir(t)==="[object Set]",rc=t=>ir(t)==="[object Date]",ut=t=>typeof t=="function",Mt=t=>typeof t=="string",Ge=t=>typeof t=="symbol",Nt=t=>t!==null&&typeof t=="object",ta=t=>(Nt(t)||ut(t))&&ut(t.then)&&ut(t.catch),lu=Object.prototype.toString,ir=t=>lu.call(t),Pg=t=>ir(t).slice(8,-1),cu=t=>ir(t)==="[object Object]",ea=t=>Mt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,js=Xo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),li=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},Mg=/-(\w)/g,Le=li(t=>t.replace(Mg,(e,n)=>n?n.toUpperCase():"")),kg=/\B([A-Z])/g,Zn=li(t=>t.replace(kg,"-$1").toLowerCase()),ci=li(t=>t.charAt(0).toUpperCase()+t.slice(1)),ao=li(t=>t?`on${ci(t)}`:""),vn=(t,e)=>!Object.is(t,e),Fr=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:r,value:n})},Yr=t=>{const e=parseFloat(t);return isNaN(e)?t:e},fu=t=>{const e=Mt(t)?Number(t):NaN;return isNaN(e)?t:e};let ic;const ui=()=>ic||(ic=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function na(t){if(it(t)){const e={};for(let n=0;n{if(n){const r=n.split(Bg);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function fi(t){let e="";if(Mt(t))e=t;else if(it(t))for(let n=0;nGn(n,e))}const hu=t=>!!(t&&t.__v_isRef===!0),So=t=>Mt(t)?t:t==null?"":it(t)||Nt(t)&&(t.toString===lu||!ut(t.toString))?hu(t)?So(t.value):JSON.stringify(t,pu,2):String(t),pu=(t,e)=>hu(e)?pu(t,e.value):bs(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[r,i],o)=>(n[lo(r,o)+" =>"]=i,n),{})}:Ss(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>lo(n))}:Ge(e)?lo(e):Nt(e)&&!it(e)&&!cu(e)?String(e):e,lo=(t,e="")=>{var n;return Ge(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/** +* @vue/reactivity v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ee;class mu{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ee,!e&&ee&&(this.index=(ee.scopes||(ee.scopes=[])).push(this)-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&&(ee=this.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(Ws){let e=Ws;for(Ws=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Us;){let e=Us;for(Us=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 yu(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function wu(t){let e,n=t.depsTail,r=n;for(;r;){const i=r.prevDep;r.version===-1?(r===n&&(n=i),oa(r),qg(r)):e=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=i}t.deps=e,t.depsTail=n}function Co(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Tu(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Tu(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Xs)||(t.globalVersion=Xs,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Co(t))))return;t.flags|=2;const e=t.dep,n=$t,r=Fe;$t=t,Fe=!0;try{yu(t);const i=t.fn(t._value);(e.version===0||vn(i,t._value))&&(t.flags|=128,t._value=i,e.version++)}catch(i){throw e.version++,i}finally{$t=n,Fe=r,wu(t),t.flags&=-3}}function oa(t,e=!1){const{dep:n,prevSub:r,nextSub:i}=t;if(r&&(r.nextSub=i,t.prevSub=void 0),i&&(i.prevSub=r,t.nextSub=void 0),n.subs===t&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)oa(o,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function qg(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let Fe=!0;const Au=[];function on(){Au.push(Fe),Fe=!1}function an(){const t=Au.pop();Fe=t===void 0?!0:t}function oc(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=$t;$t=void 0;try{e()}finally{$t=n}}}let Xs=0;class Yg{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 aa{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}track(e){if(!$t||!Fe||$t===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==$t)n=this.activeLink=new Yg($t,this),$t.deps?(n.prevDep=$t.depsTail,$t.depsTail.nextDep=n,$t.depsTail=n):$t.deps=$t.depsTail=n,Su(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=$t.depsTail,n.nextDep=void 0,$t.depsTail.nextDep=n,$t.depsTail=n,$t.deps===n&&($t.deps=r)}return n}trigger(e){this.version++,Xs++,this.notify(e)}notify(e){ra();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ia()}}}function Su(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)Su(r)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const zr=new WeakMap,qn=Symbol(""),Oo=Symbol(""),Qs=Symbol("");function ne(t,e,n){if(Fe&&$t){let r=zr.get(t);r||zr.set(t,r=new Map);let i=r.get(n);i||(r.set(n,i=new aa),i.map=r,i.key=n),i.track()}}function en(t,e,n,r,i,o){const l=zr.get(t);if(!l){Xs++;return}const u=d=>{d&&d.trigger()};if(ra(),e==="clear")l.forEach(u);else{const d=it(t),p=d&&ea(n);if(d&&n==="length"){const h=Number(r);l.forEach((m,b)=>{(b==="length"||b===Qs||!Ge(b)&&b>=h)&&u(m)})}else switch((n!==void 0||l.has(void 0))&&u(l.get(n)),p&&u(l.get(Qs)),e){case"add":d?p&&u(l.get("length")):(u(l.get(qn)),bs(t)&&u(l.get(Oo)));break;case"delete":d||(u(l.get(qn)),bs(t)&&u(l.get(Oo)));break;case"set":bs(t)&&u(l.get(qn));break}}ia()}function zg(t,e){const n=zr.get(t);return n&&n.get(e)}function ms(t){const e=yt(t);return e===t?e:(ne(e,"iterate",Qs),$e(t)?e:e.map(Xt))}function di(t){return ne(t=yt(t),"iterate",Qs),t}const Gg={__proto__:null,[Symbol.iterator](){return uo(this,Symbol.iterator,Xt)},concat(...t){return ms(this).concat(...t.map(e=>it(e)?ms(e):e))},entries(){return uo(this,"entries",t=>(t[1]=Xt(t[1]),t))},every(t,e){return Ze(this,"every",t,e,void 0,arguments)},filter(t,e){return Ze(this,"filter",t,e,n=>n.map(Xt),arguments)},find(t,e){return Ze(this,"find",t,e,Xt,arguments)},findIndex(t,e){return Ze(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Ze(this,"findLast",t,e,Xt,arguments)},findLastIndex(t,e){return Ze(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Ze(this,"forEach",t,e,void 0,arguments)},includes(...t){return fo(this,"includes",t)},indexOf(...t){return fo(this,"indexOf",t)},join(t){return ms(this).join(t)},lastIndexOf(...t){return fo(this,"lastIndexOf",t)},map(t,e){return Ze(this,"map",t,e,void 0,arguments)},pop(){return Fs(this,"pop")},push(...t){return Fs(this,"push",t)},reduce(t,...e){return ac(this,"reduce",t,e)},reduceRight(t,...e){return ac(this,"reduceRight",t,e)},shift(){return Fs(this,"shift")},some(t,e){return Ze(this,"some",t,e,void 0,arguments)},splice(...t){return Fs(this,"splice",t)},toReversed(){return ms(this).toReversed()},toSorted(t){return ms(this).toSorted(t)},toSpliced(...t){return ms(this).toSpliced(...t)},unshift(...t){return Fs(this,"unshift",t)},values(){return uo(this,"values",Xt)}};function uo(t,e,n){const r=di(t),i=r[e]();return r!==t&&!$e(t)&&(i._next=i.next,i.next=()=>{const o=i._next();return o.value&&(o.value=n(o.value)),o}),i}const Jg=Array.prototype;function Ze(t,e,n,r,i,o){const l=di(t),u=l!==t&&!$e(t),d=l[e];if(d!==Jg[e]){const m=d.apply(t,o);return u?Xt(m):m}let p=n;l!==t&&(u?p=function(m,b){return n.call(this,Xt(m),b,t)}:n.length>2&&(p=function(m,b){return n.call(this,m,b,t)}));const h=d.call(l,p,r);return u&&i?i(h):h}function ac(t,e,n,r){const i=di(t);let o=n;return i!==t&&($e(t)?n.length>3&&(o=function(l,u,d){return n.call(this,l,u,d,t)}):o=function(l,u,d){return n.call(this,l,Xt(u),d,t)}),i[e](o,...r)}function fo(t,e,n){const r=yt(t);ne(r,"iterate",Qs);const i=r[e](...n);return(i===-1||i===!1)&&ua(n[0])?(n[0]=yt(n[0]),r[e](...n)):i}function Fs(t,e,n=[]){on(),ra();const r=yt(t)[e].apply(t,n);return ia(),an(),r}const Xg=Xo("__proto__,__v_isRef,__isVue"),Cu=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ge));function Qg(t){Ge(t)||(t=String(t));const e=yt(this);return ne(e,"has",t),e.hasOwnProperty(t)}class Ou{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,r){if(n==="__v_skip")return e.__v_skip;const i=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(i?o?l_:$u:o?Du:Nu).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const l=it(e);if(!i){let d;if(l&&(d=Gg[n]))return d;if(n==="hasOwnProperty")return Qg}const u=Reflect.get(e,n,Vt(e)?e:r);return(Ge(n)?Cu.has(n):Xg(n))||(i||ne(e,"get",n),o)?u:Vt(u)?l&&ea(n)?u:u.value:Nt(u)?i?Ru(u):hi(u):u}}class xu extends Ou{constructor(e=!1){super(!1,e)}set(e,n,r,i){let o=e[n];if(!this._isShallow){const d=wn(o);if(!$e(r)&&!wn(r)&&(o=yt(o),r=yt(r)),!it(e)&&Vt(o)&&!Vt(r))return d?!1:(o.value=r,!0)}const l=it(e)&&ea(n)?Number(n)t,Lr=t=>Reflect.getPrototypeOf(t);function s_(t,e,n){return function(...r){const i=this.__v_raw,o=yt(i),l=bs(o),u=t==="entries"||t===Symbol.iterator&&l,d=t==="keys"&&l,p=i[t](...r),h=n?xo:e?Gr:Xt;return!e&&ne(o,"iterate",d?Oo:qn),{next(){const{value:m,done:b}=p.next();return b?{value:m,done:b}:{value:u?[h(m[0]),h(m[1])]:h(m),done:b}},[Symbol.iterator](){return this}}}}function Ir(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function r_(t,e){const n={get(i){const o=this.__v_raw,l=yt(o),u=yt(i);t||(vn(i,u)&&ne(l,"get",i),ne(l,"get",u));const{has:d}=Lr(l),p=e?xo:t?Gr:Xt;if(d.call(l,i))return p(o.get(i));if(d.call(l,u))return p(o.get(u));o!==l&&o.get(i)},get size(){const i=this.__v_raw;return!t&&ne(yt(i),"iterate",qn),Reflect.get(i,"size",i)},has(i){const o=this.__v_raw,l=yt(o),u=yt(i);return t||(vn(i,u)&&ne(l,"has",i),ne(l,"has",u)),i===u?o.has(i):o.has(i)||o.has(u)},forEach(i,o){const l=this,u=l.__v_raw,d=yt(u),p=e?xo:t?Gr:Xt;return!t&&ne(d,"iterate",qn),u.forEach((h,m)=>i.call(o,p(h),p(m),l))}};return Wt(n,t?{add:Ir("add"),set:Ir("set"),delete:Ir("delete"),clear:Ir("clear")}:{add(i){!e&&!$e(i)&&!wn(i)&&(i=yt(i));const o=yt(this);return Lr(o).has.call(o,i)||(o.add(i),en(o,"add",i,i)),this},set(i,o){!e&&!$e(o)&&!wn(o)&&(o=yt(o));const l=yt(this),{has:u,get:d}=Lr(l);let p=u.call(l,i);p||(i=yt(i),p=u.call(l,i));const h=d.call(l,i);return l.set(i,o),p?vn(o,h)&&en(l,"set",i,o):en(l,"add",i,o),this},delete(i){const o=yt(this),{has:l,get:u}=Lr(o);let d=l.call(o,i);d||(i=yt(i),d=l.call(o,i)),u&&u.call(o,i);const p=o.delete(i);return d&&en(o,"delete",i,void 0),p},clear(){const i=yt(this),o=i.size!==0,l=i.clear();return o&&en(i,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=s_(i,t,e)}),n}function la(t,e){const n=r_(t,e);return(r,i,o)=>i==="__v_isReactive"?!t:i==="__v_isReadonly"?t:i==="__v_raw"?r:Reflect.get(At(n,i)&&i in r?n:r,i,o)}const i_={get:la(!1,!1)},o_={get:la(!1,!0)},a_={get:la(!0,!1)};const Nu=new WeakMap,Du=new WeakMap,$u=new WeakMap,l_=new WeakMap;function c_(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function u_(t){return t.__v_skip||!Object.isExtensible(t)?0:c_(Pg(t))}function hi(t){return wn(t)?t:ca(t,!1,t_,i_,Nu)}function f_(t){return ca(t,!1,n_,o_,Du)}function Ru(t){return ca(t,!0,e_,a_,$u)}function ca(t,e,n,r,i){if(!Nt(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const o=u_(t);if(o===0)return t;const l=i.get(t);if(l)return l;const u=new Proxy(t,o===2?r:n);return i.set(t,u),u}function yn(t){return wn(t)?yn(t.__v_raw):!!(t&&t.__v_isReactive)}function wn(t){return!!(t&&t.__v_isReadonly)}function $e(t){return!!(t&&t.__v_isShallow)}function ua(t){return t?!!t.__v_raw:!1}function yt(t){const e=t&&t.__v_raw;return e?yt(e):t}function fa(t){return!At(t,"__v_skip")&&Object.isExtensible(t)&&uu(t,"__v_skip",!0),t}const Xt=t=>Nt(t)?hi(t):t,Gr=t=>Nt(t)?Ru(t):t;function Vt(t){return t?t.__v_isRef===!0:!1}function Lu(t){return Iu(t,!1)}function Wy(t){return Iu(t,!0)}function Iu(t,e){return Vt(t)?t:new d_(t,e)}class d_{constructor(e,n){this.dep=new aa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:yt(e),this._value=n?e:Xt(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,r=this.__v_isShallow||$e(e)||wn(e);e=r?e:yt(e),vn(e,n)&&(this._rawValue=e,this._value=r?e:Xt(e),this.dep.trigger())}}function h_(t){return Vt(t)?t.value:t}const p_={get:(t,e,n)=>e==="__v_raw"?t:h_(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Vt(i)&&!Vt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Pu(t){return yn(t)?t:new Proxy(t,p_)}function m_(t){const e=it(t)?new Array(t.length):{};for(const n in t)e[n]=__(t,n);return e}class g_{constructor(e,n,r){this._object=e,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return zg(yt(this._object),this._key)}}function __(t,e,n){const r=t[e];return Vt(r)?r:new g_(t,e,n)}class E_{constructor(e,n,r){this.fn=e,this.setter=n,this._value=void 0,this.dep=new aa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Xs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&$t!==this)return vu(this,!0),!0}get value(){const e=this.dep.track();return Tu(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function b_(t,e,n=!1){let r,i;return ut(t)?r=t:(r=t.get,i=t.set),new E_(r,i,n)}const Pr={},Jr=new WeakMap;let Wn;function v_(t,e=!1,n=Wn){if(n){let r=Jr.get(n);r||Jr.set(n,r=[]),r.push(t)}}function y_(t,e,n=xt){const{immediate:r,deep:i,once:o,scheduler:l,augmentJob:u,call:d}=n,p=X=>i?X:$e(X)||i===!1||i===0?nn(X,1):nn(X);let h,m,b,S,T=!1,x=!1;if(Vt(t)?(m=()=>t.value,T=$e(t)):yn(t)?(m=()=>p(t),T=!0):it(t)?(x=!0,T=t.some(X=>yn(X)||$e(X)),m=()=>t.map(X=>{if(Vt(X))return X.value;if(yn(X))return p(X);if(ut(X))return d?d(X,2):X()})):ut(t)?e?m=d?()=>d(t,2):t:m=()=>{if(b){on();try{b()}finally{an()}}const X=Wn;Wn=h;try{return d?d(t,3,[S]):t(S)}finally{Wn=X}}:m=ze,e&&i){const X=m,k=i===!0?1/0:i;m=()=>nn(X(),k)}const F=_u(),Q=()=>{h.stop(),F&&F.active&&Zo(F.effects,h)};if(o&&e){const X=e;e=(...k)=>{X(...k),Q()}}let tt=x?new Array(t.length).fill(Pr):Pr;const nt=X=>{if(!(!(h.flags&1)||!h.dirty&&!X))if(e){const k=h.run();if(i||T||(x?k.some((Y,st)=>vn(Y,tt[st])):vn(k,tt))){b&&b();const Y=Wn;Wn=h;try{const st=[k,tt===Pr?void 0:x&&tt[0]===Pr?[]:tt,S];tt=k,d?d(e,3,st):e(...st)}finally{Wn=Y}}}else h.run()};return u&&u(nt),h=new Eu(m),h.scheduler=l?()=>l(nt,!1):nt,S=X=>v_(X,!1,h),b=h.onStop=()=>{const X=Jr.get(h);if(X){if(d)d(X,4);else for(const k of X)k();Jr.delete(h)}},e?r?nt(!0):tt=h.run():l?l(nt.bind(null,!0),!0):h.run(),Q.pause=h.pause.bind(h),Q.resume=h.resume.bind(h),Q.stop=Q,Q}function nn(t,e=1/0,n){if(e<=0||!Nt(t)||t.__v_skip||(n=n||new Set,n.has(t)))return t;if(n.add(t),e--,Vt(t))nn(t.value,e,n);else if(it(t))for(let r=0;r{nn(r,e,n)});else if(cu(t)){for(const r in t)nn(t[r],e,n);for(const r of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,r)&&nn(t[r],e,n)}return t}/** +* @vue/runtime-core v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function or(t,e,n,r){try{return r?t(...r):t()}catch(i){ar(i,e,n)}}function Be(t,e,n,r){if(ut(t)){const i=or(t,e,n,r);return i&&ta(i)&&i.catch(o=>{ar(o,e,n)}),i}if(it(t)){const i=[];for(let o=0;o>>1,i=de[r],o=Zs(i);o=Zs(n)?de.push(t):de.splice(T_(e),0,t),t.flags|=1,ku()}}function ku(){Xr||(Xr=Mu.then(Bu))}function No(t){it(t)?vs.push(...t):_n&&t.id===-1?_n.splice(_s+1,0,t):t.flags&1||(vs.push(t),t.flags|=1),ku()}function lc(t,e,n=qe+1){for(;nZs(n)-Zs(r));if(vs.length=0,_n){_n.push(...e);return}for(_n=e,_s=0;_s<_n.length;_s++){const n=_n[_s];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}_n=null,_s=0}}const Zs=t=>t.id==null?t.flags&2?-1:1/0:t.id;function Bu(t){try{for(qe=0;qe{r._d&&vc(-1);const o=Qr(e);let l;try{l=t(...i)}finally{Qr(o),r._d&&vc(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function Ky(t,e){if(he===null)return t;const n=Ei(he),r=t.dirs||(t.dirs=[]);for(let i=0;it.__isTeleport,En=Symbol("_leaveCb"),Mr=Symbol("_enterCb");function ju(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ma(()=>{t.isMounted=!0}),Ju(()=>{t.isUnmounting=!0}),t}const Ne=[Function,Array],Uu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ne,onEnter:Ne,onAfterEnter:Ne,onEnterCancelled:Ne,onBeforeLeave:Ne,onLeave:Ne,onAfterLeave:Ne,onLeaveCancelled:Ne,onBeforeAppear:Ne,onAppear:Ne,onAfterAppear:Ne,onAppearCancelled:Ne},Wu=t=>{const e=t.subTree;return e.component?Wu(e.component):e},S_={name:"BaseTransition",props:Uu,setup(t,{slots:e}){const n=ya(),r=ju();return()=>{const i=e.default&&pa(e.default(),!0);if(!i||!i.length)return;const o=Ku(i),l=yt(t),{mode:u}=l;if(r.isLeaving)return ho(o);const d=cc(o);if(!d)return ho(o);let p=tr(d,l,r,n,m=>p=m);d.type!==Qt&&Jn(d,p);let h=n.subTree&&cc(n.subTree);if(h&&h.type!==Qt&&!Ye(d,h)&&Wu(n).type!==Qt){let m=tr(h,l,r,n);if(Jn(h,m),u==="out-in"&&d.type!==Qt)return r.isLeaving=!0,m.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete m.afterLeave,h=void 0},ho(o);u==="in-out"&&d.type!==Qt?m.delayLeave=(b,S,T)=>{const x=qu(r,h);x[String(h.key)]=h,b[En]=()=>{S(),b[En]=void 0,delete p.delayedLeave,h=void 0},p.delayedLeave=()=>{T(),delete p.delayedLeave,h=void 0}}:h=void 0}else h&&(h=void 0);return o}}};function Ku(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==Qt){e=n;break}}return e}const C_=S_;function qu(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 tr(t,e,n,r,i){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:d,onEnter:p,onAfterEnter:h,onEnterCancelled:m,onBeforeLeave:b,onLeave:S,onAfterLeave:T,onLeaveCancelled:x,onBeforeAppear:F,onAppear:Q,onAfterAppear:tt,onAppearCancelled:nt}=e,X=String(t.key),k=qu(n,t),Y=(B,K)=>{B&&Be(B,r,9,K)},st=(B,K)=>{const Z=K[1];Y(B,K),it(B)?B.every(j=>j.length<=1)&&Z():B.length<=1&&Z()},z={mode:l,persisted:u,beforeEnter(B){let K=d;if(!n.isMounted)if(o)K=F||d;else return;B[En]&&B[En](!0);const Z=k[X];Z&&Ye(t,Z)&&Z.el[En]&&Z.el[En](),Y(K,[B])},enter(B){let K=p,Z=h,j=m;if(!n.isMounted)if(o)K=Q||p,Z=tt||h,j=nt||m;else return;let ht=!1;const G=B[Mr]=V=>{ht||(ht=!0,V?Y(j,[B]):Y(Z,[B]),z.delayedLeave&&z.delayedLeave(),B[Mr]=void 0)};K?st(K,[B,G]):G()},leave(B,K){const Z=String(t.key);if(B[Mr]&&B[Mr](!0),n.isUnmounting)return K();Y(b,[B]);let j=!1;const ht=B[En]=G=>{j||(j=!0,K(),G?Y(x,[B]):Y(T,[B]),B[En]=void 0,k[Z]===t&&delete k[Z])};k[Z]=t,S?st(S,[B,ht]):ht()},clone(B){const K=tr(B,e,n,r,i);return i&&i(K),K}};return z}function ho(t){if(pi(t))return t=Tn(t),t.children=null,t}function cc(t){if(!pi(t))return Vu(t.type)&&t.children?Ku(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&&ut(n.default))return n.default()}}function Jn(t,e){t.shapeFlag&6&&t.component?(t.transition=e,Jn(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 pa(t,e=!1,n){let r=[],i=0;for(let o=0;o1)for(let o=0;oZr(T,e&&(it(e)?e[x]:e),n,r,i));return}if(qs(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Zr(t,e,n,r.component.subTree);return}const o=r.shapeFlag&4?Ei(r.component):r.el,l=i?null:o,{i:u,r:d}=t,p=e&&e.r,h=u.refs===xt?u.refs={}:u.refs,m=u.setupState,b=yt(m),S=m===xt?()=>!1:T=>At(b,T);if(p!=null&&p!==d&&(Mt(p)?(h[p]=null,S(p)&&(m[p]=null)):Vt(p)&&(p.value=null)),ut(d))or(d,u,12,[l,h]);else{const T=Mt(d),x=Vt(d);if(T||x){const F=()=>{if(t.f){const Q=T?S(d)?m[d]:h[d]:d.value;i?it(Q)&&Zo(Q,o):it(Q)?Q.includes(o)||Q.push(o):T?(h[d]=[o],S(d)&&(m[d]=h[d])):(d.value=[o],t.k&&(h[t.k]=d.value))}else T?(h[d]=l,S(d)&&(m[d]=l)):x&&(d.value=l,t.k&&(h[t.k]=l))};l?(F.id=-1,Se(F,n)):F()}}}ui().requestIdleCallback;ui().cancelIdleCallback;const qs=t=>!!t.type.__asyncLoader,pi=t=>t.type.__isKeepAlive;function O_(t,e){zu(t,"a",e)}function x_(t,e){zu(t,"da",e)}function zu(t,e,n=Yt){const r=t.__wdc||(t.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return t()});if(mi(e,r,n),n){let i=n.parent;for(;i&&i.parent;)pi(i.parent.vnode)&&N_(r,e,n,i),i=i.parent}}function N_(t,e,n,r){const i=mi(e,t,r,!0);Xu(()=>{Zo(r[e],i)},n)}function mi(t,e,n=Yt,r=!1){if(n){const i=n[t]||(n[t]=[]),o=e.__weh||(e.__weh=(...l)=>{on();const u=Xn(n),d=Be(e,n,t,l);return u(),an(),d});return r?i.unshift(o):i.push(o),o}}const ln=t=>(e,n=Yt)=>{(!sr||t==="sp")&&mi(t,(...r)=>e(...r),n)},D_=ln("bm"),ma=ln("m"),$_=ln("bu"),Gu=ln("u"),Ju=ln("bum"),Xu=ln("um"),R_=ln("sp"),L_=ln("rtg"),I_=ln("rtc");function P_(t,e=Yt){mi("ec",t,e)}const Qu="components";function M_(t,e){return tf(Qu,t,!0,e)||t}const Zu=Symbol.for("v-ndc");function k_(t){return Mt(t)?tf(Qu,t,!1)||t:t||Zu}function tf(t,e,n=!0,r=!1){const i=he||Yt;if(i){const o=i.type;{const u=RE(o,!1);if(u&&(u===e||u===Le(e)||u===ci(Le(e))))return o}const l=uc(i[t]||o[t],e)||uc(i.appContext[t],e);return!l&&r?o:l}}function uc(t,e){return t&&(t[e]||t[Le(e)]||t[ci(Le(e))])}function F_(t,e,n,r){let i;const o=n,l=it(t);if(l||Mt(t)){const u=l&&yn(t);let d=!1,p=!1;u&&(d=!$e(t),p=wn(t),t=di(t)),i=new Array(t.length);for(let h=0,m=t.length;he(u,d,void 0,o));else{const u=Object.keys(t);i=new Array(u.length);for(let d=0,p=u.length;dt?Tf(t)?Ei(t):Do(t.parent):null,Ys=Wt(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=>Do(t.parent),$root:t=>Do(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>nf(t),$forceUpdate:t=>t.f||(t.f=()=>{ha(t.update)}),$nextTick:t=>t.n||(t.n=da.bind(t.proxy)),$watch:t=>aE.bind(t)}),po=(t,e)=>t!==xt&&!t.__isScriptSetup&&At(t,e),B_={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:r,data:i,props:o,accessCache:l,type:u,appContext:d}=t;let p;if(e[0]!=="$"){const S=l[e];if(S!==void 0)switch(S){case 1:return r[e];case 2:return i[e];case 4:return n[e];case 3:return o[e]}else{if(po(r,e))return l[e]=1,r[e];if(i!==xt&&At(i,e))return l[e]=2,i[e];if((p=t.propsOptions[0])&&At(p,e))return l[e]=3,o[e];if(n!==xt&&At(n,e))return l[e]=4,n[e];$o&&(l[e]=0)}}const h=Ys[e];let m,b;if(h)return e==="$attrs"&&ne(t.attrs,"get",""),h(t);if((m=u.__cssModules)&&(m=m[e]))return m;if(n!==xt&&At(n,e))return l[e]=4,n[e];if(b=d.config.globalProperties,At(b,e))return b[e]},set({_:t},e,n){const{data:r,setupState:i,ctx:o}=t;return po(i,e)?(i[e]=n,!0):r!==xt&&At(r,e)?(r[e]=n,!0):At(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(o[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:i,propsOptions:o}},l){let u;return!!n[l]||t!==xt&&At(t,l)||po(e,l)||(u=o[0])&&At(u,l)||At(r,l)||At(Ys,l)||At(i.config.globalProperties,l)},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:At(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function fc(t){return it(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}function Yy(t){const e=ya();let n=t();return Mo(),ta(n)&&(n=n.catch(r=>{throw Xn(e),r})),[n,()=>Xn(e)]}let $o=!0;function H_(t){const e=nf(t),n=t.proxy,r=t.ctx;$o=!1,e.beforeCreate&&dc(e.beforeCreate,t,"bc");const{data:i,computed:o,methods:l,watch:u,provide:d,inject:p,created:h,beforeMount:m,mounted:b,beforeUpdate:S,updated:T,activated:x,deactivated:F,beforeDestroy:Q,beforeUnmount:tt,destroyed:nt,unmounted:X,render:k,renderTracked:Y,renderTriggered:st,errorCaptured:z,serverPrefetch:B,expose:K,inheritAttrs:Z,components:j,directives:ht,filters:G}=e;if(p&&V_(p,r,null),l)for(const I in l){const L=l[I];ut(L)&&(r[I]=L.bind(n))}if(i){const I=i.call(n,n);Nt(I)&&(t.data=hi(I))}if($o=!0,o)for(const I in o){const L=o[I],at=ut(L)?L.bind(n,n):ut(L.get)?L.get.bind(n,n):ze,lt=!ut(L)&&ut(L.set)?L.set.bind(n):ze,Et=wa({get:at,set:lt});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>Et.value,set:vt=>Et.value=vt})}if(u)for(const I in u)ef(u[I],r,n,I);if(d){const I=ut(d)?d.call(n):d;Reflect.ownKeys(I).forEach(L=>{Y_(L,I[L])})}h&&dc(h,t,"c");function D(I,L){it(L)?L.forEach(at=>I(at.bind(n))):L&&I(L.bind(n))}if(D(D_,m),D(ma,b),D($_,S),D(Gu,T),D(O_,x),D(x_,F),D(P_,z),D(I_,Y),D(L_,st),D(Ju,tt),D(Xu,X),D(R_,B),it(K))if(K.length){const I=t.exposed||(t.exposed={});K.forEach(L=>{Object.defineProperty(I,L,{get:()=>n[L],set:at=>n[L]=at})})}else t.exposed||(t.exposed={});k&&t.render===ze&&(t.render=k),Z!=null&&(t.inheritAttrs=Z),j&&(t.components=j),ht&&(t.directives=ht),B&&Yu(t)}function V_(t,e,n=ze){it(t)&&(t=Ro(t));for(const r in t){const i=t[r];let o;Nt(i)?"default"in i?o=zs(i.from||r,i.default,!0):o=zs(i.from||r):o=zs(i),Vt(o)?Object.defineProperty(e,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):e[r]=o}}function dc(t,e,n){Be(it(t)?t.map(r=>r.bind(e.proxy)):t.bind(e.proxy),e,n)}function ef(t,e,n,r){let i=r.includes(".")?gf(n,r):()=>n[r];if(Mt(t)){const o=e[t];ut(o)&&Br(i,o)}else if(ut(t))Br(i,t.bind(n));else if(Nt(t))if(it(t))t.forEach(o=>ef(o,e,n,r));else{const o=ut(t.handler)?t.handler.bind(n):e[t.handler];ut(o)&&Br(i,o,t)}}function nf(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:o,config:{optionMergeStrategies:l}}=t.appContext,u=o.get(e);let d;return u?d=u:!i.length&&!n&&!r?d=e:(d={},i.length&&i.forEach(p=>ti(d,p,l,!0)),ti(d,e,l)),Nt(e)&&o.set(e,d),d}function ti(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&ti(t,o,n,!0),i&&i.forEach(l=>ti(t,l,n,!0));for(const l in e)if(!(r&&l==="expose")){const u=j_[l]||n&&n[l];t[l]=u?u(t[l],e[l]):e[l]}return t}const j_={data:hc,props:pc,emits:pc,methods:Vs,computed:Vs,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Vs,directives:Vs,watch:W_,provide:hc,inject:U_};function hc(t,e){return e?t?function(){return Wt(ut(t)?t.call(this,this):t,ut(e)?e.call(this,this):e)}:e:t}function U_(t,e){return Vs(Ro(t),Ro(e))}function Ro(t){if(it(t)){const e={};for(let n=0;n1)return n&&ut(e)?e.call(r&&r.proxy):e}}function z_(){return!!(Yt||he||Yn)}const rf={},of=()=>Object.create(rf),af=t=>Object.getPrototypeOf(t)===rf;function G_(t,e,n,r=!1){const i={},o=of();t.propsDefaults=Object.create(null),lf(t,e,i,o);for(const l in t.propsOptions[0])l in i||(i[l]=void 0);n?t.props=r?i:f_(i):t.type.props?t.props=i:t.props=o,t.attrs=o}function J_(t,e,n,r){const{props:i,attrs:o,vnode:{patchFlag:l}}=t,u=yt(i),[d]=t.propsOptions;let p=!1;if((r||l>0)&&!(l&16)){if(l&8){const h=t.vnode.dynamicProps;for(let m=0;m{d=!0;const[b,S]=cf(m,e,!0);Wt(l,b),S&&u.push(...S)};!n&&e.mixins.length&&e.mixins.forEach(h),t.extends&&h(t.extends),t.mixins&&t.mixins.forEach(h)}if(!o&&!d)return Nt(t)&&r.set(t,Es),Es;if(it(o))for(let h=0;ht[0]==="_"||t==="$stable",_a=t=>it(t)?t.map(ke):[ke(t)],Q_=(t,e,n)=>{if(e._n)return e;const r=Ks((...i)=>_a(e(...i)),n);return r._c=!1,r},uf=(t,e,n)=>{const r=t._ctx;for(const i in t){if(ga(i))continue;const o=t[i];if(ut(o))e[i]=Q_(i,o,r);else if(o!=null){const l=_a(o);e[i]=()=>l}}},ff=(t,e)=>{const n=_a(e);t.slots.default=()=>n},df=(t,e,n)=>{for(const r in e)(n||!ga(r))&&(t[r]=e[r])},Z_=(t,e,n)=>{const r=t.slots=of();if(t.vnode.shapeFlag&32){const i=e._;i?(df(r,e,n),n&&uu(r,"_",i,!0)):uf(e,r)}else e&&ff(t,e)},tE=(t,e,n)=>{const{vnode:r,slots:i}=t;let o=!0,l=xt;if(r.shapeFlag&32){const u=e._;u?n&&u===1?o=!1:df(i,e,n):(o=!e.$stable,uf(e,i)),l=e}else e&&(ff(t,e),l={default:1});if(o)for(const u in i)!ga(u)&&l[u]==null&&delete i[u]},Se=vE;function eE(t){return nE(t)}function nE(t,e){const n=ui();n.__VUE__=!0;const{insert:r,remove:i,patchProp:o,createElement:l,createText:u,createComment:d,setText:p,setElementText:h,parentNode:m,nextSibling:b,setScopeId:S=ze,insertStaticContent:T}=t,x=(g,E,C,$=null,R=null,y=null,q=void 0,W=null,U=!!E.dynamicChildren)=>{if(g===E)return;g&&!Ye(g,E)&&($=re(g),vt(g,R,y,!0),g=null),E.patchFlag===-2&&(U=!1,E.dynamicChildren=null);const{type:P,ref:ot,shapeFlag:J}=E;switch(P){case _i:F(g,E,C,$);break;case Qt:Q(g,E,C,$);break;case go:g==null&&tt(E,C,$,q);break;case De:j(g,E,C,$,R,y,q,W,U);break;default:J&1?k(g,E,C,$,R,y,q,W,U):J&6?ht(g,E,C,$,R,y,q,W,U):(J&64||J&128)&&P.process(g,E,C,$,R,y,q,W,U,It)}ot!=null&&R&&Zr(ot,g&&g.ref,y,E||g,!E)},F=(g,E,C,$)=>{if(g==null)r(E.el=u(E.children),C,$);else{const R=E.el=g.el;E.children!==g.children&&p(R,E.children)}},Q=(g,E,C,$)=>{g==null?r(E.el=d(E.children||""),C,$):E.el=g.el},tt=(g,E,C,$)=>{[g.el,g.anchor]=T(g.children,E,C,$,g.el,g.anchor)},nt=({el:g,anchor:E},C,$)=>{let R;for(;g&&g!==E;)R=b(g),r(g,C,$),g=R;r(E,C,$)},X=({el:g,anchor:E})=>{let C;for(;g&&g!==E;)C=b(g),i(g),g=C;i(E)},k=(g,E,C,$,R,y,q,W,U)=>{E.type==="svg"?q="svg":E.type==="math"&&(q="mathml"),g==null?Y(E,C,$,R,y,q,W,U):B(g,E,R,y,q,W,U)},Y=(g,E,C,$,R,y,q,W)=>{let U,P;const{props:ot,shapeFlag:J,transition:rt,dirs:ct}=g;if(U=g.el=l(g.type,y,ot&&ot.is,ot),J&8?h(U,g.children):J&16&&z(g.children,U,null,$,R,mo(g,y),q,W),ct&&Vn(g,null,$,"created"),st(U,g,g.scopeId,q,$),ot){for(const St in ot)St!=="value"&&!js(St)&&o(U,St,null,ot[St],y,$);"value"in ot&&o(U,"value",null,ot.value,y),(P=ot.onVnodeBeforeMount)&&Ue(P,$,g)}ct&&Vn(g,null,$,"beforeMount");const pt=sE(R,rt);pt&&rt.beforeEnter(U),r(U,E,C),((P=ot&&ot.onVnodeMounted)||pt||ct)&&Se(()=>{P&&Ue(P,$,g),pt&&rt.enter(U),ct&&Vn(g,null,$,"mounted")},R)},st=(g,E,C,$,R)=>{if(C&&S(g,C),$)for(let y=0;y<$.length;y++)S(g,$[y]);if(R){let y=R.subTree;if(E===y||Ef(y.type)&&(y.ssContent===E||y.ssFallback===E)){const q=R.vnode;st(g,q,q.scopeId,q.slotScopeIds,R.parent)}}},z=(g,E,C,$,R,y,q,W,U=0)=>{for(let P=U;P{const W=E.el=g.el;let{patchFlag:U,dynamicChildren:P,dirs:ot}=E;U|=g.patchFlag&16;const J=g.props||xt,rt=E.props||xt;let ct;if(C&&jn(C,!1),(ct=rt.onVnodeBeforeUpdate)&&Ue(ct,C,E,g),ot&&Vn(E,g,C,"beforeUpdate"),C&&jn(C,!0),(J.innerHTML&&rt.innerHTML==null||J.textContent&&rt.textContent==null)&&h(W,""),P?K(g.dynamicChildren,P,W,C,$,mo(E,R),y):q||L(g,E,W,null,C,$,mo(E,R),y,!1),U>0){if(U&16)Z(W,J,rt,C,R);else if(U&2&&J.class!==rt.class&&o(W,"class",null,rt.class,R),U&4&&o(W,"style",J.style,rt.style,R),U&8){const pt=E.dynamicProps;for(let St=0;St{ct&&Ue(ct,C,E,g),ot&&Vn(E,g,C,"updated")},$)},K=(g,E,C,$,R,y,q)=>{for(let W=0;W{if(E!==C){if(E!==xt)for(const y in E)!js(y)&&!(y in C)&&o(g,y,E[y],null,R,$);for(const y in C){if(js(y))continue;const q=C[y],W=E[y];q!==W&&y!=="value"&&o(g,y,W,q,R,$)}"value"in C&&o(g,"value",E.value,C.value,R)}},j=(g,E,C,$,R,y,q,W,U)=>{const P=E.el=g?g.el:u(""),ot=E.anchor=g?g.anchor:u("");let{patchFlag:J,dynamicChildren:rt,slotScopeIds:ct}=E;ct&&(W=W?W.concat(ct):ct),g==null?(r(P,C,$),r(ot,C,$),z(E.children||[],C,ot,R,y,q,W,U)):J>0&&J&64&&rt&&g.dynamicChildren?(K(g.dynamicChildren,rt,C,R,y,q,W),(E.key!=null||R&&E===R.subTree)&&hf(g,E,!0)):L(g,E,C,ot,R,y,q,W,U)},ht=(g,E,C,$,R,y,q,W,U)=>{E.slotScopeIds=W,g==null?E.shapeFlag&512?R.ctx.activate(E,C,$,q,U):G(E,C,$,R,y,q,U):V(g,E,U)},G=(g,E,C,$,R,y,q)=>{const W=g.component=OE(g,$,R);if(pi(g)&&(W.ctx.renderer=It),xE(W,!1,q),W.asyncDep){if(R&&R.registerDep(W,D,q),!g.el){const U=W.subTree=Ut(Qt);Q(null,U,E,C)}}else D(W,g,E,C,R,y,q)},V=(g,E,C)=>{const $=E.component=g.component;if(hE(g,E,C))if($.asyncDep&&!$.asyncResolved){I($,E,C);return}else $.next=E,$.update();else E.el=g.el,$.vnode=E},D=(g,E,C,$,R,y,q)=>{const W=()=>{if(g.isMounted){let{next:J,bu:rt,u:ct,parent:pt,vnode:St}=g;{const ve=pf(g);if(ve){J&&(J.el=St.el,I(g,J,q)),ve.asyncDep.then(()=>{g.isUnmounted||W()});return}}let Tt=J,ie;jn(g,!1),J?(J.el=St.el,I(g,J,q)):J=St,rt&&Fr(rt),(ie=J.props&&J.props.onVnodeBeforeUpdate)&&Ue(ie,pt,J,St),jn(g,!0);const Zt=_c(g),Ce=g.subTree;g.subTree=Zt,x(Ce,Zt,m(Ce.el),re(Ce),g,R,y),J.el=Zt.el,Tt===null&&Ea(g,Zt.el),ct&&Se(ct,R),(ie=J.props&&J.props.onVnodeUpdated)&&Se(()=>Ue(ie,pt,J,St),R)}else{let J;const{el:rt,props:ct}=E,{bm:pt,m:St,parent:Tt,root:ie,type:Zt}=g,Ce=qs(E);jn(g,!1),pt&&Fr(pt),!Ce&&(J=ct&&ct.onVnodeBeforeMount)&&Ue(J,Tt,E),jn(g,!0);{ie.ce&&ie.ce._injectChildStyle(Zt);const ve=g.subTree=_c(g);x(null,ve,C,$,g,R,y),E.el=ve.el}if(St&&Se(St,R),!Ce&&(J=ct&&ct.onVnodeMounted)){const ve=E;Se(()=>Ue(J,Tt,ve),R)}(E.shapeFlag&256||Tt&&qs(Tt.vnode)&&Tt.vnode.shapeFlag&256)&&g.a&&Se(g.a,R),g.isMounted=!0,E=C=$=null}};g.scope.on();const U=g.effect=new Eu(W);g.scope.off();const P=g.update=U.run.bind(U),ot=g.job=U.runIfDirty.bind(U);ot.i=g,ot.id=g.uid,U.scheduler=()=>ha(ot),jn(g,!0),P()},I=(g,E,C)=>{E.component=g;const $=g.vnode.props;g.vnode=E,g.next=null,J_(g,E.props,$,C),tE(g,E.children,C),on(),lc(g),an()},L=(g,E,C,$,R,y,q,W,U=!1)=>{const P=g&&g.children,ot=g?g.shapeFlag:0,J=E.children,{patchFlag:rt,shapeFlag:ct}=E;if(rt>0){if(rt&128){lt(P,J,C,$,R,y,q,W,U);return}else if(rt&256){at(P,J,C,$,R,y,q,W,U);return}}ct&8?(ot&16&&pe(P,R,y),J!==P&&h(C,J)):ot&16?ct&16?lt(P,J,C,$,R,y,q,W,U):pe(P,R,y,!0):(ot&8&&h(C,""),ct&16&&z(J,C,$,R,y,q,W,U))},at=(g,E,C,$,R,y,q,W,U)=>{g=g||Es,E=E||Es;const P=g.length,ot=E.length,J=Math.min(P,ot);let rt;for(rt=0;rtot?pe(g,R,y,!0,!1,J):z(E,C,$,R,y,q,W,U,J)},lt=(g,E,C,$,R,y,q,W,U)=>{let P=0;const ot=E.length;let J=g.length-1,rt=ot-1;for(;P<=J&&P<=rt;){const ct=g[P],pt=E[P]=U?bn(E[P]):ke(E[P]);if(Ye(ct,pt))x(ct,pt,C,null,R,y,q,W,U);else break;P++}for(;P<=J&&P<=rt;){const ct=g[J],pt=E[rt]=U?bn(E[rt]):ke(E[rt]);if(Ye(ct,pt))x(ct,pt,C,null,R,y,q,W,U);else break;J--,rt--}if(P>J){if(P<=rt){const ct=rt+1,pt=ctrt)for(;P<=J;)vt(g[P],R,y,!0),P++;else{const ct=P,pt=P,St=new Map;for(P=pt;P<=rt;P++){const oe=E[P]=U?bn(E[P]):ke(E[P]);oe.key!=null&&St.set(oe.key,P)}let Tt,ie=0;const Zt=rt-pt+1;let Ce=!1,ve=0;const Sn=new Array(Zt);for(P=0;P=Zt){vt(oe,R,y,!0);continue}let zt;if(oe.key!=null)zt=St.get(oe.key);else for(Tt=pt;Tt<=rt;Tt++)if(Sn[Tt-pt]===0&&Ye(oe,E[Tt])){zt=Tt;break}zt===void 0?vt(oe,R,y,!0):(Sn[zt-pt]=P+1,zt>=ve?ve=zt:Ce=!0,x(oe,E[zt],C,null,R,y,q,W,U),ie++)}const cn=Ce?rE(Sn):Es;for(Tt=cn.length-1,P=Zt-1;P>=0;P--){const oe=pt+P,zt=E[oe],ur=oe+1{const{el:y,type:q,transition:W,children:U,shapeFlag:P}=g;if(P&6){Et(g.component.subTree,E,C,$);return}if(P&128){g.suspense.move(E,C,$);return}if(P&64){q.move(g,E,C,It);return}if(q===De){r(y,E,C);for(let J=0;JW.enter(y),R);else{const{leave:J,delayLeave:rt,afterLeave:ct}=W,pt=()=>{g.ctx.isUnmounted?i(y):r(y,E,C)},St=()=>{J(y,()=>{pt(),ct&&ct()})};rt?rt(y,pt,St):St()}else r(y,E,C)},vt=(g,E,C,$=!1,R=!1)=>{const{type:y,props:q,ref:W,children:U,dynamicChildren:P,shapeFlag:ot,patchFlag:J,dirs:rt,cacheIndex:ct}=g;if(J===-2&&(R=!1),W!=null&&(on(),Zr(W,null,C,g,!0),an()),ct!=null&&(E.renderCache[ct]=void 0),ot&256){E.ctx.deactivate(g);return}const pt=ot&1&&rt,St=!qs(g);let Tt;if(St&&(Tt=q&&q.onVnodeBeforeUnmount)&&Ue(Tt,E,g),ot&6)Kt(g.component,C,$);else{if(ot&128){g.suspense.unmount(C,$);return}pt&&Vn(g,null,E,"beforeUnmount"),ot&64?g.type.remove(g,E,C,It,$):P&&!P.hasOnce&&(y!==De||J>0&&J&64)?pe(P,E,C,!1,!0):(y===De&&J&384||!R&&ot&16)&&pe(U,E,C),$&&Lt(g)}(St&&(Tt=q&&q.onVnodeUnmounted)||pt)&&Se(()=>{Tt&&Ue(Tt,E,g),pt&&Vn(g,null,E,"unmounted")},C)},Lt=g=>{const{type:E,el:C,anchor:$,transition:R}=g;if(E===De){Ft(C,$);return}if(E===go){X(g);return}const y=()=>{i(C),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(g.shapeFlag&1&&R&&!R.persisted){const{leave:q,delayLeave:W}=R,U=()=>q(C,y);W?W(g.el,y,U):U()}else y()},Ft=(g,E)=>{let C;for(;g!==E;)C=b(g),i(g),g=C;i(E)},Kt=(g,E,C)=>{const{bum:$,scope:R,job:y,subTree:q,um:W,m:U,a:P,parent:ot,slots:{__:J}}=g;gc(U),gc(P),$&&Fr($),ot&&it(J)&&J.forEach(rt=>{ot.renderCache[rt]=void 0}),R.stop(),y&&(y.flags|=8,vt(q,g,E,C)),W&&Se(W,E),Se(()=>{g.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&g.asyncDep&&!g.asyncResolved&&g.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},pe=(g,E,C,$=!1,R=!1,y=0)=>{for(let q=y;q{if(g.shapeFlag&6)return re(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const E=b(g.anchor||g.el),C=E&&E[A_];return C?b(C):E};let N=!1;const me=(g,E,C)=>{g==null?E._vnode&&vt(E._vnode,null,null,!0):x(E._vnode||null,g,E,null,null,null,C),E._vnode=g,N||(N=!0,lc(),Fu(),N=!1)},It={p:x,um:vt,m:Et,r:Lt,mt:G,mc:z,pc:L,pbc:K,n:re,o:t};return{render:me,hydrate:void 0,createApp:q_(me)}}function mo({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 jn({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function sE(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function hf(t,e,n=!1){const r=t.children,i=e.children;if(it(r)&&it(i))for(let o=0;o>1,t[n[u]]0&&(e[r]=n[o-1]),n[o]=r)}}for(o=n.length,l=n[o-1];o-- >0;)n[o]=l,l=e[l];return n}function pf(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:pf(e)}function gc(t){if(t)for(let e=0;ezs(iE);function Br(t,e,n){return mf(t,e,n)}function mf(t,e,n=xt){const{immediate:r,deep:i,flush:o,once:l}=n,u=Wt({},n),d=e&&r||!e&&o!=="post";let p;if(sr){if(o==="sync"){const S=oE();p=S.__watcherHandles||(S.__watcherHandles=[])}else if(!d){const S=()=>{};return S.stop=ze,S.resume=ze,S.pause=ze,S}}const h=Yt;u.call=(S,T,x)=>Be(S,h,T,x);let m=!1;o==="post"?u.scheduler=S=>{Se(S,h&&h.suspense)}:o!=="sync"&&(m=!0,u.scheduler=(S,T)=>{T?S():ha(S)}),u.augmentJob=S=>{e&&(S.flags|=4),m&&(S.flags|=2,h&&(S.id=h.uid,S.i=h))};const b=y_(t,e,u);return sr&&(p?p.push(b):d&&b()),b}function aE(t,e,n){const r=this.proxy,i=Mt(t)?t.includes(".")?gf(r,t):()=>r[t]:t.bind(r,r);let o;ut(e)?o=e:(o=e.handler,n=e);const l=Xn(this),u=mf(i,o.bind(r),n);return l(),u}function gf(t,e){const n=e.split(".");return()=>{let r=t;for(let i=0;ie==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Le(e)}Modifiers`]||t[`${Zn(e)}Modifiers`];function cE(t,e,...n){if(t.isUnmounted)return;const r=t.vnode.props||xt;let i=n;const o=e.startsWith("update:"),l=o&&lE(r,e.slice(7));l&&(l.trim&&(i=n.map(h=>Mt(h)?h.trim():h)),l.number&&(i=n.map(Yr)));let u,d=r[u=ao(e)]||r[u=ao(Le(e))];!d&&o&&(d=r[u=ao(Zn(e))]),d&&Be(d,t,6,i);const p=r[u+"Once"];if(p){if(!t.emitted)t.emitted={};else if(t.emitted[u])return;t.emitted[u]=!0,Be(p,t,6,i)}}function _f(t,e,n=!1){const r=e.emitsCache,i=r.get(t);if(i!==void 0)return i;const o=t.emits;let l={},u=!1;if(!ut(t)){const d=p=>{const h=_f(p,e,!0);h&&(u=!0,Wt(l,h))};!n&&e.mixins.length&&e.mixins.forEach(d),t.extends&&d(t.extends),t.mixins&&t.mixins.forEach(d)}return!o&&!u?(Nt(t)&&r.set(t,null),null):(it(o)?o.forEach(d=>l[d]=null):Wt(l,o),Nt(t)&&r.set(t,l),l)}function gi(t,e){return!t||!ai(e)?!1:(e=e.slice(2).replace(/Once$/,""),At(t,e[0].toLowerCase()+e.slice(1))||At(t,Zn(e))||At(t,e))}function _c(t){const{type:e,vnode:n,proxy:r,withProxy:i,propsOptions:[o],slots:l,attrs:u,emit:d,render:p,renderCache:h,props:m,data:b,setupState:S,ctx:T,inheritAttrs:x}=t,F=Qr(t);let Q,tt;try{if(n.shapeFlag&4){const X=i||r,k=X;Q=ke(p.call(k,X,h,m,S,b,T)),tt=u}else{const X=e;Q=ke(X.length>1?X(m,{attrs:u,slots:l,emit:d}):X(m,null)),tt=e.props?u:fE(u)}}catch(X){Gs.length=0,ar(X,t,1),Q=Ut(Qt)}let nt=Q;if(tt&&x!==!1){const X=Object.keys(tt),{shapeFlag:k}=nt;X.length&&k&7&&(o&&X.some(Qo)&&(tt=dE(tt,o)),nt=Tn(nt,tt,!1,!0))}return n.dirs&&(nt=Tn(nt,null,!1,!0),nt.dirs=nt.dirs?nt.dirs.concat(n.dirs):n.dirs),n.transition&&Jn(nt,n.transition),Q=nt,Qr(F),Q}function uE(t,e=!0){let n;for(let r=0;r{let e;for(const n in t)(n==="class"||n==="style"||ai(n))&&((e||(e={}))[n]=t[n]);return e},dE=(t,e)=>{const n={};for(const r in t)(!Qo(r)||!(r.slice(9)in e))&&(n[r]=t[r]);return n};function hE(t,e,n){const{props:r,children:i,component:o}=t,{props:l,children:u,patchFlag:d}=e,p=o.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&d>=0){if(d&1024)return!0;if(d&16)return r?Ec(r,l,p):!!l;if(d&8){const h=e.dynamicProps;for(let m=0;mt.__isSuspense;let Io=0;const pE={name:"Suspense",__isSuspense:!0,process(t,e,n,r,i,o,l,u,d,p){if(t==null)gE(e,n,r,i,o,l,u,d,p);else{if(o&&o.deps>0&&!t.suspense.isInFallback){e.suspense=t.suspense,e.suspense.vnode=e,e.el=t.el;return}_E(t,e,n,r,i,l,u,d,p)}},hydrate:EE,normalize:bE},mE=pE;function er(t,e){const n=t.props&&t.props[e];ut(n)&&n()}function gE(t,e,n,r,i,o,l,u,d){const{p,o:{createElement:h}}=d,m=h("div"),b=t.suspense=bf(t,i,r,e,m,n,o,l,u,d);p(null,b.pendingBranch=t.ssContent,m,null,r,b,o,l),b.deps>0?(er(t,"onPending"),er(t,"onFallback"),p(null,t.ssFallback,e,n,r,null,o,l),ys(b,t.ssFallback)):b.resolve(!1,!0)}function _E(t,e,n,r,i,o,l,u,{p:d,um:p,o:{createElement:h}}){const m=e.suspense=t.suspense;m.vnode=e,e.el=t.el;const b=e.ssContent,S=e.ssFallback,{activeBranch:T,pendingBranch:x,isInFallback:F,isHydrating:Q}=m;if(x)m.pendingBranch=b,Ye(b,x)?(d(x,b,m.hiddenContainer,null,i,m,o,l,u),m.deps<=0?m.resolve():F&&(Q||(d(T,S,n,r,i,null,o,l,u),ys(m,S)))):(m.pendingId=Io++,Q?(m.isHydrating=!1,m.activeBranch=x):p(x,i,m),m.deps=0,m.effects.length=0,m.hiddenContainer=h("div"),F?(d(null,b,m.hiddenContainer,null,i,m,o,l,u),m.deps<=0?m.resolve():(d(T,S,n,r,i,null,o,l,u),ys(m,S))):T&&Ye(b,T)?(d(T,b,n,r,i,m,o,l,u),m.resolve(!0)):(d(null,b,m.hiddenContainer,null,i,m,o,l,u),m.deps<=0&&m.resolve()));else if(T&&Ye(b,T))d(T,b,n,r,i,m,o,l,u),ys(m,b);else if(er(e,"onPending"),m.pendingBranch=b,b.shapeFlag&512?m.pendingId=b.component.suspenseId:m.pendingId=Io++,d(null,b,m.hiddenContainer,null,i,m,o,l,u),m.deps<=0)m.resolve();else{const{timeout:tt,pendingId:nt}=m;tt>0?setTimeout(()=>{m.pendingId===nt&&m.fallback(S)},tt):tt===0&&m.fallback(S)}}function bf(t,e,n,r,i,o,l,u,d,p,h=!1){const{p:m,m:b,um:S,n:T,o:{parentNode:x,remove:F}}=p;let Q;const tt=yE(t);tt&&e&&e.pendingBranch&&(Q=e.pendingId,e.deps++);const nt=t.props?fu(t.props.timeout):void 0,X=o,k={vnode:t,parent:e,parentComponent:n,namespace:l,container:r,hiddenContainer:i,deps:0,pendingId:Io++,timeout:typeof nt=="number"?nt:-1,activeBranch:null,pendingBranch:null,isInFallback:!h,isHydrating:h,isUnmounted:!1,effects:[],resolve(Y=!1,st=!1){const{vnode:z,activeBranch:B,pendingBranch:K,pendingId:Z,effects:j,parentComponent:ht,container:G}=k;let V=!1;k.isHydrating?k.isHydrating=!1:Y||(V=B&&K.transition&&K.transition.mode==="out-in",V&&(B.transition.afterLeave=()=>{Z===k.pendingId&&(b(K,G,o===X?T(B):o,0),No(j))}),B&&(x(B.el)===G&&(o=T(B)),S(B,ht,k,!0)),V||b(K,G,o,0)),ys(k,K),k.pendingBranch=null,k.isInFallback=!1;let D=k.parent,I=!1;for(;D;){if(D.pendingBranch){D.effects.push(...j),I=!0;break}D=D.parent}!I&&!V&&No(j),k.effects=[],tt&&e&&e.pendingBranch&&Q===e.pendingId&&(e.deps--,e.deps===0&&!st&&e.resolve()),er(z,"onResolve")},fallback(Y){if(!k.pendingBranch)return;const{vnode:st,activeBranch:z,parentComponent:B,container:K,namespace:Z}=k;er(st,"onFallback");const j=T(z),ht=()=>{k.isInFallback&&(m(null,Y,K,j,B,null,Z,u,d),ys(k,Y))},G=Y.transition&&Y.transition.mode==="out-in";G&&(z.transition.afterLeave=ht),k.isInFallback=!0,S(z,B,null,!0),G||ht()},move(Y,st,z){k.activeBranch&&b(k.activeBranch,Y,st,z),k.container=Y},next(){return k.activeBranch&&T(k.activeBranch)},registerDep(Y,st,z){const B=!!k.pendingBranch;B&&k.deps++;const K=Y.vnode.el;Y.asyncDep.catch(Z=>{ar(Z,Y,0)}).then(Z=>{if(Y.isUnmounted||k.isUnmounted||k.pendingId!==Y.suspenseId)return;Y.asyncResolved=!0;const{vnode:j}=Y;ko(Y,Z),K&&(j.el=K);const ht=!K&&Y.subTree.el;st(Y,j,x(K||Y.subTree.el),K?null:T(Y.subTree),k,l,z),ht&&F(ht),Ea(Y,j.el),B&&--k.deps===0&&k.resolve()})},unmount(Y,st){k.isUnmounted=!0,k.activeBranch&&S(k.activeBranch,n,Y,st),k.pendingBranch&&S(k.pendingBranch,n,Y,st)}};return k}function EE(t,e,n,r,i,o,l,u,d){const p=e.suspense=bf(e,r,n,t.parentNode,document.createElement("div"),null,i,o,l,u,!0),h=d(t,p.pendingBranch=e.ssContent,n,p,o,l);return p.deps===0&&p.resolve(!1,!0),h}function bE(t){const{shapeFlag:e,children:n}=t,r=e&32;t.ssContent=bc(r?n.default:n),t.ssFallback=r?bc(n.fallback):Ut(Qt)}function bc(t){let e;if(ut(t)){const n=ws&&t._c;n&&(t._d=!1,rn()),t=t(),n&&(t._d=!0,e=ge,vf())}return it(t)&&(t=uE(t)),t=ke(t),e&&!t.dynamicChildren&&(t.dynamicChildren=e.filter(n=>n!==t)),t}function vE(t,e){e&&e.pendingBranch?it(t)?e.effects.push(...t):e.effects.push(t):No(t)}function ys(t,e){t.activeBranch=e;const{vnode:n,parentComponent:r}=t;let i=e.el;for(;!i&&e.component;)e=e.component.subTree,i=e.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,Ea(r,i))}function yE(t){const e=t.props&&t.props.suspensible;return e!=null&&e!==!1}const De=Symbol.for("v-fgt"),_i=Symbol.for("v-txt"),Qt=Symbol.for("v-cmt"),go=Symbol.for("v-stc"),Gs=[];let ge=null;function rn(t=!1){Gs.push(ge=t?null:[])}function vf(){Gs.pop(),ge=Gs[Gs.length-1]||null}let ws=1;function vc(t,e=!1){ws+=t,t<0&&ge&&e&&(ge.hasOnce=!0)}function yf(t){return t.dynamicChildren=ws>0?ge||Es:null,vf(),ws>0&&ge&&ge.push(t),t}function ei(t,e,n,r,i,o){return yf(fe(t,e,n,r,i,o,!0))}function ni(t,e,n,r,i){return yf(Ut(t,e,n,r,i,!0))}function nr(t){return t?t.__v_isVNode===!0:!1}function Ye(t,e){return t.type===e.type&&t.key===e.key}const wf=({key:t})=>t??null,Hr=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?Mt(t)||Vt(t)||ut(t)?{i:he,r:t,k:e,f:!!n}:t:null);function fe(t,e=null,n=null,r=0,i=null,o=t===De?0:1,l=!1,u=!1){const d={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&wf(e),ref:e&&Hr(e),scopeId:Hu,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:o,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:he};return u?(va(d,n),o&128&&t.normalize(d)):n&&(d.shapeFlag|=Mt(n)?8:16),ws>0&&!l&&ge&&(d.patchFlag>0||o&6)&&d.patchFlag!==32&&ge.push(d),d}const Ut=wE;function wE(t,e=null,n=null,r=0,i=null,o=!1){if((!t||t===Zu)&&(t=Qt),nr(t)){const u=Tn(t,e,!0);return n&&va(u,n),ws>0&&!o&&ge&&(u.shapeFlag&6?ge[ge.indexOf(t)]=u:ge.push(u)),u.patchFlag=-2,u}if(LE(t)&&(t=t.__vccOpts),e){e=TE(e);let{class:u,style:d}=e;u&&!Mt(u)&&(e.class=fi(u)),Nt(d)&&(ua(d)&&!it(d)&&(d=Wt({},d)),e.style=na(d))}const l=Mt(t)?1:Ef(t)?128:Vu(t)?64:Nt(t)?4:ut(t)?2:0;return fe(t,e,n,r,i,l,o,!0)}function TE(t){return t?ua(t)||af(t)?Wt({},t):t:null}function Tn(t,e,n=!1,r=!1){const{props:i,ref:o,patchFlag:l,children:u,transition:d}=t,p=e?AE(i||{},e):i,h={__v_isVNode:!0,__v_skip:!0,type:t.type,props:p,key:p&&wf(p),ref:e&&e.ref?n&&o?it(o)?o.concat(Hr(e)):[o,Hr(e)]:Hr(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:u,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==De?l===-1?16:l|16:l,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:d,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Tn(t.ssContent),ssFallback:t.ssFallback&&Tn(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return d&&r&&Jn(h,d.clone(h)),h}function ba(t=" ",e=0){return Ut(_i,null,t,e)}function zy(t="",e=!1){return e?(rn(),ni(Qt,null,t)):Ut(Qt,null,t)}function ke(t){return t==null||typeof t=="boolean"?Ut(Qt):it(t)?Ut(De,null,t.slice()):nr(t)?bn(t):Ut(_i,null,String(t))}function bn(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Tn(t)}function va(t,e){let n=0;const{shapeFlag:r}=t;if(e==null)e=null;else if(it(e))n=16;else if(typeof e=="object")if(r&65){const i=e.default;i&&(i._c&&(i._d=!1),va(t,i()),i._c&&(i._d=!0));return}else{n=32;const i=e._;!i&&!af(e)?e._ctx=he:i===3&&he&&(he.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else ut(e)?(e={default:e,_ctx:he},n=32):(e=String(e),r&64?(n=16,e=[ba(e)]):n=8);t.children=e,t.shapeFlag|=n}function AE(...t){const e={};for(let n=0;nYt||he;let si,Po;{const t=ui(),e=(n,r)=>{let i;return(i=t[n])||(i=t[n]=[]),i.push(r),o=>{i.length>1?i.forEach(l=>l(o)):i[0](o)}};si=e("__VUE_INSTANCE_SETTERS__",n=>Yt=n),Po=e("__VUE_SSR_SETTERS__",n=>sr=n)}const Xn=t=>{const e=Yt;return si(t),t.scope.on(),()=>{t.scope.off(),si(e)}},Mo=()=>{Yt&&Yt.scope.off(),si(null)};function Tf(t){return t.vnode.shapeFlag&4}let sr=!1;function xE(t,e=!1,n=!1){e&&Po(e);const{props:r,children:i}=t.vnode,o=Tf(t);G_(t,r,o,e),Z_(t,i,n||e);const l=o?NE(t,e):void 0;return e&&Po(!1),l}function NE(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,B_);const{setup:r}=n;if(r){on();const i=t.setupContext=r.length>1?$E(t):null,o=Xn(t),l=or(r,t,0,[t.props,i]),u=ta(l);if(an(),o(),(u||t.sp)&&!qs(t)&&Yu(t),u){if(l.then(Mo,Mo),e)return l.then(d=>{ko(t,d)}).catch(d=>{ar(d,t,0)});t.asyncDep=l}else ko(t,l)}else Af(t)}function ko(t,e,n){ut(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Nt(e)&&(t.setupState=Pu(e)),Af(t)}function Af(t,e,n){const r=t.type;t.render||(t.render=r.render||ze);{const i=Xn(t);on();try{H_(t)}finally{an(),i()}}}const DE={get(t,e){return ne(t,"get",""),t[e]}};function $E(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,DE),slots:t.slots,emit:t.emit,expose:e}}function Ei(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Pu(fa(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Ys)return Ys[n](t)},has(e,n){return n in e||n in Ys}})):t.proxy}function RE(t,e=!0){return ut(t)?t.displayName||t.name:t.name||e&&t.__name}function LE(t){return ut(t)&&"__vccOpts"in t}const wa=(t,e)=>b_(t,e,sr);function IE(t,e,n){const r=arguments.length;return r===2?Nt(e)&&!it(e)?nr(e)?Ut(t,null,[e]):Ut(t,e):Ut(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&nr(n)&&(n=[n]),Ut(t,e,n))}const PE="3.5.16";/** +* @vue/runtime-dom v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Fo;const yc=typeof window<"u"&&window.trustedTypes;if(yc)try{Fo=yc.createPolicy("vue",{createHTML:t=>t})}catch{}const Sf=Fo?t=>Fo.createHTML(t):t=>t,ME="http://www.w3.org/2000/svg",kE="http://www.w3.org/1998/Math/MathML",tn=typeof document<"u"?document:null,wc=tn&&tn.createElement("template"),FE={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 i=e==="svg"?tn.createElementNS(ME,t):e==="mathml"?tn.createElementNS(kE,t):n?tn.createElement(t,{is:n}):tn.createElement(t);return t==="select"&&r&&r.multiple!=null&&i.setAttribute("multiple",r.multiple),i},createText:t=>tn.createTextNode(t),createComment:t=>tn.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>tn.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,i,o){const l=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{wc.innerHTML=Sf(r==="svg"?`${t}`:r==="mathml"?`${t}`:t);const u=wc.content;if(r==="svg"||r==="mathml"){const d=u.firstChild;for(;d.firstChild;)u.appendChild(d.firstChild);u.removeChild(d)}e.insertBefore(u,n)}return[l?l.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},pn="transition",Bs="animation",Ts=Symbol("_vtc"),Cf={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},Of=Wt({},Uu,Cf),BE=t=>(t.displayName="Transition",t.props=Of,t),HE=BE((t,{slots:e})=>IE(C_,xf(t),e)),Un=(t,e=[])=>{it(t)?t.forEach(n=>n(...e)):t&&t(...e)},Tc=t=>t?it(t)?t.some(e=>e.length>1):t.length>1:!1;function xf(t){const e={};for(const j in t)j in Cf||(e[j]=t[j]);if(t.css===!1)return e;const{name:n="v",type:r,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:d=o,appearActiveClass:p=l,appearToClass:h=u,leaveFromClass:m=`${n}-leave-from`,leaveActiveClass:b=`${n}-leave-active`,leaveToClass:S=`${n}-leave-to`}=t,T=VE(i),x=T&&T[0],F=T&&T[1],{onBeforeEnter:Q,onEnter:tt,onEnterCancelled:nt,onLeave:X,onLeaveCancelled:k,onBeforeAppear:Y=Q,onAppear:st=tt,onAppearCancelled:z=nt}=e,B=(j,ht,G,V)=>{j._enterCancelled=V,mn(j,ht?h:u),mn(j,ht?p:l),G&&G()},K=(j,ht)=>{j._isLeaving=!1,mn(j,m),mn(j,S),mn(j,b),ht&&ht()},Z=j=>(ht,G)=>{const V=j?st:tt,D=()=>B(ht,j,G);Un(V,[ht,D]),Ac(()=>{mn(ht,j?d:o),Ke(ht,j?h:u),Tc(V)||Sc(ht,r,x,D)})};return Wt(e,{onBeforeEnter(j){Un(Q,[j]),Ke(j,o),Ke(j,l)},onBeforeAppear(j){Un(Y,[j]),Ke(j,d),Ke(j,p)},onEnter:Z(!1),onAppear:Z(!0),onLeave(j,ht){j._isLeaving=!0;const G=()=>K(j,ht);Ke(j,m),j._enterCancelled?(Ke(j,b),Bo()):(Bo(),Ke(j,b)),Ac(()=>{j._isLeaving&&(mn(j,m),Ke(j,S),Tc(X)||Sc(j,r,F,G))}),Un(X,[j,G])},onEnterCancelled(j){B(j,!1,void 0,!0),Un(nt,[j])},onAppearCancelled(j){B(j,!0,void 0,!0),Un(z,[j])},onLeaveCancelled(j){K(j),Un(k,[j])}})}function VE(t){if(t==null)return null;if(Nt(t))return[_o(t.enter),_o(t.leave)];{const e=_o(t);return[e,e]}}function _o(t){return fu(t)}function Ke(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t[Ts]||(t[Ts]=new Set)).add(e)}function mn(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.remove(r));const n=t[Ts];n&&(n.delete(e),n.size||(t[Ts]=void 0))}function Ac(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let jE=0;function Sc(t,e,n,r){const i=t._endId=++jE,o=()=>{i===t._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:l,timeout:u,propCount:d}=Nf(t,e);if(!l)return r();const p=l+"end";let h=0;const m=()=>{t.removeEventListener(p,b),o()},b=S=>{S.target===t&&++h>=d&&m()};setTimeout(()=>{h(n[T]||"").split(", "),i=r(`${pn}Delay`),o=r(`${pn}Duration`),l=Cc(i,o),u=r(`${Bs}Delay`),d=r(`${Bs}Duration`),p=Cc(u,d);let h=null,m=0,b=0;e===pn?l>0&&(h=pn,m=l,b=o.length):e===Bs?p>0&&(h=Bs,m=p,b=d.length):(m=Math.max(l,p),h=m>0?l>p?pn:Bs:null,b=h?h===pn?o.length:d.length:0);const S=h===pn&&/\b(transform|all)(,|$)/.test(r(`${pn}Property`).toString());return{type:h,timeout:m,propCount:b,hasTransform:S}}function Cc(t,e){for(;t.lengthOc(n)+Oc(t[r])))}function Oc(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function Bo(){return document.body.offsetHeight}function UE(t,e,n){const r=t[Ts];r&&(e=(e?[e,...r]:[...r]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const xc=Symbol("_vod"),WE=Symbol("_vsh"),KE=Symbol(""),qE=/(^|;)\s*display\s*:/;function YE(t,e,n){const r=t.style,i=Mt(n);let o=!1;if(n&&!i){if(e)if(Mt(e))for(const l of e.split(";")){const u=l.slice(0,l.indexOf(":")).trim();n[u]==null&&Vr(r,u,"")}else for(const l in e)n[l]==null&&Vr(r,l,"");for(const l in n)l==="display"&&(o=!0),Vr(r,l,n[l])}else if(i){if(e!==n){const l=r[KE];l&&(n+=";"+l),r.cssText=n,o=qE.test(n)}}else e&&t.removeAttribute("style");xc in t&&(t[xc]=o?r.display:"",t[WE]&&(r.display="none"))}const Nc=/\s*!important$/;function Vr(t,e,n){if(it(n))n.forEach(r=>Vr(t,e,r));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const r=zE(t,e);Nc.test(n)?t.setProperty(Zn(r),n.replace(Nc,""),"important"):t[r]=n}}const Dc=["Webkit","Moz","ms"],Eo={};function zE(t,e){const n=Eo[e];if(n)return n;let r=Le(e);if(r!=="filter"&&r in t)return Eo[e]=r;r=ci(r);for(let i=0;ibo||(QE.then(()=>bo=0),bo=Date.now());function tb(t,e){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Be(eb(r,n.value),e,5,[r])};return n.value=t,n.attached=ZE(),n}function eb(t,e){if(it(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(r=>i=>!i._stopped&&r&&r(i))}else return e}const Mc=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,nb=(t,e,n,r,i,o)=>{const l=i==="svg";e==="class"?UE(t,r,l):e==="style"?YE(t,n,r):ai(e)?Qo(e)||JE(t,e,n,r,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):sb(t,e,r,l))?(Lc(t,e,r),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&Rc(t,e,r,l,o,e!=="value")):t._isVueCE&&(/[A-Z]/.test(e)||!Mt(r))?Lc(t,Le(e),r,o,e):(e==="true-value"?t._trueValue=r:e==="false-value"&&(t._falseValue=r),Rc(t,e,r,l))};function sb(t,e,n,r){if(r)return!!(e==="innerHTML"||e==="textContent"||e in t&&Mc(e)&&ut(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=t.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Mc(e)&&Mt(n)?!1:e in t}const Df=new WeakMap,$f=new WeakMap,ri=Symbol("_moveCb"),kc=Symbol("_enterCb"),rb=t=>(delete t.props.mode,t),ib=rb({name:"TransitionGroup",props:Wt({},Of,{tag:String,moveClass:String}),setup(t,{slots:e}){const n=ya(),r=ju();let i,o;return Gu(()=>{if(!i.length)return;const l=t.moveClass||`${t.name||"v"}-move`;if(!ub(i[0].el,n.vnode.el,l)){i=[];return}i.forEach(ab),i.forEach(lb);const u=i.filter(cb);Bo(),u.forEach(d=>{const p=d.el,h=p.style;Ke(p,l),h.transform=h.webkitTransform=h.transitionDuration="";const m=p[ri]=b=>{b&&b.target!==p||(!b||/transform$/.test(b.propertyName))&&(p.removeEventListener("transitionend",m),p[ri]=null,mn(p,l))};p.addEventListener("transitionend",m)}),i=[]}),()=>{const l=yt(t),u=xf(l);let d=l.tag||De;if(i=[],o)for(let p=0;p{u.split(/\s+/).forEach(d=>d&&r.classList.remove(d))}),n.split(/\s+/).forEach(u=>u&&r.classList.add(u)),r.style.display="none";const o=e.nodeType===1?e:e.parentNode;o.appendChild(r);const{hasTransform:l}=Nf(r);return o.removeChild(r),l}const An=t=>{const e=t.props["onUpdate:modelValue"]||!1;return it(e)?n=>Fr(e,n):e};function fb(t){t.target.composing=!0}function Fc(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Re=Symbol("_assign"),Bc={created(t,{modifiers:{lazy:e,trim:n,number:r}},i){t[Re]=An(i);const o=r||i.props&&i.props.type==="number";sn(t,e?"change":"input",l=>{if(l.target.composing)return;let u=t.value;n&&(u=u.trim()),o&&(u=Yr(u)),t[Re](u)}),n&&sn(t,"change",()=>{t.value=t.value.trim()}),e||(sn(t,"compositionstart",fb),sn(t,"compositionend",Fc),sn(t,"change",Fc))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:n,modifiers:{lazy:r,trim:i,number:o}},l){if(t[Re]=An(l),t.composing)return;const u=(o||t.type==="number")&&!/^0\d/.test(t.value)?Yr(t.value):t.value,d=e??"";u!==d&&(document.activeElement===t&&t.type!=="range"&&(r&&e===n||i&&t.value.trim()===d)||(t.value=d))}},db={deep:!0,created(t,e,n){t[Re]=An(n),sn(t,"change",()=>{const r=t._modelValue,i=As(t),o=t.checked,l=t[Re];if(it(r)){const u=sa(r,i),d=u!==-1;if(o&&!d)l(r.concat(i));else if(!o&&d){const p=[...r];p.splice(u,1),l(p)}}else if(Ss(r)){const u=new Set(r);o?u.add(i):u.delete(i),l(u)}else l(Rf(t,o))})},mounted:Hc,beforeUpdate(t,e,n){t[Re]=An(n),Hc(t,e,n)}};function Hc(t,{value:e,oldValue:n},r){t._modelValue=e;let i;if(it(e))i=sa(e,r.props.value)>-1;else if(Ss(e))i=e.has(r.props.value);else{if(e===n)return;i=Gn(e,Rf(t,!0))}t.checked!==i&&(t.checked=i)}const hb={created(t,{value:e},n){t.checked=Gn(e,n.props.value),t[Re]=An(n),sn(t,"change",()=>{t[Re](As(t))})},beforeUpdate(t,{value:e,oldValue:n},r){t[Re]=An(r),e!==n&&(t.checked=Gn(e,r.props.value))}},pb={deep:!0,created(t,{value:e,modifiers:{number:n}},r){const i=Ss(e);sn(t,"change",()=>{const o=Array.prototype.filter.call(t.options,l=>l.selected).map(l=>n?Yr(As(l)):As(l));t[Re](t.multiple?i?new Set(o):o:o[0]),t._assigning=!0,da(()=>{t._assigning=!1})}),t[Re]=An(r)},mounted(t,{value:e}){Vc(t,e)},beforeUpdate(t,e,n){t[Re]=An(n)},updated(t,{value:e}){t._assigning||Vc(t,e)}};function Vc(t,e){const n=t.multiple,r=it(e);if(!(n&&!r&&!Ss(e))){for(let i=0,o=t.options.length;iString(p)===String(u)):l.selected=sa(e,u)>-1}else l.selected=e.has(u);else if(Gn(As(l),e)){t.selectedIndex!==i&&(t.selectedIndex=i);return}}!n&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function As(t){return"_value"in t?t._value:t.value}function Rf(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const Gy={created(t,e,n){kr(t,e,n,null,"created")},mounted(t,e,n){kr(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){kr(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){kr(t,e,n,r,"updated")}};function mb(t,e){switch(t){case"SELECT":return pb;case"TEXTAREA":return Bc;default:switch(e){case"checkbox":return db;case"radio":return hb;default:return Bc}}}function kr(t,e,n,r,i){const l=mb(t.tagName,n.props&&n.props.type)[i];l&&l(t,e,n,r)}const gb=Wt({patchProp:nb},FE);let jc;function _b(){return jc||(jc=eE(gb))}const Eb=(...t)=>{const e=_b().createApp(...t),{mount:n}=e;return e.mount=r=>{const i=vb(r);if(!i)return;const o=e._component;!ut(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const l=n(i,!1,bb(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),l},e};function bb(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function vb(t){return Mt(t)?document.querySelector(t):t}/*! + * pinia v3.0.2 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Lf;const bi=t=>Lf=t,If=Symbol();function Ho(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Js;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Js||(Js={}));function yb(){const t=gu(!0),e=t.run(()=>Lu({}));let n=[],r=[];const i=fa({install(o){bi(i),i._a=o,o.provide(If,i),o.config.globalProperties.$pinia=i,r.forEach(l=>n.push(l)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return i}const Pf=()=>{};function Uc(t,e,n,r=Pf){t.push(e);const i=()=>{const o=t.indexOf(e);o>-1&&(t.splice(o,1),r())};return!n&&_u()&&Kg(i),i}function gs(t,...e){t.slice().forEach(n=>{n(...e)})}const wb=t=>t(),Wc=Symbol(),vo=Symbol();function Vo(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],i=t[n];Ho(i)&&Ho(r)&&t.hasOwnProperty(n)&&!Vt(r)&&!yn(r)?t[n]=Vo(i,r):t[n]=r}return t}const Tb=Symbol();function Ab(t){return!Ho(t)||!Object.prototype.hasOwnProperty.call(t,Tb)}const{assign:gn}=Object;function Sb(t){return!!(Vt(t)&&t.effect)}function Cb(t,e,n,r){const{state:i,actions:o,getters:l}=e,u=n.state.value[t];let d;function p(){u||(n.state.value[t]=i?i():{});const h=m_(n.state.value[t]);return gn(h,o,Object.keys(l||{}).reduce((m,b)=>(m[b]=fa(wa(()=>{bi(n);const S=n._s.get(t);return l[b].call(S,S)})),m),{}))}return d=Mf(t,p,e,n,r,!0),d}function Mf(t,e,n={},r,i,o){let l;const u=gn({actions:{}},n),d={deep:!0};let p,h,m=[],b=[],S;const T=r.state.value[t];!o&&!T&&(r.state.value[t]={}),Lu({});let x;function F(z){let B;p=h=!1,typeof z=="function"?(z(r.state.value[t]),B={type:Js.patchFunction,storeId:t,events:S}):(Vo(r.state.value[t],z),B={type:Js.patchObject,payload:z,storeId:t,events:S});const K=x=Symbol();da().then(()=>{x===K&&(p=!0)}),h=!0,gs(m,B,r.state.value[t])}const Q=o?function(){const{state:B}=n,K=B?B():{};this.$patch(Z=>{gn(Z,K)})}:Pf;function tt(){l.stop(),m=[],b=[],r._s.delete(t)}const nt=(z,B="")=>{if(Wc in z)return z[vo]=B,z;const K=function(){bi(r);const Z=Array.from(arguments),j=[],ht=[];function G(I){j.push(I)}function V(I){ht.push(I)}gs(b,{args:Z,name:K[vo],store:k,after:G,onError:V});let D;try{D=z.apply(this&&this.$id===t?this:k,Z)}catch(I){throw gs(ht,I),I}return D instanceof Promise?D.then(I=>(gs(j,I),I)).catch(I=>(gs(ht,I),Promise.reject(I))):(gs(j,D),D)};return K[Wc]=!0,K[vo]=B,K},X={_p:r,$id:t,$onAction:Uc.bind(null,b),$patch:F,$reset:Q,$subscribe(z,B={}){const K=Uc(m,z,B.detached,()=>Z()),Z=l.run(()=>Br(()=>r.state.value[t],j=>{(B.flush==="sync"?h:p)&&z({storeId:t,type:Js.direct,events:S},j)},gn({},d,B)));return K},$dispose:tt},k=hi(X);r._s.set(t,k);const st=(r._a&&r._a.runWithContext||wb)(()=>r._e.run(()=>(l=gu()).run(()=>e({action:nt}))));for(const z in st){const B=st[z];if(Vt(B)&&!Sb(B)||yn(B))o||(T&&Ab(B)&&(Vt(B)?B.value=T[z]:Vo(B,T[z])),r.state.value[t][z]=B);else if(typeof B=="function"){const K=nt(B,z);st[z]=K,u.actions[z]=B}}return gn(k,st),gn(yt(k),st),Object.defineProperty(k,"$state",{get:()=>r.state.value[t],set:z=>{F(B=>{gn(B,z)})}}),r._p.forEach(z=>{gn(k,l.run(()=>z({store:k,app:r._a,pinia:r,options:u})))}),T&&o&&n.hydrate&&n.hydrate(k.$state,T),p=!0,h=!0,k}/*! #__NO_SIDE_EFFECTS__ */function Ob(t,e,n){let r;const i=typeof e=="function";r=i?n:e;function o(l,u){const d=z_();return l=l||(d?zs(If,null):null),l&&bi(l),l=Lf,l._s.has(t)||(i?Mf(t,e,r,l):Cb(t,r,l)),l._s.get(t)}return o.$id=t,o}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function xb(t,e=0){return(Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]).toLowerCase()}let yo;const Nb=new Uint8Array(16);function Db(){if(!yo){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");yo=crypto.getRandomValues.bind(crypto)}return yo(Nb)}const $b=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Kc={randomUUID:$b};function Rb(t,e,n){if(Kc.randomUUID&&!t)return Kc.randomUUID();t=t||{};const r=t.random??t.rng?.()??Db();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,xb(r)}function Lb(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jr={exports:{}},Ib=jr.exports,qc;function Pb(){return qc||(qc=1,function(t,e){(function(n,r){t.exports=r()})(Ib,function(){var n=1e3,r=6e4,i=36e5,o="millisecond",l="second",u="minute",d="hour",p="day",h="week",m="month",b="quarter",S="year",T="date",x="Invalid Date",F=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Q=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,tt={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(G){var V=["th","st","nd","rd"],D=G%100;return"["+G+(V[(D-20)%10]||V[D]||V[0])+"]"}},nt=function(G,V,D){var I=String(G);return!I||I.length>=V?G:""+Array(V+1-I.length).join(D)+G},X={s:nt,z:function(G){var V=-G.utcOffset(),D=Math.abs(V),I=Math.floor(D/60),L=D%60;return(V<=0?"+":"-")+nt(I,2,"0")+":"+nt(L,2,"0")},m:function G(V,D){if(V.date()1)return G(lt[0])}else{var Et=V.name;Y[Et]=V,L=Et}return!I&&L&&(k=L),L||!I&&k},K=function(G,V){if(z(G))return G.clone();var D=typeof V=="object"?V:{};return D.date=G,D.args=arguments,new j(D)},Z=X;Z.l=B,Z.i=z,Z.w=function(G,V){return K(G,{locale:V.$L,utc:V.$u,x:V.$x,$offset:V.$offset})};var j=function(){function G(D){this.$L=B(D.locale,null,!0),this.parse(D),this.$x=this.$x||D.x||{},this[st]=!0}var V=G.prototype;return V.parse=function(D){this.$d=function(I){var L=I.date,at=I.utc;if(L===null)return new Date(NaN);if(Z.u(L))return new Date;if(L instanceof Date)return new Date(L);if(typeof L=="string"&&!/Z$/i.test(L)){var lt=L.match(F);if(lt){var Et=lt[2]-1||0,vt=(lt[7]||"0").substring(0,3);return at?new Date(Date.UTC(lt[1],Et,lt[3]||1,lt[4]||0,lt[5]||0,lt[6]||0,vt)):new Date(lt[1],Et,lt[3]||1,lt[4]||0,lt[5]||0,lt[6]||0,vt)}}return new Date(L)}(D),this.init()},V.init=function(){var D=this.$d;this.$y=D.getFullYear(),this.$M=D.getMonth(),this.$D=D.getDate(),this.$W=D.getDay(),this.$H=D.getHours(),this.$m=D.getMinutes(),this.$s=D.getSeconds(),this.$ms=D.getMilliseconds()},V.$utils=function(){return Z},V.isValid=function(){return this.$d.toString()!==x},V.isSame=function(D,I){var L=K(D);return this.startOf(I)<=L&&L<=this.endOf(I)},V.isAfter=function(D,I){return K(D)e=>{const n=Fb.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),He=t=>(t=t.toLowerCase(),e=>yi(e)===t),wi=t=>e=>typeof e===t,{isArray:Cs}=Array,rr=wi("undefined");function Bb(t){return t!==null&&!rr(t)&&t.constructor!==null&&!rr(t.constructor)&&_e(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Bf=He("ArrayBuffer");function Hb(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Bf(t.buffer),e}const Vb=wi("string"),_e=wi("function"),Hf=wi("number"),Ti=t=>t!==null&&typeof t=="object",jb=t=>t===!0||t===!1,Ur=t=>{if(yi(t)!=="object")return!1;const e=Ta(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Ff in t)&&!(vi in t)},Ub=He("Date"),Wb=He("File"),Kb=He("Blob"),qb=He("FileList"),Yb=t=>Ti(t)&&_e(t.pipe),zb=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||_e(t.append)&&((e=yi(t))==="formdata"||e==="object"&&_e(t.toString)&&t.toString()==="[object FormData]"))},Gb=He("URLSearchParams"),[Jb,Xb,Qb,Zb]=["ReadableStream","Request","Response","Headers"].map(He),tv=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function lr(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,i;if(typeof t!="object"&&(t=[t]),Cs(t))for(r=0,i=t.length;r0;)if(i=n[r],e===i.toLowerCase())return i;return null}const Kn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,jf=t=>!rr(t)&&t!==Kn;function jo(){const{caseless:t}=jf(this)&&this||{},e={},n=(r,i)=>{const o=t&&Vf(e,i)||i;Ur(e[o])&&Ur(r)?e[o]=jo(e[o],r):Ur(r)?e[o]=jo({},r):Cs(r)?e[o]=r.slice():e[o]=r};for(let r=0,i=arguments.length;r(lr(e,(i,o)=>{n&&_e(i)?t[o]=kf(i,n):t[o]=i},{allOwnKeys:r}),t),nv=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),sv=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},rv=(t,e,n,r)=>{let i,o,l;const u={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),o=i.length;o-- >0;)l=i[o],(!r||r(l,t,e))&&!u[l]&&(e[l]=t[l],u[l]=!0);t=n!==!1&&Ta(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},iv=(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},ov=t=>{if(!t)return null;if(Cs(t))return t;let e=t.length;if(!Hf(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},av=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Ta(Uint8Array)),lv=(t,e)=>{const r=(t&&t[vi]).call(t);let i;for(;(i=r.next())&&!i.done;){const o=i.value;e.call(t,o[0],o[1])}},cv=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},uv=He("HTMLFormElement"),fv=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),Yc=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),dv=He("RegExp"),Uf=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};lr(n,(i,o)=>{let l;(l=e(i,o,t))!==!1&&(r[o]=l||i)}),Object.defineProperties(t,r)},hv=t=>{Uf(t,(e,n)=>{if(_e(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(_e(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+"'")})}})},pv=(t,e)=>{const n={},r=i=>{i.forEach(o=>{n[o]=!0})};return Cs(t)?r(t):r(String(t).split(e)),n},mv=()=>{},gv=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function _v(t){return!!(t&&_e(t.append)&&t[Ff]==="FormData"&&t[vi])}const Ev=t=>{const e=new Array(10),n=(r,i)=>{if(Ti(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[i]=r;const o=Cs(r)?[]:{};return lr(r,(l,u)=>{const d=n(l,i+1);!rr(d)&&(o[u]=d)}),e[i]=void 0,o}}return r};return n(t,0)},bv=He("AsyncFunction"),vv=t=>t&&(Ti(t)||_e(t))&&_e(t.then)&&_e(t.catch),Wf=((t,e)=>t?setImmediate:e?((n,r)=>(Kn.addEventListener("message",({source:i,data:o})=>{i===Kn&&o===n&&r.length&&r.shift()()},!1),i=>{r.push(i),Kn.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",_e(Kn.postMessage)),yv=typeof queueMicrotask<"u"?queueMicrotask.bind(Kn):typeof process<"u"&&process.nextTick||Wf,wv=t=>t!=null&&_e(t[vi]),A={isArray:Cs,isArrayBuffer:Bf,isBuffer:Bb,isFormData:zb,isArrayBufferView:Hb,isString:Vb,isNumber:Hf,isBoolean:jb,isObject:Ti,isPlainObject:Ur,isReadableStream:Jb,isRequest:Xb,isResponse:Qb,isHeaders:Zb,isUndefined:rr,isDate:Ub,isFile:Wb,isBlob:Kb,isRegExp:dv,isFunction:_e,isStream:Yb,isURLSearchParams:Gb,isTypedArray:av,isFileList:qb,forEach:lr,merge:jo,extend:ev,trim:tv,stripBOM:nv,inherits:sv,toFlatObject:rv,kindOf:yi,kindOfTest:He,endsWith:iv,toArray:ov,forEachEntry:lv,matchAll:cv,isHTMLForm:uv,hasOwnProperty:Yc,hasOwnProp:Yc,reduceDescriptors:Uf,freezeMethods:hv,toObjectSet:pv,toCamelCase:fv,noop:mv,toFiniteNumber:gv,findKey:Vf,global:Kn,isContextDefined:jf,isSpecCompliantForm:_v,toJSONObject:Ev,isAsyncFn:bv,isThenable:vv,setImmediate:Wf,asap:yv,isIterable:wv};function dt(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}A.inherits(dt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:A.toJSONObject(this.config),code:this.code,status:this.status}}});const Kf=dt.prototype,qf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{qf[t]={value:t}});Object.defineProperties(dt,qf);Object.defineProperty(Kf,"isAxiosError",{value:!0});dt.from=(t,e,n,r,i,o)=>{const l=Object.create(Kf);return A.toFlatObject(t,l,function(d){return d!==Error.prototype},u=>u!=="isAxiosError"),dt.call(l,t.message,e,n,r,i),l.cause=t,l.name=t.name,o&&Object.assign(l,o),l};const Tv=null;function Uo(t){return A.isPlainObject(t)||A.isArray(t)}function Yf(t){return A.endsWith(t,"[]")?t.slice(0,-2):t}function zc(t,e,n){return t?t.concat(e).map(function(i,o){return i=Yf(i),!n&&o?"["+i+"]":i}).join(n?".":""):e}function Av(t){return A.isArray(t)&&!t.some(Uo)}const Sv=A.toFlatObject(A,{},null,function(e){return/^is[A-Z]/.test(e)});function Ai(t,e,n){if(!A.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=A.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,F){return!A.isUndefined(F[x])});const r=n.metaTokens,i=n.visitor||h,o=n.dots,l=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&A.isSpecCompliantForm(e);if(!A.isFunction(i))throw new TypeError("visitor must be a function");function p(T){if(T===null)return"";if(A.isDate(T))return T.toISOString();if(!d&&A.isBlob(T))throw new dt("Blob is not supported. Use a Buffer instead.");return A.isArrayBuffer(T)||A.isTypedArray(T)?d&&typeof Blob=="function"?new Blob([T]):Buffer.from(T):T}function h(T,x,F){let Q=T;if(T&&!F&&typeof T=="object"){if(A.endsWith(x,"{}"))x=r?x:x.slice(0,-2),T=JSON.stringify(T);else if(A.isArray(T)&&Av(T)||(A.isFileList(T)||A.endsWith(x,"[]"))&&(Q=A.toArray(T)))return x=Yf(x),Q.forEach(function(nt,X){!(A.isUndefined(nt)||nt===null)&&e.append(l===!0?zc([x],X,o):l===null?x:x+"[]",p(nt))}),!1}return Uo(T)?!0:(e.append(zc(F,x,o),p(T)),!1)}const m=[],b=Object.assign(Sv,{defaultVisitor:h,convertValue:p,isVisitable:Uo});function S(T,x){if(!A.isUndefined(T)){if(m.indexOf(T)!==-1)throw Error("Circular reference detected in "+x.join("."));m.push(T),A.forEach(T,function(Q,tt){(!(A.isUndefined(Q)||Q===null)&&i.call(e,Q,A.isString(tt)?tt.trim():tt,x,b))===!0&&S(Q,x?x.concat(tt):[tt])}),m.pop()}}if(!A.isObject(t))throw new TypeError("data must be an object");return S(t),e}function Gc(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Aa(t,e){this._pairs=[],t&&Ai(t,this,e)}const zf=Aa.prototype;zf.append=function(e,n){this._pairs.push([e,n])};zf.toString=function(e){const n=e?function(r){return e.call(this,r,Gc)}:Gc;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Cv(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Gf(t,e,n){if(!e)return t;const r=n&&n.encode||Cv;A.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let o;if(i?o=i(e,n):o=A.isURLSearchParams(e)?e.toString():new Aa(e,n).toString(r),o){const l=t.indexOf("#");l!==-1&&(t=t.slice(0,l)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Jc{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){A.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Jf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ov=typeof URLSearchParams<"u"?URLSearchParams:Aa,xv=typeof FormData<"u"?FormData:null,Nv=typeof Blob<"u"?Blob:null,Dv={isBrowser:!0,classes:{URLSearchParams:Ov,FormData:xv,Blob:Nv},protocols:["http","https","file","blob","url","data"]},Sa=typeof window<"u"&&typeof document<"u",Wo=typeof navigator=="object"&&navigator||void 0,$v=Sa&&(!Wo||["ReactNative","NativeScript","NS"].indexOf(Wo.product)<0),Rv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Lv=Sa&&window.location.href||"http://localhost",Iv=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Sa,hasStandardBrowserEnv:$v,hasStandardBrowserWebWorkerEnv:Rv,navigator:Wo,origin:Lv},Symbol.toStringTag,{value:"Module"})),se={...Iv,...Dv};function Pv(t,e){return Ai(t,new se.classes.URLSearchParams,Object.assign({visitor:function(n,r,i,o){return se.isNode&&A.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function Mv(t){return A.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function kv(t){const e={},n=Object.keys(t);let r;const i=n.length;let o;for(r=0;r=n.length;return l=!l&&A.isArray(i)?i.length:l,d?(A.hasOwnProp(i,l)?i[l]=[i[l],r]:i[l]=r,!u):((!i[l]||!A.isObject(i[l]))&&(i[l]=[]),e(n,r,i[l],o)&&A.isArray(i[l])&&(i[l]=kv(i[l])),!u)}if(A.isFormData(t)&&A.isFunction(t.entries)){const n={};return A.forEachEntry(t,(r,i)=>{e(Mv(r),i,n,0)}),n}return null}function Fv(t,e,n){if(A.isString(t))try{return(e||JSON.parse)(t),A.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const cr={transitional:Jf,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",i=r.indexOf("application/json")>-1,o=A.isObject(e);if(o&&A.isHTMLForm(e)&&(e=new FormData(e)),A.isFormData(e))return i?JSON.stringify(Xf(e)):e;if(A.isArrayBuffer(e)||A.isBuffer(e)||A.isStream(e)||A.isFile(e)||A.isBlob(e)||A.isReadableStream(e))return e;if(A.isArrayBufferView(e))return e.buffer;if(A.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let u;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Pv(e,this.formSerializer).toString();if((u=A.isFileList(e))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return Ai(u?{"files[]":e}:e,d&&new d,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),Fv(e)):e}],transformResponse:[function(e){const n=this.transitional||cr.transitional,r=n&&n.forcedJSONParsing,i=this.responseType==="json";if(A.isResponse(e)||A.isReadableStream(e))return e;if(e&&A.isString(e)&&(r&&!this.responseType||i)){const l=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(u){if(l)throw u.name==="SyntaxError"?dt.from(u,dt.ERR_BAD_RESPONSE,this,null,this.response):u}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:se.classes.FormData,Blob:se.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};A.forEach(["delete","get","head","post","put","patch"],t=>{cr.headers[t]={}});const Bv=A.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"]),Hv=t=>{const e={};let n,r,i;return t&&t.split(` +`).forEach(function(l){i=l.indexOf(":"),n=l.substring(0,i).trim().toLowerCase(),r=l.substring(i+1).trim(),!(!n||e[n]&&Bv[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},Xc=Symbol("internals");function Hs(t){return t&&String(t).trim().toLowerCase()}function Wr(t){return t===!1||t==null?t:A.isArray(t)?t.map(Wr):String(t)}function Vv(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 jv=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function wo(t,e,n,r,i){if(A.isFunction(r))return r.call(this,e,n);if(i&&(e=n),!!A.isString(e)){if(A.isString(r))return e.indexOf(r)!==-1;if(A.isRegExp(r))return r.test(e)}}function Uv(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function Wv(t,e){const n=A.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(i,o,l){return this[r].call(this,e,i,o,l)},configurable:!0})})}let Ee=class{constructor(e){e&&this.set(e)}set(e,n,r){const i=this;function o(u,d,p){const h=Hs(d);if(!h)throw new Error("header name must be a non-empty string");const m=A.findKey(i,h);(!m||i[m]===void 0||p===!0||p===void 0&&i[m]!==!1)&&(i[m||d]=Wr(u))}const l=(u,d)=>A.forEach(u,(p,h)=>o(p,h,d));if(A.isPlainObject(e)||e instanceof this.constructor)l(e,n);else if(A.isString(e)&&(e=e.trim())&&!jv(e))l(Hv(e),n);else if(A.isObject(e)&&A.isIterable(e)){let u={},d,p;for(const h of e){if(!A.isArray(h))throw TypeError("Object iterator must return a key-value pair");u[p=h[0]]=(d=u[p])?A.isArray(d)?[...d,h[1]]:[d,h[1]]:h[1]}l(u,n)}else e!=null&&o(n,e,r);return this}get(e,n){if(e=Hs(e),e){const r=A.findKey(this,e);if(r){const i=this[r];if(!n)return i;if(n===!0)return Vv(i);if(A.isFunction(n))return n.call(this,i,r);if(A.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Hs(e),e){const r=A.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||wo(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let i=!1;function o(l){if(l=Hs(l),l){const u=A.findKey(r,l);u&&(!n||wo(r,r[u],u,n))&&(delete r[u],i=!0)}}return A.isArray(e)?e.forEach(o):o(e),i}clear(e){const n=Object.keys(this);let r=n.length,i=!1;for(;r--;){const o=n[r];(!e||wo(this,this[o],o,e,!0))&&(delete this[o],i=!0)}return i}normalize(e){const n=this,r={};return A.forEach(this,(i,o)=>{const l=A.findKey(r,o);if(l){n[l]=Wr(i),delete n[o];return}const u=e?Uv(o):String(o).trim();u!==o&&delete n[o],n[u]=Wr(i),r[u]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return A.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=e&&A.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(i=>r.set(i)),r}static accessor(e){const r=(this[Xc]=this[Xc]={accessors:{}}).accessors,i=this.prototype;function o(l){const u=Hs(l);r[u]||(Wv(i,l),r[u]=!0)}return A.isArray(e)?e.forEach(o):o(e),this}};Ee.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);A.reduceDescriptors(Ee.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});A.freezeMethods(Ee);function To(t,e){const n=this||cr,r=e||n,i=Ee.from(r.headers);let o=r.data;return A.forEach(t,function(u){o=u.call(n,o,i.normalize(),e?e.status:void 0)}),i.normalize(),o}function Qf(t){return!!(t&&t.__CANCEL__)}function Os(t,e,n){dt.call(this,t??"canceled",dt.ERR_CANCELED,e,n),this.name="CanceledError"}A.inherits(Os,dt,{__CANCEL__:!0});function Zf(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new dt("Request failed with status code "+n.status,[dt.ERR_BAD_REQUEST,dt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Kv(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function qv(t,e){t=t||10;const n=new Array(t),r=new Array(t);let i=0,o=0,l;return e=e!==void 0?e:1e3,function(d){const p=Date.now(),h=r[o];l||(l=p),n[i]=d,r[i]=p;let m=o,b=0;for(;m!==i;)b+=n[m++],m=m%t;if(i=(i+1)%t,i===o&&(o=(o+1)%t),p-l{n=h,i=null,o&&(clearTimeout(o),o=null),t.apply(null,p)};return[(...p)=>{const h=Date.now(),m=h-n;m>=r?l(p,h):(i=p,o||(o=setTimeout(()=>{o=null,l(i)},r-m)))},()=>i&&l(i)]}const ii=(t,e,n=3)=>{let r=0;const i=qv(50,250);return Yv(o=>{const l=o.loaded,u=o.lengthComputable?o.total:void 0,d=l-r,p=i(d),h=l<=u;r=l;const m={loaded:l,total:u,progress:u?l/u:void 0,bytes:d,rate:p||void 0,estimated:p&&u&&h?(u-l)/p:void 0,event:o,lengthComputable:u!=null,[e?"download":"upload"]:!0};t(m)},n)},Qc=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Zc=t=>(...e)=>A.asap(()=>t(...e)),zv=se.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,se.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(se.origin),se.navigator&&/(msie|trident)/i.test(se.navigator.userAgent)):()=>!0,Gv=se.hasStandardBrowserEnv?{write(t,e,n,r,i,o){const l=[t+"="+encodeURIComponent(e)];A.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),A.isString(r)&&l.push("path="+r),A.isString(i)&&l.push("domain="+i),o===!0&&l.push("secure"),document.cookie=l.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Jv(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Xv(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function td(t,e,n){let r=!Jv(e);return t&&(r||n==!1)?Xv(t,e):e}const tu=t=>t instanceof Ee?{...t}:t;function Qn(t,e){e=e||{};const n={};function r(p,h,m,b){return A.isPlainObject(p)&&A.isPlainObject(h)?A.merge.call({caseless:b},p,h):A.isPlainObject(h)?A.merge({},h):A.isArray(h)?h.slice():h}function i(p,h,m,b){if(A.isUndefined(h)){if(!A.isUndefined(p))return r(void 0,p,m,b)}else return r(p,h,m,b)}function o(p,h){if(!A.isUndefined(h))return r(void 0,h)}function l(p,h){if(A.isUndefined(h)){if(!A.isUndefined(p))return r(void 0,p)}else return r(void 0,h)}function u(p,h,m){if(m in e)return r(p,h);if(m in t)return r(void 0,p)}const d={url:o,method:o,data:o,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u,headers:(p,h,m)=>i(tu(p),tu(h),m,!0)};return A.forEach(Object.keys(Object.assign({},t,e)),function(h){const m=d[h]||i,b=m(t[h],e[h],h);A.isUndefined(b)&&m!==u||(n[h]=b)}),n}const ed=t=>{const e=Qn({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:o,headers:l,auth:u}=e;e.headers=l=Ee.from(l),e.url=Gf(td(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),u&&l.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):"")));let d;if(A.isFormData(n)){if(se.hasStandardBrowserEnv||se.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if((d=l.getContentType())!==!1){const[p,...h]=d?d.split(";").map(m=>m.trim()).filter(Boolean):[];l.setContentType([p||"multipart/form-data",...h].join("; "))}}if(se.hasStandardBrowserEnv&&(r&&A.isFunction(r)&&(r=r(e)),r||r!==!1&&zv(e.url))){const p=i&&o&&Gv.read(o);p&&l.set(i,p)}return e},Qv=typeof XMLHttpRequest<"u",Zv=Qv&&function(t){return new Promise(function(n,r){const i=ed(t);let o=i.data;const l=Ee.from(i.headers).normalize();let{responseType:u,onUploadProgress:d,onDownloadProgress:p}=i,h,m,b,S,T;function x(){S&&S(),T&&T(),i.cancelToken&&i.cancelToken.unsubscribe(h),i.signal&&i.signal.removeEventListener("abort",h)}let F=new XMLHttpRequest;F.open(i.method.toUpperCase(),i.url,!0),F.timeout=i.timeout;function Q(){if(!F)return;const nt=Ee.from("getAllResponseHeaders"in F&&F.getAllResponseHeaders()),k={data:!u||u==="text"||u==="json"?F.responseText:F.response,status:F.status,statusText:F.statusText,headers:nt,config:t,request:F};Zf(function(st){n(st),x()},function(st){r(st),x()},k),F=null}"onloadend"in F?F.onloadend=Q:F.onreadystatechange=function(){!F||F.readyState!==4||F.status===0&&!(F.responseURL&&F.responseURL.indexOf("file:")===0)||setTimeout(Q)},F.onabort=function(){F&&(r(new dt("Request aborted",dt.ECONNABORTED,t,F)),F=null)},F.onerror=function(){r(new dt("Network Error",dt.ERR_NETWORK,t,F)),F=null},F.ontimeout=function(){let X=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const k=i.transitional||Jf;i.timeoutErrorMessage&&(X=i.timeoutErrorMessage),r(new dt(X,k.clarifyTimeoutError?dt.ETIMEDOUT:dt.ECONNABORTED,t,F)),F=null},o===void 0&&l.setContentType(null),"setRequestHeader"in F&&A.forEach(l.toJSON(),function(X,k){F.setRequestHeader(k,X)}),A.isUndefined(i.withCredentials)||(F.withCredentials=!!i.withCredentials),u&&u!=="json"&&(F.responseType=i.responseType),p&&([b,T]=ii(p,!0),F.addEventListener("progress",b)),d&&F.upload&&([m,S]=ii(d),F.upload.addEventListener("progress",m),F.upload.addEventListener("loadend",S)),(i.cancelToken||i.signal)&&(h=nt=>{F&&(r(!nt||nt.type?new Os(null,t,F):nt),F.abort(),F=null)},i.cancelToken&&i.cancelToken.subscribe(h),i.signal&&(i.signal.aborted?h():i.signal.addEventListener("abort",h)));const tt=Kv(i.url);if(tt&&se.protocols.indexOf(tt)===-1){r(new dt("Unsupported protocol "+tt+":",dt.ERR_BAD_REQUEST,t));return}F.send(o||null)})},ty=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,i;const o=function(p){if(!i){i=!0,u();const h=p instanceof Error?p:this.reason;r.abort(h instanceof dt?h:new Os(h instanceof Error?h.message:h))}};let l=e&&setTimeout(()=>{l=null,o(new dt(`timeout ${e} of ms exceeded`,dt.ETIMEDOUT))},e);const u=()=>{t&&(l&&clearTimeout(l),l=null,t.forEach(p=>{p.unsubscribe?p.unsubscribe(o):p.removeEventListener("abort",o)}),t=null)};t.forEach(p=>p.addEventListener("abort",o));const{signal:d}=r;return d.unsubscribe=()=>A.asap(u),d}},ey=function*(t,e){let n=t.byteLength;if(n{const i=ny(t,e);let o=0,l,u=d=>{l||(l=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:p,value:h}=await i.next();if(p){u(),d.close();return}let m=h.byteLength;if(n){let b=o+=m;n(b)}d.enqueue(new Uint8Array(h))}catch(p){throw u(p),p}},cancel(d){return u(d),i.return()}},{highWaterMark:2})},Si=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",nd=Si&&typeof ReadableStream=="function",ry=Si&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),sd=(t,...e)=>{try{return!!t(...e)}catch{return!1}},iy=nd&&sd(()=>{let t=!1;const e=new Request(se.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),nu=64*1024,Ko=nd&&sd(()=>A.isReadableStream(new Response("").body)),oi={stream:Ko&&(t=>t.body)};Si&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!oi[e]&&(oi[e]=A.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new dt(`Response type '${e}' is not supported`,dt.ERR_NOT_SUPPORT,r)})})})(new Response);const oy=async t=>{if(t==null)return 0;if(A.isBlob(t))return t.size;if(A.isSpecCompliantForm(t))return(await new Request(se.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(A.isArrayBufferView(t)||A.isArrayBuffer(t))return t.byteLength;if(A.isURLSearchParams(t)&&(t=t+""),A.isString(t))return(await ry(t)).byteLength},ay=async(t,e)=>{const n=A.toFiniteNumber(t.getContentLength());return n??oy(e)},ly=Si&&(async t=>{let{url:e,method:n,data:r,signal:i,cancelToken:o,timeout:l,onDownloadProgress:u,onUploadProgress:d,responseType:p,headers:h,withCredentials:m="same-origin",fetchOptions:b}=ed(t);p=p?(p+"").toLowerCase():"text";let S=ty([i,o&&o.toAbortSignal()],l),T;const x=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let F;try{if(d&&iy&&n!=="get"&&n!=="head"&&(F=await ay(h,r))!==0){let k=new Request(e,{method:"POST",body:r,duplex:"half"}),Y;if(A.isFormData(r)&&(Y=k.headers.get("content-type"))&&h.setContentType(Y),k.body){const[st,z]=Qc(F,ii(Zc(d)));r=eu(k.body,nu,st,z)}}A.isString(m)||(m=m?"include":"omit");const Q="credentials"in Request.prototype;T=new Request(e,{...b,signal:S,method:n.toUpperCase(),headers:h.normalize().toJSON(),body:r,duplex:"half",credentials:Q?m:void 0});let tt=await fetch(T);const nt=Ko&&(p==="stream"||p==="response");if(Ko&&(u||nt&&x)){const k={};["status","statusText","headers"].forEach(B=>{k[B]=tt[B]});const Y=A.toFiniteNumber(tt.headers.get("content-length")),[st,z]=u&&Qc(Y,ii(Zc(u),!0))||[];tt=new Response(eu(tt.body,nu,st,()=>{z&&z(),x&&x()}),k)}p=p||"text";let X=await oi[A.findKey(oi,p)||"text"](tt,t);return!nt&&x&&x(),await new Promise((k,Y)=>{Zf(k,Y,{data:X,headers:Ee.from(tt.headers),status:tt.status,statusText:tt.statusText,config:t,request:T})})}catch(Q){throw x&&x(),Q&&Q.name==="TypeError"&&/Load failed|fetch/i.test(Q.message)?Object.assign(new dt("Network Error",dt.ERR_NETWORK,t,T),{cause:Q.cause||Q}):dt.from(Q,Q&&Q.code,t,T)}}),qo={http:Tv,xhr:Zv,fetch:ly};A.forEach(qo,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const su=t=>`- ${t}`,cy=t=>A.isFunction(t)||t===null||t===!1,rd={getAdapter:t=>{t=A.isArray(t)?t:[t];const{length:e}=t;let n,r;const i={};for(let o=0;o`adapter ${u} `+(d===!1?"is not supported by the environment":"is not available in the build"));let l=e?o.length>1?`since : +`+o.map(su).join(` +`):" "+su(o[0]):"as no adapter specified";throw new dt("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return r},adapters:qo};function Ao(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Os(null,t)}function ru(t){return Ao(t),t.headers=Ee.from(t.headers),t.data=To.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),rd.getAdapter(t.adapter||cr.adapter)(t).then(function(r){return Ao(t),r.data=To.call(t,t.transformResponse,r),r.headers=Ee.from(r.headers),r},function(r){return Qf(r)||(Ao(t),r&&r.response&&(r.response.data=To.call(t,t.transformResponse,r.response),r.response.headers=Ee.from(r.response.headers))),Promise.reject(r)})}const id="1.9.0",Ci={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ci[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const iu={};Ci.transitional=function(e,n,r){function i(o,l){return"[Axios v"+id+"] Transitional option '"+o+"'"+l+(r?". "+r:"")}return(o,l,u)=>{if(e===!1)throw new dt(i(l," has been removed"+(n?" in "+n:"")),dt.ERR_DEPRECATED);return n&&!iu[l]&&(iu[l]=!0,console.warn(i(l," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,l,u):!0}};Ci.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function uy(t,e,n){if(typeof t!="object")throw new dt("options must be an object",dt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let i=r.length;for(;i-- >0;){const o=r[i],l=e[o];if(l){const u=t[o],d=u===void 0||l(u,o,t);if(d!==!0)throw new dt("option "+o+" must be "+d,dt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new dt("Unknown option "+o,dt.ERR_BAD_OPTION)}}const Kr={assertOptions:uy,validators:Ci},We=Kr.validators;let zn=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Jc,response:new Jc}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const o=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+o):r.stack=o}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Qn(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&Kr.assertOptions(r,{silentJSONParsing:We.transitional(We.boolean),forcedJSONParsing:We.transitional(We.boolean),clarifyTimeoutError:We.transitional(We.boolean)},!1),i!=null&&(A.isFunction(i)?n.paramsSerializer={serialize:i}:Kr.assertOptions(i,{encode:We.function,serialize:We.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Kr.assertOptions(n,{baseUrl:We.spelling("baseURL"),withXsrfToken:We.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=o&&A.merge(o.common,o[n.method]);o&&A.forEach(["delete","get","head","post","put","patch","common"],T=>{delete o[T]}),n.headers=Ee.concat(l,o);const u=[];let d=!0;this.interceptors.request.forEach(function(x){typeof x.runWhen=="function"&&x.runWhen(n)===!1||(d=d&&x.synchronous,u.unshift(x.fulfilled,x.rejected))});const p=[];this.interceptors.response.forEach(function(x){p.push(x.fulfilled,x.rejected)});let h,m=0,b;if(!d){const T=[ru.bind(this),void 0];for(T.unshift.apply(T,u),T.push.apply(T,p),b=T.length,h=Promise.resolve(n);m{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o;const l=new Promise(u=>{r.subscribe(u),o=u}).then(i);return l.cancel=function(){r.unsubscribe(o)},l},e(function(o,l,u){r.reason||(r.reason=new Os(o,l,u),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 od(function(i){e=i}),cancel:e}}};function dy(t){return function(n){return t.apply(null,n)}}function hy(t){return A.isObject(t)&&t.isAxiosError===!0}const Yo={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};Object.entries(Yo).forEach(([t,e])=>{Yo[e]=t});function ad(t){const e=new zn(t),n=kf(zn.prototype.request,e);return A.extend(n,zn.prototype,e,{allOwnKeys:!0}),A.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return ad(Qn(t,i))},n}const kt=ad(cr);kt.Axios=zn;kt.CanceledError=Os;kt.CancelToken=fy;kt.isCancel=Qf;kt.VERSION=id;kt.toFormData=Ai;kt.AxiosError=dt;kt.Cancel=kt.CanceledError;kt.all=function(e){return Promise.all(e)};kt.spread=dy;kt.isAxiosError=hy;kt.mergeConfig=Qn;kt.AxiosHeaders=Ee;kt.formToJSON=t=>Xf(A.isHTMLForm(t)?new FormData(t):t);kt.getAdapter=rd.getAdapter;kt.HttpStatusCode=Yo;kt.default=kt;const{Axios:Qy,AxiosError:Zy,CanceledError:tw,isCancel:ew,CancelToken:nw,VERSION:sw,all:rw,Cancel:iw,isAxiosError:ow,spread:aw,toFormData:lw,AxiosHeaders:cw,HttpStatusCode:uw,formToJSON:fw,getAdapter:dw,mergeConfig:hw}=kt,ld=t=>`./.${t}`,py=async(t,e={})=>{try{return(await kt.post(ld(t),e)).data}catch(n){console.log(n);return}},zo=async(t,e={})=>{try{return(await kt.get(ld(t),e)).data}catch(n){console.log(n);return}},Ca=Ob("clientStore",{state:()=>({serverInformation:{},notifications:[],configurations:[],clientProfile:{Email:"",SignInMethod:"",Profile:{}}}),actions:{newNotification(t,e){this.notifications.push({id:Rb().toString(),status:e,content:t,time:kb(),show:!0})},async getClientProfile(){const t=await zo("/api/settings/getClientProfile");t?this.clientProfile=t.data:this.newNotification("Failed to fetch client profile","danger")},async getConfigurations(){const t=await zo("/api/configurations");t?this.configurations=t.data:this.newNotification("Failed to fetch configurations","danger")}}}),Oa=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},my={class:"card-body"},gy={class:"d-flex align-items-center mb-2"},_y={class:"ms-auto"},Ey={class:"fw-medium"},by={__name:"notification",props:{notificationData:{id:"",show:!0,content:"",time:"",status:""}},setup(t){const e=t;let n;const r=()=>{e.notificationData.show=!0,n=setTimeout(()=>{o()},5e3)},i=()=>clearTimeout(n),o=()=>e.notificationData.show=!1;return ma(()=>{r()}),(l,u)=>(rn(),ei("div",{onMouseenter:u[1]||(u[1]=d=>i()),onMouseleave:u[2]||(u[2]=d=>t.notificationData.show?r():void 0),class:fi([{"text-bg-success":t.notificationData.status==="success","text-bg-warning":t.notificationData.status==="warning","text-bg-danger":t.notificationData.status==="danger"},"card shadow rounded-3 position-relative message ms-auto notification"])},[fe("div",my,[fe("div",gy,[fe("small",null,So(t.notificationData.time.format("hh:mm A")),1),fe("small",_y,[fe("a",{role:"button",onClick:u[0]||(u[0]=d=>o())},u[3]||(u[3]=[ba(" Dismiss"),fe("i",{class:"bi bi-x-lg ms-2"},null,-1)]))])]),fe("span",Ey,So(t.notificationData.content),1)])],34))}},vy=Oa(by,[["__scopeId","data-v-3303bfcd"]]),yy={class:"messageCentre text-body position-absolute d-flex"},wy={__name:"notificationList",setup(t){const e=Ca(),n=wa(()=>e.notifications.filter(r=>r.show).slice().reverse());return(r,i)=>(rn(),ei("div",yy,[Ut(ob,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:Ks(()=>[(rn(!0),ei(De,null,F_(n.value,o=>(rn(),ni(vy,{notificationData:o,key:o.id},null,8,["notificationData"]))),128))]),_:1})]))}},Ty=Oa(wy,[["__scopeId","data-v-e4fed80c"]]),Ay={"data-bs-theme":"dark",class:"text-body bg-body vw-100 vh-100 bg-body"},Sy={class:"d-flex vw-100 p-sm-4 overflow-y-scroll innerContainer d-flex flex-column"},Cy={class:"mx-auto my-sm-auto position-relative",id:"listContainer"},Oy={__name:"App",setup(t){return(e,n)=>{const r=M_("RouterView");return rn(),ei("div",Ay,[fe("div",Sy,[fe("div",Cy,[(rn(),ni(mE,null,{default:Ks(()=>[Ut(r,null,{default:Ks(({Component:i})=>[Ut(HE,{name:"app",type:"transition",mode:"out-in"},{default:Ks(()=>[(rn(),ni(k_(i)))]),_:2},1024)]),_:1})]),_:1}))]),n[0]||(n[0]=fe("div",{style:{"font-size":"0.8rem"},class:"text-center text-muted"},[fe("small",null,[ba(" Background image by "),fe("a",{href:"https://unsplash.com/photos/body-of-water-aExT3y92x5o"},"Fabrizio Conti")]),fe("br")],-1))]),Ut(Ty)])}}},xy=Oa(Oy,[["__scopeId","data-v-30cf86d3"]]);var qr={exports:{}};/*! + * Bootstrap v5.3.6 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */var Ny=qr.exports,ou;function Dy(){return ou||(ou=1,function(t,e){(function(n,r){t.exports=r()})(Ny,function(){const n=new Map,r={set(c,s,a){n.has(c)||n.set(c,new Map);const f=n.get(c);if(!f.has(s)&&f.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(f.keys())[0]}.`);return}f.set(s,a)},get(c,s){return n.has(c)&&n.get(c).get(s)||null},remove(c,s){if(!n.has(c))return;const a=n.get(c);a.delete(s),a.size===0&&n.delete(c)}},i=1e6,o=1e3,l="transitionend",u=c=>(c&&window.CSS&&window.CSS.escape&&(c=c.replace(/#([^\s"#']+)/g,(s,a)=>`#${CSS.escape(a)}`)),c),d=c=>c==null?`${c}`:Object.prototype.toString.call(c).match(/\s([a-z]+)/i)[1].toLowerCase(),p=c=>{do c+=Math.floor(Math.random()*i);while(document.getElementById(c));return c},h=c=>{if(!c)return 0;let{transitionDuration:s,transitionDelay:a}=window.getComputedStyle(c);const f=Number.parseFloat(s),_=Number.parseFloat(a);return!f&&!_?0:(s=s.split(",")[0],a=a.split(",")[0],(Number.parseFloat(s)+Number.parseFloat(a))*o)},m=c=>{c.dispatchEvent(new Event(l))},b=c=>!c||typeof c!="object"?!1:(typeof c.jquery<"u"&&(c=c[0]),typeof c.nodeType<"u"),S=c=>b(c)?c.jquery?c[0]:c:typeof c=="string"&&c.length>0?document.querySelector(u(c)):null,T=c=>{if(!b(c)||c.getClientRects().length===0)return!1;const s=getComputedStyle(c).getPropertyValue("visibility")==="visible",a=c.closest("details:not([open])");if(!a)return s;if(a!==c){const f=c.closest("summary");if(f&&f.parentNode!==a||f===null)return!1}return s},x=c=>!c||c.nodeType!==Node.ELEMENT_NODE||c.classList.contains("disabled")?!0:typeof c.disabled<"u"?c.disabled:c.hasAttribute("disabled")&&c.getAttribute("disabled")!=="false",F=c=>{if(!document.documentElement.attachShadow)return null;if(typeof c.getRootNode=="function"){const s=c.getRootNode();return s instanceof ShadowRoot?s:null}return c instanceof ShadowRoot?c:c.parentNode?F(c.parentNode):null},Q=()=>{},tt=c=>{c.offsetHeight},nt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,X=[],k=c=>{document.readyState==="loading"?(X.length||document.addEventListener("DOMContentLoaded",()=>{for(const s of X)s()}),X.push(c)):c()},Y=()=>document.documentElement.dir==="rtl",st=c=>{k(()=>{const s=nt();if(s){const a=c.NAME,f=s.fn[a];s.fn[a]=c.jQueryInterface,s.fn[a].Constructor=c,s.fn[a].noConflict=()=>(s.fn[a]=f,c.jQueryInterface)}})},z=(c,s=[],a=c)=>typeof c=="function"?c.call(...s):a,B=(c,s,a=!0)=>{if(!a){z(c);return}const _=h(s)+5;let v=!1;const w=({target:O})=>{O===s&&(v=!0,s.removeEventListener(l,w),z(c))};s.addEventListener(l,w),setTimeout(()=>{v||m(s)},_)},K=(c,s,a,f)=>{const _=c.length;let v=c.indexOf(s);return v===-1?!a&&f?c[_-1]:c[0]:(v+=a?1:-1,f&&(v=(v+_)%_),c[Math.max(0,Math.min(v,_-1))])},Z=/[^.]*(?=\..*)\.|.*/,j=/\..*/,ht=/::\d+$/,G={};let V=1;const D={mouseenter:"mouseover",mouseleave:"mouseout"},I=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(c,s){return s&&`${s}::${V++}`||c.uidEvent||V++}function at(c){const s=L(c);return c.uidEvent=s,G[s]=G[s]||{},G[s]}function lt(c,s){return function a(f){return me(f,{delegateTarget:c}),a.oneOff&&N.off(c,f.type,s),s.apply(c,[f])}}function Et(c,s,a){return function f(_){const v=c.querySelectorAll(s);for(let{target:w}=_;w&&w!==this;w=w.parentNode)for(const O of v)if(O===w)return me(_,{delegateTarget:w}),f.oneOff&&N.off(c,_.type,s,a),a.apply(w,[_])}}function vt(c,s,a=null){return Object.values(c).find(f=>f.callable===s&&f.delegationSelector===a)}function Lt(c,s,a){const f=typeof s=="string",_=f?a:s||a;let v=re(c);return I.has(v)||(v=c),[f,_,v]}function Ft(c,s,a,f,_){if(typeof s!="string"||!c)return;let[v,w,O]=Lt(s,a,f);s in D&&(w=(Dt=>function(_t){if(!_t.relatedTarget||_t.relatedTarget!==_t.delegateTarget&&!_t.delegateTarget.contains(_t.relatedTarget))return Dt.call(this,_t)})(w));const M=at(c),et=M[O]||(M[O]={}),H=vt(et,w,v?a:null);if(H){H.oneOff=H.oneOff&&_;return}const mt=L(w,s.replace(Z,"")),gt=v?Et(c,a,w):lt(c,w);gt.delegationSelector=v?a:null,gt.callable=w,gt.oneOff=_,gt.uidEvent=mt,et[mt]=gt,c.addEventListener(O,gt,v)}function Kt(c,s,a,f,_){const v=vt(s[a],f,_);v&&(c.removeEventListener(a,v,!!_),delete s[a][v.uidEvent])}function pe(c,s,a,f){const _=s[a]||{};for(const[v,w]of Object.entries(_))v.includes(f)&&Kt(c,s,a,w.callable,w.delegationSelector)}function re(c){return c=c.replace(j,""),D[c]||c}const N={on(c,s,a,f){Ft(c,s,a,f,!1)},one(c,s,a,f){Ft(c,s,a,f,!0)},off(c,s,a,f){if(typeof s!="string"||!c)return;const[_,v,w]=Lt(s,a,f),O=w!==s,M=at(c),et=M[w]||{},H=s.startsWith(".");if(typeof v<"u"){if(!Object.keys(et).length)return;Kt(c,M,w,v,_?a:null);return}if(H)for(const mt of Object.keys(M))pe(c,M,mt,s.slice(1));for(const[mt,gt]of Object.entries(et)){const ft=mt.replace(ht,"");(!O||s.includes(ft))&&Kt(c,M,w,gt.callable,gt.delegationSelector)}},trigger(c,s,a){if(typeof s!="string"||!c)return null;const f=nt(),_=re(s),v=s!==_;let w=null,O=!0,M=!0,et=!1;v&&f&&(w=f.Event(s,a),f(c).trigger(w),O=!w.isPropagationStopped(),M=!w.isImmediatePropagationStopped(),et=w.isDefaultPrevented());const H=me(new Event(s,{bubbles:O,cancelable:!0}),a);return et&&H.preventDefault(),M&&c.dispatchEvent(H),H.defaultPrevented&&w&&w.preventDefault(),H}};function me(c,s={}){for(const[a,f]of Object.entries(s))try{c[a]=f}catch{Object.defineProperty(c,a,{configurable:!0,get(){return f}})}return c}function It(c){if(c==="true")return!0;if(c==="false")return!1;if(c===Number(c).toString())return Number(c);if(c===""||c==="null")return null;if(typeof c!="string")return c;try{return JSON.parse(decodeURIComponent(c))}catch{return c}}function be(c){return c.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`)}const g={setDataAttribute(c,s,a){c.setAttribute(`data-bs-${be(s)}`,a)},removeDataAttribute(c,s){c.removeAttribute(`data-bs-${be(s)}`)},getDataAttributes(c){if(!c)return{};const s={},a=Object.keys(c.dataset).filter(f=>f.startsWith("bs")&&!f.startsWith("bsConfig"));for(const f of a){let _=f.replace(/^bs/,"");_=_.charAt(0).toLowerCase()+_.slice(1),s[_]=It(c.dataset[f])}return s},getDataAttribute(c,s){return It(c.getAttribute(`data-bs-${be(s)}`))}};class E{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(s){return s=this._mergeConfigObj(s),s=this._configAfterMerge(s),this._typeCheckConfig(s),s}_configAfterMerge(s){return s}_mergeConfigObj(s,a){const f=b(a)?g.getDataAttribute(a,"config"):{};return{...this.constructor.Default,...typeof f=="object"?f:{},...b(a)?g.getDataAttributes(a):{},...typeof s=="object"?s:{}}}_typeCheckConfig(s,a=this.constructor.DefaultType){for(const[f,_]of Object.entries(a)){const v=s[f],w=b(v)?"element":d(v);if(!new RegExp(_).test(w))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${f}" provided type "${w}" but expected type "${_}".`)}}}const C="5.3.6";class $ extends E{constructor(s,a){super(),s=S(s),s&&(this._element=s,this._config=this._getConfig(a),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const s of Object.getOwnPropertyNames(this))this[s]=null}_queueCallback(s,a,f=!0){B(s,a,f)}_getConfig(s){return s=this._mergeConfigObj(s,this._element),s=this._configAfterMerge(s),this._typeCheckConfig(s),s}static getInstance(s){return r.get(S(s),this.DATA_KEY)}static getOrCreateInstance(s,a={}){return this.getInstance(s)||new this(s,typeof a=="object"?a:null)}static get VERSION(){return C}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(s){return`${s}${this.EVENT_KEY}`}}const R=c=>{let s=c.getAttribute("data-bs-target");if(!s||s==="#"){let a=c.getAttribute("href");if(!a||!a.includes("#")&&!a.startsWith("."))return null;a.includes("#")&&!a.startsWith("#")&&(a=`#${a.split("#")[1]}`),s=a&&a!=="#"?a.trim():null}return s?s.split(",").map(a=>u(a)).join(","):null},y={find(c,s=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(s,c))},findOne(c,s=document.documentElement){return Element.prototype.querySelector.call(s,c)},children(c,s){return[].concat(...c.children).filter(a=>a.matches(s))},parents(c,s){const a=[];let f=c.parentNode.closest(s);for(;f;)a.push(f),f=f.parentNode.closest(s);return a},prev(c,s){let a=c.previousElementSibling;for(;a;){if(a.matches(s))return[a];a=a.previousElementSibling}return[]},next(c,s){let a=c.nextElementSibling;for(;a;){if(a.matches(s))return[a];a=a.nextElementSibling}return[]},focusableChildren(c){const s=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(a=>`${a}:not([tabindex^="-"])`).join(",");return this.find(s,c).filter(a=>!x(a)&&T(a))},getSelectorFromElement(c){const s=R(c);return s&&y.findOne(s)?s:null},getElementFromSelector(c){const s=R(c);return s?y.findOne(s):null},getMultipleElementsFromSelector(c){const s=R(c);return s?y.find(s):[]}},q=(c,s="hide")=>{const a=`click.dismiss${c.EVENT_KEY}`,f=c.NAME;N.on(document,a,`[data-bs-dismiss="${f}"]`,function(_){if(["A","AREA"].includes(this.tagName)&&_.preventDefault(),x(this))return;const v=y.getElementFromSelector(this)||this.closest(`.${f}`);c.getOrCreateInstance(v)[s]()})},W="alert",P=".bs.alert",ot=`close${P}`,J=`closed${P}`,rt="fade",ct="show";class pt extends ${static get NAME(){return W}close(){if(N.trigger(this._element,ot).defaultPrevented)return;this._element.classList.remove(ct);const a=this._element.classList.contains(rt);this._queueCallback(()=>this._destroyElement(),this._element,a)}_destroyElement(){this._element.remove(),N.trigger(this._element,J),this.dispose()}static jQueryInterface(s){return this.each(function(){const a=pt.getOrCreateInstance(this);if(typeof s=="string"){if(a[s]===void 0||s.startsWith("_")||s==="constructor")throw new TypeError(`No method named "${s}"`);a[s](this)}})}}q(pt,"close"),st(pt);const St="button",ie=".bs.button",Zt=".data-api",Ce="active",ve='[data-bs-toggle="button"]',Sn=`click${ie}${Zt}`;class cn extends ${static get NAME(){return St}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Ce))}static jQueryInterface(s){return this.each(function(){const a=cn.getOrCreateInstance(this);s==="toggle"&&a[s]()})}}N.on(document,Sn,ve,c=>{c.preventDefault();const s=c.target.closest(ve);cn.getOrCreateInstance(s).toggle()}),st(cn);const oe="swipe",zt=".bs.swipe",ur=`touchstart${zt}`,ud=`touchmove${zt}`,fd=`touchend${zt}`,dd=`pointerdown${zt}`,hd=`pointerup${zt}`,pd="touch",md="pen",gd="pointer-event",_d=40,Ed={endCallback:null,leftCallback:null,rightCallback:null},bd={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class fr extends E{constructor(s,a){super(),this._element=s,!(!s||!fr.isSupported())&&(this._config=this._getConfig(a),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Ed}static get DefaultType(){return bd}static get NAME(){return oe}dispose(){N.off(this._element,zt)}_start(s){if(!this._supportPointerEvents){this._deltaX=s.touches[0].clientX;return}this._eventIsPointerPenTouch(s)&&(this._deltaX=s.clientX)}_end(s){this._eventIsPointerPenTouch(s)&&(this._deltaX=s.clientX-this._deltaX),this._handleSwipe(),z(this._config.endCallback)}_move(s){this._deltaX=s.touches&&s.touches.length>1?0:s.touches[0].clientX-this._deltaX}_handleSwipe(){const s=Math.abs(this._deltaX);if(s<=_d)return;const a=s/this._deltaX;this._deltaX=0,a&&z(a>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,dd,s=>this._start(s)),N.on(this._element,hd,s=>this._end(s)),this._element.classList.add(gd)):(N.on(this._element,ur,s=>this._start(s)),N.on(this._element,ud,s=>this._move(s)),N.on(this._element,fd,s=>this._end(s)))}_eventIsPointerPenTouch(s){return this._supportPointerEvents&&(s.pointerType===md||s.pointerType===pd)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const vd="carousel",un=".bs.carousel",xa=".data-api",yd="ArrowLeft",wd="ArrowRight",Td=500,xs="next",ts="prev",es="left",dr="right",Ad=`slide${un}`,Oi=`slid${un}`,Sd=`keydown${un}`,Cd=`mouseenter${un}`,Od=`mouseleave${un}`,xd=`dragstart${un}`,Nd=`load${un}${xa}`,Dd=`click${un}${xa}`,Na="carousel",hr="active",$d="slide",Rd="carousel-item-end",Ld="carousel-item-start",Id="carousel-item-next",Pd="carousel-item-prev",Da=".active",$a=".carousel-item",Md=Da+$a,kd=".carousel-item img",Fd=".carousel-indicators",Bd="[data-bs-slide], [data-bs-slide-to]",Hd='[data-bs-ride="carousel"]',Vd={[yd]:dr,[wd]:es},jd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ud={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ns extends ${constructor(s,a){super(s,a),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=y.findOne(Fd,this._element),this._addEventListeners(),this._config.ride===Na&&this.cycle()}static get Default(){return jd}static get DefaultType(){return Ud}static get NAME(){return vd}next(){this._slide(xs)}nextWhenVisible(){!document.hidden&&T(this._element)&&this.next()}prev(){this._slide(ts)}pause(){this._isSliding&&m(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){N.one(this._element,Oi,()=>this.cycle());return}this.cycle()}}to(s){const a=this._getItems();if(s>a.length-1||s<0)return;if(this._isSliding){N.one(this._element,Oi,()=>this.to(s));return}const f=this._getItemIndex(this._getActive());if(f===s)return;const _=s>f?xs:ts;this._slide(_,a[s])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(s){return s.defaultInterval=s.interval,s}_addEventListeners(){this._config.keyboard&&N.on(this._element,Sd,s=>this._keydown(s)),this._config.pause==="hover"&&(N.on(this._element,Cd,()=>this.pause()),N.on(this._element,Od,()=>this._maybeEnableCycle())),this._config.touch&&fr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const f of y.find(kd,this._element))N.on(f,xd,_=>_.preventDefault());const a={leftCallback:()=>this._slide(this._directionToOrder(es)),rightCallback:()=>this._slide(this._directionToOrder(dr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Td+this._config.interval))}};this._swipeHelper=new fr(this._element,a)}_keydown(s){if(/input|textarea/i.test(s.target.tagName))return;const a=Vd[s.key];a&&(s.preventDefault(),this._slide(this._directionToOrder(a)))}_getItemIndex(s){return this._getItems().indexOf(s)}_setActiveIndicatorElement(s){if(!this._indicatorsElement)return;const a=y.findOne(Da,this._indicatorsElement);a.classList.remove(hr),a.removeAttribute("aria-current");const f=y.findOne(`[data-bs-slide-to="${s}"]`,this._indicatorsElement);f&&(f.classList.add(hr),f.setAttribute("aria-current","true"))}_updateInterval(){const s=this._activeElement||this._getActive();if(!s)return;const a=Number.parseInt(s.getAttribute("data-bs-interval"),10);this._config.interval=a||this._config.defaultInterval}_slide(s,a=null){if(this._isSliding)return;const f=this._getActive(),_=s===xs,v=a||K(this._getItems(),f,_,this._config.wrap);if(v===f)return;const w=this._getItemIndex(v),O=ft=>N.trigger(this._element,ft,{relatedTarget:v,direction:this._orderToDirection(s),from:this._getItemIndex(f),to:w});if(O(Ad).defaultPrevented||!f||!v)return;const et=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(w),this._activeElement=v;const H=_?Ld:Rd,mt=_?Id:Pd;v.classList.add(mt),tt(v),f.classList.add(H),v.classList.add(H);const gt=()=>{v.classList.remove(H,mt),v.classList.add(hr),f.classList.remove(hr,mt,H),this._isSliding=!1,O(Oi)};this._queueCallback(gt,f,this._isAnimated()),et&&this.cycle()}_isAnimated(){return this._element.classList.contains($d)}_getActive(){return y.findOne(Md,this._element)}_getItems(){return y.find($a,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(s){return Y()?s===es?ts:xs:s===es?xs:ts}_orderToDirection(s){return Y()?s===ts?es:dr:s===ts?dr:es}static jQueryInterface(s){return this.each(function(){const a=ns.getOrCreateInstance(this,s);if(typeof s=="number"){a.to(s);return}if(typeof s=="string"){if(a[s]===void 0||s.startsWith("_")||s==="constructor")throw new TypeError(`No method named "${s}"`);a[s]()}})}}N.on(document,Dd,Bd,function(c){const s=y.getElementFromSelector(this);if(!s||!s.classList.contains(Na))return;c.preventDefault();const a=ns.getOrCreateInstance(s),f=this.getAttribute("data-bs-slide-to");if(f){a.to(f),a._maybeEnableCycle();return}if(g.getDataAttribute(this,"slide")==="next"){a.next(),a._maybeEnableCycle();return}a.prev(),a._maybeEnableCycle()}),N.on(window,Nd,()=>{const c=y.find(Hd);for(const s of c)ns.getOrCreateInstance(s)}),st(ns);const Wd="collapse",Ns=".bs.collapse",Kd=".data-api",qd=`show${Ns}`,Yd=`shown${Ns}`,zd=`hide${Ns}`,Gd=`hidden${Ns}`,Jd=`click${Ns}${Kd}`,xi="show",ss="collapse",pr="collapsing",Xd="collapsed",Qd=`:scope .${ss} .${ss}`,Zd="collapse-horizontal",th="width",eh="height",nh=".collapse.show, .collapse.collapsing",Ni='[data-bs-toggle="collapse"]',sh={parent:null,toggle:!0},rh={parent:"(null|element)",toggle:"boolean"};class rs extends ${constructor(s,a){super(s,a),this._isTransitioning=!1,this._triggerArray=[];const f=y.find(Ni);for(const _ of f){const v=y.getSelectorFromElement(_),w=y.find(v).filter(O=>O===this._element);v!==null&&w.length&&this._triggerArray.push(_)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return sh}static get DefaultType(){return rh}static get NAME(){return Wd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let s=[];if(this._config.parent&&(s=this._getFirstLevelChildren(nh).filter(O=>O!==this._element).map(O=>rs.getOrCreateInstance(O,{toggle:!1}))),s.length&&s[0]._isTransitioning||N.trigger(this._element,qd).defaultPrevented)return;for(const O of s)O.hide();const f=this._getDimension();this._element.classList.remove(ss),this._element.classList.add(pr),this._element.style[f]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const _=()=>{this._isTransitioning=!1,this._element.classList.remove(pr),this._element.classList.add(ss,xi),this._element.style[f]="",N.trigger(this._element,Yd)},w=`scroll${f[0].toUpperCase()+f.slice(1)}`;this._queueCallback(_,this._element,!0),this._element.style[f]=`${this._element[w]}px`}hide(){if(this._isTransitioning||!this._isShown()||N.trigger(this._element,zd).defaultPrevented)return;const a=this._getDimension();this._element.style[a]=`${this._element.getBoundingClientRect()[a]}px`,tt(this._element),this._element.classList.add(pr),this._element.classList.remove(ss,xi);for(const _ of this._triggerArray){const v=y.getElementFromSelector(_);v&&!this._isShown(v)&&this._addAriaAndCollapsedClass([_],!1)}this._isTransitioning=!0;const f=()=>{this._isTransitioning=!1,this._element.classList.remove(pr),this._element.classList.add(ss),N.trigger(this._element,Gd)};this._element.style[a]="",this._queueCallback(f,this._element,!0)}_isShown(s=this._element){return s.classList.contains(xi)}_configAfterMerge(s){return s.toggle=!!s.toggle,s.parent=S(s.parent),s}_getDimension(){return this._element.classList.contains(Zd)?th:eh}_initializeChildren(){if(!this._config.parent)return;const s=this._getFirstLevelChildren(Ni);for(const a of s){const f=y.getElementFromSelector(a);f&&this._addAriaAndCollapsedClass([a],this._isShown(f))}}_getFirstLevelChildren(s){const a=y.find(Qd,this._config.parent);return y.find(s,this._config.parent).filter(f=>!a.includes(f))}_addAriaAndCollapsedClass(s,a){if(s.length)for(const f of s)f.classList.toggle(Xd,!a),f.setAttribute("aria-expanded",a)}static jQueryInterface(s){const a={};return typeof s=="string"&&/show|hide/.test(s)&&(a.toggle=!1),this.each(function(){const f=rs.getOrCreateInstance(this,a);if(typeof s=="string"){if(typeof f[s]>"u")throw new TypeError(`No method named "${s}"`);f[s]()}})}}N.on(document,Jd,Ni,function(c){(c.target.tagName==="A"||c.delegateTarget&&c.delegateTarget.tagName==="A")&&c.preventDefault();for(const s of y.getMultipleElementsFromSelector(this))rs.getOrCreateInstance(s,{toggle:!1}).toggle()}),st(rs);var ae="top",ye="bottom",we="right",le="left",mr="auto",is=[ae,ye,we,le],Cn="start",os="end",Ra="clippingParents",Di="viewport",as="popper",La="reference",$i=is.reduce(function(c,s){return c.concat([s+"-"+Cn,s+"-"+os])},[]),Ri=[].concat(is,[mr]).reduce(function(c,s){return c.concat([s,s+"-"+Cn,s+"-"+os])},[]),Ia="beforeRead",Pa="read",Ma="afterRead",ka="beforeMain",Fa="main",Ba="afterMain",Ha="beforeWrite",Va="write",ja="afterWrite",Ua=[Ia,Pa,Ma,ka,Fa,Ba,Ha,Va,ja];function Ve(c){return c?(c.nodeName||"").toLowerCase():null}function Te(c){if(c==null)return window;if(c.toString()!=="[object Window]"){var s=c.ownerDocument;return s&&s.defaultView||window}return c}function On(c){var s=Te(c).Element;return c instanceof s||c instanceof Element}function Oe(c){var s=Te(c).HTMLElement;return c instanceof s||c instanceof HTMLElement}function Li(c){if(typeof ShadowRoot>"u")return!1;var s=Te(c).ShadowRoot;return c instanceof s||c instanceof ShadowRoot}function ih(c){var s=c.state;Object.keys(s.elements).forEach(function(a){var f=s.styles[a]||{},_=s.attributes[a]||{},v=s.elements[a];!Oe(v)||!Ve(v)||(Object.assign(v.style,f),Object.keys(_).forEach(function(w){var O=_[w];O===!1?v.removeAttribute(w):v.setAttribute(w,O===!0?"":O)}))})}function oh(c){var s=c.state,a={popper:{position:s.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(s.elements.popper.style,a.popper),s.styles=a,s.elements.arrow&&Object.assign(s.elements.arrow.style,a.arrow),function(){Object.keys(s.elements).forEach(function(f){var _=s.elements[f],v=s.attributes[f]||{},w=Object.keys(s.styles.hasOwnProperty(f)?s.styles[f]:a[f]),O=w.reduce(function(M,et){return M[et]="",M},{});!Oe(_)||!Ve(_)||(Object.assign(_.style,O),Object.keys(v).forEach(function(M){_.removeAttribute(M)}))})}}const Ii={name:"applyStyles",enabled:!0,phase:"write",fn:ih,effect:oh,requires:["computeStyles"]};function je(c){return c.split("-")[0]}var xn=Math.max,gr=Math.min,ls=Math.round;function Pi(){var c=navigator.userAgentData;return c!=null&&c.brands&&Array.isArray(c.brands)?c.brands.map(function(s){return s.brand+"/"+s.version}).join(" "):navigator.userAgent}function Wa(){return!/^((?!chrome|android).)*safari/i.test(Pi())}function cs(c,s,a){s===void 0&&(s=!1),a===void 0&&(a=!1);var f=c.getBoundingClientRect(),_=1,v=1;s&&Oe(c)&&(_=c.offsetWidth>0&&ls(f.width)/c.offsetWidth||1,v=c.offsetHeight>0&&ls(f.height)/c.offsetHeight||1);var w=On(c)?Te(c):window,O=w.visualViewport,M=!Wa()&&a,et=(f.left+(M&&O?O.offsetLeft:0))/_,H=(f.top+(M&&O?O.offsetTop:0))/v,mt=f.width/_,gt=f.height/v;return{width:mt,height:gt,top:H,right:et+mt,bottom:H+gt,left:et,x:et,y:H}}function Mi(c){var s=cs(c),a=c.offsetWidth,f=c.offsetHeight;return Math.abs(s.width-a)<=1&&(a=s.width),Math.abs(s.height-f)<=1&&(f=s.height),{x:c.offsetLeft,y:c.offsetTop,width:a,height:f}}function Ka(c,s){var a=s.getRootNode&&s.getRootNode();if(c.contains(s))return!0;if(a&&Li(a)){var f=s;do{if(f&&c.isSameNode(f))return!0;f=f.parentNode||f.host}while(f)}return!1}function Je(c){return Te(c).getComputedStyle(c)}function ah(c){return["table","td","th"].indexOf(Ve(c))>=0}function fn(c){return((On(c)?c.ownerDocument:c.document)||window.document).documentElement}function _r(c){return Ve(c)==="html"?c:c.assignedSlot||c.parentNode||(Li(c)?c.host:null)||fn(c)}function qa(c){return!Oe(c)||Je(c).position==="fixed"?null:c.offsetParent}function lh(c){var s=/firefox/i.test(Pi()),a=/Trident/i.test(Pi());if(a&&Oe(c)){var f=Je(c);if(f.position==="fixed")return null}var _=_r(c);for(Li(_)&&(_=_.host);Oe(_)&&["html","body"].indexOf(Ve(_))<0;){var v=Je(_);if(v.transform!=="none"||v.perspective!=="none"||v.contain==="paint"||["transform","perspective"].indexOf(v.willChange)!==-1||s&&v.willChange==="filter"||s&&v.filter&&v.filter!=="none")return _;_=_.parentNode}return null}function Ds(c){for(var s=Te(c),a=qa(c);a&&ah(a)&&Je(a).position==="static";)a=qa(a);return a&&(Ve(a)==="html"||Ve(a)==="body"&&Je(a).position==="static")?s:a||lh(c)||s}function ki(c){return["top","bottom"].indexOf(c)>=0?"x":"y"}function $s(c,s,a){return xn(c,gr(s,a))}function ch(c,s,a){var f=$s(c,s,a);return f>a?a:f}function Ya(){return{top:0,right:0,bottom:0,left:0}}function za(c){return Object.assign({},Ya(),c)}function Ga(c,s){return s.reduce(function(a,f){return a[f]=c,a},{})}var uh=function(s,a){return s=typeof s=="function"?s(Object.assign({},a.rects,{placement:a.placement})):s,za(typeof s!="number"?s:Ga(s,is))};function fh(c){var s,a=c.state,f=c.name,_=c.options,v=a.elements.arrow,w=a.modifiersData.popperOffsets,O=je(a.placement),M=ki(O),et=[le,we].indexOf(O)>=0,H=et?"height":"width";if(!(!v||!w)){var mt=uh(_.padding,a),gt=Mi(v),ft=M==="y"?ae:le,Dt=M==="y"?ye:we,_t=a.rects.reference[H]+a.rects.reference[M]-w[M]-a.rects.popper[H],wt=w[M]-a.rects.reference[M],Rt=Ds(v),Bt=Rt?M==="y"?Rt.clientHeight||0:Rt.clientWidth||0:0,Ht=_t/2-wt/2,bt=mt[ft],Ct=Bt-gt[H]-mt[Dt],Ot=Bt/2-gt[H]/2+Ht,Pt=$s(bt,Ot,Ct),Gt=M;a.modifiersData[f]=(s={},s[Gt]=Pt,s.centerOffset=Pt-Ot,s)}}function dh(c){var s=c.state,a=c.options,f=a.element,_=f===void 0?"[data-popper-arrow]":f;_!=null&&(typeof _=="string"&&(_=s.elements.popper.querySelector(_),!_)||Ka(s.elements.popper,_)&&(s.elements.arrow=_))}const Ja={name:"arrow",enabled:!0,phase:"main",fn:fh,effect:dh,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function us(c){return c.split("-")[1]}var hh={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ph(c,s){var a=c.x,f=c.y,_=s.devicePixelRatio||1;return{x:ls(a*_)/_||0,y:ls(f*_)/_||0}}function Xa(c){var s,a=c.popper,f=c.popperRect,_=c.placement,v=c.variation,w=c.offsets,O=c.position,M=c.gpuAcceleration,et=c.adaptive,H=c.roundOffsets,mt=c.isFixed,gt=w.x,ft=gt===void 0?0:gt,Dt=w.y,_t=Dt===void 0?0:Dt,wt=typeof H=="function"?H({x:ft,y:_t}):{x:ft,y:_t};ft=wt.x,_t=wt.y;var Rt=w.hasOwnProperty("x"),Bt=w.hasOwnProperty("y"),Ht=le,bt=ae,Ct=window;if(et){var Ot=Ds(a),Pt="clientHeight",Gt="clientWidth";if(Ot===Te(a)&&(Ot=fn(a),Je(Ot).position!=="static"&&O==="absolute"&&(Pt="scrollHeight",Gt="scrollWidth")),Ot=Ot,_===ae||(_===le||_===we)&&v===os){bt=ye;var qt=mt&&Ot===Ct&&Ct.visualViewport?Ct.visualViewport.height:Ot[Pt];_t-=qt-f.height,_t*=M?1:-1}if(_===le||(_===ae||_===ye)&&v===os){Ht=we;var jt=mt&&Ot===Ct&&Ct.visualViewport?Ct.visualViewport.width:Ot[Gt];ft-=jt-f.width,ft*=M?1:-1}}var te=Object.assign({position:O},et&&hh),Pe=H===!0?ph({x:ft,y:_t},Te(a)):{x:ft,y:_t};if(ft=Pe.x,_t=Pe.y,M){var ce;return Object.assign({},te,(ce={},ce[bt]=Bt?"0":"",ce[Ht]=Rt?"0":"",ce.transform=(Ct.devicePixelRatio||1)<=1?"translate("+ft+"px, "+_t+"px)":"translate3d("+ft+"px, "+_t+"px, 0)",ce))}return Object.assign({},te,(s={},s[bt]=Bt?_t+"px":"",s[Ht]=Rt?ft+"px":"",s.transform="",s))}function mh(c){var s=c.state,a=c.options,f=a.gpuAcceleration,_=f===void 0?!0:f,v=a.adaptive,w=v===void 0?!0:v,O=a.roundOffsets,M=O===void 0?!0:O,et={placement:je(s.placement),variation:us(s.placement),popper:s.elements.popper,popperRect:s.rects.popper,gpuAcceleration:_,isFixed:s.options.strategy==="fixed"};s.modifiersData.popperOffsets!=null&&(s.styles.popper=Object.assign({},s.styles.popper,Xa(Object.assign({},et,{offsets:s.modifiersData.popperOffsets,position:s.options.strategy,adaptive:w,roundOffsets:M})))),s.modifiersData.arrow!=null&&(s.styles.arrow=Object.assign({},s.styles.arrow,Xa(Object.assign({},et,{offsets:s.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:M})))),s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-placement":s.placement})}const Fi={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:mh,data:{}};var Er={passive:!0};function gh(c){var s=c.state,a=c.instance,f=c.options,_=f.scroll,v=_===void 0?!0:_,w=f.resize,O=w===void 0?!0:w,M=Te(s.elements.popper),et=[].concat(s.scrollParents.reference,s.scrollParents.popper);return v&&et.forEach(function(H){H.addEventListener("scroll",a.update,Er)}),O&&M.addEventListener("resize",a.update,Er),function(){v&&et.forEach(function(H){H.removeEventListener("scroll",a.update,Er)}),O&&M.removeEventListener("resize",a.update,Er)}}const Bi={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:gh,data:{}};var _h={left:"right",right:"left",bottom:"top",top:"bottom"};function br(c){return c.replace(/left|right|bottom|top/g,function(s){return _h[s]})}var Eh={start:"end",end:"start"};function Qa(c){return c.replace(/start|end/g,function(s){return Eh[s]})}function Hi(c){var s=Te(c),a=s.pageXOffset,f=s.pageYOffset;return{scrollLeft:a,scrollTop:f}}function Vi(c){return cs(fn(c)).left+Hi(c).scrollLeft}function bh(c,s){var a=Te(c),f=fn(c),_=a.visualViewport,v=f.clientWidth,w=f.clientHeight,O=0,M=0;if(_){v=_.width,w=_.height;var et=Wa();(et||!et&&s==="fixed")&&(O=_.offsetLeft,M=_.offsetTop)}return{width:v,height:w,x:O+Vi(c),y:M}}function vh(c){var s,a=fn(c),f=Hi(c),_=(s=c.ownerDocument)==null?void 0:s.body,v=xn(a.scrollWidth,a.clientWidth,_?_.scrollWidth:0,_?_.clientWidth:0),w=xn(a.scrollHeight,a.clientHeight,_?_.scrollHeight:0,_?_.clientHeight:0),O=-f.scrollLeft+Vi(c),M=-f.scrollTop;return Je(_||a).direction==="rtl"&&(O+=xn(a.clientWidth,_?_.clientWidth:0)-v),{width:v,height:w,x:O,y:M}}function ji(c){var s=Je(c),a=s.overflow,f=s.overflowX,_=s.overflowY;return/auto|scroll|overlay|hidden/.test(a+_+f)}function Za(c){return["html","body","#document"].indexOf(Ve(c))>=0?c.ownerDocument.body:Oe(c)&&ji(c)?c:Za(_r(c))}function Rs(c,s){var a;s===void 0&&(s=[]);var f=Za(c),_=f===((a=c.ownerDocument)==null?void 0:a.body),v=Te(f),w=_?[v].concat(v.visualViewport||[],ji(f)?f:[]):f,O=s.concat(w);return _?O:O.concat(Rs(_r(w)))}function Ui(c){return Object.assign({},c,{left:c.x,top:c.y,right:c.x+c.width,bottom:c.y+c.height})}function yh(c,s){var a=cs(c,!1,s==="fixed");return a.top=a.top+c.clientTop,a.left=a.left+c.clientLeft,a.bottom=a.top+c.clientHeight,a.right=a.left+c.clientWidth,a.width=c.clientWidth,a.height=c.clientHeight,a.x=a.left,a.y=a.top,a}function tl(c,s,a){return s===Di?Ui(bh(c,a)):On(s)?yh(s,a):Ui(vh(fn(c)))}function wh(c){var s=Rs(_r(c)),a=["absolute","fixed"].indexOf(Je(c).position)>=0,f=a&&Oe(c)?Ds(c):c;return On(f)?s.filter(function(_){return On(_)&&Ka(_,f)&&Ve(_)!=="body"}):[]}function Th(c,s,a,f){var _=s==="clippingParents"?wh(c):[].concat(s),v=[].concat(_,[a]),w=v[0],O=v.reduce(function(M,et){var H=tl(c,et,f);return M.top=xn(H.top,M.top),M.right=gr(H.right,M.right),M.bottom=gr(H.bottom,M.bottom),M.left=xn(H.left,M.left),M},tl(c,w,f));return O.width=O.right-O.left,O.height=O.bottom-O.top,O.x=O.left,O.y=O.top,O}function el(c){var s=c.reference,a=c.element,f=c.placement,_=f?je(f):null,v=f?us(f):null,w=s.x+s.width/2-a.width/2,O=s.y+s.height/2-a.height/2,M;switch(_){case ae:M={x:w,y:s.y-a.height};break;case ye:M={x:w,y:s.y+s.height};break;case we:M={x:s.x+s.width,y:O};break;case le:M={x:s.x-a.width,y:O};break;default:M={x:s.x,y:s.y}}var et=_?ki(_):null;if(et!=null){var H=et==="y"?"height":"width";switch(v){case Cn:M[et]=M[et]-(s[H]/2-a[H]/2);break;case os:M[et]=M[et]+(s[H]/2-a[H]/2);break}}return M}function fs(c,s){s===void 0&&(s={});var a=s,f=a.placement,_=f===void 0?c.placement:f,v=a.strategy,w=v===void 0?c.strategy:v,O=a.boundary,M=O===void 0?Ra:O,et=a.rootBoundary,H=et===void 0?Di:et,mt=a.elementContext,gt=mt===void 0?as:mt,ft=a.altBoundary,Dt=ft===void 0?!1:ft,_t=a.padding,wt=_t===void 0?0:_t,Rt=za(typeof wt!="number"?wt:Ga(wt,is)),Bt=gt===as?La:as,Ht=c.rects.popper,bt=c.elements[Dt?Bt:gt],Ct=Th(On(bt)?bt:bt.contextElement||fn(c.elements.popper),M,H,w),Ot=cs(c.elements.reference),Pt=el({reference:Ot,element:Ht,placement:_}),Gt=Ui(Object.assign({},Ht,Pt)),qt=gt===as?Gt:Ot,jt={top:Ct.top-qt.top+Rt.top,bottom:qt.bottom-Ct.bottom+Rt.bottom,left:Ct.left-qt.left+Rt.left,right:qt.right-Ct.right+Rt.right},te=c.modifiersData.offset;if(gt===as&&te){var Pe=te[_];Object.keys(jt).forEach(function(ce){var Mn=[we,ye].indexOf(ce)>=0?1:-1,kn=[ae,ye].indexOf(ce)>=0?"y":"x";jt[ce]+=Pe[kn]*Mn})}return jt}function Ah(c,s){s===void 0&&(s={});var a=s,f=a.placement,_=a.boundary,v=a.rootBoundary,w=a.padding,O=a.flipVariations,M=a.allowedAutoPlacements,et=M===void 0?Ri:M,H=us(f),mt=H?O?$i:$i.filter(function(Dt){return us(Dt)===H}):is,gt=mt.filter(function(Dt){return et.indexOf(Dt)>=0});gt.length===0&&(gt=mt);var ft=gt.reduce(function(Dt,_t){return Dt[_t]=fs(c,{placement:_t,boundary:_,rootBoundary:v,padding:w})[je(_t)],Dt},{});return Object.keys(ft).sort(function(Dt,_t){return ft[Dt]-ft[_t]})}function Sh(c){if(je(c)===mr)return[];var s=br(c);return[Qa(c),s,Qa(s)]}function Ch(c){var s=c.state,a=c.options,f=c.name;if(!s.modifiersData[f]._skip){for(var _=a.mainAxis,v=_===void 0?!0:_,w=a.altAxis,O=w===void 0?!0:w,M=a.fallbackPlacements,et=a.padding,H=a.boundary,mt=a.rootBoundary,gt=a.altBoundary,ft=a.flipVariations,Dt=ft===void 0?!0:ft,_t=a.allowedAutoPlacements,wt=s.options.placement,Rt=je(wt),Bt=Rt===wt,Ht=M||(Bt||!Dt?[br(wt)]:Sh(wt)),bt=[wt].concat(Ht).reduce(function(ps,hn){return ps.concat(je(hn)===mr?Ah(s,{placement:hn,boundary:H,rootBoundary:mt,padding:et,flipVariations:Dt,allowedAutoPlacements:_t}):hn)},[]),Ct=s.rects.reference,Ot=s.rects.popper,Pt=new Map,Gt=!0,qt=bt[0],jt=0;jt=0,kn=Mn?"width":"height",Ae=fs(s,{placement:te,boundary:H,rootBoundary:mt,altBoundary:gt,padding:et}),Me=Mn?ce?we:le:ce?ye:ae;Ct[kn]>Ot[kn]&&(Me=br(Me));var xr=br(Me),Fn=[];if(v&&Fn.push(Ae[Pe]<=0),O&&Fn.push(Ae[Me]<=0,Ae[xr]<=0),Fn.every(function(ps){return ps})){qt=te,Gt=!1;break}Pt.set(te,Fn)}if(Gt)for(var Nr=Dt?3:1,so=function(hn){var ks=bt.find(function($r){var Bn=Pt.get($r);if(Bn)return Bn.slice(0,hn).every(function(ro){return ro})});if(ks)return qt=ks,"break"},Ms=Nr;Ms>0;Ms--){var Dr=so(Ms);if(Dr==="break")break}s.placement!==qt&&(s.modifiersData[f]._skip=!0,s.placement=qt,s.reset=!0)}}const nl={name:"flip",enabled:!0,phase:"main",fn:Ch,requiresIfExists:["offset"],data:{_skip:!1}};function sl(c,s,a){return a===void 0&&(a={x:0,y:0}),{top:c.top-s.height-a.y,right:c.right-s.width+a.x,bottom:c.bottom-s.height+a.y,left:c.left-s.width-a.x}}function rl(c){return[ae,we,ye,le].some(function(s){return c[s]>=0})}function Oh(c){var s=c.state,a=c.name,f=s.rects.reference,_=s.rects.popper,v=s.modifiersData.preventOverflow,w=fs(s,{elementContext:"reference"}),O=fs(s,{altBoundary:!0}),M=sl(w,f),et=sl(O,_,v),H=rl(M),mt=rl(et);s.modifiersData[a]={referenceClippingOffsets:M,popperEscapeOffsets:et,isReferenceHidden:H,hasPopperEscaped:mt},s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-reference-hidden":H,"data-popper-escaped":mt})}const il={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Oh};function xh(c,s,a){var f=je(c),_=[le,ae].indexOf(f)>=0?-1:1,v=typeof a=="function"?a(Object.assign({},s,{placement:c})):a,w=v[0],O=v[1];return w=w||0,O=(O||0)*_,[le,we].indexOf(f)>=0?{x:O,y:w}:{x:w,y:O}}function Nh(c){var s=c.state,a=c.options,f=c.name,_=a.offset,v=_===void 0?[0,0]:_,w=Ri.reduce(function(H,mt){return H[mt]=xh(mt,s.rects,v),H},{}),O=w[s.placement],M=O.x,et=O.y;s.modifiersData.popperOffsets!=null&&(s.modifiersData.popperOffsets.x+=M,s.modifiersData.popperOffsets.y+=et),s.modifiersData[f]=w}const ol={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Nh};function Dh(c){var s=c.state,a=c.name;s.modifiersData[a]=el({reference:s.rects.reference,element:s.rects.popper,placement:s.placement})}const Wi={name:"popperOffsets",enabled:!0,phase:"read",fn:Dh,data:{}};function $h(c){return c==="x"?"y":"x"}function Rh(c){var s=c.state,a=c.options,f=c.name,_=a.mainAxis,v=_===void 0?!0:_,w=a.altAxis,O=w===void 0?!1:w,M=a.boundary,et=a.rootBoundary,H=a.altBoundary,mt=a.padding,gt=a.tether,ft=gt===void 0?!0:gt,Dt=a.tetherOffset,_t=Dt===void 0?0:Dt,wt=fs(s,{boundary:M,rootBoundary:et,padding:mt,altBoundary:H}),Rt=je(s.placement),Bt=us(s.placement),Ht=!Bt,bt=ki(Rt),Ct=$h(bt),Ot=s.modifiersData.popperOffsets,Pt=s.rects.reference,Gt=s.rects.popper,qt=typeof _t=="function"?_t(Object.assign({},s.rects,{placement:s.placement})):_t,jt=typeof qt=="number"?{mainAxis:qt,altAxis:qt}:Object.assign({mainAxis:0,altAxis:0},qt),te=s.modifiersData.offset?s.modifiersData.offset[s.placement]:null,Pe={x:0,y:0};if(Ot){if(v){var ce,Mn=bt==="y"?ae:le,kn=bt==="y"?ye:we,Ae=bt==="y"?"height":"width",Me=Ot[bt],xr=Me+wt[Mn],Fn=Me-wt[kn],Nr=ft?-Gt[Ae]/2:0,so=Bt===Cn?Pt[Ae]:Gt[Ae],Ms=Bt===Cn?-Gt[Ae]:-Pt[Ae],Dr=s.elements.arrow,ps=ft&&Dr?Mi(Dr):{width:0,height:0},hn=s.modifiersData["arrow#persistent"]?s.modifiersData["arrow#persistent"].padding:Ya(),ks=hn[Mn],$r=hn[kn],Bn=$s(0,Pt[Ae],ps[Ae]),ro=Ht?Pt[Ae]/2-Nr-Bn-ks-jt.mainAxis:so-Bn-ks-jt.mainAxis,Ag=Ht?-Pt[Ae]/2+Nr+Bn+$r+jt.mainAxis:Ms+Bn+$r+jt.mainAxis,io=s.elements.arrow&&Ds(s.elements.arrow),Sg=io?bt==="y"?io.clientTop||0:io.clientLeft||0:0,zl=(ce=te?.[bt])!=null?ce:0,Cg=Me+ro-zl-Sg,Og=Me+Ag-zl,Gl=$s(ft?gr(xr,Cg):xr,Me,ft?xn(Fn,Og):Fn);Ot[bt]=Gl,Pe[bt]=Gl-Me}if(O){var Jl,xg=bt==="x"?ae:le,Ng=bt==="x"?ye:we,Hn=Ot[Ct],Rr=Ct==="y"?"height":"width",Xl=Hn+wt[xg],Ql=Hn-wt[Ng],oo=[ae,le].indexOf(Rt)!==-1,Zl=(Jl=te?.[Ct])!=null?Jl:0,tc=oo?Xl:Hn-Pt[Rr]-Gt[Rr]-Zl+jt.altAxis,ec=oo?Hn+Pt[Rr]+Gt[Rr]-Zl-jt.altAxis:Ql,nc=ft&&oo?ch(tc,Hn,ec):$s(ft?tc:Xl,Hn,ft?ec:Ql);Ot[Ct]=nc,Pe[Ct]=nc-Hn}s.modifiersData[f]=Pe}}const al={name:"preventOverflow",enabled:!0,phase:"main",fn:Rh,requiresIfExists:["offset"]};function Lh(c){return{scrollLeft:c.scrollLeft,scrollTop:c.scrollTop}}function Ih(c){return c===Te(c)||!Oe(c)?Hi(c):Lh(c)}function Ph(c){var s=c.getBoundingClientRect(),a=ls(s.width)/c.offsetWidth||1,f=ls(s.height)/c.offsetHeight||1;return a!==1||f!==1}function Mh(c,s,a){a===void 0&&(a=!1);var f=Oe(s),_=Oe(s)&&Ph(s),v=fn(s),w=cs(c,_,a),O={scrollLeft:0,scrollTop:0},M={x:0,y:0};return(f||!f&&!a)&&((Ve(s)!=="body"||ji(v))&&(O=Ih(s)),Oe(s)?(M=cs(s,!0),M.x+=s.clientLeft,M.y+=s.clientTop):v&&(M.x=Vi(v))),{x:w.left+O.scrollLeft-M.x,y:w.top+O.scrollTop-M.y,width:w.width,height:w.height}}function kh(c){var s=new Map,a=new Set,f=[];c.forEach(function(v){s.set(v.name,v)});function _(v){a.add(v.name);var w=[].concat(v.requires||[],v.requiresIfExists||[]);w.forEach(function(O){if(!a.has(O)){var M=s.get(O);M&&_(M)}}),f.push(v)}return c.forEach(function(v){a.has(v.name)||_(v)}),f}function Fh(c){var s=kh(c);return Ua.reduce(function(a,f){return a.concat(s.filter(function(_){return _.phase===f}))},[])}function Bh(c){var s;return function(){return s||(s=new Promise(function(a){Promise.resolve().then(function(){s=void 0,a(c())})})),s}}function Hh(c){var s=c.reduce(function(a,f){var _=a[f.name];return a[f.name]=_?Object.assign({},_,f,{options:Object.assign({},_.options,f.options),data:Object.assign({},_.data,f.data)}):f,a},{});return Object.keys(s).map(function(a){return s[a]})}var ll={placement:"bottom",modifiers:[],strategy:"absolute"};function cl(){for(var c=arguments.length,s=new Array(c),a=0;a"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let s=this._element;this._config.reference==="parent"?s=this._parent:b(this._config.reference)?s=S(this._config.reference):typeof this._config.reference=="object"&&(s=this._config.reference);const a=this._getPopperConfig();this._popper=Ki(s,this._menu,a)}_isShown(){return this._menu.classList.contains(ds)}_getPlacement(){const s=this._parent;if(s.classList.contains(tp))return dp;if(s.classList.contains(ep))return hp;if(s.classList.contains(np))return pp;if(s.classList.contains(sp))return mp;const a=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return s.classList.contains(Zh)?a?cp:lp:a?fp:up}_detectNavbar(){return this._element.closest(ip)!==null}_getOffset(){const{offset:s}=this._config;return typeof s=="string"?s.split(",").map(a=>Number.parseInt(a,10)):typeof s=="function"?a=>s(a,this._element):s}_getPopperConfig(){const s={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(g.setDataAttribute(this._menu,"popper","static"),s.modifiers=[{name:"applyStyles",enabled:!1}]),{...s,...z(this._config.popperConfig,[void 0,s])}}_selectMenuItem({key:s,target:a}){const f=y.find(ap,this._menu).filter(_=>T(_));f.length&&K(f,a,s===hl,!f.includes(a)).focus()}static jQueryInterface(s){return this.each(function(){const a=Ie.getOrCreateInstance(this,s);if(typeof s=="string"){if(typeof a[s]>"u")throw new TypeError(`No method named "${s}"`);a[s]()}})}static clearMenus(s){if(s.button===Yh||s.type==="keyup"&&s.key!==dl)return;const a=y.find(rp);for(const f of a){const _=Ie.getInstance(f);if(!_||_._config.autoClose===!1)continue;const v=s.composedPath(),w=v.includes(_._menu);if(v.includes(_._element)||_._config.autoClose==="inside"&&!w||_._config.autoClose==="outside"&&w||_._menu.contains(s.target)&&(s.type==="keyup"&&s.key===dl||/input|select|option|textarea|form/i.test(s.target.tagName)))continue;const O={relatedTarget:_._element};s.type==="click"&&(O.clickEvent=s),_._completeHide(O)}}static dataApiKeydownHandler(s){const a=/input|textarea/i.test(s.target.tagName),f=s.key===Kh,_=[qh,hl].includes(s.key);if(!_&&!f||a&&!f)return;s.preventDefault();const v=this.matches(Dn)?this:y.prev(this,Dn)[0]||y.next(this,Dn)[0]||y.findOne(Dn,s.delegateTarget.parentNode),w=Ie.getOrCreateInstance(v);if(_){s.stopPropagation(),w.show(),w._selectMenuItem(s);return}w._isShown()&&(s.stopPropagation(),w.hide(),v.focus())}}N.on(document,ml,Dn,Ie.dataApiKeydownHandler),N.on(document,ml,yr,Ie.dataApiKeydownHandler),N.on(document,pl,Ie.clearMenus),N.on(document,Qh,Ie.clearMenus),N.on(document,pl,Dn,function(c){c.preventDefault(),Ie.getOrCreateInstance(this).toggle()}),st(Ie);const gl="backdrop",Ep="fade",_l="show",El=`mousedown.bs.${gl}`,bp={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vp={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class bl extends E{constructor(s){super(),this._config=this._getConfig(s),this._isAppended=!1,this._element=null}static get Default(){return bp}static get DefaultType(){return vp}static get NAME(){return gl}show(s){if(!this._config.isVisible){z(s);return}this._append();const a=this._getElement();this._config.isAnimated&&tt(a),a.classList.add(_l),this._emulateAnimation(()=>{z(s)})}hide(s){if(!this._config.isVisible){z(s);return}this._getElement().classList.remove(_l),this._emulateAnimation(()=>{this.dispose(),z(s)})}dispose(){this._isAppended&&(N.off(this._element,El),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const s=document.createElement("div");s.className=this._config.className,this._config.isAnimated&&s.classList.add(Ep),this._element=s}return this._element}_configAfterMerge(s){return s.rootElement=S(s.rootElement),s}_append(){if(this._isAppended)return;const s=this._getElement();this._config.rootElement.append(s),N.on(s,El,()=>{z(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(s){B(s,this._getElement(),this._config.isAnimated)}}const yp="focustrap",wr=".bs.focustrap",wp=`focusin${wr}`,Tp=`keydown.tab${wr}`,Ap="Tab",Sp="forward",vl="backward",Cp={autofocus:!0,trapElement:null},Op={autofocus:"boolean",trapElement:"element"};class yl extends E{constructor(s){super(),this._config=this._getConfig(s),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Cp}static get DefaultType(){return Op}static get NAME(){return yp}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,wr),N.on(document,wp,s=>this._handleFocusin(s)),N.on(document,Tp,s=>this._handleKeydown(s)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,wr))}_handleFocusin(s){const{trapElement:a}=this._config;if(s.target===document||s.target===a||a.contains(s.target))return;const f=y.focusableChildren(a);f.length===0?a.focus():this._lastTabNavDirection===vl?f[f.length-1].focus():f[0].focus()}_handleKeydown(s){s.key===Ap&&(this._lastTabNavDirection=s.shiftKey?vl:Sp)}}const wl=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Tl=".sticky-top",Tr="padding-right",Al="margin-right";class Yi{constructor(){this._element=document.body}getWidth(){const s=document.documentElement.clientWidth;return Math.abs(window.innerWidth-s)}hide(){const s=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Tr,a=>a+s),this._setElementAttributes(wl,Tr,a=>a+s),this._setElementAttributes(Tl,Al,a=>a-s)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Tr),this._resetElementAttributes(wl,Tr),this._resetElementAttributes(Tl,Al)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(s,a,f){const _=this.getWidth(),v=w=>{if(w!==this._element&&window.innerWidth>w.clientWidth+_)return;this._saveInitialAttribute(w,a);const O=window.getComputedStyle(w).getPropertyValue(a);w.style.setProperty(a,`${f(Number.parseFloat(O))}px`)};this._applyManipulationCallback(s,v)}_saveInitialAttribute(s,a){const f=s.style.getPropertyValue(a);f&&g.setDataAttribute(s,a,f)}_resetElementAttributes(s,a){const f=_=>{const v=g.getDataAttribute(_,a);if(v===null){_.style.removeProperty(a);return}g.removeDataAttribute(_,a),_.style.setProperty(a,v)};this._applyManipulationCallback(s,f)}_applyManipulationCallback(s,a){if(b(s)){a(s);return}for(const f of y.find(s,this._element))a(f)}}const xp="modal",xe=".bs.modal",Np=".data-api",Dp="Escape",$p=`hide${xe}`,Rp=`hidePrevented${xe}`,Sl=`hidden${xe}`,Cl=`show${xe}`,Lp=`shown${xe}`,Ip=`resize${xe}`,Pp=`click.dismiss${xe}`,Mp=`mousedown.dismiss${xe}`,kp=`keydown.dismiss${xe}`,Fp=`click${xe}${Np}`,Ol="modal-open",Bp="fade",xl="show",zi="modal-static",Hp=".modal.show",Vp=".modal-dialog",jp=".modal-body",Up='[data-bs-toggle="modal"]',Wp={backdrop:!0,focus:!0,keyboard:!0},Kp={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class $n extends ${constructor(s,a){super(s,a),this._dialog=y.findOne(Vp,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Yi,this._addEventListeners()}static get Default(){return Wp}static get DefaultType(){return Kp}static get NAME(){return xp}toggle(s){return this._isShown?this.hide():this.show(s)}show(s){this._isShown||this._isTransitioning||N.trigger(this._element,Cl,{relatedTarget:s}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ol),this._adjustDialog(),this._backdrop.show(()=>this._showElement(s)))}hide(){!this._isShown||this._isTransitioning||N.trigger(this._element,$p).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(xl),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){N.off(window,xe),N.off(this._dialog,xe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bl({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new yl({trapElement:this._element})}_showElement(s){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const a=y.findOne(jp,this._dialog);a&&(a.scrollTop=0),tt(this._element),this._element.classList.add(xl);const f=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,Lp,{relatedTarget:s})};this._queueCallback(f,this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,kp,s=>{if(s.key===Dp){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),N.on(window,Ip,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),N.on(this._element,Mp,s=>{N.one(this._element,Pp,a=>{if(!(this._element!==s.target||this._element!==a.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Ol),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,Sl)})}_isAnimated(){return this._element.classList.contains(Bp)}_triggerBackdropTransition(){if(N.trigger(this._element,Rp).defaultPrevented)return;const a=this._element.scrollHeight>document.documentElement.clientHeight,f=this._element.style.overflowY;f==="hidden"||this._element.classList.contains(zi)||(a||(this._element.style.overflowY="hidden"),this._element.classList.add(zi),this._queueCallback(()=>{this._element.classList.remove(zi),this._queueCallback(()=>{this._element.style.overflowY=f},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const s=this._element.scrollHeight>document.documentElement.clientHeight,a=this._scrollBar.getWidth(),f=a>0;if(f&&!s){const _=Y()?"paddingLeft":"paddingRight";this._element.style[_]=`${a}px`}if(!f&&s){const _=Y()?"paddingRight":"paddingLeft";this._element.style[_]=`${a}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(s,a){return this.each(function(){const f=$n.getOrCreateInstance(this,s);if(typeof s=="string"){if(typeof f[s]>"u")throw new TypeError(`No method named "${s}"`);f[s](a)}})}}N.on(document,Fp,Up,function(c){const s=y.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&c.preventDefault(),N.one(s,Cl,_=>{_.defaultPrevented||N.one(s,Sl,()=>{T(this)&&this.focus()})});const a=y.findOne(Hp);a&&$n.getInstance(a).hide(),$n.getOrCreateInstance(s).toggle(this)}),q($n),st($n);const qp="offcanvas",Xe=".bs.offcanvas",Nl=".data-api",Yp=`load${Xe}${Nl}`,zp="Escape",Dl="show",$l="showing",Rl="hiding",Gp="offcanvas-backdrop",Ll=".offcanvas.show",Jp=`show${Xe}`,Xp=`shown${Xe}`,Qp=`hide${Xe}`,Il=`hidePrevented${Xe}`,Pl=`hidden${Xe}`,Zp=`resize${Xe}`,tm=`click${Xe}${Nl}`,em=`keydown.dismiss${Xe}`,nm='[data-bs-toggle="offcanvas"]',sm={backdrop:!0,keyboard:!0,scroll:!1},rm={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Qe extends ${constructor(s,a){super(s,a),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return sm}static get DefaultType(){return rm}static get NAME(){return qp}toggle(s){return this._isShown?this.hide():this.show(s)}show(s){if(this._isShown||N.trigger(this._element,Jp,{relatedTarget:s}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Yi().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($l);const f=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Dl),this._element.classList.remove($l),N.trigger(this._element,Xp,{relatedTarget:s})};this._queueCallback(f,this._element,!0)}hide(){if(!this._isShown||N.trigger(this._element,Qp).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Rl),this._backdrop.hide();const a=()=>{this._element.classList.remove(Dl,Rl),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Yi().reset(),N.trigger(this._element,Pl)};this._queueCallback(a,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const s=()=>{if(this._config.backdrop==="static"){N.trigger(this._element,Il);return}this.hide()},a=!!this._config.backdrop;return new bl({className:Gp,isVisible:a,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:a?s:null})}_initializeFocusTrap(){return new yl({trapElement:this._element})}_addEventListeners(){N.on(this._element,em,s=>{if(s.key===zp){if(this._config.keyboard){this.hide();return}N.trigger(this._element,Il)}})}static jQueryInterface(s){return this.each(function(){const a=Qe.getOrCreateInstance(this,s);if(typeof s=="string"){if(a[s]===void 0||s.startsWith("_")||s==="constructor")throw new TypeError(`No method named "${s}"`);a[s](this)}})}}N.on(document,tm,nm,function(c){const s=y.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&c.preventDefault(),x(this))return;N.one(s,Pl,()=>{T(this)&&this.focus()});const a=y.findOne(Ll);a&&a!==s&&Qe.getInstance(a).hide(),Qe.getOrCreateInstance(s).toggle(this)}),N.on(window,Yp,()=>{for(const c of y.find(Ll))Qe.getOrCreateInstance(c).show()}),N.on(window,Zp,()=>{for(const c of y.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(c).position!=="fixed"&&Qe.getOrCreateInstance(c).hide()}),q(Qe),st(Qe);const Ml={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},im=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),om=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,am=(c,s)=>{const a=c.nodeName.toLowerCase();return s.includes(a)?im.has(a)?!!om.test(c.nodeValue):!0:s.filter(f=>f instanceof RegExp).some(f=>f.test(a))};function lm(c,s,a){if(!c.length)return c;if(a&&typeof a=="function")return a(c);const _=new window.DOMParser().parseFromString(c,"text/html"),v=[].concat(..._.body.querySelectorAll("*"));for(const w of v){const O=w.nodeName.toLowerCase();if(!Object.keys(s).includes(O)){w.remove();continue}const M=[].concat(...w.attributes),et=[].concat(s["*"]||[],s[O]||[]);for(const H of M)am(H,et)||w.removeAttribute(H.nodeName)}return _.body.innerHTML}const cm="TemplateFactory",um={allowList:Ml,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},fm={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},dm={entry:"(string|element|function|null)",selector:"(string|element)"};class hm extends E{constructor(s){super(),this._config=this._getConfig(s)}static get Default(){return um}static get DefaultType(){return fm}static get NAME(){return cm}getContent(){return Object.values(this._config.content).map(s=>this._resolvePossibleFunction(s)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(s){return this._checkContent(s),this._config.content={...this._config.content,...s},this}toHtml(){const s=document.createElement("div");s.innerHTML=this._maybeSanitize(this._config.template);for(const[_,v]of Object.entries(this._config.content))this._setContent(s,v,_);const a=s.children[0],f=this._resolvePossibleFunction(this._config.extraClass);return f&&a.classList.add(...f.split(" ")),a}_typeCheckConfig(s){super._typeCheckConfig(s),this._checkContent(s.content)}_checkContent(s){for(const[a,f]of Object.entries(s))super._typeCheckConfig({selector:a,entry:f},dm)}_setContent(s,a,f){const _=y.findOne(f,s);if(_){if(a=this._resolvePossibleFunction(a),!a){_.remove();return}if(b(a)){this._putElementInTemplate(S(a),_);return}if(this._config.html){_.innerHTML=this._maybeSanitize(a);return}_.textContent=a}}_maybeSanitize(s){return this._config.sanitize?lm(s,this._config.allowList,this._config.sanitizeFn):s}_resolvePossibleFunction(s){return z(s,[void 0,this])}_putElementInTemplate(s,a){if(this._config.html){a.innerHTML="",a.append(s);return}a.textContent=s.textContent}}const pm="tooltip",mm=new Set(["sanitize","allowList","sanitizeFn"]),Gi="fade",gm="modal",Ar="show",_m=".tooltip-inner",kl=`.${gm}`,Fl="hide.bs.modal",Ls="hover",Ji="focus",Em="click",bm="manual",vm="hide",ym="hidden",wm="show",Tm="shown",Am="inserted",Sm="click",Cm="focusin",Om="focusout",xm="mouseenter",Nm="mouseleave",Dm={AUTO:"auto",TOP:"top",RIGHT:Y()?"left":"right",BOTTOM:"bottom",LEFT:Y()?"right":"left"},$m={allowList:Ml,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Rm={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Rn extends ${constructor(s,a){if(typeof ul>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(s,a),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return $m}static get DefaultType(){return Rm}static get NAME(){return pm}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(kl),Fl,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const s=N.trigger(this._element,this.constructor.eventName(wm)),f=(F(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(s.defaultPrevented||!f)return;this._disposePopper();const _=this._getTipElement();this._element.setAttribute("aria-describedby",_.getAttribute("id"));const{container:v}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(v.append(_),N.trigger(this._element,this.constructor.eventName(Am))),this._popper=this._createPopper(_),_.classList.add(Ar),"ontouchstart"in document.documentElement)for(const O of[].concat(...document.body.children))N.on(O,"mouseover",Q);const w=()=>{N.trigger(this._element,this.constructor.eventName(Tm)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(w,this.tip,this._isAnimated())}hide(){if(!this._isShown()||N.trigger(this._element,this.constructor.eventName(vm)).defaultPrevented)return;if(this._getTipElement().classList.remove(Ar),"ontouchstart"in document.documentElement)for(const _ of[].concat(...document.body.children))N.off(_,"mouseover",Q);this._activeTrigger[Em]=!1,this._activeTrigger[Ji]=!1,this._activeTrigger[Ls]=!1,this._isHovered=null;const f=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName(ym)))};this._queueCallback(f,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(s){const a=this._getTemplateFactory(s).toHtml();if(!a)return null;a.classList.remove(Gi,Ar),a.classList.add(`bs-${this.constructor.NAME}-auto`);const f=p(this.constructor.NAME).toString();return a.setAttribute("id",f),this._isAnimated()&&a.classList.add(Gi),a}setContent(s){this._newContent=s,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(s){return this._templateFactory?this._templateFactory.changeContent(s):this._templateFactory=new hm({...this._config,content:s,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[_m]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(s){return this.constructor.getOrCreateInstance(s.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Gi)}_isShown(){return this.tip&&this.tip.classList.contains(Ar)}_createPopper(s){const a=z(this._config.placement,[this,s,this._element]),f=Dm[a.toUpperCase()];return Ki(this._element,s,this._getPopperConfig(f))}_getOffset(){const{offset:s}=this._config;return typeof s=="string"?s.split(",").map(a=>Number.parseInt(a,10)):typeof s=="function"?a=>s(a,this._element):s}_resolvePossibleFunction(s){return z(s,[this._element,this._element])}_getPopperConfig(s){const a={placement:s,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:f=>{this._getTipElement().setAttribute("data-popper-placement",f.state.placement)}}]};return{...a,...z(this._config.popperConfig,[void 0,a])}}_setListeners(){const s=this._config.trigger.split(" ");for(const a of s)if(a==="click")N.on(this._element,this.constructor.eventName(Sm),this._config.selector,f=>{this._initializeOnDelegatedTarget(f).toggle()});else if(a!==bm){const f=a===Ls?this.constructor.eventName(xm):this.constructor.eventName(Cm),_=a===Ls?this.constructor.eventName(Nm):this.constructor.eventName(Om);N.on(this._element,f,this._config.selector,v=>{const w=this._initializeOnDelegatedTarget(v);w._activeTrigger[v.type==="focusin"?Ji:Ls]=!0,w._enter()}),N.on(this._element,_,this._config.selector,v=>{const w=this._initializeOnDelegatedTarget(v);w._activeTrigger[v.type==="focusout"?Ji:Ls]=w._element.contains(v.relatedTarget),w._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(kl),Fl,this._hideModalHandler)}_fixTitle(){const s=this._element.getAttribute("title");s&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",s),this._element.setAttribute("data-bs-original-title",s),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(s,a){clearTimeout(this._timeout),this._timeout=setTimeout(s,a)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(s){const a=g.getDataAttributes(this._element);for(const f of Object.keys(a))mm.has(f)&&delete a[f];return s={...a,...typeof s=="object"&&s?s:{}},s=this._mergeConfigObj(s),s=this._configAfterMerge(s),this._typeCheckConfig(s),s}_configAfterMerge(s){return s.container=s.container===!1?document.body:S(s.container),typeof s.delay=="number"&&(s.delay={show:s.delay,hide:s.delay}),typeof s.title=="number"&&(s.title=s.title.toString()),typeof s.content=="number"&&(s.content=s.content.toString()),s}_getDelegateConfig(){const s={};for(const[a,f]of Object.entries(this._config))this.constructor.Default[a]!==f&&(s[a]=f);return s.selector=!1,s.trigger="manual",s}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(s){return this.each(function(){const a=Rn.getOrCreateInstance(this,s);if(typeof s=="string"){if(typeof a[s]>"u")throw new TypeError(`No method named "${s}"`);a[s]()}})}}st(Rn);const Lm="popover",Im=".popover-header",Pm=".popover-body",Mm={...Rn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},km={...Rn.DefaultType,content:"(null|string|element|function)"};class Sr extends Rn{static get Default(){return Mm}static get DefaultType(){return km}static get NAME(){return Lm}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Im]:this._getTitle(),[Pm]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(s){return this.each(function(){const a=Sr.getOrCreateInstance(this,s);if(typeof s=="string"){if(typeof a[s]>"u")throw new TypeError(`No method named "${s}"`);a[s]()}})}}st(Sr);const Fm="scrollspy",Xi=".bs.scrollspy",Bm=".data-api",Hm=`activate${Xi}`,Bl=`click${Xi}`,Vm=`load${Xi}${Bm}`,jm="dropdown-item",hs="active",Um='[data-bs-spy="scroll"]',Qi="[href]",Wm=".nav, .list-group",Hl=".nav-link",Km=`${Hl}, .nav-item > ${Hl}, .list-group-item`,qm=".dropdown",Ym=".dropdown-toggle",zm={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Gm={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Is extends ${constructor(s,a){super(s,a),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return zm}static get DefaultType(){return Gm}static get NAME(){return Fm}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const s of this._observableSections.values())this._observer.observe(s)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(s){return s.target=S(s.target)||document.body,s.rootMargin=s.offset?`${s.offset}px 0px -30%`:s.rootMargin,typeof s.threshold=="string"&&(s.threshold=s.threshold.split(",").map(a=>Number.parseFloat(a))),s}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,Bl),N.on(this._config.target,Bl,Qi,s=>{const a=this._observableSections.get(s.target.hash);if(a){s.preventDefault();const f=this._rootElement||window,_=a.offsetTop-this._element.offsetTop;if(f.scrollTo){f.scrollTo({top:_,behavior:"smooth"});return}f.scrollTop=_}}))}_getNewObserver(){const s={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(a=>this._observerCallback(a),s)}_observerCallback(s){const a=w=>this._targetLinks.get(`#${w.target.id}`),f=w=>{this._previousScrollData.visibleEntryTop=w.target.offsetTop,this._process(a(w))},_=(this._rootElement||document.documentElement).scrollTop,v=_>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=_;for(const w of s){if(!w.isIntersecting){this._activeTarget=null,this._clearActiveClass(a(w));continue}const O=w.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(v&&O){if(f(w),!_)return;continue}!v&&!O&&f(w)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const s=y.find(Qi,this._config.target);for(const a of s){if(!a.hash||x(a))continue;const f=y.findOne(decodeURI(a.hash),this._element);T(f)&&(this._targetLinks.set(decodeURI(a.hash),a),this._observableSections.set(a.hash,f))}}_process(s){this._activeTarget!==s&&(this._clearActiveClass(this._config.target),this._activeTarget=s,s.classList.add(hs),this._activateParents(s),N.trigger(this._element,Hm,{relatedTarget:s}))}_activateParents(s){if(s.classList.contains(jm)){y.findOne(Ym,s.closest(qm)).classList.add(hs);return}for(const a of y.parents(s,Wm))for(const f of y.prev(a,Km))f.classList.add(hs)}_clearActiveClass(s){s.classList.remove(hs);const a=y.find(`${Qi}.${hs}`,s);for(const f of a)f.classList.remove(hs)}static jQueryInterface(s){return this.each(function(){const a=Is.getOrCreateInstance(this,s);if(typeof s=="string"){if(a[s]===void 0||s.startsWith("_")||s==="constructor")throw new TypeError(`No method named "${s}"`);a[s]()}})}}N.on(window,Vm,()=>{for(const c of y.find(Um))Is.getOrCreateInstance(c)}),st(Is);const Jm="tab",Ln=".bs.tab",Xm=`hide${Ln}`,Qm=`hidden${Ln}`,Zm=`show${Ln}`,tg=`shown${Ln}`,eg=`click${Ln}`,ng=`keydown${Ln}`,sg=`load${Ln}`,rg="ArrowLeft",Vl="ArrowRight",ig="ArrowUp",jl="ArrowDown",Zi="Home",Ul="End",In="active",Wl="fade",to="show",og="dropdown",Kl=".dropdown-toggle",ag=".dropdown-menu",eo=`:not(${Kl})`,lg='.list-group, .nav, [role="tablist"]',cg=".nav-item, .list-group-item",ug=`.nav-link${eo}, .list-group-item${eo}, [role="tab"]${eo}`,ql='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',no=`${ug}, ${ql}`,fg=`.${In}[data-bs-toggle="tab"], .${In}[data-bs-toggle="pill"], .${In}[data-bs-toggle="list"]`;class Pn extends ${constructor(s){super(s),this._parent=this._element.closest(lg),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,ng,a=>this._keydown(a)))}static get NAME(){return Jm}show(){const s=this._element;if(this._elemIsActive(s))return;const a=this._getActiveElem(),f=a?N.trigger(a,Xm,{relatedTarget:s}):null;N.trigger(s,Zm,{relatedTarget:a}).defaultPrevented||f&&f.defaultPrevented||(this._deactivate(a,s),this._activate(s,a))}_activate(s,a){if(!s)return;s.classList.add(In),this._activate(y.getElementFromSelector(s));const f=()=>{if(s.getAttribute("role")!=="tab"){s.classList.add(to);return}s.removeAttribute("tabindex"),s.setAttribute("aria-selected",!0),this._toggleDropDown(s,!0),N.trigger(s,tg,{relatedTarget:a})};this._queueCallback(f,s,s.classList.contains(Wl))}_deactivate(s,a){if(!s)return;s.classList.remove(In),s.blur(),this._deactivate(y.getElementFromSelector(s));const f=()=>{if(s.getAttribute("role")!=="tab"){s.classList.remove(to);return}s.setAttribute("aria-selected",!1),s.setAttribute("tabindex","-1"),this._toggleDropDown(s,!1),N.trigger(s,Qm,{relatedTarget:a})};this._queueCallback(f,s,s.classList.contains(Wl))}_keydown(s){if(![rg,Vl,ig,jl,Zi,Ul].includes(s.key))return;s.stopPropagation(),s.preventDefault();const a=this._getChildren().filter(_=>!x(_));let f;if([Zi,Ul].includes(s.key))f=a[s.key===Zi?0:a.length-1];else{const _=[Vl,jl].includes(s.key);f=K(a,s.target,_,!0)}f&&(f.focus({preventScroll:!0}),Pn.getOrCreateInstance(f).show())}_getChildren(){return y.find(no,this._parent)}_getActiveElem(){return this._getChildren().find(s=>this._elemIsActive(s))||null}_setInitialAttributes(s,a){this._setAttributeIfNotExists(s,"role","tablist");for(const f of a)this._setInitialAttributesOnChild(f)}_setInitialAttributesOnChild(s){s=this._getInnerElement(s);const a=this._elemIsActive(s),f=this._getOuterElement(s);s.setAttribute("aria-selected",a),f!==s&&this._setAttributeIfNotExists(f,"role","presentation"),a||s.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(s,"role","tab"),this._setInitialAttributesOnTargetPanel(s)}_setInitialAttributesOnTargetPanel(s){const a=y.getElementFromSelector(s);a&&(this._setAttributeIfNotExists(a,"role","tabpanel"),s.id&&this._setAttributeIfNotExists(a,"aria-labelledby",`${s.id}`))}_toggleDropDown(s,a){const f=this._getOuterElement(s);if(!f.classList.contains(og))return;const _=(v,w)=>{const O=y.findOne(v,f);O&&O.classList.toggle(w,a)};_(Kl,In),_(ag,to),f.setAttribute("aria-expanded",a)}_setAttributeIfNotExists(s,a,f){s.hasAttribute(a)||s.setAttribute(a,f)}_elemIsActive(s){return s.classList.contains(In)}_getInnerElement(s){return s.matches(no)?s:y.findOne(no,s)}_getOuterElement(s){return s.closest(cg)||s}static jQueryInterface(s){return this.each(function(){const a=Pn.getOrCreateInstance(this);if(typeof s=="string"){if(a[s]===void 0||s.startsWith("_")||s==="constructor")throw new TypeError(`No method named "${s}"`);a[s]()}})}}N.on(document,eg,ql,function(c){["A","AREA"].includes(this.tagName)&&c.preventDefault(),!x(this)&&Pn.getOrCreateInstance(this).show()}),N.on(window,sg,()=>{for(const c of y.find(fg))Pn.getOrCreateInstance(c)}),st(Pn);const dg="toast",dn=".bs.toast",hg=`mouseover${dn}`,pg=`mouseout${dn}`,mg=`focusin${dn}`,gg=`focusout${dn}`,_g=`hide${dn}`,Eg=`hidden${dn}`,bg=`show${dn}`,vg=`shown${dn}`,yg="fade",Yl="hide",Cr="show",Or="showing",wg={animation:"boolean",autohide:"boolean",delay:"number"},Tg={animation:!0,autohide:!0,delay:5e3};class Ps extends ${constructor(s,a){super(s,a),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Tg}static get DefaultType(){return wg}static get NAME(){return dg}show(){if(N.trigger(this._element,bg).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(yg);const a=()=>{this._element.classList.remove(Or),N.trigger(this._element,vg),this._maybeScheduleHide()};this._element.classList.remove(Yl),tt(this._element),this._element.classList.add(Cr,Or),this._queueCallback(a,this._element,this._config.animation)}hide(){if(!this.isShown()||N.trigger(this._element,_g).defaultPrevented)return;const a=()=>{this._element.classList.add(Yl),this._element.classList.remove(Or,Cr),N.trigger(this._element,Eg)};this._element.classList.add(Or),this._queueCallback(a,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Cr),super.dispose()}isShown(){return this._element.classList.contains(Cr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(s,a){switch(s.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=a;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=a;break}}if(a){this._clearTimeout();return}const f=s.relatedTarget;this._element===f||this._element.contains(f)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,hg,s=>this._onInteraction(s,!0)),N.on(this._element,pg,s=>this._onInteraction(s,!1)),N.on(this._element,mg,s=>this._onInteraction(s,!0)),N.on(this._element,gg,s=>this._onInteraction(s,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(s){return this.each(function(){const a=Ps.getOrCreateInstance(this,s);if(typeof s=="string"){if(typeof a[s]>"u")throw new TypeError(`No method named "${s}"`);a[s](this)}})}}return q(Ps),st(Ps),{Alert:pt,Button:cn,Carousel:ns,Collapse:rs,Dropdown:Ie,Modal:$n,Offcanvas:Qe,Popover:Sr,ScrollSpy:Is,Tab:Pn,Toast:Ps,Tooltip:Rn}})}(qr)),qr.exports}Dy();const cd=new URLSearchParams(window.location.search),Go=cd.get("state"),Jo=cd.get("code");Go&&Jo&&window.history.replaceState({},"",window.location.pathname);const au=async()=>{debugger;const{default:t}=await Rg(async()=>{const{default:r}=await import("./router-eqjoytLE.js");return{default:r}},__vite__mapDeps([0,1]),import.meta.url),e=Eb(xy),n=await zo("/api/serverInformation",{});if(e.use(yb()),n){const r=Ca();r.serverInformation=n.data}e.use(t),e.mount("#app")};Go&&Jo?await py("/api/signin/oidc",{provider:Go,code:Jo,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname}).then(async t=>{t.status?window.location.replace(window.location.protocol+"//"+window.location.host+window.location.pathname):(await au(),Ca().newNotification(t.message,"danger"))}):await au();export{fi as A,na as B,Ca as C,Yy as D,M_ as E,Ks as F,De as G,F_ as H,ni as I,kt as J,ld as K,zo as L,Ky as M,Bc as N,py as O,Gy as P,mE as S,HE as T,Oa as _,f_ as a,hi as b,wa as c,qy as d,x_ as e,O_ as f,Lb as g,IE as h,zs as i,ma as j,ei as k,rn as l,fe as m,da as n,Xu as o,Y_ as p,ba as q,Lu as r,Wy as s,Ut as t,h_ as u,Rb as v,Br as w,zy as x,So as y,kb as z}; diff --git a/src/static/dist/WGDashboardClient/assets/index-BGKUQnbP.css b/src/static/dist/WGDashboardClient/assets/index-DZ4pmfoO.css similarity index 99% rename from src/static/dist/WGDashboardClient/assets/index-BGKUQnbP.css rename to src/static/dist/WGDashboardClient/assets/index-DZ4pmfoO.css index 529eca39..e5bd5592 100644 --- a/src/static/dist/WGDashboardClient/assets/index-BGKUQnbP.css +++ b/src/static/dist/WGDashboardClient/assets/index-DZ4pmfoO.css @@ -6,4 +6,4 @@ * Bootstrap Icons v1.13.1 (https://icons.getbootstrap.com/) * Copyright 2019-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) - */@font-face{font-display:block;font-family:bootstrap-icons;src:url(./bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(./bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.bi-bluesky:before{content:""}.bi-tux:before{content:"滑"}.bi-beaker-fill:before{content:"串"}.bi-beaker:before{content:"句"}.bi-flask-fill:before{content:"龜"}.bi-flask-florence-fill:before{content:"龜"}.bi-flask-florence:before{content:"契"}.bi-flask:before{content:"金"}.bi-leaf-fill:before{content:"喇"}.bi-leaf:before{content:"奈"}.bi-measuring-cup-fill:before{content:"懶"}.bi-measuring-cup:before{content:"癩"}.bi-unlock2-fill:before{content:"羅"}.bi-unlock2:before{content:"蘿"}.bi-battery-low:before{content:"螺"}.bi-anthropic:before{content:"裸"}.bi-apple-music:before{content:"邏"}.bi-claude:before{content:"樂"}.bi-openai:before{content:"洛"}.bi-perplexity:before{content:"烙"}.bi-css:before{content:"珞"}.bi-javascript:before{content:"落"}.bi-typescript:before{content:"酪"}.bi-fork-knife:before{content:"駱"}.bi-globe-americas-fill:before{content:"亂"}.bi-globe-asia-australia-fill:before{content:"卵"}.bi-globe-central-south-asia-fill:before{content:"欄"}.bi-globe-europe-africa-fill:before{content:"爛"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;src:url(./PlusJakartaSans-VariableFont_wght-D_DSbd_K.ttf) format("ttf")}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:200 800;src:url(./PlusJakartaSans-Italic-VariableFont_wght-BdWtZZ8T.ttf) format("ttf")}*{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #F94647; inherits: false;}@property --distance1{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance1),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 .3s,--brandColor2 .3s!important}.btn-brand:hover{--brandColor1: rgb(0, 142, 216);--brandColor2: rgba(249, 70, 71) }::-webkit-scrollbar{display:none}.slide-right-enter-active,.slide-right-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slide-right-enter-from,.slide-right-leave-to{opacity:0}.slide-right-enter-from{transform:translate(-20px)}.slide-right-leave-to{transform:translate(20px)}.app-enter-active,.app-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.app-enter-from,.app-leave-to{opacity:0;filter:blur(8px)}.app-enter-from{transform:translateY(20px)}.app-leave-to{transform:translateY(-20px)}.btn-outline-body{color:#000;border-color:#000!important;background-color:transparent}[data-bs-theme=dark] .btn-outline-body{color:#fff;border-color:#fff!important;background-color:transparent}.btn-body{border-color:#000!important;color:#fff!important;background-color:#000}.btn-body:hover{border-color:#373737!important;color:#fff!important;background-color:#373737!important}[data-bs-theme=dark] .btn-body{border-color:#fff!important;color:#000!important;background-color:#fff}[data-bs-theme=dark] .btn-body:hover{border-color:#e8e8e8!important;color:#000!important;background-color:#e8e8e8!important}.form-control{border-width:0}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.form-control{background-color:#00000040!important;backdrop-filter:blur(8px)!important}.notification[data-v-3303bfcd]{width:100%;word-break:break-word}@media screen and (min-width: 576px){.notification[data-v-3303bfcd]{width:400px}}.message-move[data-v-e4fed80c],.message-enter-active[data-v-e4fed80c],.message-leave-active[data-v-e4fed80c]{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from[data-v-e4fed80c],.message-leave-to[data-v-e4fed80c]{filter:blur(2px);opacity:0}.message-enter-from[data-v-e4fed80c]{transform:translateY(-30px)}.message-leave-to[data-v-e4fed80c]{transform:translateY(30px)}.messageCentre[data-v-e4fed80c]{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre[data-v-e4fed80c]{width:calc(100% - 2rem)}}#listContainer[data-v-30cf86d3]{width:100%}@media screen and (min-width: 992px){#listContainer[data-v-30cf86d3]{width:700px}}.innerContainer[data-v-30cf86d3]{height:100vh}@supports (height: 100dvh){.innerContainer[data-v-30cf86d3]{height:100dvh}}.bg-body[data-bs-theme=dark][data-v-30cf86d3]{background:linear-gradient(#30303080,#00000080),url(../img/fabrizio-conti-aExT3y92x5o-unsplash.jpg) fixed;background-size:cover;background-position:top}canvas[data-v-ec841c31]{width:250px!important;height:250px!important}.qrcodeContainer[data-v-83f277d2]{background-color:#00000050;backdrop-filter:blur(8px) brightness(.7);z-index:9999}.button-group a[data-v-5e50834a]:hover{background-color:#ffffff20}.dot[data-v-5e50834a]{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active[data-v-5e50834a]{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.nav-link[data-v-9bb8c5cf]{padding:1rem}@media screen and (max-width: 576px){.nav-links a span[data-v-9bb8c5cf]{display:none}}.card[data-v-9bb8c5cf],.card[data-v-c81aa653]{background-color:#00000040;backdrop-filter:blur(8px)} + */@font-face{font-display:block;font-family:bootstrap-icons;src:url(./bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(./bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.bi-bluesky:before{content:""}.bi-tux:before{content:"滑"}.bi-beaker-fill:before{content:"串"}.bi-beaker:before{content:"句"}.bi-flask-fill:before{content:"龜"}.bi-flask-florence-fill:before{content:"龜"}.bi-flask-florence:before{content:"契"}.bi-flask:before{content:"金"}.bi-leaf-fill:before{content:"喇"}.bi-leaf:before{content:"奈"}.bi-measuring-cup-fill:before{content:"懶"}.bi-measuring-cup:before{content:"癩"}.bi-unlock2-fill:before{content:"羅"}.bi-unlock2:before{content:"蘿"}.bi-battery-low:before{content:"螺"}.bi-anthropic:before{content:"裸"}.bi-apple-music:before{content:"邏"}.bi-claude:before{content:"樂"}.bi-openai:before{content:"洛"}.bi-perplexity:before{content:"烙"}.bi-css:before{content:"珞"}.bi-javascript:before{content:"落"}.bi-typescript:before{content:"酪"}.bi-fork-knife:before{content:"駱"}.bi-globe-americas-fill:before{content:"亂"}.bi-globe-asia-australia-fill:before{content:"卵"}.bi-globe-central-south-asia-fill:before{content:"欄"}.bi-globe-europe-africa-fill:before{content:"爛"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;src:url(./PlusJakartaSans-VariableFont_wght-D_DSbd_K.ttf) format("ttf")}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:200 800;src:url(./PlusJakartaSans-Italic-VariableFont_wght-BdWtZZ8T.ttf) format("ttf")}*{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #F94647; inherits: false;}@property --distance1{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance1),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 .3s,--brandColor2 .3s!important}.btn-brand:hover{--brandColor1: rgb(0, 142, 216);--brandColor2: rgba(249, 70, 71) }::-webkit-scrollbar{display:none}.slide-right-enter-active,.slide-right-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slide-right-enter-from,.slide-right-leave-to{opacity:0}.slide-right-enter-from{transform:translate(-20px)}.slide-right-leave-to{transform:translate(20px)}.app-enter-active,.app-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.app-enter-from,.app-leave-to{opacity:0;filter:blur(8px)}.app-enter-from{transform:translateY(20px)}.app-leave-to{transform:translateY(-20px)}.btn-outline-body{color:#000;border-color:#000!important;background-color:transparent}[data-bs-theme=dark] .btn-outline-body{color:#fff;border-color:#fff!important;background-color:transparent}.btn-body{border-color:#000!important;color:#fff!important;background-color:#000}.btn-body:hover{border-color:#373737!important;color:#fff!important;background-color:#373737!important}[data-bs-theme=dark] .btn-body{border-color:#fff!important;color:#000!important;background-color:#fff}[data-bs-theme=dark] .btn-body:hover{border-color:#e8e8e8!important;color:#000!important;background-color:#e8e8e8!important}.form-control{border-width:0}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.form-control{background-color:#00000040!important;backdrop-filter:blur(8px)!important}.notification[data-v-3303bfcd]{width:100%;word-break:break-word}@media screen and (min-width: 576px){.notification[data-v-3303bfcd]{width:400px}}.message-move[data-v-e4fed80c],.message-enter-active[data-v-e4fed80c],.message-leave-active[data-v-e4fed80c]{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from[data-v-e4fed80c],.message-leave-to[data-v-e4fed80c]{filter:blur(2px);opacity:0}.message-enter-from[data-v-e4fed80c]{transform:translateY(-30px)}.message-leave-to[data-v-e4fed80c]{transform:translateY(30px)}.messageCentre[data-v-e4fed80c]{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre[data-v-e4fed80c]{width:calc(100% - 2rem)}}#listContainer[data-v-30cf86d3]{width:100%}@media screen and (min-width: 992px){#listContainer[data-v-30cf86d3]{width:700px}}.innerContainer[data-v-30cf86d3]{height:100vh}@supports (height: 100dvh){.innerContainer[data-v-30cf86d3]{height:100dvh}}.bg-body[data-bs-theme=dark][data-v-30cf86d3]{background:linear-gradient(#30303080,#00000080),url(../img/fabrizio-conti-aExT3y92x5o-unsplash.jpg) fixed;background-size:cover;background-position:top} diff --git a/src/static/dist/WGDashboardClient/assets/index-oNzmMgcK.js b/src/static/dist/WGDashboardClient/assets/index-oNzmMgcK.js deleted file mode 100644 index 143011b8..00000000 --- a/src/static/dist/WGDashboardClient/assets/index-oNzmMgcK.js +++ /dev/null @@ -1,41 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/** -* @vue/shared v3.5.16 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function ml(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const He={},Ys=[],hn=()=>{},ab=()=>!1,zi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gl=e=>e.startsWith("onUpdate:"),nt=Object.assign,_l=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},lb=Object.prototype.hasOwnProperty,Me=(e,t)=>lb.call(e,t),he=Array.isArray,zs=e=>Wr(e)==="[object Map]",sr=e=>Wr(e)==="[object Set]",Tu=e=>Wr(e)==="[object Date]",ge=e=>typeof e=="function",Qe=e=>typeof e=="string",pn=e=>typeof e=="symbol",je=e=>e!==null&&typeof e=="object",vl=e=>(je(e)||ge(e))&&ge(e.then)&&ge(e.catch),Ed=Object.prototype.toString,Wr=e=>Ed.call(e),cb=e=>Wr(e).slice(8,-1),wd=e=>Wr(e)==="[object Object]",bl=e=>Qe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Sr=ml(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ub=/-(\w)/g,Kt=Gi(e=>e.replace(ub,(t,n)=>n?n.toUpperCase():"")),fb=/\B([A-Z])/g,Ts=Gi(e=>e.replace(fb,"-$1").toLowerCase()),Ji=Gi(e=>e.charAt(0).toUpperCase()+e.slice(1)),Zo=Gi(e=>e?`on${Ji(e)}`:""),Un=(e,t)=>!Object.is(e,t),Ci=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Mi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ad=e=>{const t=Qe(e)?Number(e):NaN;return isNaN(t)?e:t};let Au;const Qi=()=>Au||(Au=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xi(e){if(he(e)){const t={};for(let n=0;n{if(n){const s=n.split(hb);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Jt(e){let t="";if(Qe(e))t=e;else if(he(e))for(let n=0;nbs(n,t))}const Cd=e=>!!(e&&e.__v_isRef===!0),mt=e=>Qe(e)?e:e==null?"":he(e)||je(e)&&(e.toString===Ed||!ge(e.toString))?Cd(e)?mt(e.value):JSON.stringify(e,Od,2):String(e),Od=(e,t)=>Cd(t)?Od(e,t.value):zs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[ea(s,o)+" =>"]=r,n),{})}:sr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ea(n))}:pn(t)?ea(t):je(t)&&!he(t)&&!wd(t)?String(t):t,ea=(e,t="")=>{var n;return pn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.16 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ht;class xd{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ht,!t&&ht&&(this.index=(ht.scopes||(ht.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(ht=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Or){let t=Or;for(Or=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Cr;){let t=Cr;for(Cr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ld(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Id(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Tl(s),yb(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function ja(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Md(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Md(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lr)||(e.globalVersion=Lr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ja(e))))return;e.flags|=2;const t=e.dep,n=We,s=Qt;We=e,Qt=!0;try{Ld(e);const r=e.fn(e._value);(t.version===0||Un(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{We=n,Qt=s,Id(e),e.flags&=-3}}function Tl(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Tl(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function yb(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qt=!0;const kd=[];function An(){kd.push(Qt),Qt=!1}function Sn(){const e=kd.pop();Qt=e===void 0?!0:e}function Su(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=We;We=void 0;try{t()}finally{We=n}}}let Lr=0;class Eb{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Al{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!We||!Qt||We===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==We)n=this.activeLink=new Eb(We,this),We.deps?(n.prevDep=We.depsTail,We.depsTail.nextDep=n,We.depsTail=n):We.deps=We.depsTail=n,Bd(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=We.depsTail,n.nextDep=void 0,We.depsTail.nextDep=n,We.depsTail=n,We.deps===n&&(We.deps=s)}return n}trigger(t){this.version++,Lr++,this.notify(t)}notify(t){El();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{wl()}}}function Bd(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Bd(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ki=new WeakMap,ms=Symbol(""),qa=Symbol(""),Ir=Symbol("");function pt(e,t,n){if(Qt&&We){let s=ki.get(e);s||ki.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Al),r.map=s,r.key=n),r.track()}}function En(e,t,n,s,r,o){const a=ki.get(e);if(!a){Lr++;return}const l=u=>{u&&u.trigger()};if(El(),t==="clear")a.forEach(l);else{const u=he(e),d=u&&bl(n);if(u&&n==="length"){const f=Number(s);a.forEach((p,g)=>{(g==="length"||g===Ir||!pn(g)&&g>=f)&&l(p)})}else switch((n!==void 0||a.has(void 0))&&l(a.get(n)),d&&l(a.get(Ir)),t){case"add":u?d&&l(a.get("length")):(l(a.get(ms)),zs(e)&&l(a.get(qa)));break;case"delete":u||(l(a.get(ms)),zs(e)&&l(a.get(qa)));break;case"set":zs(e)&&l(a.get(ms));break}}wl()}function wb(e,t){const n=ki.get(e);return n&&n.get(t)}function Us(e){const t=Re(e);return t===e?t:(pt(t,"iterate",Ir),Ut(e)?t:t.map(ct))}function Zi(e){return pt(e=Re(e),"iterate",Ir),e}const Tb={__proto__:null,[Symbol.iterator](){return na(this,Symbol.iterator,ct)},concat(...e){return Us(this).concat(...e.map(t=>he(t)?Us(t):t))},entries(){return na(this,"entries",e=>(e[1]=ct(e[1]),e))},every(e,t){return vn(this,"every",e,t,void 0,arguments)},filter(e,t){return vn(this,"filter",e,t,n=>n.map(ct),arguments)},find(e,t){return vn(this,"find",e,t,ct,arguments)},findIndex(e,t){return vn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return vn(this,"findLast",e,t,ct,arguments)},findLastIndex(e,t){return vn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return vn(this,"forEach",e,t,void 0,arguments)},includes(...e){return sa(this,"includes",e)},indexOf(...e){return sa(this,"indexOf",e)},join(e){return Us(this).join(e)},lastIndexOf(...e){return sa(this,"lastIndexOf",e)},map(e,t){return vn(this,"map",e,t,void 0,arguments)},pop(){return vr(this,"pop")},push(...e){return vr(this,"push",e)},reduce(e,...t){return Cu(this,"reduce",e,t)},reduceRight(e,...t){return Cu(this,"reduceRight",e,t)},shift(){return vr(this,"shift")},some(e,t){return vn(this,"some",e,t,void 0,arguments)},splice(...e){return vr(this,"splice",e)},toReversed(){return Us(this).toReversed()},toSorted(e){return Us(this).toSorted(e)},toSpliced(...e){return Us(this).toSpliced(...e)},unshift(...e){return vr(this,"unshift",e)},values(){return na(this,"values",ct)}};function na(e,t,n){const s=Zi(e),r=s[t]();return s!==e&&!Ut(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.value&&(o.value=n(o.value)),o}),r}const Ab=Array.prototype;function vn(e,t,n,s,r,o){const a=Zi(e),l=a!==e&&!Ut(e),u=a[t];if(u!==Ab[t]){const p=u.apply(e,o);return l?ct(p):p}let d=n;a!==e&&(l?d=function(p,g){return n.call(this,ct(p),g,e)}:n.length>2&&(d=function(p,g){return n.call(this,p,g,e)}));const f=u.call(a,d,s);return l&&r?r(f):f}function Cu(e,t,n,s){const r=Zi(e);let o=n;return r!==e&&(Ut(e)?n.length>3&&(o=function(a,l,u){return n.call(this,a,l,u,e)}):o=function(a,l,u){return n.call(this,a,ct(l),u,e)}),r[t](o,...s)}function sa(e,t,n){const s=Re(e);pt(s,"iterate",Ir);const r=s[t](...n);return(r===-1||r===!1)&&Ol(n[0])?(n[0]=Re(n[0]),s[t](...n)):r}function vr(e,t,n=[]){An(),El();const s=Re(e)[t].apply(e,n);return wl(),Sn(),s}const Sb=ml("__proto__,__v_isRef,__isVue"),Fd=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(pn));function Cb(e){pn(e)||(e=String(e));const t=Re(this);return pt(t,"has",e),t.hasOwnProperty(e)}class Vd{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Mb:qd:o?jd:Ud).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const a=he(t);if(!r){let u;if(a&&(u=Tb[n]))return u;if(n==="hasOwnProperty")return Cb}const l=Reflect.get(t,n,et(t)?t:s);return(pn(n)?Fd.has(n):Sb(n))||(r||pt(t,"get",n),o)?l:et(l)?a&&bl(n)?l:l.value:je(l)?r?Wd(l):Cn(l):l}}class Hd extends Vd{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const u=qn(o);if(!Ut(s)&&!qn(s)&&(o=Re(o),s=Re(s)),!he(t)&&et(o)&&!et(s))return u?!1:(o.value=s,!0)}const a=he(t)&&bl(n)?Number(n)e,yi=e=>Reflect.getPrototypeOf(e);function $b(e,t,n){return function(...s){const r=this.__v_raw,o=Re(r),a=zs(o),l=e==="entries"||e===Symbol.iterator&&a,u=e==="keys"&&a,d=r[e](...s),f=n?Ka:t?Bi:ct;return!t&&pt(o,"iterate",u?qa:ms),{next(){const{value:p,done:g}=d.next();return g?{value:p,done:g}:{value:l?[f(p[0]),f(p[1])]:f(p),done:g}},[Symbol.iterator](){return this}}}}function Ei(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pb(e,t){const n={get(r){const o=this.__v_raw,a=Re(o),l=Re(r);e||(Un(r,l)&&pt(a,"get",r),pt(a,"get",l));const{has:u}=yi(a),d=t?Ka:e?Bi:ct;if(u.call(a,r))return d(o.get(r));if(u.call(a,l))return d(o.get(l));o!==a&&o.get(r)},get size(){const r=this.__v_raw;return!e&&pt(Re(r),"iterate",ms),Reflect.get(r,"size",r)},has(r){const o=this.__v_raw,a=Re(o),l=Re(r);return e||(Un(r,l)&&pt(a,"has",r),pt(a,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const a=this,l=a.__v_raw,u=Re(l),d=t?Ka:e?Bi:ct;return!e&&pt(u,"iterate",ms),l.forEach((f,p)=>r.call(o,d(f),d(p),a))}};return nt(n,e?{add:Ei("add"),set:Ei("set"),delete:Ei("delete"),clear:Ei("clear")}:{add(r){!t&&!Ut(r)&&!qn(r)&&(r=Re(r));const o=Re(this);return yi(o).has.call(o,r)||(o.add(r),En(o,"add",r,r)),this},set(r,o){!t&&!Ut(o)&&!qn(o)&&(o=Re(o));const a=Re(this),{has:l,get:u}=yi(a);let d=l.call(a,r);d||(r=Re(r),d=l.call(a,r));const f=u.call(a,r);return a.set(r,o),d?Un(o,f)&&En(a,"set",r,o):En(a,"add",r,o),this},delete(r){const o=Re(this),{has:a,get:l}=yi(o);let u=a.call(o,r);u||(r=Re(r),u=a.call(o,r)),l&&l.call(o,r);const d=o.delete(r);return u&&En(o,"delete",r,void 0),d},clear(){const r=Re(this),o=r.size!==0,a=r.clear();return o&&En(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=$b(r,e,t)}),n}function Sl(e,t){const n=Pb(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Me(n,r)&&r in s?n:s,r,o)}const Db={get:Sl(!1,!1)},Lb={get:Sl(!1,!0)},Ib={get:Sl(!0,!1)};const Ud=new WeakMap,jd=new WeakMap,qd=new WeakMap,Mb=new WeakMap;function kb(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bb(e){return e.__v_skip||!Object.isExtensible(e)?0:kb(cb(e))}function Cn(e){return qn(e)?e:Cl(e,!1,xb,Db,Ud)}function Kd(e){return Cl(e,!1,Nb,Lb,jd)}function Wd(e){return Cl(e,!0,Rb,Ib,qd)}function Cl(e,t,n,s,r){if(!je(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=Bb(e);if(o===0)return e;const a=r.get(e);if(a)return a;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function jn(e){return qn(e)?jn(e.__v_raw):!!(e&&e.__v_isReactive)}function qn(e){return!!(e&&e.__v_isReadonly)}function Ut(e){return!!(e&&e.__v_isShallow)}function Ol(e){return e?!!e.__v_raw:!1}function Re(e){const t=e&&e.__v_raw;return t?Re(t):e}function xl(e){return!Me(e,"__v_skip")&&Object.isExtensible(e)&&Td(e,"__v_skip",!0),e}const ct=e=>je(e)?Cn(e):e,Bi=e=>je(e)?Wd(e):e;function et(e){return e?e.__v_isRef===!0:!1}function De(e){return Yd(e,!1)}function Fb(e){return Yd(e,!0)}function Yd(e,t){return et(e)?e:new Vb(e,t)}class Vb{constructor(t,n){this.dep=new Al,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Re(t),this._value=n?t:ct(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ut(t)||qn(t);t=s?t:Re(t),Un(t,n)&&(this._rawValue=t,this._value=s?t:ct(t),this.dep.trigger())}}function jt(e){return et(e)?e.value:e}const Hb={get:(e,t,n)=>t==="__v_raw"?e:jt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return et(r)&&!et(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function zd(e){return jn(e)?e:new Proxy(e,Hb)}function Ub(e){const t=he(e)?new Array(e.length):{};for(const n in e)t[n]=qb(e,n);return t}class jb{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return wb(Re(this._object),this._key)}}function qb(e,t,n){const s=e[t];return et(s)?s:new jb(e,t,n)}class Kb{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Al(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&We!==this)return Dd(this,!0),!0}get value(){const t=this.dep.track();return Md(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wb(e,t,n=!1){let s,r;return ge(e)?s=e:(s=e.get,r=e.set),new Kb(s,r,n)}const wi={},Fi=new WeakMap;let hs;function Yb(e,t=!1,n=hs){if(n){let s=Fi.get(n);s||Fi.set(n,s=[]),s.push(e)}}function zb(e,t,n=He){const{immediate:s,deep:r,once:o,scheduler:a,augmentJob:l,call:u}=n,d=U=>r?U:Ut(U)||r===!1||r===0?wn(U,1):wn(U);let f,p,g,_,E=!1,C=!1;if(et(e)?(p=()=>e.value,E=Ut(e)):jn(e)?(p=()=>d(e),E=!0):he(e)?(C=!0,E=e.some(U=>jn(U)||Ut(U)),p=()=>e.map(U=>{if(et(U))return U.value;if(jn(U))return d(U);if(ge(U))return u?u(U,2):U()})):ge(e)?t?p=u?()=>u(e,2):e:p=()=>{if(g){An();try{g()}finally{Sn()}}const U=hs;hs=f;try{return u?u(e,3,[_]):e(_)}finally{hs=U}}:p=hn,t&&r){const U=p,B=r===!0?1/0:r;p=()=>wn(U(),B)}const V=Nd(),I=()=>{f.stop(),V&&V.active&&_l(V.effects,f)};if(o&&t){const U=t;t=(...B)=>{U(...B),I()}}let M=C?new Array(e.length).fill(wi):wi;const w=U=>{if(!(!(f.flags&1)||!f.dirty&&!U))if(t){const B=f.run();if(r||E||(C?B.some((R,N)=>Un(R,M[N])):Un(B,M))){g&&g();const R=hs;hs=f;try{const N=[B,M===wi?void 0:C&&M[0]===wi?[]:M,_];M=B,u?u(t,3,N):t(...N)}finally{hs=R}}}else f.run()};return l&&l(w),f=new $d(p),f.scheduler=a?()=>a(w,!1):w,_=U=>Yb(U,!1,f),g=f.onStop=()=>{const U=Fi.get(f);if(U){if(u)u(U,4);else for(const B of U)B();Fi.delete(f)}},t?s?w(!0):M=f.run():a?a(w.bind(null,!0),!0):f.run(),I.pause=f.pause.bind(f),I.resume=f.resume.bind(f),I.stop=I,I}function wn(e,t=1/0,n){if(t<=0||!je(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,et(e))wn(e.value,t,n);else if(he(e))for(let s=0;s{wn(s,t,n)});else if(wd(e)){for(const s in e)wn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wn(e[s],t,n)}return e}/** -* @vue/runtime-core v3.5.16 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Yr(e,t,n,s){try{return s?e(...s):e()}catch(r){zr(r,t,n)}}function Xt(e,t,n,s){if(ge(e)){const r=Yr(e,t,n,s);return r&&vl(r)&&r.catch(o=>{zr(o,t,n)}),r}if(he(e)){const r=[];for(let o=0;o>>1,r=Tt[s],o=Mr(r);o=Mr(n)?Tt.push(e):Tt.splice(Jb(t),0,e),e.flags|=1,Jd()}}function Jd(){Vi||(Vi=Gd.then(Xd))}function Wa(e){he(e)?Gs.push(...e):Bn&&e.id===-1?Bn.splice(Ks+1,0,e):e.flags&1||(Gs.push(e),e.flags|=1),Jd()}function Ou(e,t,n=fn+1){for(;nMr(n)-Mr(s));if(Gs.length=0,Bn){Bn.push(...t);return}for(Bn=t,Ks=0;Kse.id==null?e.flags&2?-1:1/0:e.id;function Xd(e){try{for(fn=0;fn{s._d&&Fu(-1);const o=Hi(t);let a;try{a=e(...r)}finally{Hi(o),s._d&&Fu(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function It(e,t){if(At===null)return e;const n=oo(At),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Fn=Symbol("_leaveCb"),Ti=Symbol("_enterCb");function th(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return As(()=>{e.isMounted=!0}),fh(()=>{e.isUnmounting=!0}),e}const Vt=[Function,Array],nh={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Vt,onEnter:Vt,onAfterEnter:Vt,onEnterCancelled:Vt,onBeforeLeave:Vt,onLeave:Vt,onAfterLeave:Vt,onLeaveCancelled:Vt,onBeforeAppear:Vt,onAppear:Vt,onAfterAppear:Vt,onAppearCancelled:Vt},sh=e=>{const t=e.subTree;return t.component?sh(t.component):t},Xb={name:"BaseTransition",props:nh,setup(e,{slots:t}){const n=Bl(),s=th();return()=>{const r=t.default&&Nl(t.default(),!0);if(!r||!r.length)return;const o=rh(r),a=Re(e),{mode:l}=a;if(s.isLeaving)return ra(o);const u=xu(o);if(!u)return ra(o);let d=kr(u,a,s,n,p=>d=p);u.type!==ut&&ys(u,d);let f=n.subTree&&xu(n.subTree);if(f&&f.type!==ut&&!dn(u,f)&&sh(n).type!==ut){let p=kr(f,a,s,n);if(ys(f,p),l==="out-in"&&u.type!==ut)return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete p.afterLeave,f=void 0},ra(o);l==="in-out"&&u.type!==ut?p.delayLeave=(g,_,E)=>{const C=ih(s,f);C[String(f.key)]=f,g[Fn]=()=>{_(),g[Fn]=void 0,delete d.delayedLeave,f=void 0},d.delayedLeave=()=>{E(),delete d.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return o}}};function rh(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ut){t=n;break}}return t}const Zb=Xb;function ih(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function kr(e,t,n,s,r){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:u,onEnter:d,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:g,onLeave:_,onAfterLeave:E,onLeaveCancelled:C,onBeforeAppear:V,onAppear:I,onAfterAppear:M,onAppearCancelled:w}=t,U=String(e.key),B=ih(n,e),R=(O,k)=>{O&&Xt(O,s,9,k)},N=(O,k)=>{const F=k[1];R(O,k),he(O)?O.every(L=>L.length<=1)&&F():O.length<=1&&F()},A={mode:a,persisted:l,beforeEnter(O){let k=u;if(!n.isMounted)if(o)k=V||u;else return;O[Fn]&&O[Fn](!0);const F=B[U];F&&dn(e,F)&&F.el[Fn]&&F.el[Fn](),R(k,[O])},enter(O){let k=d,F=f,L=p;if(!n.isMounted)if(o)k=I||d,F=M||f,L=w||p;else return;let z=!1;const q=O[Ti]=X=>{z||(z=!0,X?R(L,[O]):R(F,[O]),A.delayedLeave&&A.delayedLeave(),O[Ti]=void 0)};k?N(k,[O,q]):q()},leave(O,k){const F=String(e.key);if(O[Ti]&&O[Ti](!0),n.isUnmounting)return k();R(g,[O]);let L=!1;const z=O[Fn]=q=>{L||(L=!0,k(),q?R(C,[O]):R(E,[O]),O[Fn]=void 0,B[F]===e&&delete B[F])};B[F]=e,_?N(_,[O,z]):z()},clone(O){const k=kr(O,t,n,s,r);return r&&r(k),k}};return A}function ra(e){if(to(e))return e=Kn(e),e.children=null,e}function xu(e){if(!to(e))return eh(e.type)&&e.children?rh(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ge(n.default))return n.default()}}function ys(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ys(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Nl(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;oUi(E,t&&(he(t)?t[C]:t),n,s,r));return}if(xr(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Ui(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?oo(s.component):s.el,a=r?null:o,{i:l,r:u}=e,d=t&&t.r,f=l.refs===He?l.refs={}:l.refs,p=l.setupState,g=Re(p),_=p===He?()=>!1:E=>Me(g,E);if(d!=null&&d!==u&&(Qe(d)?(f[d]=null,_(d)&&(p[d]=null)):et(d)&&(d.value=null)),ge(u))Yr(u,l,12,[a,f]);else{const E=Qe(u),C=et(u);if(E||C){const V=()=>{if(e.f){const I=E?_(u)?p[u]:f[u]:u.value;r?he(I)&&_l(I,o):he(I)?I.includes(o)||I.push(o):E?(f[u]=[o],_(u)&&(p[u]=f[u])):(u.value=[o],e.k&&(f[e.k]=u.value))}else E?(f[u]=a,_(u)&&(p[u]=a)):C&&(u.value=a,e.k&&(f[e.k]=a))};a?(V.id=-1,Lt(V,n)):V()}}}Qi().requestIdleCallback;Qi().cancelIdleCallback;const xr=e=>!!e.type.__asyncLoader,to=e=>e.type.__isKeepAlive;function ah(e,t){ch(e,"a",t)}function lh(e,t){ch(e,"da",t)}function ch(e,t,n=rt){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(no(t,s,n),n){let r=n.parent;for(;r&&r.parent;)to(r.parent.vnode)&&ey(s,t,n,r),r=r.parent}}function ey(e,t,n,s){const r=no(t,e,s,!0);Pl(()=>{_l(s[t],r)},n)}function no(e,t,n=rt,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{An();const l=Es(n),u=Xt(t,n,e,a);return l(),Sn(),u});return s?r.unshift(o):r.push(o),o}}const On=e=>(t,n=rt)=>{(!Vr||e==="sp")&&no(e,(...s)=>t(...s),n)},ty=On("bm"),As=On("m"),ny=On("bu"),uh=On("u"),fh=On("bum"),Pl=On("um"),sy=On("sp"),ry=On("rtg"),iy=On("rtc");function oy(e,t=rt){no("ec",e,t)}const dh="components";function rr(e,t){return ph(dh,e,!0,t)||e}const hh=Symbol.for("v-ndc");function ay(e){return Qe(e)?ph(dh,e,!1)||e:e||hh}function ph(e,t,n=!0,s=!1){const r=At||rt;if(r){const o=r.type;{const l=Zy(o,!1);if(l&&(l===t||l===Kt(t)||l===Ji(Kt(t))))return o}const a=Ru(r[e]||o[e],t)||Ru(r.appContext[e],t);return!a&&s?o:a}}function Ru(e,t){return e&&(e[t]||e[Kt(t)]||e[Ji(Kt(t))])}function Dl(e,t,n,s){let r;const o=n,a=he(e);if(a||Qe(e)){const l=a&&jn(e);let u=!1,d=!1;l&&(u=!Ut(e),d=qn(e),e=Zi(e)),r=new Array(e.length);for(let f=0,p=e.length;ft(l,u,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let u=0,d=l.length;ue?kh(e)?oo(e):Ya(e.parent):null,Rr=nt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ya(e.parent),$root:e=>Ya(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gh(e),$forceUpdate:e=>e.f||(e.f=()=>{Rl(e.update)}),$nextTick:e=>e.n||(e.n=eo.bind(e.proxy)),$watch:e=>Ry.bind(e)}),ia=(e,t)=>e!==He&&!e.__isScriptSetup&&Me(e,t),ly={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:a,type:l,appContext:u}=e;let d;if(t[0]!=="$"){const _=a[t];if(_!==void 0)switch(_){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(ia(s,t))return a[t]=1,s[t];if(r!==He&&Me(r,t))return a[t]=2,r[t];if((d=e.propsOptions[0])&&Me(d,t))return a[t]=3,o[t];if(n!==He&&Me(n,t))return a[t]=4,n[t];za&&(a[t]=0)}}const f=Rr[t];let p,g;if(f)return t==="$attrs"&&pt(e.attrs,"get",""),f(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==He&&Me(n,t))return a[t]=4,n[t];if(g=u.config.globalProperties,Me(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return ia(r,t)?(r[t]=n,!0):s!==He&&Me(s,t)?(s[t]=n,!0):Me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},a){let l;return!!n[a]||e!==He&&Me(e,a)||ia(t,a)||(l=o[0])&&Me(l,a)||Me(s,a)||Me(Rr,a)||Me(r.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Me(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Nu(e){return he(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function so(e){const t=Bl();let n=e();return Za(),vl(n)&&(n=n.catch(s=>{throw Es(t),s})),[n,()=>Es(t)]}let za=!0;function cy(e){const t=gh(e),n=e.proxy,s=e.ctx;za=!1,t.beforeCreate&&$u(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:a,watch:l,provide:u,inject:d,created:f,beforeMount:p,mounted:g,beforeUpdate:_,updated:E,activated:C,deactivated:V,beforeDestroy:I,beforeUnmount:M,destroyed:w,unmounted:U,render:B,renderTracked:R,renderTriggered:N,errorCaptured:A,serverPrefetch:O,expose:k,inheritAttrs:F,components:L,directives:z,filters:q}=t;if(d&&uy(d,s,null),a)for(const Q in a){const J=a[Q];ge(J)&&(s[Q]=J.bind(n))}if(r){const Q=r.call(n,n);je(Q)&&(e.data=Cn(Q))}if(za=!0,o)for(const Q in o){const J=o[Q],ue=ge(J)?J.bind(n,n):ge(J.get)?J.get.bind(n,n):hn,fe=!ge(J)&&ge(J.set)?J.set.bind(n):hn,ve=Ue({get:ue,set:fe});Object.defineProperty(s,Q,{enumerable:!0,configurable:!0,get:()=>ve.value,set:ye=>ve.value=ye})}if(l)for(const Q in l)mh(l[Q],s,n,Q);if(u){const Q=ge(u)?u.call(n):u;Reflect.ownKeys(Q).forEach(J=>{Oi(J,Q[J])})}f&&$u(f,e,"c");function Y(Q,J){he(J)?J.forEach(ue=>Q(ue.bind(n))):J&&Q(J.bind(n))}if(Y(ty,p),Y(As,g),Y(ny,_),Y(uh,E),Y(ah,C),Y(lh,V),Y(oy,A),Y(iy,R),Y(ry,N),Y(fh,M),Y(Pl,U),Y(sy,O),he(k))if(k.length){const Q=e.exposed||(e.exposed={});k.forEach(J=>{Object.defineProperty(Q,J,{get:()=>n[J],set:ue=>n[J]=ue})})}else e.exposed||(e.exposed={});B&&e.render===hn&&(e.render=B),F!=null&&(e.inheritAttrs=F),L&&(e.components=L),z&&(e.directives=z),O&&oh(e)}function uy(e,t,n=hn){he(e)&&(e=Ga(e));for(const s in e){const r=e[s];let o;je(r)?"default"in r?o=Mt(r.from||s,r.default,!0):o=Mt(r.from||s):o=Mt(r),et(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[s]=o}}function $u(e,t,n){Xt(he(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mh(e,t,n,s){let r=s.includes(".")?Rh(n,s):()=>n[s];if(Qe(e)){const o=t[e];ge(o)&&Js(r,o)}else if(ge(e))Js(r,e.bind(n));else if(je(e))if(he(e))e.forEach(o=>mh(o,t,n,s));else{const o=ge(e.handler)?e.handler.bind(n):t[e.handler];ge(o)&&Js(r,o,e)}}function gh(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let u;return l?u=l:!r.length&&!n&&!s?u=t:(u={},r.length&&r.forEach(d=>ji(u,d,a,!0)),ji(u,t,a)),je(t)&&o.set(t,u),u}function ji(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&ji(e,o,n,!0),r&&r.forEach(a=>ji(e,a,n,!0));for(const a in t)if(!(s&&a==="expose")){const l=fy[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const fy={data:Pu,props:Du,emits:Du,methods:Tr,computed:Tr,beforeCreate:wt,created:wt,beforeMount:wt,mounted:wt,beforeUpdate:wt,updated:wt,beforeDestroy:wt,beforeUnmount:wt,destroyed:wt,unmounted:wt,activated:wt,deactivated:wt,errorCaptured:wt,serverPrefetch:wt,components:Tr,directives:Tr,watch:hy,provide:Pu,inject:dy};function Pu(e,t){return t?e?function(){return nt(ge(e)?e.call(this,this):e,ge(t)?t.call(this,this):t)}:t:e}function dy(e,t){return Tr(Ga(e),Ga(t))}function Ga(e){if(he(e)){const t={};for(let n=0;n1)return n&&ge(t)?t.call(s&&s.proxy):t}}function gy(){return!!(rt||At||gs)}const vh={},bh=()=>Object.create(vh),yh=e=>Object.getPrototypeOf(e)===vh;function _y(e,t,n,s=!1){const r={},o=bh();e.propsDefaults=Object.create(null),Eh(e,t,r,o);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=s?r:Kd(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function vy(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:a}}=e,l=Re(r),[u]=e.propsOptions;let d=!1;if((s||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let p=0;p{u=!0;const[g,_]=wh(p,t,!0);nt(a,g),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!u)return je(e)&&s.set(e,Ys),Ys;if(he(o))for(let f=0;fe[0]==="_"||e==="$stable",Il=e=>he(e)?e.map(Gt):[Gt(e)],yy=(e,t,n)=>{if(t._n)return t;const s=it((...r)=>Il(t(...r)),n);return s._c=!1,s},Th=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ll(r))continue;const o=e[r];if(ge(o))t[r]=yy(r,o,s);else if(o!=null){const a=Il(o);t[r]=()=>a}}},Ah=(e,t)=>{const n=Il(t);e.slots.default=()=>n},Sh=(e,t,n)=>{for(const s in t)(n||!Ll(s))&&(e[s]=t[s])},Ey=(e,t,n)=>{const s=e.slots=bh();if(e.vnode.shapeFlag&32){const r=t._;r?(Sh(s,t,n),n&&Td(s,"_",r,!0)):Th(t,s)}else t&&Ah(e,t)},wy=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,a=He;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Sh(r,t,n):(o=!t.$stable,Th(t,r)),a=t}else t&&(Ah(e,t),a={default:1});if(o)for(const l in r)!Ll(l)&&a[l]==null&&delete r[l]},Lt=Hy;function Ty(e){return Ay(e)}function Ay(e,t){const n=Qi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:a,createText:l,createComment:u,setText:d,setElementText:f,parentNode:p,nextSibling:g,setScopeId:_=hn,insertStaticContent:E}=e,C=(v,b,x,K=null,G=null,$=null,oe=void 0,re=null,se=!!b.dynamicChildren)=>{if(v===b)return;v&&!dn(v,b)&&(K=j(v),ye(v,G,$,!0),v=null),b.patchFlag===-2&&(se=!1,b.dynamicChildren=null);const{type:Z,ref:pe,shapeFlag:ae}=b;switch(Z){case io:V(v,b,x,K);break;case ut:I(v,b,x,K);break;case aa:v==null&&M(b,x,K,oe);break;case St:L(v,b,x,K,G,$,oe,re,se);break;default:ae&1?B(v,b,x,K,G,$,oe,re,se):ae&6?z(v,b,x,K,G,$,oe,re,se):(ae&64||ae&128)&&Z.process(v,b,x,K,G,$,oe,re,se,ie)}pe!=null&&G&&Ui(pe,v&&v.ref,$,b||v,!b)},V=(v,b,x,K)=>{if(v==null)s(b.el=l(b.children),x,K);else{const G=b.el=v.el;b.children!==v.children&&d(G,b.children)}},I=(v,b,x,K)=>{v==null?s(b.el=u(b.children||""),x,K):b.el=v.el},M=(v,b,x,K)=>{[v.el,v.anchor]=E(v.children,b,x,K,v.el,v.anchor)},w=({el:v,anchor:b},x,K)=>{let G;for(;v&&v!==b;)G=g(v),s(v,x,K),v=G;s(b,x,K)},U=({el:v,anchor:b})=>{let x;for(;v&&v!==b;)x=g(v),r(v),v=x;r(b)},B=(v,b,x,K,G,$,oe,re,se)=>{b.type==="svg"?oe="svg":b.type==="math"&&(oe="mathml"),v==null?R(b,x,K,G,$,oe,re,se):O(v,b,G,$,oe,re,se)},R=(v,b,x,K,G,$,oe,re)=>{let se,Z;const{props:pe,shapeFlag:ae,transition:de,dirs:me}=v;if(se=v.el=a(v.type,$,pe&&pe.is,pe),ae&8?f(se,v.children):ae&16&&A(v.children,se,null,K,G,oa(v,$),oe,re),me&&us(v,null,K,"created"),N(se,v,v.scopeId,oe,K),pe){for(const Be in pe)Be!=="value"&&!Sr(Be)&&o(se,Be,null,pe[Be],$,K);"value"in pe&&o(se,"value",null,pe.value,$),(Z=pe.onVnodeBeforeMount)&&an(Z,K,v)}me&&us(v,null,K,"beforeMount");const Ae=Sy(G,de);Ae&&de.beforeEnter(se),s(se,b,x),((Z=pe&&pe.onVnodeMounted)||Ae||me)&&Lt(()=>{Z&&an(Z,K,v),Ae&&de.enter(se),me&&us(v,null,K,"mounted")},G)},N=(v,b,x,K,G)=>{if(x&&_(v,x),K)for(let $=0;${for(let Z=se;Z{const re=b.el=v.el;let{patchFlag:se,dynamicChildren:Z,dirs:pe}=b;se|=v.patchFlag&16;const ae=v.props||He,de=b.props||He;let me;if(x&&fs(x,!1),(me=de.onVnodeBeforeUpdate)&&an(me,x,b,v),pe&&us(b,v,x,"beforeUpdate"),x&&fs(x,!0),(ae.innerHTML&&de.innerHTML==null||ae.textContent&&de.textContent==null)&&f(re,""),Z?k(v.dynamicChildren,Z,re,x,K,oa(b,G),$):oe||J(v,b,re,null,x,K,oa(b,G),$,!1),se>0){if(se&16)F(re,ae,de,x,G);else if(se&2&&ae.class!==de.class&&o(re,"class",null,de.class,G),se&4&&o(re,"style",ae.style,de.style,G),se&8){const Ae=b.dynamicProps;for(let Be=0;Be{me&&an(me,x,b,v),pe&&us(b,v,x,"updated")},K)},k=(v,b,x,K,G,$,oe)=>{for(let re=0;re{if(b!==x){if(b!==He)for(const $ in b)!Sr($)&&!($ in x)&&o(v,$,b[$],null,G,K);for(const $ in x){if(Sr($))continue;const oe=x[$],re=b[$];oe!==re&&$!=="value"&&o(v,$,re,oe,G,K)}"value"in x&&o(v,"value",b.value,x.value,G)}},L=(v,b,x,K,G,$,oe,re,se)=>{const Z=b.el=v?v.el:l(""),pe=b.anchor=v?v.anchor:l("");let{patchFlag:ae,dynamicChildren:de,slotScopeIds:me}=b;me&&(re=re?re.concat(me):me),v==null?(s(Z,x,K),s(pe,x,K),A(b.children||[],x,pe,G,$,oe,re,se)):ae>0&&ae&64&&de&&v.dynamicChildren?(k(v.dynamicChildren,de,x,G,$,oe,re),(b.key!=null||G&&b===G.subTree)&&Ch(v,b,!0)):J(v,b,x,pe,G,$,oe,re,se)},z=(v,b,x,K,G,$,oe,re,se)=>{b.slotScopeIds=re,v==null?b.shapeFlag&512?G.ctx.activate(b,x,K,oe,se):q(b,x,K,G,$,oe,se):X(v,b,se)},q=(v,b,x,K,G,$,oe)=>{const re=v.component=zy(v,K,G);if(to(v)&&(re.ctx.renderer=ie),Gy(re,!1,oe),re.asyncDep){if(G&&G.registerDep(re,Y,oe),!v.el){const se=re.subTree=Ne(ut);I(null,se,b,x)}}else Y(re,v,b,x,G,$,oe)},X=(v,b,x)=>{const K=b.component=v.component;if(Iy(v,b,x))if(K.asyncDep&&!K.asyncResolved){Q(K,b,x);return}else K.next=b,K.update();else b.el=v.el,K.vnode=b},Y=(v,b,x,K,G,$,oe)=>{const re=()=>{if(v.isMounted){let{next:ae,bu:de,u:me,parent:Ae,vnode:Be}=v;{const Rt=Oh(v);if(Rt){ae&&(ae.el=Be.el,Q(v,ae,oe)),Rt.asyncDep.then(()=>{v.isUnmounted||re()});return}}let Le=ae,_t;fs(v,!1),ae?(ae.el=Be.el,Q(v,ae,oe)):ae=Be,de&&Ci(de),(_t=ae.props&&ae.props.onVnodeBeforeUpdate)&&an(_t,Ae,ae,Be),fs(v,!0);const ft=Mu(v),kt=v.subTree;v.subTree=ft,C(kt,ft,p(kt.el),j(kt),v,G,$),ae.el=ft.el,Le===null&&Ml(v,ft.el),me&&Lt(me,G),(_t=ae.props&&ae.props.onVnodeUpdated)&&Lt(()=>an(_t,Ae,ae,Be),G)}else{let ae;const{el:de,props:me}=b,{bm:Ae,m:Be,parent:Le,root:_t,type:ft}=v,kt=xr(b);fs(v,!1),Ae&&Ci(Ae),!kt&&(ae=me&&me.onVnodeBeforeMount)&&an(ae,Le,b),fs(v,!0);{_t.ce&&_t.ce._injectChildStyle(ft);const Rt=v.subTree=Mu(v);C(null,Rt,x,K,v,G,$),b.el=Rt.el}if(Be&&Lt(Be,G),!kt&&(ae=me&&me.onVnodeMounted)){const Rt=b;Lt(()=>an(ae,Le,Rt),G)}(b.shapeFlag&256||Le&&xr(Le.vnode)&&Le.vnode.shapeFlag&256)&&v.a&&Lt(v.a,G),v.isMounted=!0,b=x=K=null}};v.scope.on();const se=v.effect=new $d(re);v.scope.off();const Z=v.update=se.run.bind(se),pe=v.job=se.runIfDirty.bind(se);pe.i=v,pe.id=v.uid,se.scheduler=()=>Rl(pe),fs(v,!0),Z()},Q=(v,b,x)=>{b.component=v;const K=v.vnode.props;v.vnode=b,v.next=null,vy(v,b.props,K,x),wy(v,b.children,x),An(),Ou(v),Sn()},J=(v,b,x,K,G,$,oe,re,se=!1)=>{const Z=v&&v.children,pe=v?v.shapeFlag:0,ae=b.children,{patchFlag:de,shapeFlag:me}=b;if(de>0){if(de&128){fe(Z,ae,x,K,G,$,oe,re,se);return}else if(de&256){ue(Z,ae,x,K,G,$,oe,re,se);return}}me&8?(pe&16&&Ge(Z,G,$),ae!==Z&&f(x,ae)):pe&16?me&16?fe(Z,ae,x,K,G,$,oe,re,se):Ge(Z,G,$,!0):(pe&8&&f(x,""),me&16&&A(ae,x,K,G,$,oe,re,se))},ue=(v,b,x,K,G,$,oe,re,se)=>{v=v||Ys,b=b||Ys;const Z=v.length,pe=b.length,ae=Math.min(Z,pe);let de;for(de=0;depe?Ge(v,G,$,!0,!1,ae):A(b,x,K,G,$,oe,re,se,ae)},fe=(v,b,x,K,G,$,oe,re,se)=>{let Z=0;const pe=b.length;let ae=v.length-1,de=pe-1;for(;Z<=ae&&Z<=de;){const me=v[Z],Ae=b[Z]=se?Vn(b[Z]):Gt(b[Z]);if(dn(me,Ae))C(me,Ae,x,null,G,$,oe,re,se);else break;Z++}for(;Z<=ae&&Z<=de;){const me=v[ae],Ae=b[de]=se?Vn(b[de]):Gt(b[de]);if(dn(me,Ae))C(me,Ae,x,null,G,$,oe,re,se);else break;ae--,de--}if(Z>ae){if(Z<=de){const me=de+1,Ae=mede)for(;Z<=ae;)ye(v[Z],G,$,!0),Z++;else{const me=Z,Ae=Z,Be=new Map;for(Z=Ae;Z<=de;Z++){const vt=b[Z]=se?Vn(b[Z]):Gt(b[Z]);vt.key!=null&&Be.set(vt.key,Z)}let Le,_t=0;const ft=de-Ae+1;let kt=!1,Rt=0;const zn=new Array(ft);for(Z=0;Z=ft){ye(vt,G,$,!0);continue}let ot;if(vt.key!=null)ot=Be.get(vt.key);else for(Le=Ae;Le<=de;Le++)if(zn[Le-Ae]===0&&dn(vt,b[Le])){ot=Le;break}ot===void 0?ye(vt,G,$,!0):(zn[ot-Ae]=Z+1,ot>=Rt?Rt=ot:kt=!0,C(vt,b[ot],x,null,G,$,oe,re,se),_t++)}const xn=kt?Cy(zn):Ys;for(Le=xn.length-1,Z=ft-1;Z>=0;Z--){const vt=Ae+Z,ot=b[vt],Qr=vt+1{const{el:$,type:oe,transition:re,children:se,shapeFlag:Z}=v;if(Z&6){ve(v.component.subTree,b,x,K);return}if(Z&128){v.suspense.move(b,x,K);return}if(Z&64){oe.move(v,b,x,ie);return}if(oe===St){s($,b,x);for(let ae=0;aere.enter($),G);else{const{leave:ae,delayLeave:de,afterLeave:me}=re,Ae=()=>{v.ctx.isUnmounted?r($):s($,b,x)},Be=()=>{ae($,()=>{Ae(),me&&me()})};de?de($,Ae,Be):Be()}else s($,b,x)},ye=(v,b,x,K=!1,G=!1)=>{const{type:$,props:oe,ref:re,children:se,dynamicChildren:Z,shapeFlag:pe,patchFlag:ae,dirs:de,cacheIndex:me}=v;if(ae===-2&&(G=!1),re!=null&&(An(),Ui(re,null,x,v,!0),Sn()),me!=null&&(b.renderCache[me]=void 0),pe&256){b.ctx.deactivate(v);return}const Ae=pe&1&&de,Be=!xr(v);let Le;if(Be&&(Le=oe&&oe.onVnodeBeforeUnmount)&&an(Le,b,v),pe&6)Ye(v.component,x,K);else{if(pe&128){v.suspense.unmount(x,K);return}Ae&&us(v,null,b,"beforeUnmount"),pe&64?v.type.remove(v,b,x,ie,K):Z&&!Z.hasOnce&&($!==St||ae>0&&ae&64)?Ge(Z,b,x,!1,!0):($===St&&ae&384||!G&&pe&16)&&Ge(se,b,x),K&&$e(v)}(Be&&(Le=oe&&oe.onVnodeUnmounted)||Ae)&&Lt(()=>{Le&&an(Le,b,v),Ae&&us(v,null,b,"unmounted")},x)},$e=v=>{const{type:b,el:x,anchor:K,transition:G}=v;if(b===St){ke(x,K);return}if(b===aa){U(v);return}const $=()=>{r(x),G&&!G.persisted&&G.afterLeave&&G.afterLeave()};if(v.shapeFlag&1&&G&&!G.persisted){const{leave:oe,delayLeave:re}=G,se=()=>oe(x,$);re?re(v.el,$,se):se()}else $()},ke=(v,b)=>{let x;for(;v!==b;)x=g(v),r(v),v=x;r(b)},Ye=(v,b,x)=>{const{bum:K,scope:G,job:$,subTree:oe,um:re,m:se,a:Z,parent:pe,slots:{__:ae}}=v;Iu(se),Iu(Z),K&&Ci(K),pe&&he(ae)&&ae.forEach(de=>{pe.renderCache[de]=void 0}),G.stop(),$&&($.flags|=8,ye(oe,v,b,x)),re&&Lt(re,b),Lt(()=>{v.isUnmounted=!0},b),b&&b.pendingBranch&&!b.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve())},Ge=(v,b,x,K=!1,G=!1,$=0)=>{for(let oe=$;oe{if(v.shapeFlag&6)return j(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const b=g(v.anchor||v.el),x=b&&b[Qb];return x?g(x):b};let S=!1;const te=(v,b,x)=>{v==null?b._vnode&&ye(b._vnode,null,null,!0):C(b._vnode||null,v,b,null,null,null,x),b._vnode=v,S||(S=!0,Ou(),Qd(),S=!1)},ie={p:C,um:ye,m:ve,r:$e,mt:q,mc:A,pc:J,pbc:k,n:j,o:e};return{render:te,hydrate:void 0,createApp:my(te)}}function oa({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function fs({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sy(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ch(e,t,n=!1){const s=e.children,r=t.children;if(he(s)&&he(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function Oh(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oh(t)}function Iu(e){if(e)for(let t=0;tMt(Oy);function Js(e,t,n){return xh(e,t,n)}function xh(e,t,n=He){const{immediate:s,deep:r,flush:o,once:a}=n,l=nt({},n),u=t&&s||!t&&o!=="post";let d;if(Vr){if(o==="sync"){const _=xy();d=_.__watcherHandles||(_.__watcherHandles=[])}else if(!u){const _=()=>{};return _.stop=hn,_.resume=hn,_.pause=hn,_}}const f=rt;l.call=(_,E,C)=>Xt(_,f,E,C);let p=!1;o==="post"?l.scheduler=_=>{Lt(_,f&&f.suspense)}:o!=="sync"&&(p=!0,l.scheduler=(_,E)=>{E?_():Rl(_)}),l.augmentJob=_=>{t&&(_.flags|=4),p&&(_.flags|=2,f&&(_.id=f.uid,_.i=f))};const g=zb(e,t,l);return Vr&&(d?d.push(g):u&&g()),g}function Ry(e,t,n){const s=this.proxy,r=Qe(e)?e.includes(".")?Rh(s,e):()=>s[e]:e.bind(s,s);let o;ge(t)?o=t:(o=t.handler,n=t);const a=Es(this),l=xh(r,o.bind(s),n);return a(),l}function Rh(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Kt(t)}Modifiers`]||e[`${Ts(t)}Modifiers`];function $y(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||He;let r=n;const o=t.startsWith("update:"),a=o&&Ny(s,t.slice(7));a&&(a.trim&&(r=n.map(f=>Qe(f)?f.trim():f)),a.number&&(r=n.map(Mi)));let l,u=s[l=Zo(t)]||s[l=Zo(Kt(t))];!u&&o&&(u=s[l=Zo(Ts(t))]),u&&Xt(u,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Xt(d,e,6,r)}}function Nh(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let a={},l=!1;if(!ge(e)){const u=d=>{const f=Nh(d,t,!0);f&&(l=!0,nt(a,f))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!o&&!l?(je(e)&&s.set(e,null),null):(he(o)?o.forEach(u=>a[u]=null):nt(a,o),je(e)&&s.set(e,a),a)}function ro(e,t){return!e||!zi(t)?!1:(t=t.slice(2).replace(/Once$/,""),Me(e,t[0].toLowerCase()+t.slice(1))||Me(e,Ts(t))||Me(e,t))}function Mu(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:a,attrs:l,emit:u,render:d,renderCache:f,props:p,data:g,setupState:_,ctx:E,inheritAttrs:C}=e,V=Hi(e);let I,M;try{if(n.shapeFlag&4){const U=r||s,B=U;I=Gt(d.call(B,U,f,p,_,g,E)),M=l}else{const U=t;I=Gt(U.length>1?U(p,{attrs:l,slots:a,emit:u}):U(p,null)),M=t.props?l:Dy(l)}}catch(U){Nr.length=0,zr(U,e,1),I=Ne(ut)}let w=I;if(M&&C!==!1){const U=Object.keys(M),{shapeFlag:B}=w;U.length&&B&7&&(o&&U.some(gl)&&(M=Ly(M,o)),w=Kn(w,M,!1,!0))}return n.dirs&&(w=Kn(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&ys(w,n.transition),I=w,Hi(V),I}function Py(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||zi(n))&&((t||(t={}))[n]=e[n]);return t},Ly=(e,t)=>{const n={};for(const s in e)(!gl(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Iy(e,t,n){const{props:s,children:r,component:o}=e,{props:a,children:l,patchFlag:u}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return s?ku(s,a,d):!!a;if(u&8){const f=t.dynamicProps;for(let p=0;pe.__isSuspense;let Qa=0;const My={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,o,a,l,u,d){if(e==null)ky(t,n,s,r,o,a,l,u,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}By(e,t,n,s,r,a,l,u,d)}},hydrate:Fy,normalize:Vy},Ph=My;function Br(e,t){const n=e.props&&e.props[t];ge(n)&&n()}function ky(e,t,n,s,r,o,a,l,u){const{p:d,o:{createElement:f}}=u,p=f("div"),g=e.suspense=Dh(e,r,s,t,p,n,o,a,l,u);d(null,g.pendingBranch=e.ssContent,p,null,s,g,o,a),g.deps>0?(Br(e,"onPending"),Br(e,"onFallback"),d(null,e.ssFallback,t,n,s,null,o,a),Qs(g,e.ssFallback)):g.resolve(!1,!0)}function By(e,t,n,s,r,o,a,l,{p:u,um:d,o:{createElement:f}}){const p=t.suspense=e.suspense;p.vnode=t,t.el=e.el;const g=t.ssContent,_=t.ssFallback,{activeBranch:E,pendingBranch:C,isInFallback:V,isHydrating:I}=p;if(C)p.pendingBranch=g,dn(g,C)?(u(C,g,p.hiddenContainer,null,r,p,o,a,l),p.deps<=0?p.resolve():V&&(I||(u(E,_,n,s,r,null,o,a,l),Qs(p,_)))):(p.pendingId=Qa++,I?(p.isHydrating=!1,p.activeBranch=C):d(C,r,p),p.deps=0,p.effects.length=0,p.hiddenContainer=f("div"),V?(u(null,g,p.hiddenContainer,null,r,p,o,a,l),p.deps<=0?p.resolve():(u(E,_,n,s,r,null,o,a,l),Qs(p,_))):E&&dn(g,E)?(u(E,g,n,s,r,p,o,a,l),p.resolve(!0)):(u(null,g,p.hiddenContainer,null,r,p,o,a,l),p.deps<=0&&p.resolve()));else if(E&&dn(g,E))u(E,g,n,s,r,p,o,a,l),Qs(p,g);else if(Br(t,"onPending"),p.pendingBranch=g,g.shapeFlag&512?p.pendingId=g.component.suspenseId:p.pendingId=Qa++,u(null,g,p.hiddenContainer,null,r,p,o,a,l),p.deps<=0)p.resolve();else{const{timeout:M,pendingId:w}=p;M>0?setTimeout(()=>{p.pendingId===w&&p.fallback(_)},M):M===0&&p.fallback(_)}}function Dh(e,t,n,s,r,o,a,l,u,d,f=!1){const{p,m:g,um:_,n:E,o:{parentNode:C,remove:V}}=d;let I;const M=Uy(e);M&&t&&t.pendingBranch&&(I=t.pendingId,t.deps++);const w=e.props?Ad(e.props.timeout):void 0,U=o,B={vnode:e,parent:t,parentComponent:n,namespace:a,container:s,hiddenContainer:r,deps:0,pendingId:Qa++,timeout:typeof w=="number"?w:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(R=!1,N=!1){const{vnode:A,activeBranch:O,pendingBranch:k,pendingId:F,effects:L,parentComponent:z,container:q}=B;let X=!1;B.isHydrating?B.isHydrating=!1:R||(X=O&&k.transition&&k.transition.mode==="out-in",X&&(O.transition.afterLeave=()=>{F===B.pendingId&&(g(k,q,o===U?E(O):o,0),Wa(L))}),O&&(C(O.el)===q&&(o=E(O)),_(O,z,B,!0)),X||g(k,q,o,0)),Qs(B,k),B.pendingBranch=null,B.isInFallback=!1;let Y=B.parent,Q=!1;for(;Y;){if(Y.pendingBranch){Y.effects.push(...L),Q=!0;break}Y=Y.parent}!Q&&!X&&Wa(L),B.effects=[],M&&t&&t.pendingBranch&&I===t.pendingId&&(t.deps--,t.deps===0&&!N&&t.resolve()),Br(A,"onResolve")},fallback(R){if(!B.pendingBranch)return;const{vnode:N,activeBranch:A,parentComponent:O,container:k,namespace:F}=B;Br(N,"onFallback");const L=E(A),z=()=>{B.isInFallback&&(p(null,R,k,L,O,null,F,l,u),Qs(B,R))},q=R.transition&&R.transition.mode==="out-in";q&&(A.transition.afterLeave=z),B.isInFallback=!0,_(A,O,null,!0),q||z()},move(R,N,A){B.activeBranch&&g(B.activeBranch,R,N,A),B.container=R},next(){return B.activeBranch&&E(B.activeBranch)},registerDep(R,N,A){const O=!!B.pendingBranch;O&&B.deps++;const k=R.vnode.el;R.asyncDep.catch(F=>{zr(F,R,0)}).then(F=>{if(R.isUnmounted||B.isUnmounted||B.pendingId!==R.suspenseId)return;R.asyncResolved=!0;const{vnode:L}=R;el(R,F),k&&(L.el=k);const z=!k&&R.subTree.el;N(R,L,C(k||R.subTree.el),k?null:E(R.subTree),B,a,A),z&&V(z),Ml(R,L.el),O&&--B.deps===0&&B.resolve()})},unmount(R,N){B.isUnmounted=!0,B.activeBranch&&_(B.activeBranch,n,R,N),B.pendingBranch&&_(B.pendingBranch,n,R,N)}};return B}function Fy(e,t,n,s,r,o,a,l,u){const d=t.suspense=Dh(t,s,n,e.parentNode,document.createElement("div"),null,r,o,a,l,!0),f=u(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function Vy(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=Bu(s?n.default:n),e.ssFallback=s?Bu(n.fallback):Ne(ut)}function Bu(e){let t;if(ge(e)){const n=Xs&&e._c;n&&(e._d=!1,ce()),e=e(),n&&(e._d=!0,t=Ct,Lh())}return he(e)&&(e=Py(e)),e=Gt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Hy(e,t){t&&t.pendingBranch?he(e)?t.effects.push(...e):t.effects.push(e):Wa(e)}function Qs(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let r=t.el;for(;!r&&t.component;)t=t.component.subTree,r=t.el;n.el=r,s&&s.subTree===n&&(s.vnode.el=r,Ml(s,r))}function Uy(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const St=Symbol.for("v-fgt"),io=Symbol.for("v-txt"),ut=Symbol.for("v-cmt"),aa=Symbol.for("v-stc"),Nr=[];let Ct=null;function ce(e=!1){Nr.push(Ct=e?null:[])}function Lh(){Nr.pop(),Ct=Nr[Nr.length-1]||null}let Xs=1;function Fu(e,t=!1){Xs+=e,e<0&&Ct&&t&&(Ct.hasOnce=!0)}function Ih(e){return e.dynamicChildren=Xs>0?Ct||Ys:null,Lh(),Xs>0&&Ct&&Ct.push(e),e}function _e(e,t,n,s,r,o){return Ih(T(e,t,n,s,r,o,!0))}function Zt(e,t,n,s,r){return Ih(Ne(e,t,n,s,r,!0))}function Fr(e){return e?e.__v_isVNode===!0:!1}function dn(e,t){return e.type===t.type&&e.key===t.key}const Mh=({key:e})=>e??null,xi=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Qe(e)||et(e)||ge(e)?{i:At,r:e,k:t,f:!!n}:e:null);function T(e,t=null,n=null,s=0,r=null,o=e===St?0:1,a=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Mh(t),ref:t&&xi(t),scopeId:Zd,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:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:At};return l?(kl(u,n),o&128&&e.normalize(u)):n&&(u.shapeFlag|=Qe(n)?8:16),Xs>0&&!a&&Ct&&(u.patchFlag>0||o&6)&&u.patchFlag!==32&&Ct.push(u),u}const Ne=jy;function jy(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===hh)&&(e=ut),Fr(e)){const l=Kn(e,t,!0);return n&&kl(l,n),Xs>0&&!o&&Ct&&(l.shapeFlag&6?Ct[Ct.indexOf(e)]=l:Ct.push(l)),l.patchFlag=-2,l}if(eE(e)&&(e=e.__vccOpts),t){t=qy(t);let{class:l,style:u}=t;l&&!Qe(l)&&(t.class=Jt(l)),je(u)&&(Ol(u)&&!he(u)&&(u=nt({},u)),t.style=Xi(u))}const a=Qe(e)?1:$h(e)?128:eh(e)?64:je(e)?4:ge(e)?2:0;return T(e,t,n,s,r,a,o,!0)}function qy(e){return e?Ol(e)||yh(e)?nt({},e):e:null}function Kn(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:a,children:l,transition:u}=e,d=t?Ky(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Mh(d),ref:t&&t.ref?n&&o?he(o)?o.concat(xi(t)):[o,xi(t)]:xi(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==St?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Kn(e.ssContent),ssFallback:e.ssFallback&&Kn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&s&&ys(f,u.clone(f)),f}function we(e=" ",t=0){return Ne(io,null,e,t)}function en(e="",t=!1){return t?(ce(),Zt(ut,null,e)):Ne(ut,null,e)}function Gt(e){return e==null||typeof e=="boolean"?Ne(ut):he(e)?Ne(St,null,e.slice()):Fr(e)?Vn(e):Ne(io,null,String(e))}function Vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Kn(e)}function kl(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(he(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),kl(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!yh(t)?t._ctx=At:r===3&&At&&(At.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ge(t)?(t={default:t,_ctx:At},n=32):(t=String(t),s&64?(n=16,t=[we(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ky(...e){const t={};for(let n=0;nrt||At;let qi,Xa;{const e=Qi(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(a=>a(o)):r[0](o)}};qi=t("__VUE_INSTANCE_SETTERS__",n=>rt=n),Xa=t("__VUE_SSR_SETTERS__",n=>Vr=n)}const Es=e=>{const t=rt;return qi(e),e.scope.on(),()=>{e.scope.off(),qi(t)}},Za=()=>{rt&&rt.scope.off(),qi(null)};function kh(e){return e.vnode.shapeFlag&4}let Vr=!1;function Gy(e,t=!1,n=!1){t&&Xa(t);const{props:s,children:r}=e.vnode,o=kh(e);_y(e,s,o,t),Ey(e,r,n||t);const a=o?Jy(e,t):void 0;return t&&Xa(!1),a}function Jy(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ly);const{setup:s}=n;if(s){An();const r=e.setupContext=s.length>1?Xy(e):null,o=Es(e),a=Yr(s,e,0,[e.props,r]),l=vl(a);if(Sn(),o(),(l||e.sp)&&!xr(e)&&oh(e),l){if(a.then(Za,Za),t)return a.then(u=>{el(e,u)}).catch(u=>{zr(u,e,0)});e.asyncDep=a}else el(e,a)}else Bh(e)}function el(e,t,n){ge(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:je(t)&&(e.setupState=zd(t)),Bh(e)}function Bh(e,t,n){const s=e.type;e.render||(e.render=s.render||hn);{const r=Es(e);An();try{cy(e)}finally{Sn(),r()}}}const Qy={get(e,t){return pt(e,"get",""),e[t]}};function Xy(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Qy),slots:e.slots,emit:e.emit,expose:t}}function oo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zd(xl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rr)return Rr[n](e)},has(t,n){return n in t||n in Rr}})):e.proxy}function Zy(e,t=!0){return ge(e)?e.displayName||e.name:e.name||t&&e.__name}function eE(e){return ge(e)&&"__vccOpts"in e}const Ue=(e,t)=>Wb(e,t,Vr);function Fl(e,t,n){const s=arguments.length;return s===2?je(t)&&!he(t)?Fr(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Fr(n)&&(n=[n]),Ne(e,t,n))}const tE="3.5.16";/** -* @vue/runtime-dom v3.5.16 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let tl;const Vu=typeof window<"u"&&window.trustedTypes;if(Vu)try{tl=Vu.createPolicy("vue",{createHTML:e=>e})}catch{}const Fh=tl?e=>tl.createHTML(e):e=>e,nE="http://www.w3.org/2000/svg",sE="http://www.w3.org/1998/Math/MathML",yn=typeof document<"u"?document:null,Hu=yn&&yn.createElement("template"),rE={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?yn.createElementNS(nE,e):t==="mathml"?yn.createElementNS(sE,e):n?yn.createElement(e,{is:n}):yn.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>yn.createTextNode(e),createComment:e=>yn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const a=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Hu.innerHTML=Fh(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Hu.content;if(s==="svg"||s==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Dn="transition",br="animation",Zs=Symbol("_vtc"),Vh={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},Hh=nt({},nh,Vh),iE=e=>(e.displayName="Transition",e.props=Hh,e),Hr=iE((e,{slots:t})=>Fl(Zb,Uh(e),t)),ds=(e,t=[])=>{he(e)?e.forEach(n=>n(...t)):e&&e(...t)},Uu=e=>e?he(e)?e.some(t=>t.length>1):e.length>1:!1;function Uh(e){const t={};for(const L in e)L in Vh||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:u=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,E=oE(r),C=E&&E[0],V=E&&E[1],{onBeforeEnter:I,onEnter:M,onEnterCancelled:w,onLeave:U,onLeaveCancelled:B,onBeforeAppear:R=I,onAppear:N=M,onAppearCancelled:A=w}=t,O=(L,z,q,X)=>{L._enterCancelled=X,Mn(L,z?f:l),Mn(L,z?d:a),q&&q()},k=(L,z)=>{L._isLeaving=!1,Mn(L,p),Mn(L,_),Mn(L,g),z&&z()},F=L=>(z,q)=>{const X=L?N:M,Y=()=>O(z,L,q);ds(X,[z,Y]),ju(()=>{Mn(z,L?u:o),un(z,L?f:l),Uu(X)||qu(z,s,C,Y)})};return nt(t,{onBeforeEnter(L){ds(I,[L]),un(L,o),un(L,a)},onBeforeAppear(L){ds(R,[L]),un(L,u),un(L,d)},onEnter:F(!1),onAppear:F(!0),onLeave(L,z){L._isLeaving=!0;const q=()=>k(L,z);un(L,p),L._enterCancelled?(un(L,g),nl()):(nl(),un(L,g)),ju(()=>{L._isLeaving&&(Mn(L,p),un(L,_),Uu(U)||qu(L,s,V,q))}),ds(U,[L,q])},onEnterCancelled(L){O(L,!1,void 0,!0),ds(w,[L])},onAppearCancelled(L){O(L,!0,void 0,!0),ds(A,[L])},onLeaveCancelled(L){k(L),ds(B,[L])}})}function oE(e){if(e==null)return null;if(je(e))return[la(e.enter),la(e.leave)];{const t=la(e);return[t,t]}}function la(e){return Ad(e)}function un(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Zs]||(e[Zs]=new Set)).add(t)}function Mn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Zs];n&&(n.delete(t),n.size||(e[Zs]=void 0))}function ju(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let aE=0;function qu(e,t,n,s){const r=e._endId=++aE,o=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:u}=jh(e,t);if(!a)return s();const d=a+"end";let f=0;const p=()=>{e.removeEventListener(d,g),o()},g=_=>{_.target===e&&++f>=u&&p()};setTimeout(()=>{f(n[E]||"").split(", "),r=s(`${Dn}Delay`),o=s(`${Dn}Duration`),a=Ku(r,o),l=s(`${br}Delay`),u=s(`${br}Duration`),d=Ku(l,u);let f=null,p=0,g=0;t===Dn?a>0&&(f=Dn,p=a,g=o.length):t===br?d>0&&(f=br,p=d,g=u.length):(p=Math.max(a,d),f=p>0?a>d?Dn:br:null,g=f?f===Dn?o.length:u.length:0);const _=f===Dn&&/\b(transform|all)(,|$)/.test(s(`${Dn}Property`).toString());return{type:f,timeout:p,propCount:g,hasTransform:_}}function Ku(e,t){for(;e.lengthWu(n)+Wu(e[s])))}function Wu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function nl(){return document.body.offsetHeight}function lE(e,t,n){const s=e[Zs];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Yu=Symbol("_vod"),cE=Symbol("_vsh"),uE=Symbol(""),fE=/(^|;)\s*display\s*:/;function dE(e,t,n){const s=e.style,r=Qe(n);let o=!1;if(n&&!r){if(t)if(Qe(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Ri(s,l,"")}else for(const a in t)n[a]==null&&Ri(s,a,"");for(const a in n)a==="display"&&(o=!0),Ri(s,a,n[a])}else if(r){if(t!==n){const a=s[uE];a&&(n+=";"+a),s.cssText=n,o=fE.test(n)}}else t&&e.removeAttribute("style");Yu in e&&(e[Yu]=o?s.display:"",e[cE]&&(s.display="none"))}const zu=/\s*!important$/;function Ri(e,t,n){if(he(n))n.forEach(s=>Ri(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=hE(e,t);zu.test(n)?e.setProperty(Ts(s),n.replace(zu,""),"important"):e[s]=n}}const Gu=["Webkit","Moz","ms"],ca={};function hE(e,t){const n=ca[t];if(n)return n;let s=Kt(t);if(s!=="filter"&&s in e)return ca[t]=s;s=Ji(s);for(let r=0;rua||(_E.then(()=>ua=0),ua=Date.now());function bE(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Xt(yE(s,n.value),t,5,[s])};return n.value=e,n.attached=vE(),n}function yE(e,t){if(he(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const tf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,EE=(e,t,n,s,r,o)=>{const a=r==="svg";t==="class"?lE(e,s,a):t==="style"?dE(e,n,s):zi(t)?gl(t)||mE(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wE(e,t,s,a))?(Xu(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Qu(e,t,s,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Qe(s))?Xu(e,Kt(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Qu(e,t,s,a))};function wE(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&tf(t)&&ge(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return tf(t)&&Qe(n)?!1:t in e}const qh=new WeakMap,Kh=new WeakMap,Ki=Symbol("_moveCb"),nf=Symbol("_enterCb"),TE=e=>(delete e.props.mode,e),AE=TE({name:"TransitionGroup",props:nt({},Hh,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Bl(),s=th();let r,o;return uh(()=>{if(!r.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!RE(r[0].el,n.vnode.el,a)){r=[];return}r.forEach(CE),r.forEach(OE);const l=r.filter(xE);nl(),l.forEach(u=>{const d=u.el,f=d.style;un(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const p=d[Ki]=g=>{g&&g.target!==d||(!g||/transform$/.test(g.propertyName))&&(d.removeEventListener("transitionend",p),d[Ki]=null,Mn(d,a))};d.addEventListener("transitionend",p)}),r=[]}),()=>{const a=Re(e),l=Uh(a);let u=a.tag||St;if(r=[],o)for(let d=0;d{l.split(/\s+/).forEach(u=>u&&s.classList.remove(u))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:a}=jh(s);return o.removeChild(s),a}const Wn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return he(t)?n=>Ci(t,n):t};function NE(e){e.target.composing=!0}function sf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const qt=Symbol("_assign"),Ht={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[qt]=Wn(r);const o=s||r.props&&r.props.type==="number";Tn(e,t?"change":"input",a=>{if(a.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=Mi(l)),e[qt](l)}),n&&Tn(e,"change",()=>{e.value=e.value.trim()}),t||(Tn(e,"compositionstart",NE),Tn(e,"compositionend",sf),Tn(e,"change",sf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},a){if(e[qt]=Wn(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Mi(e.value):e.value,u=t??"";l!==u&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===u)||(e.value=u))}},$E={deep:!0,created(e,t,n){e[qt]=Wn(n),Tn(e,"change",()=>{const s=e._modelValue,r=er(e),o=e.checked,a=e[qt];if(he(s)){const l=yl(s,r),u=l!==-1;if(o&&!u)a(s.concat(r));else if(!o&&u){const d=[...s];d.splice(l,1),a(d)}}else if(sr(s)){const l=new Set(s);o?l.add(r):l.delete(r),a(l)}else a(Wh(e,o))})},mounted:rf,beforeUpdate(e,t,n){e[qt]=Wn(n),rf(e,t,n)}};function rf(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(he(t))r=yl(t,s.props.value)>-1;else if(sr(t))r=t.has(s.props.value);else{if(t===n)return;r=bs(t,Wh(e,!0))}e.checked!==r&&(e.checked=r)}const PE={created(e,{value:t},n){e.checked=bs(t,n.props.value),e[qt]=Wn(n),Tn(e,"change",()=>{e[qt](er(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[qt]=Wn(s),t!==n&&(e.checked=bs(t,s.props.value))}},DE={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=sr(t);Tn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Mi(er(a)):er(a));e[qt](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,eo(()=>{e._assigning=!1})}),e[qt]=Wn(s)},mounted(e,{value:t}){of(e,t)},beforeUpdate(e,t,n){e[qt]=Wn(n)},updated(e,{value:t}){e._assigning||of(e,t)}};function of(e,t){const n=e.multiple,s=he(t);if(!(n&&!s&&!sr(t))){for(let r=0,o=e.options.length;rString(d)===String(l)):a.selected=yl(t,l)>-1}else a.selected=t.has(l);else if(bs(er(a),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function er(e){return"_value"in e?e._value:e.value}function Wh(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const fa={created(e,t,n){Ai(e,t,n,null,"created")},mounted(e,t,n){Ai(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Ai(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Ai(e,t,n,s,"updated")}};function LE(e,t){switch(e){case"SELECT":return DE;case"TEXTAREA":return Ht;default:switch(t){case"checkbox":return $E;case"radio":return PE;default:return Ht}}}function Ai(e,t,n,s,r){const a=LE(e.tagName,n.props&&n.props.type)[r];a&&a(e,t,n,s)}const IE=nt({patchProp:EE},rE);let af;function ME(){return af||(af=Ty(IE))}const kE=(...e)=>{const t=ME().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=FE(s);if(!r)return;const o=t._component;!ge(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,BE(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function BE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function FE(e){return Qe(e)?document.querySelector(e):e}/*! - * pinia v3.0.2 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Yh;const ao=e=>Yh=e,zh=Symbol();function sl(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var $r;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})($r||($r={}));function VE(){const e=Rd(!0),t=e.run(()=>De({}));let n=[],s=[];const r=xl({install(o){ao(r),r._a=o,o.provide(zh,r),o.config.globalProperties.$pinia=r,s.forEach(a=>n.push(a)),s=[]},use(o){return this._a?n.push(o):s.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Gh=()=>{};function lf(e,t,n,s=Gh){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&Nd()&&bb(r),r}function js(e,...t){e.slice().forEach(n=>{n(...t)})}const HE=e=>e(),cf=Symbol(),da=Symbol();function rl(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];sl(r)&&sl(s)&&e.hasOwnProperty(n)&&!et(s)&&!jn(s)?e[n]=rl(r,s):e[n]=s}return e}const UE=Symbol();function jE(e){return!sl(e)||!Object.prototype.hasOwnProperty.call(e,UE)}const{assign:kn}=Object;function qE(e){return!!(et(e)&&e.effect)}function KE(e,t,n,s){const{state:r,actions:o,getters:a}=t,l=n.state.value[e];let u;function d(){l||(n.state.value[e]=r?r():{});const f=Ub(n.state.value[e]);return kn(f,o,Object.keys(a||{}).reduce((p,g)=>(p[g]=xl(Ue(()=>{ao(n);const _=n._s.get(e);return a[g].call(_,_)})),p),{}))}return u=Jh(e,d,t,n,s,!0),u}function Jh(e,t,n={},s,r,o){let a;const l=kn({actions:{}},n),u={deep:!0};let d,f,p=[],g=[],_;const E=s.state.value[e];!o&&!E&&(s.state.value[e]={}),De({});let C;function V(A){let O;d=f=!1,typeof A=="function"?(A(s.state.value[e]),O={type:$r.patchFunction,storeId:e,events:_}):(rl(s.state.value[e],A),O={type:$r.patchObject,payload:A,storeId:e,events:_});const k=C=Symbol();eo().then(()=>{C===k&&(d=!0)}),f=!0,js(p,O,s.state.value[e])}const I=o?function(){const{state:O}=n,k=O?O():{};this.$patch(F=>{kn(F,k)})}:Gh;function M(){a.stop(),p=[],g=[],s._s.delete(e)}const w=(A,O="")=>{if(cf in A)return A[da]=O,A;const k=function(){ao(s);const F=Array.from(arguments),L=[],z=[];function q(Q){L.push(Q)}function X(Q){z.push(Q)}js(g,{args:F,name:k[da],store:B,after:q,onError:X});let Y;try{Y=A.apply(this&&this.$id===e?this:B,F)}catch(Q){throw js(z,Q),Q}return Y instanceof Promise?Y.then(Q=>(js(L,Q),Q)).catch(Q=>(js(z,Q),Promise.reject(Q))):(js(L,Y),Y)};return k[cf]=!0,k[da]=O,k},U={_p:s,$id:e,$onAction:lf.bind(null,g),$patch:V,$reset:I,$subscribe(A,O={}){const k=lf(p,A,O.detached,()=>F()),F=a.run(()=>Js(()=>s.state.value[e],L=>{(O.flush==="sync"?f:d)&&A({storeId:e,type:$r.direct,events:_},L)},kn({},u,O)));return k},$dispose:M},B=Cn(U);s._s.set(e,B);const N=(s._a&&s._a.runWithContext||HE)(()=>s._e.run(()=>(a=Rd()).run(()=>t({action:w}))));for(const A in N){const O=N[A];if(et(O)&&!qE(O)||jn(O))o||(E&&jE(O)&&(et(O)?O.value=E[A]:rl(O,E[A])),s.state.value[e][A]=O);else if(typeof O=="function"){const k=w(O,A);N[A]=k,l.actions[A]=O}}return kn(B,N),kn(Re(B),N),Object.defineProperty(B,"$state",{get:()=>s.state.value[e],set:A=>{V(O=>{kn(O,A)})}}),s._p.forEach(A=>{kn(B,a.run(()=>A({store:B,app:s._a,pinia:s,options:l})))}),E&&o&&n.hydrate&&n.hydrate(B.$state,E),d=!0,f=!0,B}/*! #__NO_SIDE_EFFECTS__ */function WE(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function o(a,l){const u=gy();return a=a||(u?Mt(zh,null):null),a&&ao(a),a=Yh,a._s.has(e)||(r?Jh(e,t,s,a):KE(e,s,a)),a._s.get(e)}return o.$id=e,o}const lt=[];for(let e=0;e<256;++e)lt.push((e+256).toString(16).slice(1));function YE(e,t=0){return(lt[e[t+0]]+lt[e[t+1]]+lt[e[t+2]]+lt[e[t+3]]+"-"+lt[e[t+4]]+lt[e[t+5]]+"-"+lt[e[t+6]]+lt[e[t+7]]+"-"+lt[e[t+8]]+lt[e[t+9]]+"-"+lt[e[t+10]]+lt[e[t+11]]+lt[e[t+12]]+lt[e[t+13]]+lt[e[t+14]]+lt[e[t+15]]).toLowerCase()}let ha;const zE=new Uint8Array(16);function GE(){if(!ha){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");ha=crypto.getRandomValues.bind(crypto)}return ha(zE)}const JE=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),uf={randomUUID:JE};function Qh(e,t,n){if(uf.randomUUID&&!e)return uf.randomUUID();e=e||{};const s=e.random??e.rng?.()??GE();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,YE(s)}function Vl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ni={exports:{}},QE=Ni.exports,ff;function XE(){return ff||(ff=1,function(e,t){(function(n,s){e.exports=s()})(QE,function(){var n=1e3,s=6e4,r=36e5,o="millisecond",a="second",l="minute",u="hour",d="day",f="week",p="month",g="quarter",_="year",E="date",C="Invalid Date",V=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(q){var X=["th","st","nd","rd"],Y=q%100;return"["+q+(X[(Y-20)%10]||X[Y]||X[0])+"]"}},w=function(q,X,Y){var Q=String(q);return!Q||Q.length>=X?q:""+Array(X+1-Q.length).join(Y)+q},U={s:w,z:function(q){var X=-q.utcOffset(),Y=Math.abs(X),Q=Math.floor(Y/60),J=Y%60;return(X<=0?"+":"-")+w(Q,2,"0")+":"+w(J,2,"0")},m:function q(X,Y){if(X.date()1)return q(fe[0])}else{var ve=X.name;R[ve]=X,J=ve}return!Q&&J&&(B=J),J||!Q&&B},k=function(q,X){if(A(q))return q.clone();var Y=typeof X=="object"?X:{};return Y.date=q,Y.args=arguments,new L(Y)},F=U;F.l=O,F.i=A,F.w=function(q,X){return k(q,{locale:X.$L,utc:X.$u,x:X.$x,$offset:X.$offset})};var L=function(){function q(Y){this.$L=O(Y.locale,null,!0),this.parse(Y),this.$x=this.$x||Y.x||{},this[N]=!0}var X=q.prototype;return X.parse=function(Y){this.$d=function(Q){var J=Q.date,ue=Q.utc;if(J===null)return new Date(NaN);if(F.u(J))return new Date;if(J instanceof Date)return new Date(J);if(typeof J=="string"&&!/Z$/i.test(J)){var fe=J.match(V);if(fe){var ve=fe[2]-1||0,ye=(fe[7]||"0").substring(0,3);return ue?new Date(Date.UTC(fe[1],ve,fe[3]||1,fe[4]||0,fe[5]||0,fe[6]||0,ye)):new Date(fe[1],ve,fe[3]||1,fe[4]||0,fe[5]||0,fe[6]||0,ye)}}return new Date(J)}(Y),this.init()},X.init=function(){var Y=this.$d;this.$y=Y.getFullYear(),this.$M=Y.getMonth(),this.$D=Y.getDate(),this.$W=Y.getDay(),this.$H=Y.getHours(),this.$m=Y.getMinutes(),this.$s=Y.getSeconds(),this.$ms=Y.getMilliseconds()},X.$utils=function(){return F},X.isValid=function(){return this.$d.toString()!==C},X.isSame=function(Y,Q){var J=k(Y);return this.startOf(Q)<=J&&J<=this.endOf(Q)},X.isAfter=function(Y,Q){return k(Y)t=>{const n=ew.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),nn=e=>(e=e.toLowerCase(),t=>co(t)===e),uo=e=>t=>typeof t===e,{isArray:ir}=Array,Ur=uo("undefined");function tw(e){return e!==null&&!Ur(e)&&e.constructor!==null&&!Ur(e.constructor)&&Ot(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const ep=nn("ArrayBuffer");function nw(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ep(e.buffer),t}const sw=uo("string"),Ot=uo("function"),tp=uo("number"),fo=e=>e!==null&&typeof e=="object",rw=e=>e===!0||e===!1,$i=e=>{if(co(e)!=="object")return!1;const t=Hl(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Zh in e)&&!(lo in e)},iw=nn("Date"),ow=nn("File"),aw=nn("Blob"),lw=nn("FileList"),cw=e=>fo(e)&&Ot(e.pipe),uw=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ot(e.append)&&((t=co(e))==="formdata"||t==="object"&&Ot(e.toString)&&e.toString()==="[object FormData]"))},fw=nn("URLSearchParams"),[dw,hw,pw,mw]=["ReadableStream","Request","Response","Headers"].map(nn),gw=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Gr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,r;if(typeof e!="object"&&(e=[e]),ir(e))for(s=0,r=e.length;s0;)if(r=n[s],t===r.toLowerCase())return r;return null}const ps=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,sp=e=>!Ur(e)&&e!==ps;function il(){const{caseless:e}=sp(this)&&this||{},t={},n=(s,r)=>{const o=e&&np(t,r)||r;$i(t[o])&&$i(s)?t[o]=il(t[o],s):$i(s)?t[o]=il({},s):ir(s)?t[o]=s.slice():t[o]=s};for(let s=0,r=arguments.length;s(Gr(t,(r,o)=>{n&&Ot(r)?e[o]=Xh(r,n):e[o]=r},{allOwnKeys:s}),e),vw=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),bw=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},yw=(e,t,n,s)=>{let r,o,a;const l={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),o=r.length;o-- >0;)a=r[o],(!s||s(a,e,t))&&!l[a]&&(t[a]=e[a],l[a]=!0);e=n!==!1&&Hl(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ew=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},ww=e=>{if(!e)return null;if(ir(e))return e;let t=e.length;if(!tp(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Tw=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Hl(Uint8Array)),Aw=(e,t)=>{const s=(e&&e[lo]).call(e);let r;for(;(r=s.next())&&!r.done;){const o=r.value;t.call(e,o[0],o[1])}},Sw=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},Cw=nn("HTMLFormElement"),Ow=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,r){return s.toUpperCase()+r}),df=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),xw=nn("RegExp"),rp=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};Gr(n,(r,o)=>{let a;(a=t(r,o,e))!==!1&&(s[o]=a||r)}),Object.defineProperties(e,s)},Rw=e=>{rp(e,(t,n)=>{if(Ot(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(Ot(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Nw=(e,t)=>{const n={},s=r=>{r.forEach(o=>{n[o]=!0})};return ir(e)?s(e):s(String(e).split(t)),n},$w=()=>{},Pw=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Dw(e){return!!(e&&Ot(e.append)&&e[Zh]==="FormData"&&e[lo])}const Lw=e=>{const t=new Array(10),n=(s,r)=>{if(fo(s)){if(t.indexOf(s)>=0)return;if(!("toJSON"in s)){t[r]=s;const o=ir(s)?[]:{};return Gr(s,(a,l)=>{const u=n(a,r+1);!Ur(u)&&(o[l]=u)}),t[r]=void 0,o}}return s};return n(e,0)},Iw=nn("AsyncFunction"),Mw=e=>e&&(fo(e)||Ot(e))&&Ot(e.then)&&Ot(e.catch),ip=((e,t)=>e?setImmediate:t?((n,s)=>(ps.addEventListener("message",({source:r,data:o})=>{r===ps&&o===n&&s.length&&s.shift()()},!1),r=>{s.push(r),ps.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ot(ps.postMessage)),kw=typeof queueMicrotask<"u"?queueMicrotask.bind(ps):typeof process<"u"&&process.nextTick||ip,Bw=e=>e!=null&&Ot(e[lo]),H={isArray:ir,isArrayBuffer:ep,isBuffer:tw,isFormData:uw,isArrayBufferView:nw,isString:sw,isNumber:tp,isBoolean:rw,isObject:fo,isPlainObject:$i,isReadableStream:dw,isRequest:hw,isResponse:pw,isHeaders:mw,isUndefined:Ur,isDate:iw,isFile:ow,isBlob:aw,isRegExp:xw,isFunction:Ot,isStream:cw,isURLSearchParams:fw,isTypedArray:Tw,isFileList:lw,forEach:Gr,merge:il,extend:_w,trim:gw,stripBOM:vw,inherits:bw,toFlatObject:yw,kindOf:co,kindOfTest:nn,endsWith:Ew,toArray:ww,forEachEntry:Aw,matchAll:Sw,isHTMLForm:Cw,hasOwnProperty:df,hasOwnProp:df,reduceDescriptors:rp,freezeMethods:Rw,toObjectSet:Nw,toCamelCase:Ow,noop:$w,toFiniteNumber:Pw,findKey:np,global:ps,isContextDefined:sp,isSpecCompliantForm:Dw,toJSONObject:Lw,isAsyncFn:Iw,isThenable:Mw,setImmediate:ip,asap:kw,isIterable:Bw};function Ee(e,t,n,s,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),r&&(this.response=r,this.status=r.status?r.status:null)}H.inherits(Ee,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:H.toJSONObject(this.config),code:this.code,status:this.status}}});const op=Ee.prototype,ap={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ap[e]={value:e}});Object.defineProperties(Ee,ap);Object.defineProperty(op,"isAxiosError",{value:!0});Ee.from=(e,t,n,s,r,o)=>{const a=Object.create(op);return H.toFlatObject(e,a,function(u){return u!==Error.prototype},l=>l!=="isAxiosError"),Ee.call(a,e.message,t,n,s,r),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const Fw=null;function ol(e){return H.isPlainObject(e)||H.isArray(e)}function lp(e){return H.endsWith(e,"[]")?e.slice(0,-2):e}function hf(e,t,n){return e?e.concat(t).map(function(r,o){return r=lp(r),!n&&o?"["+r+"]":r}).join(n?".":""):t}function Vw(e){return H.isArray(e)&&!e.some(ol)}const Hw=H.toFlatObject(H,{},null,function(t){return/^is[A-Z]/.test(t)});function ho(e,t,n){if(!H.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=H.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,V){return!H.isUndefined(V[C])});const s=n.metaTokens,r=n.visitor||f,o=n.dots,a=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&H.isSpecCompliantForm(t);if(!H.isFunction(r))throw new TypeError("visitor must be a function");function d(E){if(E===null)return"";if(H.isDate(E))return E.toISOString();if(!u&&H.isBlob(E))throw new Ee("Blob is not supported. Use a Buffer instead.");return H.isArrayBuffer(E)||H.isTypedArray(E)?u&&typeof Blob=="function"?new Blob([E]):Buffer.from(E):E}function f(E,C,V){let I=E;if(E&&!V&&typeof E=="object"){if(H.endsWith(C,"{}"))C=s?C:C.slice(0,-2),E=JSON.stringify(E);else if(H.isArray(E)&&Vw(E)||(H.isFileList(E)||H.endsWith(C,"[]"))&&(I=H.toArray(E)))return C=lp(C),I.forEach(function(w,U){!(H.isUndefined(w)||w===null)&&t.append(a===!0?hf([C],U,o):a===null?C:C+"[]",d(w))}),!1}return ol(E)?!0:(t.append(hf(V,C,o),d(E)),!1)}const p=[],g=Object.assign(Hw,{defaultVisitor:f,convertValue:d,isVisitable:ol});function _(E,C){if(!H.isUndefined(E)){if(p.indexOf(E)!==-1)throw Error("Circular reference detected in "+C.join("."));p.push(E),H.forEach(E,function(I,M){(!(H.isUndefined(I)||I===null)&&r.call(t,I,H.isString(M)?M.trim():M,C,g))===!0&&_(I,C?C.concat(M):[M])}),p.pop()}}if(!H.isObject(e))throw new TypeError("data must be an object");return _(e),t}function pf(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function Ul(e,t){this._pairs=[],e&&ho(e,this,t)}const cp=Ul.prototype;cp.append=function(t,n){this._pairs.push([t,n])};cp.toString=function(t){const n=t?function(s){return t.call(this,s,pf)}:pf;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function Uw(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function up(e,t,n){if(!t)return e;const s=n&&n.encode||Uw;H.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let o;if(r?o=r(t,n):o=H.isURLSearchParams(t)?t.toString():new Ul(t,n).toString(s),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class mf{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){H.forEach(this.handlers,function(s){s!==null&&t(s)})}}const fp={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},jw=typeof URLSearchParams<"u"?URLSearchParams:Ul,qw=typeof FormData<"u"?FormData:null,Kw=typeof Blob<"u"?Blob:null,Ww={isBrowser:!0,classes:{URLSearchParams:jw,FormData:qw,Blob:Kw},protocols:["http","https","file","blob","url","data"]},jl=typeof window<"u"&&typeof document<"u",al=typeof navigator=="object"&&navigator||void 0,Yw=jl&&(!al||["ReactNative","NativeScript","NS"].indexOf(al.product)<0),zw=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Gw=jl&&window.location.href||"http://localhost",Jw=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:jl,hasStandardBrowserEnv:Yw,hasStandardBrowserWebWorkerEnv:zw,navigator:al,origin:Gw},Symbol.toStringTag,{value:"Module"})),gt={...Jw,...Ww};function Qw(e,t){return ho(e,new gt.classes.URLSearchParams,Object.assign({visitor:function(n,s,r,o){return gt.isNode&&H.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function Xw(e){return H.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Zw(e){const t={},n=Object.keys(e);let s;const r=n.length;let o;for(s=0;s=n.length;return a=!a&&H.isArray(r)?r.length:a,u?(H.hasOwnProp(r,a)?r[a]=[r[a],s]:r[a]=s,!l):((!r[a]||!H.isObject(r[a]))&&(r[a]=[]),t(n,s,r[a],o)&&H.isArray(r[a])&&(r[a]=Zw(r[a])),!l)}if(H.isFormData(e)&&H.isFunction(e.entries)){const n={};return H.forEachEntry(e,(s,r)=>{t(Xw(s),r,n,0)}),n}return null}function e0(e,t,n){if(H.isString(e))try{return(t||JSON.parse)(e),H.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const Jr={transitional:fp,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",r=s.indexOf("application/json")>-1,o=H.isObject(t);if(o&&H.isHTMLForm(t)&&(t=new FormData(t)),H.isFormData(t))return r?JSON.stringify(dp(t)):t;if(H.isArrayBuffer(t)||H.isBuffer(t)||H.isStream(t)||H.isFile(t)||H.isBlob(t)||H.isReadableStream(t))return t;if(H.isArrayBufferView(t))return t.buffer;if(H.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Qw(t,this.formSerializer).toString();if((l=H.isFileList(t))||s.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return ho(l?{"files[]":t}:t,u&&new u,this.formSerializer)}}return o||r?(n.setContentType("application/json",!1),e0(t)):t}],transformResponse:[function(t){const n=this.transitional||Jr.transitional,s=n&&n.forcedJSONParsing,r=this.responseType==="json";if(H.isResponse(t)||H.isReadableStream(t))return t;if(t&&H.isString(t)&&(s&&!this.responseType||r)){const a=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(l){if(a)throw l.name==="SyntaxError"?Ee.from(l,Ee.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:gt.classes.FormData,Blob:gt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};H.forEach(["delete","get","head","post","put","patch"],e=>{Jr.headers[e]={}});const t0=H.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"]),n0=e=>{const t={};let n,s,r;return e&&e.split(` -`).forEach(function(a){r=a.indexOf(":"),n=a.substring(0,r).trim().toLowerCase(),s=a.substring(r+1).trim(),!(!n||t[n]&&t0[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},gf=Symbol("internals");function yr(e){return e&&String(e).trim().toLowerCase()}function Pi(e){return e===!1||e==null?e:H.isArray(e)?e.map(Pi):String(e)}function s0(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}const r0=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function pa(e,t,n,s,r){if(H.isFunction(s))return s.call(this,t,n);if(r&&(t=n),!!H.isString(t)){if(H.isString(s))return t.indexOf(s)!==-1;if(H.isRegExp(s))return s.test(t)}}function i0(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function o0(e,t){const n=H.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(r,o,a){return this[s].call(this,t,r,o,a)},configurable:!0})})}let xt=class{constructor(t){t&&this.set(t)}set(t,n,s){const r=this;function o(l,u,d){const f=yr(u);if(!f)throw new Error("header name must be a non-empty string");const p=H.findKey(r,f);(!p||r[p]===void 0||d===!0||d===void 0&&r[p]!==!1)&&(r[p||u]=Pi(l))}const a=(l,u)=>H.forEach(l,(d,f)=>o(d,f,u));if(H.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(H.isString(t)&&(t=t.trim())&&!r0(t))a(n0(t),n);else if(H.isObject(t)&&H.isIterable(t)){let l={},u,d;for(const f of t){if(!H.isArray(f))throw TypeError("Object iterator must return a key-value pair");l[d=f[0]]=(u=l[d])?H.isArray(u)?[...u,f[1]]:[u,f[1]]:f[1]}a(l,n)}else t!=null&&o(n,t,s);return this}get(t,n){if(t=yr(t),t){const s=H.findKey(this,t);if(s){const r=this[s];if(!n)return r;if(n===!0)return s0(r);if(H.isFunction(n))return n.call(this,r,s);if(H.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=yr(t),t){const s=H.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||pa(this,this[s],s,n)))}return!1}delete(t,n){const s=this;let r=!1;function o(a){if(a=yr(a),a){const l=H.findKey(s,a);l&&(!n||pa(s,s[l],l,n))&&(delete s[l],r=!0)}}return H.isArray(t)?t.forEach(o):o(t),r}clear(t){const n=Object.keys(this);let s=n.length,r=!1;for(;s--;){const o=n[s];(!t||pa(this,this[o],o,t,!0))&&(delete this[o],r=!0)}return r}normalize(t){const n=this,s={};return H.forEach(this,(r,o)=>{const a=H.findKey(s,o);if(a){n[a]=Pi(r),delete n[o];return}const l=t?i0(o):String(o).trim();l!==o&&delete n[o],n[l]=Pi(r),s[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return H.forEach(this,(s,r)=>{s!=null&&s!==!1&&(n[r]=t&&H.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(r=>s.set(r)),s}static accessor(t){const s=(this[gf]=this[gf]={accessors:{}}).accessors,r=this.prototype;function o(a){const l=yr(a);s[l]||(o0(r,a),s[l]=!0)}return H.isArray(t)?t.forEach(o):o(t),this}};xt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);H.reduceDescriptors(xt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});H.freezeMethods(xt);function ma(e,t){const n=this||Jr,s=t||n,r=xt.from(s.headers);let o=s.data;return H.forEach(e,function(l){o=l.call(n,o,r.normalize(),t?t.status:void 0)}),r.normalize(),o}function hp(e){return!!(e&&e.__CANCEL__)}function or(e,t,n){Ee.call(this,e??"canceled",Ee.ERR_CANCELED,t,n),this.name="CanceledError"}H.inherits(or,Ee,{__CANCEL__:!0});function pp(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new Ee("Request failed with status code "+n.status,[Ee.ERR_BAD_REQUEST,Ee.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function a0(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function l0(e,t){e=e||10;const n=new Array(e),s=new Array(e);let r=0,o=0,a;return t=t!==void 0?t:1e3,function(u){const d=Date.now(),f=s[o];a||(a=d),n[r]=u,s[r]=d;let p=o,g=0;for(;p!==r;)g+=n[p++],p=p%e;if(r=(r+1)%e,r===o&&(o=(o+1)%e),d-a{n=f,r=null,o&&(clearTimeout(o),o=null),e.apply(null,d)};return[(...d)=>{const f=Date.now(),p=f-n;p>=s?a(d,f):(r=d,o||(o=setTimeout(()=>{o=null,a(r)},s-p)))},()=>r&&a(r)]}const Wi=(e,t,n=3)=>{let s=0;const r=l0(50,250);return c0(o=>{const a=o.loaded,l=o.lengthComputable?o.total:void 0,u=a-s,d=r(u),f=a<=l;s=a;const p={loaded:a,total:l,progress:l?a/l:void 0,bytes:u,rate:d||void 0,estimated:d&&l&&f?(l-a)/d:void 0,event:o,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(p)},n)},_f=(e,t)=>{const n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},vf=e=>(...t)=>H.asap(()=>e(...t)),u0=gt.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,gt.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(gt.origin),gt.navigator&&/(msie|trident)/i.test(gt.navigator.userAgent)):()=>!0,f0=gt.hasStandardBrowserEnv?{write(e,t,n,s,r,o){const a=[e+"="+encodeURIComponent(t)];H.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),H.isString(s)&&a.push("path="+s),H.isString(r)&&a.push("domain="+r),o===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function d0(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function h0(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function mp(e,t,n){let s=!d0(t);return e&&(s||n==!1)?h0(e,t):t}const bf=e=>e instanceof xt?{...e}:e;function ws(e,t){t=t||{};const n={};function s(d,f,p,g){return H.isPlainObject(d)&&H.isPlainObject(f)?H.merge.call({caseless:g},d,f):H.isPlainObject(f)?H.merge({},f):H.isArray(f)?f.slice():f}function r(d,f,p,g){if(H.isUndefined(f)){if(!H.isUndefined(d))return s(void 0,d,p,g)}else return s(d,f,p,g)}function o(d,f){if(!H.isUndefined(f))return s(void 0,f)}function a(d,f){if(H.isUndefined(f)){if(!H.isUndefined(d))return s(void 0,d)}else return s(void 0,f)}function l(d,f,p){if(p in t)return s(d,f);if(p in e)return s(void 0,d)}const u={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:l,headers:(d,f,p)=>r(bf(d),bf(f),p,!0)};return H.forEach(Object.keys(Object.assign({},e,t)),function(f){const p=u[f]||r,g=p(e[f],t[f],f);H.isUndefined(g)&&p!==l||(n[f]=g)}),n}const gp=e=>{const t=ws({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:r,xsrfCookieName:o,headers:a,auth:l}=t;t.headers=a=xt.from(a),t.url=up(mp(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&a.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let u;if(H.isFormData(n)){if(gt.hasStandardBrowserEnv||gt.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((u=a.getContentType())!==!1){const[d,...f]=u?u.split(";").map(p=>p.trim()).filter(Boolean):[];a.setContentType([d||"multipart/form-data",...f].join("; "))}}if(gt.hasStandardBrowserEnv&&(s&&H.isFunction(s)&&(s=s(t)),s||s!==!1&&u0(t.url))){const d=r&&o&&f0.read(o);d&&a.set(r,d)}return t},p0=typeof XMLHttpRequest<"u",m0=p0&&function(e){return new Promise(function(n,s){const r=gp(e);let o=r.data;const a=xt.from(r.headers).normalize();let{responseType:l,onUploadProgress:u,onDownloadProgress:d}=r,f,p,g,_,E;function C(){_&&_(),E&&E(),r.cancelToken&&r.cancelToken.unsubscribe(f),r.signal&&r.signal.removeEventListener("abort",f)}let V=new XMLHttpRequest;V.open(r.method.toUpperCase(),r.url,!0),V.timeout=r.timeout;function I(){if(!V)return;const w=xt.from("getAllResponseHeaders"in V&&V.getAllResponseHeaders()),B={data:!l||l==="text"||l==="json"?V.responseText:V.response,status:V.status,statusText:V.statusText,headers:w,config:e,request:V};pp(function(N){n(N),C()},function(N){s(N),C()},B),V=null}"onloadend"in V?V.onloadend=I:V.onreadystatechange=function(){!V||V.readyState!==4||V.status===0&&!(V.responseURL&&V.responseURL.indexOf("file:")===0)||setTimeout(I)},V.onabort=function(){V&&(s(new Ee("Request aborted",Ee.ECONNABORTED,e,V)),V=null)},V.onerror=function(){s(new Ee("Network Error",Ee.ERR_NETWORK,e,V)),V=null},V.ontimeout=function(){let U=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const B=r.transitional||fp;r.timeoutErrorMessage&&(U=r.timeoutErrorMessage),s(new Ee(U,B.clarifyTimeoutError?Ee.ETIMEDOUT:Ee.ECONNABORTED,e,V)),V=null},o===void 0&&a.setContentType(null),"setRequestHeader"in V&&H.forEach(a.toJSON(),function(U,B){V.setRequestHeader(B,U)}),H.isUndefined(r.withCredentials)||(V.withCredentials=!!r.withCredentials),l&&l!=="json"&&(V.responseType=r.responseType),d&&([g,E]=Wi(d,!0),V.addEventListener("progress",g)),u&&V.upload&&([p,_]=Wi(u),V.upload.addEventListener("progress",p),V.upload.addEventListener("loadend",_)),(r.cancelToken||r.signal)&&(f=w=>{V&&(s(!w||w.type?new or(null,e,V):w),V.abort(),V=null)},r.cancelToken&&r.cancelToken.subscribe(f),r.signal&&(r.signal.aborted?f():r.signal.addEventListener("abort",f)));const M=a0(r.url);if(M&>.protocols.indexOf(M)===-1){s(new Ee("Unsupported protocol "+M+":",Ee.ERR_BAD_REQUEST,e));return}V.send(o||null)})},g0=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,r;const o=function(d){if(!r){r=!0,l();const f=d instanceof Error?d:this.reason;s.abort(f instanceof Ee?f:new or(f instanceof Error?f.message:f))}};let a=t&&setTimeout(()=>{a=null,o(new Ee(`timeout ${t} of ms exceeded`,Ee.ETIMEDOUT))},t);const l=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(o):d.removeEventListener("abort",o)}),e=null)};e.forEach(d=>d.addEventListener("abort",o));const{signal:u}=s;return u.unsubscribe=()=>H.asap(l),u}},_0=function*(e,t){let n=e.byteLength;if(n{const r=v0(e,t);let o=0,a,l=u=>{a||(a=!0,s&&s(u))};return new ReadableStream({async pull(u){try{const{done:d,value:f}=await r.next();if(d){l(),u.close();return}let p=f.byteLength;if(n){let g=o+=p;n(g)}u.enqueue(new Uint8Array(f))}catch(d){throw l(d),d}},cancel(u){return l(u),r.return()}},{highWaterMark:2})},po=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",_p=po&&typeof ReadableStream=="function",y0=po&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),vp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},E0=_p&&vp(()=>{let e=!1;const t=new Request(gt.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ef=64*1024,ll=_p&&vp(()=>H.isReadableStream(new Response("").body)),Yi={stream:ll&&(e=>e.body)};po&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Yi[t]&&(Yi[t]=H.isFunction(e[t])?n=>n[t]():(n,s)=>{throw new Ee(`Response type '${t}' is not supported`,Ee.ERR_NOT_SUPPORT,s)})})})(new Response);const w0=async e=>{if(e==null)return 0;if(H.isBlob(e))return e.size;if(H.isSpecCompliantForm(e))return(await new Request(gt.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(H.isArrayBufferView(e)||H.isArrayBuffer(e))return e.byteLength;if(H.isURLSearchParams(e)&&(e=e+""),H.isString(e))return(await y0(e)).byteLength},T0=async(e,t)=>{const n=H.toFiniteNumber(e.getContentLength());return n??w0(t)},A0=po&&(async e=>{let{url:t,method:n,data:s,signal:r,cancelToken:o,timeout:a,onDownloadProgress:l,onUploadProgress:u,responseType:d,headers:f,withCredentials:p="same-origin",fetchOptions:g}=gp(e);d=d?(d+"").toLowerCase():"text";let _=g0([r,o&&o.toAbortSignal()],a),E;const C=_&&_.unsubscribe&&(()=>{_.unsubscribe()});let V;try{if(u&&E0&&n!=="get"&&n!=="head"&&(V=await T0(f,s))!==0){let B=new Request(t,{method:"POST",body:s,duplex:"half"}),R;if(H.isFormData(s)&&(R=B.headers.get("content-type"))&&f.setContentType(R),B.body){const[N,A]=_f(V,Wi(vf(u)));s=yf(B.body,Ef,N,A)}}H.isString(p)||(p=p?"include":"omit");const I="credentials"in Request.prototype;E=new Request(t,{...g,signal:_,method:n.toUpperCase(),headers:f.normalize().toJSON(),body:s,duplex:"half",credentials:I?p:void 0});let M=await fetch(E);const w=ll&&(d==="stream"||d==="response");if(ll&&(l||w&&C)){const B={};["status","statusText","headers"].forEach(O=>{B[O]=M[O]});const R=H.toFiniteNumber(M.headers.get("content-length")),[N,A]=l&&_f(R,Wi(vf(l),!0))||[];M=new Response(yf(M.body,Ef,N,()=>{A&&A(),C&&C()}),B)}d=d||"text";let U=await Yi[H.findKey(Yi,d)||"text"](M,e);return!w&&C&&C(),await new Promise((B,R)=>{pp(B,R,{data:U,headers:xt.from(M.headers),status:M.status,statusText:M.statusText,config:e,request:E})})}catch(I){throw C&&C(),I&&I.name==="TypeError"&&/Load failed|fetch/i.test(I.message)?Object.assign(new Ee("Network Error",Ee.ERR_NETWORK,e,E),{cause:I.cause||I}):Ee.from(I,I&&I.code,e,E)}}),cl={http:Fw,xhr:m0,fetch:A0};H.forEach(cl,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const wf=e=>`- ${e}`,S0=e=>H.isFunction(e)||e===null||e===!1,bp={getAdapter:e=>{e=H.isArray(e)?e:[e];const{length:t}=e;let n,s;const r={};for(let o=0;o`adapter ${l} `+(u===!1?"is not supported by the environment":"is not available in the build"));let a=t?o.length>1?`since : -`+o.map(wf).join(` -`):" "+wf(o[0]):"as no adapter specified";throw new Ee("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return s},adapters:cl};function ga(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new or(null,e)}function Tf(e){return ga(e),e.headers=xt.from(e.headers),e.data=ma.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),bp.getAdapter(e.adapter||Jr.adapter)(e).then(function(s){return ga(e),s.data=ma.call(e,e.transformResponse,s),s.headers=xt.from(s.headers),s},function(s){return hp(s)||(ga(e),s&&s.response&&(s.response.data=ma.call(e,e.transformResponse,s.response),s.response.headers=xt.from(s.response.headers))),Promise.reject(s)})}const yp="1.9.0",mo={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{mo[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const Af={};mo.transitional=function(t,n,s){function r(o,a){return"[Axios v"+yp+"] Transitional option '"+o+"'"+a+(s?". "+s:"")}return(o,a,l)=>{if(t===!1)throw new Ee(r(a," has been removed"+(n?" in "+n:"")),Ee.ERR_DEPRECATED);return n&&!Af[a]&&(Af[a]=!0,console.warn(r(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,a,l):!0}};mo.spelling=function(t){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function C0(e,t,n){if(typeof e!="object")throw new Ee("options must be an object",Ee.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let r=s.length;for(;r-- >0;){const o=s[r],a=t[o];if(a){const l=e[o],u=l===void 0||a(l,o,e);if(u!==!0)throw new Ee("option "+o+" must be "+u,Ee.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ee("Unknown option "+o,Ee.ERR_BAD_OPTION)}}const Di={assertOptions:C0,validators:mo},ln=Di.validators;let _s=class{constructor(t){this.defaults=t||{},this.interceptors={request:new mf,response:new mf}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const o=r.stack?r.stack.replace(/^.+\n/,""):"";try{s.stack?o&&!String(s.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(s.stack+=` -`+o):s.stack=o}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ws(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&Di.assertOptions(s,{silentJSONParsing:ln.transitional(ln.boolean),forcedJSONParsing:ln.transitional(ln.boolean),clarifyTimeoutError:ln.transitional(ln.boolean)},!1),r!=null&&(H.isFunction(r)?n.paramsSerializer={serialize:r}:Di.assertOptions(r,{encode:ln.function,serialize:ln.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Di.assertOptions(n,{baseUrl:ln.spelling("baseURL"),withXsrfToken:ln.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&H.merge(o.common,o[n.method]);o&&H.forEach(["delete","get","head","post","put","patch","common"],E=>{delete o[E]}),n.headers=xt.concat(a,o);const l=[];let u=!0;this.interceptors.request.forEach(function(C){typeof C.runWhen=="function"&&C.runWhen(n)===!1||(u=u&&C.synchronous,l.unshift(C.fulfilled,C.rejected))});const d=[];this.interceptors.response.forEach(function(C){d.push(C.fulfilled,C.rejected)});let f,p=0,g;if(!u){const E=[Tf.bind(this),void 0];for(E.unshift.apply(E,l),E.push.apply(E,d),g=E.length,f=Promise.resolve(n);p{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const a=new Promise(l=>{s.subscribe(l),o=l}).then(r);return a.cancel=function(){s.unsubscribe(o)},a},t(function(o,a,l){s.reason||(s.reason=new or(o,a,l),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Ep(function(r){t=r}),cancel:t}}};function x0(e){return function(n){return e.apply(null,n)}}function R0(e){return H.isObject(e)&&e.isAxiosError===!0}const ul={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};Object.entries(ul).forEach(([e,t])=>{ul[t]=e});function wp(e){const t=new _s(e),n=Xh(_s.prototype.request,t);return H.extend(n,_s.prototype,t,{allOwnKeys:!0}),H.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return wp(ws(e,r))},n}const qe=wp(Jr);qe.Axios=_s;qe.CanceledError=or;qe.CancelToken=O0;qe.isCancel=hp;qe.VERSION=yp;qe.toFormData=ho;qe.AxiosError=Ee;qe.Cancel=qe.CanceledError;qe.all=function(t){return Promise.all(t)};qe.spread=x0;qe.isAxiosError=R0;qe.mergeConfig=ws;qe.AxiosHeaders=xt;qe.formToJSON=e=>dp(H.isHTMLForm(e)?new FormData(e):e);qe.getAdapter=bp.getAdapter;qe.HttpStatusCode=ul;qe.default=qe;const{Axios:YS,AxiosError:zS,CanceledError:GS,isCancel:JS,CancelToken:QS,VERSION:XS,all:ZS,Cancel:eC,isAxiosError:tC,spread:nC,toFormData:sC,AxiosHeaders:rC,HttpStatusCode:iC,formToJSON:oC,getAdapter:aC,mergeConfig:lC}=qe,ar=e=>`./.${e}`,vs=async(e,t={})=>{try{return(await qe.post(ar(e),t)).data}catch(n){console.log(n);return}},jr=async(e,t={})=>{try{return(await qe.get(ar(e),t)).data}catch(n){console.log(n);return}},sn=WE("clientStore",{state:()=>({serverInformation:{},notifications:[],configurations:[],clientProfile:{Email:"",SignInMethod:"",Profile:{}}}),actions:{newNotification(e,t){this.notifications.push({id:Qh().toString(),status:t,content:e,time:Ar(),show:!0})},async getClientProfile(){const e=await jr("/api/settings/getClientProfile");e?this.clientProfile=e.data:this.newNotification("Failed to fetch client profile","danger")},async getConfigurations(){const e=await jr("/api/configurations");e?this.configurations=e.data:this.newNotification("Failed to fetch configurations","danger")}}}),Yn=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},N0={class:"card-body"},$0={class:"d-flex align-items-center mb-2"},P0={class:"ms-auto"},D0={class:"fw-medium"},L0={__name:"notification",props:{notificationData:{id:"",show:!0,content:"",time:"",status:""}},setup(e){const t=e;let n;const s=()=>{t.notificationData.show=!0,n=setTimeout(()=>{o()},5e3)},r=()=>clearTimeout(n),o=()=>t.notificationData.show=!1;return As(()=>{s()}),(a,l)=>(ce(),_e("div",{onMouseenter:l[1]||(l[1]=u=>r()),onMouseleave:l[2]||(l[2]=u=>e.notificationData.show?s():void 0),class:Jt([{"text-bg-success":e.notificationData.status==="success","text-bg-warning":e.notificationData.status==="warning","text-bg-danger":e.notificationData.status==="danger"},"card shadow rounded-3 position-relative message ms-auto notification"])},[T("div",N0,[T("div",$0,[T("small",null,mt(e.notificationData.time.format("hh:mm A")),1),T("small",P0,[T("a",{role:"button",onClick:l[0]||(l[0]=u=>o())},l[3]||(l[3]=[we(" Dismiss"),T("i",{class:"bi bi-x-lg ms-2"},null,-1)]))])]),T("span",D0,mt(e.notificationData.content),1)])],34))}},I0=Yn(L0,[["__scopeId","data-v-3303bfcd"]]),M0={class:"messageCentre text-body position-absolute d-flex"},k0={__name:"notificationList",setup(e){const t=sn(),n=Ue(()=>t.notifications.filter(s=>s.show).slice().reverse());return(s,r)=>(ce(),_e("div",M0,[Ne(SE,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:it(()=>[(ce(!0),_e(St,null,Dl(n.value,o=>(ce(),Zt(I0,{notificationData:o,key:o.id},null,8,["notificationData"]))),128))]),_:1})]))}},B0=Yn(k0,[["__scopeId","data-v-e4fed80c"]]),F0={"data-bs-theme":"dark",class:"text-body bg-body vw-100 vh-100 bg-body"},V0={class:"d-flex vw-100 p-sm-4 overflow-y-scroll innerContainer d-flex flex-column"},H0={class:"mx-auto my-sm-auto position-relative",id:"listContainer"},U0={__name:"App",setup(e){return(t,n)=>{const s=rr("RouterView");return ce(),_e("div",F0,[T("div",V0,[T("div",H0,[(ce(),Zt(Ph,null,{default:it(()=>[Ne(s,null,{default:it(({Component:r})=>[Ne(Hr,{name:"app",type:"transition",mode:"out-in"},{default:it(()=>[(ce(),Zt(ay(r)))]),_:2},1024)]),_:1})]),_:1}))]),n[0]||(n[0]=T("div",{style:{"font-size":"0.8rem"},class:"text-center text-muted"},[T("small",null,[we(" Background image by "),T("a",{href:"https://unsplash.com/photos/body-of-water-aExT3y92x5o"},"Fabrizio Conti")]),T("br")],-1))]),Ne(B0)])}}},j0=Yn(U0,[["__scopeId","data-v-30cf86d3"]]);/*! - * vue-router v4.5.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const Ws=typeof document<"u";function Tp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function q0(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Tp(e.default)}const Ie=Object.assign;function _a(e,t){const n={};for(const s in t){const r=t[s];n[s]=tn(r)?r.map(e):e(r)}return n}const Pr=()=>{},tn=Array.isArray,Ap=/#/g,K0=/&/g,W0=/\//g,Y0=/=/g,z0=/\?/g,Sp=/\+/g,G0=/%5B/g,J0=/%5D/g,Cp=/%5E/g,Q0=/%60/g,Op=/%7B/g,X0=/%7C/g,xp=/%7D/g,Z0=/%20/g;function ql(e){return encodeURI(""+e).replace(X0,"|").replace(G0,"[").replace(J0,"]")}function e1(e){return ql(e).replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function fl(e){return ql(e).replace(Sp,"%2B").replace(Z0,"+").replace(Ap,"%23").replace(K0,"%26").replace(Q0,"`").replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function t1(e){return fl(e).replace(Y0,"%3D")}function n1(e){return ql(e).replace(Ap,"%23").replace(z0,"%3F")}function s1(e){return e==null?"":n1(e).replace(W0,"%2F")}function qr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const r1=/\/$/,i1=e=>e.replace(r1,"");function va(e,t,n="/"){let s,r={},o="",a="";const l=t.indexOf("#");let u=t.indexOf("?");return l=0&&(u=-1),u>-1&&(s=t.slice(0,u),o=t.slice(u+1,l>-1?l:t.length),r=e(o)),l>-1&&(s=s||t.slice(0,l),a=t.slice(l,t.length)),s=c1(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:r,hash:qr(a)}}function o1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Sf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function a1(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&tr(t.matched[s],n.matched[r])&&Rp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function tr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Rp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!l1(e[n],t[n]))return!1;return!0}function l1(e,t){return tn(e)?Cf(e,t):tn(t)?Cf(t,e):e===t}function Cf(e,t){return tn(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function c1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(a).join("/")}const Ln={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Kr;(function(e){e.pop="pop",e.push="push"})(Kr||(Kr={}));var Dr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Dr||(Dr={}));function u1(e){if(!e)if(Ws){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),i1(e)}const f1=/^[^#]+#/;function d1(e,t){return e.replace(f1,"#")+t}function h1(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const go=()=>({left:window.scrollX,top:window.scrollY});function p1(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=h1(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Of(e,t){return(history.state?history.state.position-t:-1)+e}const dl=new Map;function m1(e,t){dl.set(e,t)}function g1(e){const t=dl.get(e);return dl.delete(e),t}let _1=()=>location.protocol+"//"+location.host;function Np(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let l=r.includes(e.slice(o))?e.slice(o).length:1,u=r.slice(l);return u[0]!=="/"&&(u="/"+u),Sf(u,"")}return Sf(n,e)+s+r}function v1(e,t,n,s){let r=[],o=[],a=null;const l=({state:g})=>{const _=Np(e,location),E=n.value,C=t.value;let V=0;if(g){if(n.value=_,t.value=g,a&&a===E){a=null;return}V=C?g.position-C.position:0}else s(_);r.forEach(I=>{I(n.value,E,{delta:V,type:Kr.pop,direction:V?V>0?Dr.forward:Dr.back:Dr.unknown})})};function u(){a=n.value}function d(g){r.push(g);const _=()=>{const E=r.indexOf(g);E>-1&&r.splice(E,1)};return o.push(_),_}function f(){const{history:g}=window;g.state&&g.replaceState(Ie({},g.state,{scroll:go()}),"")}function p(){for(const g of o)g();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:u,listen:d,destroy:p}}function xf(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?go():null}}function b1(e){const{history:t,location:n}=window,s={value:Np(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(u,d,f){const p=e.indexOf("#"),g=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+u:_1()+e+u;try{t[f?"replaceState":"pushState"](d,"",g),r.value=d}catch(_){console.error(_),n[f?"replace":"assign"](g)}}function a(u,d){const f=Ie({},t.state,xf(r.value.back,u,r.value.forward,!0),d,{position:r.value.position});o(u,f,!0),s.value=u}function l(u,d){const f=Ie({},r.value,t.state,{forward:u,scroll:go()});o(f.current,f,!0);const p=Ie({},xf(s.value,u,null),{position:f.position+1},d);o(u,p,!1),s.value=u}return{location:s,state:r,push:l,replace:a}}function y1(e){e=u1(e);const t=b1(e),n=v1(e,t.state,t.location,t.replace);function s(o,a=!0){a||n.pauseListeners(),history.go(o)}const r=Ie({location:"",base:e,go:s,createHref:d1.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function E1(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),y1(e)}function w1(e){return typeof e=="string"||e&&typeof e=="object"}function $p(e){return typeof e=="string"||typeof e=="symbol"}const Pp=Symbol("");var Rf;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Rf||(Rf={}));function nr(e,t){return Ie(new Error,{type:e,[Pp]:!0},t)}function bn(e,t){return e instanceof Error&&Pp in e&&(t==null||!!(e.type&t))}const Nf="[^/]+?",T1={sensitive:!1,strict:!1,start:!0,end:!0},A1=/[.+*?^${}()[\]/\\]/g;function S1(e,t){const n=Ie({},T1,t),s=[];let r=n.start?"^":"";const o=[];for(const d of e){const f=d.length?[]:[90];n.strict&&!d.length&&(r+="/");for(let p=0;pt.length?t.length===1&&t[0]===80?1:-1:0}function Dp(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const O1={type:0,value:""},x1=/[a-zA-Z0-9_]/;function R1(e){if(!e)return[[]];if(e==="/")return[[O1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(_){throw new Error(`ERR (${n})/"${d}": ${_}`)}let n=0,s=n;const r=[];let o;function a(){o&&r.push(o),o=[]}let l=0,u,d="",f="";function p(){d&&(n===0?o.push({type:0,value:d}):n===1||n===2||n===3?(o.length>1&&(u==="*"||u==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:d,regexp:f,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=u}for(;l{a(w)}:Pr}function a(p){if($p(p)){const g=s.get(p);g&&(s.delete(p),n.splice(n.indexOf(g),1),g.children.forEach(a),g.alias.forEach(a))}else{const g=n.indexOf(p);g>-1&&(n.splice(g,1),p.record.name&&s.delete(p.record.name),p.children.forEach(a),p.alias.forEach(a))}}function l(){return n}function u(p){const g=L1(p,n);n.splice(g,0,p),p.record.name&&!Lf(p)&&s.set(p.record.name,p)}function d(p,g){let _,E={},C,V;if("name"in p&&p.name){if(_=s.get(p.name),!_)throw nr(1,{location:p});V=_.record.name,E=Ie(Pf(g.params,_.keys.filter(w=>!w.optional).concat(_.parent?_.parent.keys.filter(w=>w.optional):[]).map(w=>w.name)),p.params&&Pf(p.params,_.keys.map(w=>w.name))),C=_.stringify(E)}else if(p.path!=null)C=p.path,_=n.find(w=>w.re.test(C)),_&&(E=_.parse(C),V=_.record.name);else{if(_=g.name?s.get(g.name):n.find(w=>w.re.test(g.path)),!_)throw nr(1,{location:p,currentLocation:g});V=_.record.name,E=Ie({},g.params,p.params),C=_.stringify(E)}const I=[];let M=_;for(;M;)I.unshift(M.record),M=M.parent;return{name:V,path:C,params:E,matched:I,meta:D1(I)}}e.forEach(p=>o(p));function f(){n.length=0,s.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Pf(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Df(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:P1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function P1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Lf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function D1(e){return e.reduce((t,n)=>Ie(t,n.meta),{})}function If(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function L1(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Dp(e,t[o])<0?s=o:n=o+1}const r=I1(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function I1(e){let t=e;for(;t=t.parent;)if(Lp(t)&&Dp(e,t)===0)return t}function Lp({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function M1(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&fl(o)):[s&&fl(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function k1(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=tn(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Ip=Symbol(""),kf=Symbol(""),_o=Symbol(""),Kl=Symbol(""),hl=Symbol("");function Er(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function B1(e,t,n){const s=()=>{e[t].delete(n)};Pl(s),lh(s),ah(()=>{e[t].add(n)}),e[t].add(n)}function F1(e){const t=Mt(Ip,{}).value;t&&B1(t,"leaveGuards",e)}function Hn(e,t,n,s,r,o=a=>a()){const a=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,u)=>{const d=g=>{g===!1?u(nr(4,{from:n,to:t})):g instanceof Error?u(g):w1(g)?u(nr(2,{from:t,to:g})):(a&&s.enterCallbacks[r]===a&&typeof g=="function"&&a.push(g),l())},f=o(()=>e.call(s&&s.instances[r],t,n,d));let p=Promise.resolve(f);e.length<3&&(p=p.then(d)),p.catch(g=>u(g))})}function ba(e,t,n,s,r=o=>o()){const o=[];for(const a of e)for(const l in a.components){let u=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(Tp(u)){const f=(u.__vccOpts||u)[t];f&&o.push(Hn(f,n,s,a,l,r))}else{let d=u();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const p=q0(f)?f.default:f;a.mods[l]=f,a.components[l]=p;const _=(p.__vccOpts||p)[t];return _&&Hn(_,n,s,a,l,r)()}))}}return o}function Bf(e){const t=Mt(_o),n=Mt(Kl),s=Ue(()=>{const u=jt(e.to);return t.resolve(u)}),r=Ue(()=>{const{matched:u}=s.value,{length:d}=u,f=u[d-1],p=n.matched;if(!f||!p.length)return-1;const g=p.findIndex(tr.bind(null,f));if(g>-1)return g;const _=Ff(u[d-2]);return d>1&&Ff(f)===_&&p[p.length-1].path!==_?p.findIndex(tr.bind(null,u[d-2])):g}),o=Ue(()=>r.value>-1&&q1(n.params,s.value.params)),a=Ue(()=>r.value>-1&&r.value===n.matched.length-1&&Rp(n.params,s.value.params));function l(u={}){if(j1(u)){const d=t[jt(e.replace)?"replace":"push"](jt(e.to)).catch(Pr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:s,href:Ue(()=>s.value.href),isActive:o,isExactActive:a,navigate:l}}function V1(e){return e.length===1?e[0]:e}const H1=$l({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:Bf,setup(e,{slots:t}){const n=Cn(Bf(e)),{options:s}=Mt(_o),r=Ue(()=>({[Vf(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Vf(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&V1(t.default(n));return e.custom?o:Fl("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),U1=H1;function j1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function q1(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!tn(r)||r.length!==s.length||s.some((o,a)=>o!==r[a]))return!1}return!0}function Ff(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vf=(e,t,n)=>e??t??n,K1=$l({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Mt(hl),r=Ue(()=>e.route||s.value),o=Mt(kf,0),a=Ue(()=>{let d=jt(o);const{matched:f}=r.value;let p;for(;(p=f[d])&&!p.components;)d++;return d}),l=Ue(()=>r.value.matched[a.value]);Oi(kf,Ue(()=>a.value+1)),Oi(Ip,l),Oi(hl,r);const u=De();return Js(()=>[u.value,l.value,e.name],([d,f,p],[g,_,E])=>{f&&(f.instances[p]=d,_&&_!==f&&d&&d===g&&(f.leaveGuards.size||(f.leaveGuards=_.leaveGuards),f.updateGuards.size||(f.updateGuards=_.updateGuards))),d&&f&&(!_||!tr(f,_)||!g)&&(f.enterCallbacks[p]||[]).forEach(C=>C(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,p=l.value,g=p&&p.components[f];if(!g)return Hf(n.default,{Component:g,route:d});const _=p.props[f],E=_?_===!0?d.params:typeof _=="function"?_(d):_:null,V=Fl(g,Ie({},E,t,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(p.instances[f]=null)},ref:u}));return Hf(n.default,{Component:V,route:d})||V}}});function Hf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const W1=K1;function Y1(e){const t=$1(e.routes,e),n=e.parseQuery||M1,s=e.stringifyQuery||Mf,r=e.history,o=Er(),a=Er(),l=Er(),u=Fb(Ln);let d=Ln;Ws&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=_a.bind(null,j=>""+j),p=_a.bind(null,s1),g=_a.bind(null,qr);function _(j,S){let te,ie;return $p(j)?(te=t.getRecordMatcher(j),ie=S):ie=j,t.addRoute(ie,te)}function E(j){const S=t.getRecordMatcher(j);S&&t.removeRoute(S)}function C(){return t.getRoutes().map(j=>j.record)}function V(j){return!!t.getRecordMatcher(j)}function I(j,S){if(S=Ie({},S||u.value),typeof j=="string"){const x=va(n,j,S.path),K=t.resolve({path:x.path},S),G=r.createHref(x.fullPath);return Ie(x,K,{params:g(K.params),hash:qr(x.hash),redirectedFrom:void 0,href:G})}let te;if(j.path!=null)te=Ie({},j,{path:va(n,j.path,S.path).path});else{const x=Ie({},j.params);for(const K in x)x[K]==null&&delete x[K];te=Ie({},j,{params:p(x)}),S.params=p(S.params)}const ie=t.resolve(te,S),Te=j.hash||"";ie.params=f(g(ie.params));const v=o1(s,Ie({},j,{hash:e1(Te),path:ie.path})),b=r.createHref(v);return Ie({fullPath:v,hash:Te,query:s===Mf?k1(j.query):j.query||{}},ie,{redirectedFrom:void 0,href:b})}function M(j){return typeof j=="string"?va(n,j,u.value.path):Ie({},j)}function w(j,S){if(d!==j)return nr(8,{from:S,to:j})}function U(j){return N(j)}function B(j){return U(Ie(M(j),{replace:!0}))}function R(j){const S=j.matched[j.matched.length-1];if(S&&S.redirect){const{redirect:te}=S;let ie=typeof te=="function"?te(j):te;return typeof ie=="string"&&(ie=ie.includes("?")||ie.includes("#")?ie=M(ie):{path:ie},ie.params={}),Ie({query:j.query,hash:j.hash,params:ie.path!=null?{}:j.params},ie)}}function N(j,S){const te=d=I(j),ie=u.value,Te=j.state,v=j.force,b=j.replace===!0,x=R(te);if(x)return N(Ie(M(x),{state:typeof x=="object"?Ie({},Te,x.state):Te,force:v,replace:b}),S||te);const K=te;K.redirectedFrom=S;let G;return!v&&a1(s,ie,te)&&(G=nr(16,{to:K,from:ie}),ve(ie,ie,!0,!1)),(G?Promise.resolve(G):k(K,ie)).catch($=>bn($)?bn($,2)?$:fe($):J($,K,ie)).then($=>{if($){if(bn($,2))return N(Ie({replace:b},M($.to),{state:typeof $.to=="object"?Ie({},Te,$.to.state):Te,force:v}),S||K)}else $=L(K,ie,!0,b,Te);return F(K,ie,$),$})}function A(j,S){const te=w(j,S);return te?Promise.reject(te):Promise.resolve()}function O(j){const S=ke.values().next().value;return S&&typeof S.runWithContext=="function"?S.runWithContext(j):j()}function k(j,S){let te;const[ie,Te,v]=z1(j,S);te=ba(ie.reverse(),"beforeRouteLeave",j,S);for(const x of ie)x.leaveGuards.forEach(K=>{te.push(Hn(K,j,S))});const b=A.bind(null,j,S);return te.push(b),Ge(te).then(()=>{te=[];for(const x of o.list())te.push(Hn(x,j,S));return te.push(b),Ge(te)}).then(()=>{te=ba(Te,"beforeRouteUpdate",j,S);for(const x of Te)x.updateGuards.forEach(K=>{te.push(Hn(K,j,S))});return te.push(b),Ge(te)}).then(()=>{te=[];for(const x of v)if(x.beforeEnter)if(tn(x.beforeEnter))for(const K of x.beforeEnter)te.push(Hn(K,j,S));else te.push(Hn(x.beforeEnter,j,S));return te.push(b),Ge(te)}).then(()=>(j.matched.forEach(x=>x.enterCallbacks={}),te=ba(v,"beforeRouteEnter",j,S,O),te.push(b),Ge(te))).then(()=>{te=[];for(const x of a.list())te.push(Hn(x,j,S));return te.push(b),Ge(te)}).catch(x=>bn(x,8)?x:Promise.reject(x))}function F(j,S,te){l.list().forEach(ie=>O(()=>ie(j,S,te)))}function L(j,S,te,ie,Te){const v=w(j,S);if(v)return v;const b=S===Ln,x=Ws?history.state:{};te&&(ie||b?r.replace(j.fullPath,Ie({scroll:b&&x&&x.scroll},Te)):r.push(j.fullPath,Te)),u.value=j,ve(j,S,te,b),fe()}let z;function q(){z||(z=r.listen((j,S,te)=>{if(!Ye.listening)return;const ie=I(j),Te=R(ie);if(Te){N(Ie(Te,{replace:!0,force:!0}),ie).catch(Pr);return}d=ie;const v=u.value;Ws&&m1(Of(v.fullPath,te.delta),go()),k(ie,v).catch(b=>bn(b,12)?b:bn(b,2)?(N(Ie(M(b.to),{force:!0}),ie).then(x=>{bn(x,20)&&!te.delta&&te.type===Kr.pop&&r.go(-1,!1)}).catch(Pr),Promise.reject()):(te.delta&&r.go(-te.delta,!1),J(b,ie,v))).then(b=>{b=b||L(ie,v,!1),b&&(te.delta&&!bn(b,8)?r.go(-te.delta,!1):te.type===Kr.pop&&bn(b,20)&&r.go(-1,!1)),F(ie,v,b)}).catch(Pr)}))}let X=Er(),Y=Er(),Q;function J(j,S,te){fe(j);const ie=Y.list();return ie.length?ie.forEach(Te=>Te(j,S,te)):console.error(j),Promise.reject(j)}function ue(){return Q&&u.value!==Ln?Promise.resolve():new Promise((j,S)=>{X.add([j,S])})}function fe(j){return Q||(Q=!j,q(),X.list().forEach(([S,te])=>j?te(j):S()),X.reset()),j}function ve(j,S,te,ie){const{scrollBehavior:Te}=e;if(!Ws||!Te)return Promise.resolve();const v=!te&&g1(Of(j.fullPath,0))||(ie||!te)&&history.state&&history.state.scroll||null;return eo().then(()=>Te(j,S,v)).then(b=>b&&p1(b)).catch(b=>J(b,j,S))}const ye=j=>r.go(j);let $e;const ke=new Set,Ye={currentRoute:u,listening:!0,addRoute:_,removeRoute:E,clearRoutes:t.clearRoutes,hasRoute:V,getRoutes:C,resolve:I,options:e,push:U,replace:B,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:Y.add,isReady:ue,install(j){const S=this;j.component("RouterLink",U1),j.component("RouterView",W1),j.config.globalProperties.$router=S,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>jt(u)}),Ws&&!$e&&u.value===Ln&&($e=!0,U(r.location).catch(Te=>{}));const te={};for(const Te in Ln)Object.defineProperty(te,Te,{get:()=>u.value[Te],enumerable:!0});j.provide(_o,S),j.provide(Kl,Kd(te)),j.provide(hl,u);const ie=j.unmount;ke.add(j),j.unmount=function(){ke.delete(j),ke.size<1&&(d=Ln,z&&z(),z=null,u.value=Ln,$e=!1,Q=!1),ie()}}};function Ge(j){return j.reduce((S,te)=>S.then(()=>O(te)),Promise.resolve())}return Ye}function z1(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;atr(d,l))?s.push(l):n.push(l));const u=e.matched[a];u&&(t.matched.find(d=>tr(d,u))||r.push(u))}return[n,s,r]}function vo(){return Mt(_o)}function G1(e){return Mt(Kl)}var qs={},ya,Uf;function J1(){return Uf||(Uf=1,ya=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),ya}var Ea={},In={},jf;function Ss(){if(jf)return In;jf=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return In.getSymbolSize=function(s){if(!s)throw new Error('"version" cannot be null or undefined');if(s<1||s>40)throw new Error('"version" should be in range from 1 to 40');return s*4+17},In.getSymbolTotalCodewords=function(s){return t[s]},In.getBCHDigit=function(n){let s=0;for(;n!==0;)s++,n>>>=1;return s},In.setToSJISFunction=function(s){if(typeof s!="function")throw new Error('"toSJISFunc" is not a valid function.');e=s},In.isKanjiModeEnabled=function(){return typeof e<"u"},In.toSJIS=function(s){return e(s)},In}var wa={},qf;function Wl(){return qf||(qf=1,function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,r){if(e.isValid(s))return s;try{return t(s)}catch{return r}}}(wa)),wa}var Ta,Kf;function Q1(){if(Kf)return Ta;Kf=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let s=0;s>>n-s-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},Ta=e,Ta}var Aa,Wf;function X1(){if(Wf)return Aa;Wf=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,n,s,r){const o=t*this.size+n;this.data[o]=s,r&&(this.reservedBit[o]=!0)},e.prototype.get=function(t,n){return this.data[t*this.size+n]},e.prototype.xor=function(t,n,s){this.data[t*this.size+n]^=s},e.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]},Aa=e,Aa}var Sa={},Yf;function Z1(){return Yf||(Yf=1,function(e){const t=Ss().getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const r=Math.floor(s/7)+2,o=t(s),a=o===145?26:Math.ceil((o-13)/(2*r-2))*2,l=[o-7];for(let u=1;u=0&&r<=7},e.from=function(r){return e.isValid(r)?parseInt(r,10):void 0},e.getPenaltyN1=function(r){const o=r.size;let a=0,l=0,u=0,d=null,f=null;for(let p=0;p=5&&(a+=t.N1+(l-5)),d=_,l=1),_=r.get(g,p),_===f?u++:(u>=5&&(a+=t.N1+(u-5)),f=_,u=1)}l>=5&&(a+=t.N1+(l-5)),u>=5&&(a+=t.N1+(u-5))}return a},e.getPenaltyN2=function(r){const o=r.size;let a=0;for(let l=0;l=10&&(l===1488||l===93)&&a++,u=u<<1&2047|r.get(f,d),f>=10&&(u===1488||u===93)&&a++}return a*t.N3},e.getPenaltyN4=function(r){let o=0;const a=r.data.length;for(let u=0;u=0;){const a=o[0];for(let u=0;u0){const l=new Uint8Array(this.degree);return l.set(o,a),l}return o},Ra=t,Ra}var Na={},$a={},Pa={},ed;function kp(){return ed||(ed=1,Pa.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),Pa}var cn={},td;function Bp(){if(td)return cn;td=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const s="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r -]))+`;cn.KANJI=new RegExp(n,"g"),cn.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),cn.BYTE=new RegExp(s,"g"),cn.NUMERIC=new RegExp(e,"g"),cn.ALPHANUMERIC=new RegExp(t,"g");const r=new RegExp("^"+n+"$"),o=new RegExp("^"+e+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return cn.testKanji=function(u){return r.test(u)},cn.testNumeric=function(u){return o.test(u)},cn.testAlphanumeric=function(u){return a.test(u)},cn}var nd;function Cs(){return nd||(nd=1,function(e){const t=kp(),n=Bp();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,a){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?o.ccBits[0]:a<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+r)}}e.from=function(o,a){if(e.isValid(o))return o;try{return s(o)}catch{return a}}}($a)),$a}var sd;function iT(){return sd||(sd=1,function(e){const t=Ss(),n=Mp(),s=Wl(),r=Cs(),o=kp(),a=7973,l=t.getBCHDigit(a);function u(g,_,E){for(let C=1;C<=40;C++)if(_<=e.getCapacity(C,E,g))return C}function d(g,_){return r.getCharCountIndicator(g,_)+4}function f(g,_){let E=0;return g.forEach(function(C){const V=d(C.mode,_);E+=V+C.getBitsLength()}),E}function p(g,_){for(let E=1;E<=40;E++)if(f(g,E)<=e.getCapacity(E,_,r.MIXED))return E}e.from=function(_,E){return o.isValid(_)?parseInt(_,10):E},e.getCapacity=function(_,E,C){if(!o.isValid(_))throw new Error("Invalid QR Code version");typeof C>"u"&&(C=r.BYTE);const V=t.getSymbolTotalCodewords(_),I=n.getTotalCodewordsCount(_,E),M=(V-I)*8;if(C===r.MIXED)return M;const w=M-d(C,_);switch(C){case r.NUMERIC:return Math.floor(w/10*3);case r.ALPHANUMERIC:return Math.floor(w/11*2);case r.KANJI:return Math.floor(w/13);case r.BYTE:default:return Math.floor(w/8)}},e.getBestVersionForData=function(_,E){let C;const V=s.from(E,s.M);if(Array.isArray(_)){if(_.length>1)return p(_,V);if(_.length===0)return 1;C=_[0]}else C=_;return u(C.mode,C.getLength(),V)},e.getEncodedBits=function(_){if(!o.isValid(_)||_<7)throw new Error("Invalid QR Code version");let E=_<<12;for(;t.getBCHDigit(E)-l>=0;)E^=a<=0;)u^=t<0&&(o=this.data.substr(r),a=parseInt(o,10),s.put(a,l*3+1))},Ia=t,Ia}var Ma,od;function lT(){if(od)return Ma;od=1;const e=Cs(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(s){this.mode=e.ALPHANUMERIC,this.data=s}return n.getBitsLength=function(r){return 11*Math.floor(r/2)+6*(r%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let o;for(o=0;o+2<=this.data.length;o+=2){let a=t.indexOf(this.data[o])*45;a+=t.indexOf(this.data[o+1]),r.put(a,11)}this.data.length%2&&r.put(t.indexOf(this.data[o]),6)},Ma=n,Ma}var ka,ad;function cT(){if(ad)return ka;ad=1;const e=Cs();function t(n){this.mode=e.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return t.getBitsLength=function(s){return s*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(n){for(let s=0,r=this.data.length;s=33088&&o<=40956)o-=33088;else if(o>=57408&&o<=60351)o-=49472;else throw new Error("Invalid SJIS character: "+this.data[r]+` -Make sure your charset is UTF-8`);o=(o>>>8&255)*192+(o&255),s.put(o,13)}},Ba=n,Ba}var Fa={exports:{}},cd;function fT(){return cd||(cd=1,function(e){var t={single_source_shortest_paths:function(n,s,r){var o={},a={};a[s]=0;var l=t.PriorityQueue.make();l.push(s,0);for(var u,d,f,p,g,_,E,C,V;!l.empty();){u=l.pop(),d=u.value,p=u.cost,g=n[d]||{};for(f in g)g.hasOwnProperty(f)&&(_=g[f],E=p+_,C=a[f],V=typeof a[f]>"u",(V||C>E)&&(a[f]=E,l.push(f,E),o[f]=d))}if(typeof r<"u"&&typeof a[r]>"u"){var I=["Could not find a path from ",s," to ",r,"."].join("");throw new Error(I)}return o},extract_shortest_path_from_predecessor_list:function(n,s){for(var r=[],o=s;o;)r.push(o),n[o],o=n[o];return r.reverse(),r},find_path:function(n,s,r){var o=t.single_source_shortest_paths(n,s,r);return t.extract_shortest_path_from_predecessor_list(o,r)},PriorityQueue:{make:function(n){var s=t.PriorityQueue,r={},o;n=n||{};for(o in s)s.hasOwnProperty(o)&&(r[o]=s[o]);return r.queue=[],r.sorter=n.sorter||s.default_sorter,r},default_sorter:function(n,s){return n.cost-s.cost},push:function(n,s){var r={value:n,cost:s};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t}(Fa)),Fa.exports}var ud;function dT(){return ud||(ud=1,function(e){const t=Cs(),n=aT(),s=lT(),r=cT(),o=uT(),a=Bp(),l=Ss(),u=fT();function d(I){return unescape(encodeURIComponent(I)).length}function f(I,M,w){const U=[];let B;for(;(B=I.exec(w))!==null;)U.push({data:B[0],index:B.index,mode:M,length:B[0].length});return U}function p(I){const M=f(a.NUMERIC,t.NUMERIC,I),w=f(a.ALPHANUMERIC,t.ALPHANUMERIC,I);let U,B;return l.isKanjiModeEnabled()?(U=f(a.BYTE,t.BYTE,I),B=f(a.KANJI,t.KANJI,I)):(U=f(a.BYTE_KANJI,t.BYTE,I),B=[]),M.concat(w,U,B).sort(function(N,A){return N.index-A.index}).map(function(N){return{data:N.data,mode:N.mode,length:N.length}})}function g(I,M){switch(M){case t.NUMERIC:return n.getBitsLength(I);case t.ALPHANUMERIC:return s.getBitsLength(I);case t.KANJI:return o.getBitsLength(I);case t.BYTE:return r.getBitsLength(I)}}function _(I){return I.reduce(function(M,w){const U=M.length-1>=0?M[M.length-1]:null;return U&&U.mode===w.mode?(M[M.length-1].data+=w.data,M):(M.push(w),M)},[])}function E(I){const M=[];for(let w=0;w=0&&z<=6&&(q===0||q===6)||q>=0&&q<=6&&(z===0||z===6)||z>=2&&z<=4&&q>=2&&q<=4?R.set(F+z,L+q,!0,!0):R.set(F+z,L+q,!1,!0))}}function E(R){const N=R.size;for(let A=8;A>z&1)===1,R.set(k,F,L,!0),R.set(F,k,L,!0)}function I(R,N,A){const O=R.size,k=f.getEncodedBits(N,A);let F,L;for(F=0;F<15;F++)L=(k>>F&1)===1,F<6?R.set(F,8,L,!0):F<8?R.set(F+1,8,L,!0):R.set(O-15+F,8,L,!0),F<8?R.set(8,O-F-1,L,!0):F<9?R.set(8,15-F-1+1,L,!0):R.set(8,15-F-1,L,!0);R.set(O-8,8,1,!0)}function M(R,N){const A=R.size;let O=-1,k=A-1,F=7,L=0;for(let z=A-1;z>0;z-=2)for(z===6&&z--;;){for(let q=0;q<2;q++)if(!R.isReserved(k,z-q)){let X=!1;L>>F&1)===1),R.set(k,z-q,X),F--,F===-1&&(L++,F=7)}if(k+=O,k<0||A<=k){k-=O,O=-O;break}}}function w(R,N,A){const O=new n;A.forEach(function(q){O.put(q.mode.bit,4),O.put(q.getLength(),p.getCharCountIndicator(q.mode,R)),q.write(O)});const k=e.getSymbolTotalCodewords(R),F=l.getTotalCodewordsCount(R,N),L=(k-F)*8;for(O.getLengthInBits()+4<=L&&O.put(0,4);O.getLengthInBits()%8!==0;)O.putBit(0);const z=(L-O.getLengthInBits())/8;for(let q=0;q=7&&V(q,N),M(q,L),isNaN(O)&&(O=a.getBestMask(q,I.bind(null,q,A))),a.applyMask(O,q),I(q,A,O),{modules:q,version:N,errorCorrectionLevel:A,maskPattern:O,segments:k}}return Ea.create=function(N,A){if(typeof N>"u"||N==="")throw new Error("No input text");let O=t.M,k,F;return typeof A<"u"&&(O=t.from(A.errorCorrectionLevel,t.M),k=d.from(A.version),F=a.from(A.maskPattern),A.toSJISFunc&&e.setToSJISFunction(A.toSJISFunc)),B(N,k,O,F)},Ea}var Va={},Ha={},dd;function Fp(){return dd||(dd=1,function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let s=n.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+n);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const r=parseInt(s.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const r=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,a=s.scale||4;return{width:o,scale:o?4:a,margin:r,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,r){return r.width&&r.width>=s+r.margin*2?r.width/(s+r.margin*2):r.scale},e.getImageWidth=function(s,r){const o=e.getScale(s,r);return Math.floor((s+r.margin*2)*o)},e.qrToImageData=function(s,r,o){const a=r.modules.size,l=r.modules.data,u=e.getScale(a,o),d=Math.floor((a+o.margin*2)*u),f=o.margin*u,p=[o.color.light,o.color.dark];for(let g=0;g=f&&_>=f&&g"u"&&(!a||!a.getContext)&&(u=a,a=void 0),a||(d=s()),u=t.getOptions(u);const f=t.getImageWidth(o.modules.size,u),p=d.getContext("2d"),g=p.createImageData(f,f);return t.qrToImageData(g.data,o,u),n(p,d,f),p.putImageData(g,0,0),d},e.renderToDataURL=function(o,a,l){let u=l;typeof u>"u"&&(!a||!a.getContext)&&(u=a,a=void 0),u||(u={});const d=e.render(o,a,u),f=u.type||"image/png",p=u.rendererOpts||{};return d.toDataURL(f,p.quality)}}(Va)),Va}var Ua={},pd;function mT(){if(pd)return Ua;pd=1;const e=Fp();function t(r,o){const a=r.a/255,l=o+'="'+r.hex+'"';return a<1?l+" "+o+'-opacity="'+a.toFixed(2).slice(1)+'"':l}function n(r,o,a){let l=r+o;return typeof a<"u"&&(l+=" "+a),l}function s(r,o,a){let l="",u=0,d=!1,f=0;for(let p=0;p0&&g>0&&r[p-1]||(l+=d?n("M",g+a,.5+_+a):n("m",u,0),u=0,d=!1),g+1':"",_="',E='viewBox="0 0 '+p+" "+p+'"',V=''+g+_+` -`;return typeof l=="function"&&l(null,V),V},Ua}var md;function gT(){if(md)return qs;md=1;const e=J1(),t=hT(),n=pT(),s=mT();function r(o,a,l,u,d){const f=[].slice.call(arguments,1),p=f.length,g=typeof f[p-1]=="function";if(!g&&!e())throw new Error("Callback required as last argument");if(g){if(p<2)throw new Error("Too few arguments provided");p===2?(d=l,l=a,a=u=void 0):p===3&&(a.getContext&&typeof d>"u"?(d=u,u=void 0):(d=u,u=l,l=a,a=void 0))}else{if(p<1)throw new Error("Too few arguments provided");return p===1?(l=a,a=u=void 0):p===2&&!a.getContext&&(u=l,l=a,a=void 0),new Promise(function(_,E){try{const C=t.create(l,u);_(o(C,a,u))}catch(C){E(C)}})}try{const _=t.create(l,u);d(null,o(_,a,u))}catch(_){d(_)}}return qs.create=t.create,qs.toCanvas=r.bind(null,n.render),qs.toDataURL=r.bind(null,n.renderToDataURL),qs.toString=r.bind(null,function(o,a,l){return s.render(o,l)}),qs}var _T=gT();const vT=Vl(_T),bT={class:"d-flex gap-2 flex-column"},yT=["id"],ET={__name:"qrcode",props:["content"],setup(e){const t=e,n=Qh().toString();return As(()=>{vT.toCanvas(document.getElementById(`qrcode_${n}`),t.content,function(s){})}),(s,r)=>(ce(),_e("div",bT,[T("canvas",{id:"qrcode_"+jt(n),class:"rounded-3"},null,8,yT)]))}},pl=Yn(ET,[["__scopeId","data-v-ec841c31"]]),wT={class:"p-2 position-fixed top-0 start-0 vw-100 vh-100 d-flex qrcodeContainer p-3 overflow-scroll flex-column"},TT={class:"m-auto d-flex gap-3 flex-column p-3",style:{"max-width":"400px"}},AT={class:"d-flex flex-column gap-2 align-items-center"},ST={key:0,class:"d-flex flex-column gap-2 align-items-center"},CT=["download","href"],OT={__name:"configurationQRCode",props:["qrcodeData","protocol"],emits:["back"],setup(e,{emit:t}){const n=e,s=t,r=Ue(()=>{if(n.qrcodeData.amneziaVPN)return btoa(n.qrcodeData.amneziaVPN)}),o=Ue(()=>URL.createObjectURL(new Blob([n.qrcodeData.file],{type:"text/conf"})));return(a,l)=>(ce(),_e("div",wT,[T("div",null,[T("a",{role:"button",onClick:l[0]||(l[0]=u=>s("back")),class:"btn btn-outline-body rounded-3 btn-sm"},l[1]||(l[1]=[T("i",{class:"me-2 bi bi-chevron-left"},null,-1),we(" Back ")]))]),T("div",TT,[T("div",AT,[Ne(pl,{content:n.qrcodeData.file},null,8,["content"]),T("small",null," Scan with "+mt(e.protocol==="wg"?"WireGuard":"AmneziaWG")+" App ",1),r.value?(ce(),_e("div",ST,[Ne(pl,{content:r.value},null,8,["content"]),l[2]||(l[2]=T("small",null," Scan with AmneziaVPN App ",-1))])):en("",!0),l[4]||(l[4]=T("hr",{class:"border-white w-100 my-2"},null,-1)),T("a",{download:n.qrcodeData.fileName+".conf",href:o.value,class:"btn bg-primary-subtle border-primary-subtle rounded-3"},l[3]||(l[3]=[T("i",{class:"bi bi-download me-2"},null,-1),we("Download ")]),8,CT)])])]))}},xT=Yn(OT,[["__scopeId","data-v-83f277d2"]]);var Li={exports:{}},RT=Li.exports,gd;function NT(){return gd||(gd=1,function(e,t){(function(n,s){e.exports=s()})(RT,function(){var n,s,r=1e3,o=6e4,a=36e5,l=864e5,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=31536e6,f=2628e6,p=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,g={years:d,months:f,days:l,hours:a,minutes:o,seconds:r,milliseconds:1,weeks:6048e5},_=function(R){return R instanceof U},E=function(R,N,A){return new U(R,A,N.$l)},C=function(R){return s.p(R)+"s"},V=function(R){return R<0},I=function(R){return V(R)?Math.ceil(R):Math.floor(R)},M=function(R){return Math.abs(R)},w=function(R,N){return R?V(R)?{negative:!0,format:""+M(R)+N}:{negative:!1,format:""+R+N}:{negative:!1,format:""}},U=function(){function R(A,O,k){var F=this;if(this.$d={},this.$l=k,A===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return E(A*g[C(O)],this);if(typeof A=="number")return this.$ms=A,this.parseFromMilliseconds(),this;if(typeof A=="object")return Object.keys(A).forEach(function(q){F.$d[C(q)]=A[q]}),this.calMilliseconds(),this;if(typeof A=="string"){var L=A.match(p);if(L){var z=L.slice(2).map(function(q){return q!=null?Number(q):0});return this.$d.years=z[0],this.$d.months=z[1],this.$d.weeks=z[2],this.$d.days=z[3],this.$d.hours=z[4],this.$d.minutes=z[5],this.$d.seconds=z[6],this.calMilliseconds(),this}}return this}var N=R.prototype;return N.calMilliseconds=function(){var A=this;this.$ms=Object.keys(this.$d).reduce(function(O,k){return O+(A.$d[k]||0)*g[k]},0)},N.parseFromMilliseconds=function(){var A=this.$ms;this.$d.years=I(A/d),A%=d,this.$d.months=I(A/f),A%=f,this.$d.days=I(A/l),A%=l,this.$d.hours=I(A/a),A%=a,this.$d.minutes=I(A/o),A%=o,this.$d.seconds=I(A/r),A%=r,this.$d.milliseconds=A},N.toISOString=function(){var A=w(this.$d.years,"Y"),O=w(this.$d.months,"M"),k=+this.$d.days||0;this.$d.weeks&&(k+=7*this.$d.weeks);var F=w(k,"D"),L=w(this.$d.hours,"H"),z=w(this.$d.minutes,"M"),q=this.$d.seconds||0;this.$d.milliseconds&&(q+=this.$d.milliseconds/1e3,q=Math.round(1e3*q)/1e3);var X=w(q,"S"),Y=A.negative||O.negative||F.negative||L.negative||z.negative||X.negative,Q=L.format||z.format||X.format?"T":"",J=(Y?"-":"")+"P"+A.format+O.format+F.format+Q+L.format+z.format+X.format;return J==="P"||J==="-P"?"P0D":J},N.toJSON=function(){return this.toISOString()},N.format=function(A){var O=A||"YYYY-MM-DDTHH:mm:ss",k={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return O.replace(u,function(F,L){return L||String(k[F])})},N.as=function(A){return this.$ms/g[C(A)]},N.get=function(A){var O=this.$ms,k=C(A);return k==="milliseconds"?O%=1e3:O=k==="weeks"?I(O/g[k]):this.$d[k],O||0},N.add=function(A,O,k){var F;return F=O?A*g[C(O)]:_(A)?A.$ms:E(A,this).$ms,E(this.$ms+F*(k?-1:1),this)},N.subtract=function(A,O){return this.add(A,O,!0)},N.locale=function(A){var O=this.clone();return O.$l=A,O},N.clone=function(){return E(this.$ms,this)},N.humanize=function(A){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!A)},N.valueOf=function(){return this.asMilliseconds()},N.milliseconds=function(){return this.get("milliseconds")},N.asMilliseconds=function(){return this.as("milliseconds")},N.seconds=function(){return this.get("seconds")},N.asSeconds=function(){return this.as("seconds")},N.minutes=function(){return this.get("minutes")},N.asMinutes=function(){return this.as("minutes")},N.hours=function(){return this.get("hours")},N.asHours=function(){return this.as("hours")},N.days=function(){return this.get("days")},N.asDays=function(){return this.as("days")},N.weeks=function(){return this.get("weeks")},N.asWeeks=function(){return this.as("weeks")},N.months=function(){return this.get("months")},N.asMonths=function(){return this.as("months")},N.years=function(){return this.get("years")},N.asYears=function(){return this.as("years")},R}(),B=function(R,N,A){return R.add(N.years()*A,"y").add(N.months()*A,"M").add(N.days()*A,"d").add(N.hours()*A,"h").add(N.minutes()*A,"m").add(N.seconds()*A,"s").add(N.milliseconds()*A,"ms")};return function(R,N,A){n=A,s=A().$utils(),A.duration=function(F,L){var z=A.locale();return E(F,{$l:z},L)},A.isDuration=_;var O=N.prototype.add,k=N.prototype.subtract;N.prototype.add=function(F,L){return _(F)?B(this,F,1):O.bind(this)(F,L)},N.prototype.subtract=function(F,L){return _(F)?B(this,F,-1):k.bind(this)(F,L)}}})}(Li)),Li.exports}var $T=NT();const PT=Vl($T),DT={class:"card rounded-3 border-0 shadow"},LT={class:"card-header rounded-top-3 border-0 align-items-center d-flex p-3 flex-column flex-sm-row gap-2"},IT={class:"fw-bold"},MT={class:"card-body p-3 d-flex gap-3 flex-column"},kT={class:"mb-1 d-flex align-items-center"},BT={class:"fw-bold ms-auto"},FT={class:"progress",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100",style:{height:"6px"}},VT={class:"mb-1 d-flex align-items-center"},HT={class:"fw-bold ms-auto"},UT={__name:"configuration",props:["config"],emits:["select"],setup(e,{emit:t}){Ar.extend(PT);const n=e;De(!1);const s=Ue(()=>n.config.jobs.filter(d=>d.Field==="date").sort((d,f)=>Ar(d.Value).isBefore(f.Value)?-1:Ar(d.Value).isAfter(f.Value)?1:0)),r=Ue(()=>n.config.jobs.filter(d=>d.Field==="total_data").sort((d,f)=>parseFloat(f.Value)-parseFloat(d.Value))),o=Ue(()=>{if(s.value.length>0)return s.value[0].Value}),a=Ue(()=>{if(r.value.length>0)return r.value[0].Value}),l=Ue(()=>a.value?n.config.data/a.value*100:100);window.dayjs=Ar;const u=t;return(d,f)=>(ce(),_e("div",DT,[T("div",LT,[T("small",IT,mt(n.config.name),1),T("span",{class:Jt(["badge rounded-3 ms-sm-auto",[n.config.protocol==="wg"?"wireguardBg":"amneziawgBg"]])},mt(n.config.protocol==="wg"?"WireGuard":"AmneziaWG"),3)]),T("div",MT,[T("div",null,[T("div",kT,[f[1]||(f[1]=T("small",{class:"text-muted"},[T("i",{class:"bi bi-bar-chart-fill me-1"}),we(" Data Usage ")],-1)),T("small",BT,mt(n.config.data.toFixed(4))+" / "+mt(a.value?parseFloat(a.value).toFixed(4):"Unlimited")+" GB ",1)]),T("div",FT,[T("div",{class:"progress-bar bg-primary",style:Xi({width:""+l.value+"%"})},null,4)])]),T("div",null,[T("div",VT,[f[2]||(f[2]=T("small",{class:"text-muted"},[T("i",{class:"bi bi-calendar me-1"}),we(" Valid Until ")],-1)),T("small",HT,mt(o.value?o.value:"Unlimited Time"),1)])]),T("button",{class:"btn btn-outline-body rounded-3 flex-grow-1 fw-bold w-100",onClick:f[0]||(f[0]=p=>u("select"))},f[3]||(f[3]=[T("i",{class:"bi bi-link-45deg me-2"},null,-1),T("small",null,"Connect",-1)]))])]))}},jT=Yn(UT,[["__scopeId","data-v-5e50834a"]]),qT={class:"p-sm-3"},KT={class:"w-100 d-flex align-items-center"},WT={class:"nav-link text-body border-start-0","aria-current":"page",href:"#"},YT={class:"ms-auto px-3 d-flex gap-2 nav-links"},zT={key:0,class:"d-flex flex-column gap-3"},GT={key:0,class:"p-3 d-flex flex-column gap-3"},JT={key:1,class:"text-center text-muted"},QT={key:1,class:"d-flex p-3"},XT={__name:"index",async setup(e){let t,n;const s=sn(),r=De(!0),o=Ue(()=>s.configurations),a=De(void 0);[t,n]=so(()=>s.getClientProfile()),await t,n(),As(async()=>{await s.getConfigurations(),r.value=!1,a.value=setInterval(async()=>{await s.getConfigurations()},5e3)}),F1(()=>{clearInterval(a.value)});const l=vo(),u=De(!1),d=async()=>{clearInterval(a.value),u.value=!0,await qe.get(ar("/api/signout")).then(()=>{l.push("/signin")}).catch(()=>{l.push("/signin")}),s.newNotification("Sign out successful","success")},f=De(void 0);return(p,g)=>{const _=rr("RouterLink");return ce(),_e("div",qT,[T("div",KT,[T("a",WT,[T("strong",null," Hi, "+mt(jt(s).clientProfile.Profile.Name?jt(s).clientProfile.Profile.Name:jt(s).clientProfile.Email),1)]),T("div",YT,[Ne(_,{to:"/settings",class:"text-body btn btn-outline-body rounded-3 ms-auto btn-sm","aria-current":"page",href:"#"},{default:it(()=>g[2]||(g[2]=[T("i",{class:"bi bi-gear-fill me-sm-2"},null,-1),T("span",null,"Settings",-1)])),_:1,__:[2]}),T("a",{role:"button",onClick:g[0]||(g[0]=E=>d()),class:Jt(["btn btn-outline-danger rounded-3 btn-sm",{disabled:u.value}]),"aria-current":"page"},[g[3]||(g[3]=T("i",{class:"bi bi-box-arrow-left me-sm-2"},null,-1)),T("span",null,mt(u.value?"Signing out...":"Sign Out"),1)],2)])]),Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[r.value?(ce(),_e("div",QT,g[5]||(g[5]=[T("div",{class:"bg-body rounded-3 d-flex",style:{width:"100%",height:"211px"}},[T("div",{class:"spinner-border m-auto"})],-1)]))):(ce(),_e("div",zT,[o.value.length>0?(ce(),_e("div",GT,[(ce(!0),_e(St,null,Dl(o.value,E=>(ce(),Zt(jT,{onSelect:C=>f.value=E,config:E},null,8,["onSelect","config"]))),256))])):(ce(),_e("div",JT,g[4]||(g[4]=[T("small",null,"No configuration available",-1)])))]))]),_:1}),Ne(Hr,{name:"app"},{default:it(()=>[f.value!==void 0?(ce(),Zt(xT,{key:0,config:f.value.config,protocol:f.value.protocol,onBack:g[1]||(g[1]=E=>f.value=void 0),"qrcode-data":f.value.peer_configuration_data},null,8,["config","protocol","qrcode-data"])):en("",!0)]),_:1})])}}},ZT=Yn(XT,[["__scopeId","data-v-9bb8c5cf"]]),eA=["href"],tA={__name:"oidcBtn",props:["provider","name"],async setup(e){let t,n;const s=e,r=De(!1),o=De({}),a=new URLSearchParams({client_id:s.provider.client_id,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname,response_type:"code",state:s.name,scope:"openid email profile"}).toString(),l=De(void 0);try{const u=([t,n]=so(()=>qe(`${s.provider.issuer}/.well-known/openid-configuration`)),t=await t,n(),t);console.log(u),r.value=!0,o.value=u.data,console.log(o.value),l.value=new URL(o.value.authorization_endpoint),l.value.search=a}catch{console.log("Provider not available",s.provider)}return(u,d)=>r.value?(ce(),_e("a",{key:0,class:"btn btn-sm btn-outline-body rounded-3",href:l.value,style:{flex:"1 1 0px"}},mt(e.name),9,eA)):en("",!0)}},nA={key:0},sA={class:"d-flex gap-2"},rA={__name:"oidc",async setup(e){let t,n;const s=De(!1),r=De(void 0),o=([t,n]=so(()=>jr("/api/signin/oidc/providers")),t=await t,n(),t);return o&&Object.keys(o.data).length>0&&(s.value=!0,r.value=o.data,console.log(r.value)),(a,l)=>r.value?(ce(),_e("div",nA,[l[1]||(l[1]=T("hr",null,null,-1)),l[2]||(l[2]=T("h6",{class:"text-center text-muted mb-3"},[T("small",null,"Sign in with")],-1)),T("div",sA,[(ce(),Zt(Ph,null,{fallback:it(()=>l[0]||(l[0]=[T("a",{class:"btn btn-sm btn-outline-body rounded-3 w-100 disabled"}," Loading... ",-1)])),default:it(()=>[(ce(!0),_e(St,null,Dl(r.value,(u,d)=>(ce(),Zt(tA,{provider:u,name:d},null,8,["provider","name"]))),256))]),_:1}))]),l[3]||(l[3]=T("hr",null,null,-1))])):en("",!0)}},iA={class:"form-floating"},oA=["disabled"],aA={class:"form-floating"},lA=["disabled"],cA={class:"d-flex"},uA=["disabled"],fA={key:0,class:"d-block"},dA={key:1,class:"d-block"},hA={key:0},pA={class:"d-flex align-items-center"},mA={__name:"signInForm",emits:["totpToken"],setup(e,{emit:t}){const n=De(!1),s=Cn({Email:"",Password:""}),r=t;De("");const o=sn(),a=async d=>{if(d.preventDefault(),!l){o.newNotification("Please fill in all fields","warning");return}n.value=!0;const f=await vs("/api/signin",s);f.status?r("totpToken",f.message):(o.newNotification(f.message,"danger"),n.value=!1)},l=Ue(()=>Object.values(s).find(d=>!d)===void 0),u=G1();return u.query.Email&&(s.Email=u.query.Email),(d,f)=>{const p=rr("RouterLink");return ce(),_e("div",null,[f[10]||(f[10]=T("div",{class:"text-center"},[T("h1",{class:"display-4"},"Welcome"),T("p",{class:"text-muted"},[we("Sign in to access your "),T("strong",null,"WGDashboard Client"),we(" account")])],-1)),Ne(rA),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:f[2]||(f[2]=g=>a(g))},[T("div",iA,[It(T("input",{type:"text",required:"",disabled:n.value,"onUpdate:modelValue":f[0]||(f[0]=g=>s.Email=g),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3 border-0",id:"email",placeholder:"email"},null,8,oA),[[Ht,s.Email]]),f[3]||(f[3]=T("label",{for:"email",class:"d-flex"},[T("i",{class:"bi bi-person-circle me-2"}),we(" Email ")],-1))]),T("div",aA,[It(T("input",{type:"password",required:"",disabled:n.value,"onUpdate:modelValue":f[1]||(f[1]=g=>s.Password=g),name:"password",autocomplete:"current-password",class:"form-control rounded-3 border-0",id:"password",placeholder:"Password"},null,8,lA),[[Ht,s.Password]]),f[4]||(f[4]=T("label",{for:"password",class:"d-flex"},[T("i",{class:"bi bi-key me-2"}),we(" Password ")],-1))]),T("div",cA,[Ne(p,{to:"forgotPassword",class:"text-body text-decoration-none ms-auto btn btn-sm rounded-3"},{default:it(()=>f[5]||(f[5]=[we(" Forgot Password? ")])),_:1,__:[5]})]),T("button",{disabled:!l.value||n.value,class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[n.value?(ce(),_e("span",dA,f[6]||(f[6]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",fA," Sign In "))],8,uA)],32),jt(o).serverInformation.SignUp.enable?(ce(),_e("div",hA,[f[9]||(f[9]=T("hr",{class:"my-4"},null,-1)),T("div",pA,[f[8]||(f[8]=T("span",{class:"text-muted"}," Don't have an account yet? ",-1)),Ne(p,{to:"/signup",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:it(()=>f[7]||(f[7]=[we(" Sign Up ")])),_:1,__:[7]})])])):en("",!0)])}}},gA={key:0,class:"card rounded-3 text-center"},_A={class:"card-body d-flex gap-3 flex-column align-items-center"},vA={class:"card rounded-3 w-100"},bA={class:"card-body"},yA=["href"],EA={key:0},wA={class:"d-flex flex-column gap-3 text-center"},TA=["disabled"],AA=["disabled"],SA={key:0,class:"d-block"},CA={key:1,class:"d-block"},OA={__name:"totpForm",props:["totpToken"],emits:["clearToken"],setup(e,{emit:t}){const n=e,s=De(""),r=Cn({TOTP:""}),o=De(!0),a=()=>{r.TOTP=r.TOTP.replace(/\D/i,"")},l=Ue(()=>/^[0-9]{6}$/.test(r.TOTP)),u=sn(),d=vo();As(()=>{qe.get(ar("/api/signin/totp"),{params:{Token:n.totpToken}}).then(g=>{let _=g.data;o.value=!1,_.status?_.message&&(s.value=_.message):(u.newNotification(_.message,"danger"),d.push("/signin"))})});const f=t,p=async g=>{if(g&&g.preventDefault(),l){o.value=!0;const _=await vs("/api/signin/totp",{Token:n.totpToken,UserProvidedTOTP:r.TOTP});o.value=!1,_?_.status?(u.clientProfile=_.data,d.push("/")):u.newNotification(_.message,"danger"):(u.newNotification("Sign in status is invalid","danger"),f("clearToken"))}};return Js(l,()=>{p()}),(g,_)=>(ce(),_e("form",{class:"d-flex flex-column gap-3",onSubmit:_[3]||(_[3]=E=>p(E))},[T("div",null,[T("a",{role:"button",onClick:_[0]||(_[0]=E=>f("clearToken")),class:"btn btn-outline-body btn-sm rounded-3"},_[4]||(_[4]=[T("i",{class:"me-2 bi bi-chevron-left"},null,-1),we(" Back ")]))]),T("div",null,[_[9]||(_[9]=T("h1",{class:"mb-3 text-center"},"Multi-Factor Authentication (MFA)",-1)),s.value?(ce(),_e("div",gA,[T("div",_A,[_[5]||(_[5]=T("h2",{class:"mb-0"},"Initial Setup",-1)),_[6]||(_[6]=T("p",{class:"mb-0"},"Please scan the following QR Code to generate TOTP with your choice of authenticator",-1)),Ne(pl,{content:s.value},null,8,["content"]),_[7]||(_[7]=T("p",{class:"mb-0"},"Or you can click the link below:",-1)),T("div",vA,[T("div",bA,[T("a",{href:s.value,style:{"text-wrap":"auto"}},mt(s.value),9,yA)])]),_[8]||(_[8]=T("div",{class:"alert alert-warning mb-0 rounded-3"},[T("strong",null," Please note: You won't be able to see this QR Code again, so please save it somewhere safe in case you need to recover your TOTP key ")],-1))])])):en("",!0)]),s.value?(ce(),_e("hr",EA)):en("",!0),T("div",wA,[_[12]||(_[12]=T("label",{for:"totp"},"Enter the TOTP generated by your authenticator to verify",-1)),It(T("input",{class:"form-control form-control-lg rounded-3 text-center",id:"totp",disabled:o.value,autofocus:"",onKeyup:_[1]||(_[1]=E=>a()),maxlength:"6",type:"text",inputmode:"numeric",placeholder:"- - - - - -",autocomplete:"one-time-code","onUpdate:modelValue":_[2]||(_[2]=E=>r.TOTP=E)},null,40,TA),[[Ht,r.TOTP]]),T("button",{disabled:!l.value||o.value,class:"btn btn-body rounded-3 px-3 py-2 fw-bold"},[o.value?(ce(),_e("span",CA,_[11]||(_[11]=[we(" Loading... "),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",SA,_[10]||(_[10]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,AA)])],32))}},xA=Yn(OA,[["__scopeId","data-v-c81aa653"]]),RA={class:"p-3 p-sm-5"},NA={__name:"signin",setup(e){const t=De("");return(n,s)=>(ce(),_e("div",RA,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[t.value?(ce(),Zt(xA,{key:1,onClearToken:s[1]||(s[1]=r=>t.value=""),"totp-token":t.value},null,8,["totp-token"])):(ce(),Zt(mA,{key:0,onTotpToken:s[0]||(s[0]=r=>{t.value=r})}))]),_:1})]))}},$A={class:"p-3 p-sm-5"},PA={class:"form-floating"},DA=["disabled"],LA={class:"row gx-3"},IA={class:"col-6"},MA={class:"form-floating"},kA=["disabled"],BA={class:"col-6"},FA={class:"form-floating"},VA=["disabled"],HA=["disabled"],UA={key:0,class:"d-block"},jA={key:1,class:"d-block"},qA={class:"d-flex align-items-center"},KA={__name:"signup",setup(e){const t=sn(),n=Cn({Email:"",Password:"",ConfirmPassword:""}),s=De(!1),r=vo(),o=async u=>{if(u.preventDefault(),!l){t.newNotification("Please fill in all fields","warning");return}a&&(s.value=!0,await qe.post(ar("/api/signup"),n).then(d=>{let f=d.data;f.status?(t.newNotification("Sign up successfully!","success"),r.push({path:"/signin",query:{Email:n.Email}})):(t.newNotification(f.message,"danger"),s.value=!1)}))},a=Ue(()=>n.Password&&n.ConfirmPassword?n.Password===n.ConfirmPassword:!1),l=Ue(()=>Object.values(n).find(u=>!u)===void 0);return As(()=>{document.querySelectorAll("input[type=password]").forEach(u=>u.addEventListener("blur",()=>{n.Password&&n.ConfirmPassword&&document.querySelectorAll("input[type=password]").forEach(d=>{a.value?d.classList.remove("is-invalid"):d.classList.add("is-invalid")})}))}),(u,d)=>{const f=rr("RouterLink");return ce(),_e("div",$A,[d[13]||(d[13]=T("div",{class:"text-center"},[T("h1",{class:"display-4"},"Hi, nice to meet you"),T("p",{class:"text-muted"},[we("Sign up to use "),T("strong",null,"WGDashboard Client")])],-1)),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:d[3]||(d[3]=p=>o(p))},[T("div",PA,[It(T("input",{type:"text",disabled:s.value,required:"","onUpdate:modelValue":d[0]||(d[0]=p=>n.Email=p),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3",id:"email",placeholder:"email"},null,8,DA),[[Ht,n.Email]]),d[4]||(d[4]=T("label",{for:"email",class:"d-flex"},[T("i",{class:"bi bi-person-circle me-2"}),we(" Email ")],-1))]),T("div",LA,[T("div",IA,[T("div",MA,[It(T("input",{type:"password",required:"",disabled:s.value,"onUpdate:modelValue":d[1]||(d[1]=p=>n.Password=p),name:"password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"password",placeholder:"password"},null,8,kA),[[Ht,n.Password]]),d[5]||(d[5]=T("label",{for:"password",class:"d-flex"},[T("i",{class:"bi bi-key me-2"}),we(" Password ")],-1))])]),T("div",BA,[T("div",FA,[It(T("input",{type:"password",required:"",disabled:s.value,"onUpdate:modelValue":d[2]||(d[2]=p=>n.ConfirmPassword=p),name:"confirm_password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"confirm_password",placeholder:"confirm_password"},null,8,VA),[[Ht,n.ConfirmPassword]]),d[6]||(d[6]=T("label",{for:"confirm_password",class:"d-flex"},[T("i",{class:"bi bi-key me-2"}),we(" Confirm Password ")],-1)),d[7]||(d[7]=T("div",{id:"validationServer03Feedback",class:"invalid-feedback"}," Passwords does not match ",-1))])])]),T("button",{disabled:!l.value||!a.value||s.value,class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[s.value?(ce(),_e("span",jA,d[9]||(d[9]=[we(" Loading... "),T("i",{class:"spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",UA,d[8]||(d[8]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,HA)],32),T("div",null,[d[12]||(d[12]=T("hr",{class:"my-4"},null,-1)),T("div",qA,[d[11]||(d[11]=T("span",{class:"text-muted"}," Already have an account? ",-1)),Ne(f,{to:"/signin",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:it(()=>d[10]||(d[10]=[we(" Sign In ")])),_:1,__:[10]})])])])}}},WA={class:"d-flex align-items-start"},YA={key:0,class:"alert alert-danger rounded-3 mt-3"},zA={class:"row g-2 mb-3"},GA={class:"col-sm-12"},JA=["type"],QA={class:"col-sm-6"},XA=["type"],ZA={class:"col-sm-6"},eS=["type"],tS={__name:"updatePassword",setup(e){const t=Cn({CurrentPassword:"",NewPassword:"",ConfirmNewPassword:""}),n=()=>{t.CurrentPassword="",t.NewPassword="",t.ConfirmNewPassword=""},s=sn(),r=async u=>{u.preventDefault(),document.querySelectorAll("#updatePasswordForm input").forEach(f=>f.blur());const d=await vs("/api/settings/updatePassword",t);d?d.status?(a.value=!1,s.newNotification("Password updated!","success"),n()):(a.value=!0,l.value=d.message):(a.value=!0,l.value="Error occurred")},o=De(!1),a=De(!1),l=De("");return(u,d)=>(ce(),_e("form",{onSubmit:d[4]||(d[4]=f=>r(f)),id:"updatePasswordForm",onReset:d[5]||(d[5]=f=>n()),class:"p-3"},[T("div",WA,[d[6]||(d[6]=T("h5",null," Update Password ",-1)),T("a",{role:"button",onClick:d[0]||(d[0]=f=>o.value=!o.value),class:"text-muted ms-auto text-decoration-none"},[T("small",null,[T("i",{class:Jt([[o.value?"bi-eye-slash-fill":"bi-eye-fill"],"bi me-2"])},null,2),we(mt(o.value?"Hide":"Show")+" Password ",1)])])]),a.value?(ce(),_e("div",YA,mt(l.value),1)):en("",!0),T("div",zA,[T("div",GA,[d[7]||(d[7]=T("label",{class:"text-muted form-label",for:"CurrentPassword"},[T("small",null,"Current Password")],-1)),It(T("input",{class:Jt(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:o.value?"text":"password",autocomplete:"current-password",id:"CurrentPassword","onUpdate:modelValue":d[1]||(d[1]=f=>t.CurrentPassword=f)},null,10,JA),[[fa,t.CurrentPassword]])]),T("div",QA,[d[8]||(d[8]=T("label",{class:"text-muted form-label",for:"NewPassword"},[T("small",null,"New Password")],-1)),It(T("input",{class:Jt(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:o.value?"text":"password",id:"NewPassword",autocomplete:"new-password","onUpdate:modelValue":d[2]||(d[2]=f=>t.NewPassword=f)},null,10,XA),[[fa,t.NewPassword]])]),T("div",ZA,[d[9]||(d[9]=T("label",{class:"text-muted form-label",for:"ConfirmNewPassword"},[T("small",null,"Confirm New Password")],-1)),It(T("input",{class:Jt(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:o.value?"text":"password",id:"ConfirmNewPassword",autocomplete:"new-password","onUpdate:modelValue":d[3]||(d[3]=f=>t.ConfirmNewPassword=f)},null,10,eS),[[fa,t.ConfirmNewPassword]])])]),d[10]||(d[10]=T("div",{class:"d-flex gap-2"},[T("button",{class:"btn btn-sm btn-secondary rounded-3 ms-auto",type:"reset"},"Clear"),T("button",{class:"btn btn-sm btn-danger rounded-3",type:"submit"},"Update")],-1))],32))}},nS={class:"p-sm-3"},sS={class:"w-100 d-flex align-items-center p-3"},rS={__name:"settings",async setup(e){let t,n;const s=sn();return[t,n]=so(()=>s.getClientProfile()),await t,n(),(r,o)=>{const a=rr("RouterLink");return ce(),_e("div",nS,[T("div",sS,[Ne(a,{to:"/",class:"text-body btn btn-outline-body rounded-3 btn-sm","aria-current":"page",href:"#"},{default:it(()=>o[0]||(o[0]=[T("i",{class:"bi bi-chevron-left me-sm-2"},null,-1),T("span",null,"Back",-1)])),_:1,__:[0]}),o[1]||(o[1]=T("strong",{class:"ms-auto"},"Settings",-1))]),jt(s).clientProfile.SignInMethod==="local"?(ce(),Zt(tS,{key:0})):en("",!0)])}}},iS={class:"p-3 p-sm-5"},oS={key:0},aS={class:"form-floating"},lS=["disabled"],cS=["disabled"],uS={key:0,class:"d-block"},fS={key:1,class:"d-block"},dS={key:1},hS={class:"text-center"},pS={key:0,class:"text-muted"},mS={class:"form-floating"},gS=["disabled"],_S=["disabled"],vS={key:0,class:"d-block"},bS={key:1,class:"d-block"},yS={key:2},ES={class:"form-floating"},wS=["disabled"],TS={class:"form-floating"},AS=["disabled"],SS=["disabled"],CS={key:0,class:"d-block"},OS={key:1,class:"d-block"},xS={class:"d-flex align-items-center"},RS=$l({__name:"forgotPassword",setup(e){const t=De(""),n=De(!1),s=De(!1),r=sn(),o=De(void 0),a=De(120),l=async M=>{M&&M.preventDefault(),n.value=!0;const w=await vs("/api/resetPassword/generateResetToken",{Email:t.value});n.value=!1,w.status?(s.value=!0,a.value=120,o.value=setInterval(()=>{a.value--,a.value===0&&clearInterval(o.value)},1e3)):r.newNotification(w.message,"danger")},u=De(""),d=()=>{u.value=u.value.replace(/\D/i,""),u.value=u.value.slice(0,6)},f=Ue(()=>/^[0-9]{6}$/.test(u.value)),p=De(!1),g=async M=>{M&&M.preventDefault(),n.value=!0;let w=await vs("/api/resetPassword/validateResetToken",{Email:t.value,Token:u.value});n.value=!1,w.status?p.value=!0:r.newNotification("Your verification code is either invalid or expired","danger")},_=De(""),E=De(""),C=Ue(()=>_.value&&E.value&&_.value===E.value),V=vo(),I=async M=>{M&&M.preventDefault(),n.value=!0,(await vs("/api/resetPassword",{Email:t.value,Token:u.value,Password:_.value,ConfirmPassword:E.value})).status&&(r.newNotification("Password reset! Now you can sign in with your new password","success"),await V.push("/signin"))};return(M,w)=>{const U=rr("RouterLink");return ce(),_e("div",iS,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[s.value?s.value&&!p.value?(ce(),_e("div",dS,[T("a",{role:"button",class:"text-decoration-none text-body",onClick:w[2]||(w[2]=B=>{s.value=!1,u.value=""})},w[16]||(w[16]=[T("i",{class:"me-2 bi bi-chevron-left"},null,-1),we(" Back ")])),T("div",hS,[w[17]||(w[17]=T("h1",{class:"display-4"},"Almost there",-1)),w[18]||(w[18]=T("p",{class:"text-muted"},"Enter the code you received below to retrieve a reset your password",-1)),a.value>0?(ce(),_e("p",pS,"Didn't get the code? Maybe check your Spam/Junk mailbox. You can get another code in "+mt(a.value)+" seconds.",1)):a.value===0&&!n.value?(ce(),_e("a",{key:1,role:"button",class:Jt({disabled:n.value}),onClick:w[3]||(w[3]=B=>l())},"Resend",2)):en("",!0)]),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:w[6]||(w[6]=B=>g(B))},[T("div",mS,[It(T("input",{type:"text",inputmode:"numeric",required:"",disabled:n.value,"onUpdate:modelValue":w[4]||(w[4]=B=>u.value=B),onKeyup:w[5]||(w[5]=B=>d()),autocomplete:"one-time-code",autofocus:"",class:"form-control rounded-3 border-0",id:"token",placeholder:"token"},null,40,gS),[[Ht,u.value]]),w[19]||(w[19]=T("label",{for:"email",class:"d-flex"},[T("i",{class:"bi bi-person-circle me-2"}),we(" 6 Digits Verification Code ")],-1))]),T("button",{disabled:!f.value||n.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[n.value?(ce(),_e("span",bS,w[21]||(w[21]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",vS,w[20]||(w[20]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,_S)],32)])):s.value&&p.value?(ce(),_e("div",yS,[T("a",{role:"button",class:"text-decoration-none text-body",onClick:w[7]||(w[7]=B=>{s.value=!1,u.value="",p.value=!1})},w[22]||(w[22]=[T("i",{class:"me-2 bi bi-chevron-left"},null,-1),we(" Back ")])),w[28]||(w[28]=T("div",{class:"text-center"},[T("h1",{class:"display-4"},"Last step"),T("p",{class:"text-muted"},"Enter your new password below")],-1)),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:w[10]||(w[10]=B=>I(B))},[T("div",ES,[It(T("input",{type:"password",required:"",disabled:n.value,"onUpdate:modelValue":w[8]||(w[8]=B=>_.value=B),name:"password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"password",placeholder:"password"},null,8,wS),[[Ht,_.value]]),w[23]||(w[23]=T("label",{for:"password",class:"d-flex"},[T("i",{class:"bi bi-key me-2"}),we(" Password ")],-1))]),T("div",TS,[It(T("input",{type:"password",required:"",disabled:n.value,"onUpdate:modelValue":w[9]||(w[9]=B=>E.value=B),name:"confirm_password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"confirm_password",placeholder:"confirm_password"},null,8,AS),[[Ht,E.value]]),w[24]||(w[24]=T("label",{for:"confirm_password",class:"d-flex"},[T("i",{class:"bi bi-key me-2"}),we(" Confirm Password ")],-1)),w[25]||(w[25]=T("div",{id:"validationServer03Feedback",class:"invalid-feedback"}," Passwords does not match ",-1))]),T("button",{disabled:!C.value||n.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[n.value?(ce(),_e("span",OS,w[27]||(w[27]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",CS,w[26]||(w[26]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,SS)],32)])):en("",!0):(ce(),_e("div",oS,[Ne(U,{to:"signin",role:"button",class:"btn btn-outline-body btn-sm rounded-3"},{default:it(()=>w[11]||(w[11]=[T("i",{class:"me-2 bi bi-chevron-left"},null,-1),we(" Back ")])),_:1,__:[11]}),w[15]||(w[15]=T("div",{class:"text-center"},[T("h1",{class:"display-4"},"No worries"),T("p",{class:"text-muted"},[we("Enter the email address of your "),T("strong",null,"WGDashboard Client"),we(" account below to receive a verification code")])],-1)),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:w[1]||(w[1]=B=>l(B))},[T("div",aS,[It(T("input",{type:"text",required:"",disabled:n.value,"onUpdate:modelValue":w[0]||(w[0]=B=>t.value=B),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3 border-0",id:"email",placeholder:"email"},null,8,lS),[[Ht,t.value]]),w[12]||(w[12]=T("label",{for:"email",class:"d-flex"},[T("i",{class:"bi bi-person-circle me-2"}),we(" Email ")],-1))]),T("button",{disabled:!t.value||n.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[n.value?(ce(),_e("span",fS,w[14]||(w[14]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(ce(),_e("span",uS,w[13]||(w[13]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,cS)],32)]))]),_:1}),T("div",null,[w[31]||(w[31]=T("hr",{class:"my-4"},null,-1)),T("div",xS,[w[30]||(w[30]=T("span",{class:"text-muted"}," Don't have an account yet? ",-1)),Ne(U,{to:"/signup",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:it(()=>w[29]||(w[29]=[we(" Sign Up ")])),_:1,__:[29]})])])])}}}),Yl=Y1({history:E1(),routes:[{path:"/",component:ZT,meta:{auth:!0},name:"Home"},{path:"/settings",component:rS,meta:{auth:!0},name:"Settings"},{path:"/signin",component:NA,name:"Sign In"},{path:"/signup",component:KA,name:"Sign Up"},{path:"/signout",name:"Sign Out"},{path:"/forgotPassword",name:"Forgot Password",component:RS}]});Yl.beforeEach(async(e,t,n)=>{const s=sn();e.path==="/signup"&&!s.serverInformation.SignUp.enable&&(n("/signin"),s.newNotification("Sign up is disabled. Please contact administrator for more information","warning")),e.path==="/signout"?(await qe.get(ar("/api/signout")).then(()=>{n("/signin")}).catch(()=>{n("/signin")}),s.newNotification("Sign in session ended, please sign in again","warning")):e.meta.auth?await jr("/api/validateAuthentication")?n():(s.newNotification("Sign in session ended, please sign in again","warning"),n("/signin")):n()});Yl.afterEach((e,t,n)=>{document.title=e.name+" | WGDashboard Client"});var Ii={exports:{}};/*! - * Bootstrap v5.3.6 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */var NS=Ii.exports,_d;function $S(){return _d||(_d=1,function(e,t){(function(n,s){e.exports=s()})(NS,function(){const n=new Map,s={set(h,i,c){n.has(h)||n.set(h,new Map);const m=n.get(h);if(!m.has(i)&&m.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(m.keys())[0]}.`);return}m.set(i,c)},get(h,i){return n.has(h)&&n.get(h).get(i)||null},remove(h,i){if(!n.has(h))return;const c=n.get(h);c.delete(i),c.size===0&&n.delete(h)}},r=1e6,o=1e3,a="transitionend",l=h=>(h&&window.CSS&&window.CSS.escape&&(h=h.replace(/#([^\s"#']+)/g,(i,c)=>`#${CSS.escape(c)}`)),h),u=h=>h==null?`${h}`:Object.prototype.toString.call(h).match(/\s([a-z]+)/i)[1].toLowerCase(),d=h=>{do h+=Math.floor(Math.random()*r);while(document.getElementById(h));return h},f=h=>{if(!h)return 0;let{transitionDuration:i,transitionDelay:c}=window.getComputedStyle(h);const m=Number.parseFloat(i),y=Number.parseFloat(c);return!m&&!y?0:(i=i.split(",")[0],c=c.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(c))*o)},p=h=>{h.dispatchEvent(new Event(a))},g=h=>!h||typeof h!="object"?!1:(typeof h.jquery<"u"&&(h=h[0]),typeof h.nodeType<"u"),_=h=>g(h)?h.jquery?h[0]:h:typeof h=="string"&&h.length>0?document.querySelector(l(h)):null,E=h=>{if(!g(h)||h.getClientRects().length===0)return!1;const i=getComputedStyle(h).getPropertyValue("visibility")==="visible",c=h.closest("details:not([open])");if(!c)return i;if(c!==h){const m=h.closest("summary");if(m&&m.parentNode!==c||m===null)return!1}return i},C=h=>!h||h.nodeType!==Node.ELEMENT_NODE||h.classList.contains("disabled")?!0:typeof h.disabled<"u"?h.disabled:h.hasAttribute("disabled")&&h.getAttribute("disabled")!=="false",V=h=>{if(!document.documentElement.attachShadow)return null;if(typeof h.getRootNode=="function"){const i=h.getRootNode();return i instanceof ShadowRoot?i:null}return h instanceof ShadowRoot?h:h.parentNode?V(h.parentNode):null},I=()=>{},M=h=>{h.offsetHeight},w=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,U=[],B=h=>{document.readyState==="loading"?(U.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of U)i()}),U.push(h)):h()},R=()=>document.documentElement.dir==="rtl",N=h=>{B(()=>{const i=w();if(i){const c=h.NAME,m=i.fn[c];i.fn[c]=h.jQueryInterface,i.fn[c].Constructor=h,i.fn[c].noConflict=()=>(i.fn[c]=m,h.jQueryInterface)}})},A=(h,i=[],c=h)=>typeof h=="function"?h.call(...i):c,O=(h,i,c=!0)=>{if(!c){A(h);return}const y=f(i)+5;let P=!1;const D=({target:W})=>{W===i&&(P=!0,i.removeEventListener(a,D),A(h))};i.addEventListener(a,D),setTimeout(()=>{P||p(i)},y)},k=(h,i,c,m)=>{const y=h.length;let P=h.indexOf(i);return P===-1?!c&&m?h[y-1]:h[0]:(P+=c?1:-1,m&&(P=(P+y)%y),h[Math.max(0,Math.min(P,y-1))])},F=/[^.]*(?=\..*)\.|.*/,L=/\..*/,z=/::\d+$/,q={};let X=1;const Y={mouseenter:"mouseover",mouseleave:"mouseout"},Q=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function J(h,i){return i&&`${i}::${X++}`||h.uidEvent||X++}function ue(h){const i=J(h);return h.uidEvent=i,q[i]=q[i]||{},q[i]}function fe(h,i){return function c(m){return te(m,{delegateTarget:h}),c.oneOff&&S.off(h,m.type,i),i.apply(h,[m])}}function ve(h,i,c){return function m(y){const P=h.querySelectorAll(i);for(let{target:D}=y;D&&D!==this;D=D.parentNode)for(const W of P)if(W===D)return te(y,{delegateTarget:D}),m.oneOff&&S.off(h,y.type,i,c),c.apply(D,[y])}}function ye(h,i,c=null){return Object.values(h).find(m=>m.callable===i&&m.delegationSelector===c)}function $e(h,i,c){const m=typeof i=="string",y=m?c:i||c;let P=j(h);return Q.has(P)||(P=h),[m,y,P]}function ke(h,i,c,m,y){if(typeof i!="string"||!h)return;let[P,D,W]=$e(i,c,m);i in Y&&(D=(Ke=>function(Oe){if(!Oe.relatedTarget||Oe.relatedTarget!==Oe.delegateTarget&&!Oe.delegateTarget.contains(Oe.relatedTarget))return Ke.call(this,Oe)})(D));const ee=ue(h),le=ee[W]||(ee[W]={}),ne=ye(le,D,P?c:null);if(ne){ne.oneOff=ne.oneOff&&y;return}const Se=J(D,i.replace(F,"")),Ce=P?ve(h,c,D):fe(h,D);Ce.delegationSelector=P?c:null,Ce.callable=D,Ce.oneOff=y,Ce.uidEvent=Se,le[Se]=Ce,h.addEventListener(W,Ce,P)}function Ye(h,i,c,m,y){const P=ye(i[c],m,y);P&&(h.removeEventListener(c,P,!!y),delete i[c][P.uidEvent])}function Ge(h,i,c,m){const y=i[c]||{};for(const[P,D]of Object.entries(y))P.includes(m)&&Ye(h,i,c,D.callable,D.delegationSelector)}function j(h){return h=h.replace(L,""),Y[h]||h}const S={on(h,i,c,m){ke(h,i,c,m,!1)},one(h,i,c,m){ke(h,i,c,m,!0)},off(h,i,c,m){if(typeof i!="string"||!h)return;const[y,P,D]=$e(i,c,m),W=D!==i,ee=ue(h),le=ee[D]||{},ne=i.startsWith(".");if(typeof P<"u"){if(!Object.keys(le).length)return;Ye(h,ee,D,P,y?c:null);return}if(ne)for(const Se of Object.keys(ee))Ge(h,ee,Se,i.slice(1));for(const[Se,Ce]of Object.entries(le)){const be=Se.replace(z,"");(!W||i.includes(be))&&Ye(h,ee,D,Ce.callable,Ce.delegationSelector)}},trigger(h,i,c){if(typeof i!="string"||!h)return null;const m=w(),y=j(i),P=i!==y;let D=null,W=!0,ee=!0,le=!1;P&&m&&(D=m.Event(i,c),m(h).trigger(D),W=!D.isPropagationStopped(),ee=!D.isImmediatePropagationStopped(),le=D.isDefaultPrevented());const ne=te(new Event(i,{bubbles:W,cancelable:!0}),c);return le&&ne.preventDefault(),ee&&h.dispatchEvent(ne),ne.defaultPrevented&&D&&D.preventDefault(),ne}};function te(h,i={}){for(const[c,m]of Object.entries(i))try{h[c]=m}catch{Object.defineProperty(h,c,{configurable:!0,get(){return m}})}return h}function ie(h){if(h==="true")return!0;if(h==="false")return!1;if(h===Number(h).toString())return Number(h);if(h===""||h==="null")return null;if(typeof h!="string")return h;try{return JSON.parse(decodeURIComponent(h))}catch{return h}}function Te(h){return h.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const v={setDataAttribute(h,i,c){h.setAttribute(`data-bs-${Te(i)}`,c)},removeDataAttribute(h,i){h.removeAttribute(`data-bs-${Te(i)}`)},getDataAttributes(h){if(!h)return{};const i={},c=Object.keys(h.dataset).filter(m=>m.startsWith("bs")&&!m.startsWith("bsConfig"));for(const m of c){let y=m.replace(/^bs/,"");y=y.charAt(0).toLowerCase()+y.slice(1),i[y]=ie(h.dataset[m])}return i},getDataAttribute(h,i){return ie(h.getAttribute(`data-bs-${Te(i)}`))}};class b{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,c){const m=g(c)?v.getDataAttribute(c,"config"):{};return{...this.constructor.Default,...typeof m=="object"?m:{},...g(c)?v.getDataAttributes(c):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,c=this.constructor.DefaultType){for(const[m,y]of Object.entries(c)){const P=i[m],D=g(P)?"element":u(P);if(!new RegExp(y).test(D))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${m}" provided type "${D}" but expected type "${y}".`)}}}const x="5.3.6";class K extends b{constructor(i,c){super(),i=_(i),i&&(this._element=i,this._config=this._getConfig(c),s.set(this._element,this.constructor.DATA_KEY,this))}dispose(){s.remove(this._element,this.constructor.DATA_KEY),S.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,c,m=!0){O(i,c,m)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return s.get(_(i),this.DATA_KEY)}static getOrCreateInstance(i,c={}){return this.getInstance(i)||new this(i,typeof c=="object"?c:null)}static get VERSION(){return x}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const G=h=>{let i=h.getAttribute("data-bs-target");if(!i||i==="#"){let c=h.getAttribute("href");if(!c||!c.includes("#")&&!c.startsWith("."))return null;c.includes("#")&&!c.startsWith("#")&&(c=`#${c.split("#")[1]}`),i=c&&c!=="#"?c.trim():null}return i?i.split(",").map(c=>l(c)).join(","):null},$={find(h,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,h))},findOne(h,i=document.documentElement){return Element.prototype.querySelector.call(i,h)},children(h,i){return[].concat(...h.children).filter(c=>c.matches(i))},parents(h,i){const c=[];let m=h.parentNode.closest(i);for(;m;)c.push(m),m=m.parentNode.closest(i);return c},prev(h,i){let c=h.previousElementSibling;for(;c;){if(c.matches(i))return[c];c=c.previousElementSibling}return[]},next(h,i){let c=h.nextElementSibling;for(;c;){if(c.matches(i))return[c];c=c.nextElementSibling}return[]},focusableChildren(h){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(c=>`${c}:not([tabindex^="-"])`).join(",");return this.find(i,h).filter(c=>!C(c)&&E(c))},getSelectorFromElement(h){const i=G(h);return i&&$.findOne(i)?i:null},getElementFromSelector(h){const i=G(h);return i?$.findOne(i):null},getMultipleElementsFromSelector(h){const i=G(h);return i?$.find(i):[]}},oe=(h,i="hide")=>{const c=`click.dismiss${h.EVENT_KEY}`,m=h.NAME;S.on(document,c,`[data-bs-dismiss="${m}"]`,function(y){if(["A","AREA"].includes(this.tagName)&&y.preventDefault(),C(this))return;const P=$.getElementFromSelector(this)||this.closest(`.${m}`);h.getOrCreateInstance(P)[i]()})},re="alert",Z=".bs.alert",pe=`close${Z}`,ae=`closed${Z}`,de="fade",me="show";class Ae extends K{static get NAME(){return re}close(){if(S.trigger(this._element,pe).defaultPrevented)return;this._element.classList.remove(me);const c=this._element.classList.contains(de);this._queueCallback(()=>this._destroyElement(),this._element,c)}_destroyElement(){this._element.remove(),S.trigger(this._element,ae),this.dispose()}static jQueryInterface(i){return this.each(function(){const c=Ae.getOrCreateInstance(this);if(typeof i=="string"){if(c[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);c[i](this)}})}}oe(Ae,"close"),N(Ae);const Be="button",_t=".bs.button",ft=".data-api",kt="active",Rt='[data-bs-toggle="button"]',zn=`click${_t}${ft}`;class xn extends K{static get NAME(){return Be}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(kt))}static jQueryInterface(i){return this.each(function(){const c=xn.getOrCreateInstance(this);i==="toggle"&&c[i]()})}}S.on(document,zn,Rt,h=>{h.preventDefault();const i=h.target.closest(Rt);xn.getOrCreateInstance(i).toggle()}),N(xn);const vt="swipe",ot=".bs.swipe",Qr=`touchstart${ot}`,Hp=`touchmove${ot}`,Up=`touchend${ot}`,jp=`pointerdown${ot}`,qp=`pointerup${ot}`,Kp="touch",Wp="pen",Yp="pointer-event",zp=40,Gp={endCallback:null,leftCallback:null,rightCallback:null},Jp={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Xr extends b{constructor(i,c){super(),this._element=i,!(!i||!Xr.isSupported())&&(this._config=this._getConfig(c),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Gp}static get DefaultType(){return Jp}static get NAME(){return vt}dispose(){S.off(this._element,ot)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),A(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=zp)return;const c=i/this._deltaX;this._deltaX=0,c&&A(c>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(S.on(this._element,jp,i=>this._start(i)),S.on(this._element,qp,i=>this._end(i)),this._element.classList.add(Yp)):(S.on(this._element,Qr,i=>this._start(i)),S.on(this._element,Hp,i=>this._move(i)),S.on(this._element,Up,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===Wp||i.pointerType===Kp)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Qp="carousel",Rn=".bs.carousel",zl=".data-api",Xp="ArrowLeft",Zp="ArrowRight",em=500,lr="next",Os="prev",xs="left",Zr="right",tm=`slide${Rn}`,bo=`slid${Rn}`,nm=`keydown${Rn}`,sm=`mouseenter${Rn}`,rm=`mouseleave${Rn}`,im=`dragstart${Rn}`,om=`load${Rn}${zl}`,am=`click${Rn}${zl}`,Gl="carousel",ei="active",lm="slide",cm="carousel-item-end",um="carousel-item-start",fm="carousel-item-next",dm="carousel-item-prev",Jl=".active",Ql=".carousel-item",hm=Jl+Ql,pm=".carousel-item img",mm=".carousel-indicators",gm="[data-bs-slide], [data-bs-slide-to]",_m='[data-bs-ride="carousel"]',vm={[Xp]:Zr,[Zp]:xs},bm={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ym={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Rs extends K{constructor(i,c){super(i,c),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=$.findOne(mm,this._element),this._addEventListeners(),this._config.ride===Gl&&this.cycle()}static get Default(){return bm}static get DefaultType(){return ym}static get NAME(){return Qp}next(){this._slide(lr)}nextWhenVisible(){!document.hidden&&E(this._element)&&this.next()}prev(){this._slide(Os)}pause(){this._isSliding&&p(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){S.one(this._element,bo,()=>this.cycle());return}this.cycle()}}to(i){const c=this._getItems();if(i>c.length-1||i<0)return;if(this._isSliding){S.one(this._element,bo,()=>this.to(i));return}const m=this._getItemIndex(this._getActive());if(m===i)return;const y=i>m?lr:Os;this._slide(y,c[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&S.on(this._element,nm,i=>this._keydown(i)),this._config.pause==="hover"&&(S.on(this._element,sm,()=>this.pause()),S.on(this._element,rm,()=>this._maybeEnableCycle())),this._config.touch&&Xr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const m of $.find(pm,this._element))S.on(m,im,y=>y.preventDefault());const c={leftCallback:()=>this._slide(this._directionToOrder(xs)),rightCallback:()=>this._slide(this._directionToOrder(Zr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),em+this._config.interval))}};this._swipeHelper=new Xr(this._element,c)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const c=vm[i.key];c&&(i.preventDefault(),this._slide(this._directionToOrder(c)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const c=$.findOne(Jl,this._indicatorsElement);c.classList.remove(ei),c.removeAttribute("aria-current");const m=$.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);m&&(m.classList.add(ei),m.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const c=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=c||this._config.defaultInterval}_slide(i,c=null){if(this._isSliding)return;const m=this._getActive(),y=i===lr,P=c||k(this._getItems(),m,y,this._config.wrap);if(P===m)return;const D=this._getItemIndex(P),W=be=>S.trigger(this._element,be,{relatedTarget:P,direction:this._orderToDirection(i),from:this._getItemIndex(m),to:D});if(W(tm).defaultPrevented||!m||!P)return;const le=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(D),this._activeElement=P;const ne=y?um:cm,Se=y?fm:dm;P.classList.add(Se),M(P),m.classList.add(ne),P.classList.add(ne);const Ce=()=>{P.classList.remove(ne,Se),P.classList.add(ei),m.classList.remove(ei,Se,ne),this._isSliding=!1,W(bo)};this._queueCallback(Ce,m,this._isAnimated()),le&&this.cycle()}_isAnimated(){return this._element.classList.contains(lm)}_getActive(){return $.findOne(hm,this._element)}_getItems(){return $.find(Ql,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return R()?i===xs?Os:lr:i===xs?lr:Os}_orderToDirection(i){return R()?i===Os?xs:Zr:i===Os?Zr:xs}static jQueryInterface(i){return this.each(function(){const c=Rs.getOrCreateInstance(this,i);if(typeof i=="number"){c.to(i);return}if(typeof i=="string"){if(c[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);c[i]()}})}}S.on(document,am,gm,function(h){const i=$.getElementFromSelector(this);if(!i||!i.classList.contains(Gl))return;h.preventDefault();const c=Rs.getOrCreateInstance(i),m=this.getAttribute("data-bs-slide-to");if(m){c.to(m),c._maybeEnableCycle();return}if(v.getDataAttribute(this,"slide")==="next"){c.next(),c._maybeEnableCycle();return}c.prev(),c._maybeEnableCycle()}),S.on(window,om,()=>{const h=$.find(_m);for(const i of h)Rs.getOrCreateInstance(i)}),N(Rs);const Em="collapse",cr=".bs.collapse",wm=".data-api",Tm=`show${cr}`,Am=`shown${cr}`,Sm=`hide${cr}`,Cm=`hidden${cr}`,Om=`click${cr}${wm}`,yo="show",Ns="collapse",ti="collapsing",xm="collapsed",Rm=`:scope .${Ns} .${Ns}`,Nm="collapse-horizontal",$m="width",Pm="height",Dm=".collapse.show, .collapse.collapsing",Eo='[data-bs-toggle="collapse"]',Lm={parent:null,toggle:!0},Im={parent:"(null|element)",toggle:"boolean"};class $s extends K{constructor(i,c){super(i,c),this._isTransitioning=!1,this._triggerArray=[];const m=$.find(Eo);for(const y of m){const P=$.getSelectorFromElement(y),D=$.find(P).filter(W=>W===this._element);P!==null&&D.length&&this._triggerArray.push(y)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Lm}static get DefaultType(){return Im}static get NAME(){return Em}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Dm).filter(W=>W!==this._element).map(W=>$s.getOrCreateInstance(W,{toggle:!1}))),i.length&&i[0]._isTransitioning||S.trigger(this._element,Tm).defaultPrevented)return;for(const W of i)W.hide();const m=this._getDimension();this._element.classList.remove(Ns),this._element.classList.add(ti),this._element.style[m]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const y=()=>{this._isTransitioning=!1,this._element.classList.remove(ti),this._element.classList.add(Ns,yo),this._element.style[m]="",S.trigger(this._element,Am)},D=`scroll${m[0].toUpperCase()+m.slice(1)}`;this._queueCallback(y,this._element,!0),this._element.style[m]=`${this._element[D]}px`}hide(){if(this._isTransitioning||!this._isShown()||S.trigger(this._element,Sm).defaultPrevented)return;const c=this._getDimension();this._element.style[c]=`${this._element.getBoundingClientRect()[c]}px`,M(this._element),this._element.classList.add(ti),this._element.classList.remove(Ns,yo);for(const y of this._triggerArray){const P=$.getElementFromSelector(y);P&&!this._isShown(P)&&this._addAriaAndCollapsedClass([y],!1)}this._isTransitioning=!0;const m=()=>{this._isTransitioning=!1,this._element.classList.remove(ti),this._element.classList.add(Ns),S.trigger(this._element,Cm)};this._element.style[c]="",this._queueCallback(m,this._element,!0)}_isShown(i=this._element){return i.classList.contains(yo)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=_(i.parent),i}_getDimension(){return this._element.classList.contains(Nm)?$m:Pm}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(Eo);for(const c of i){const m=$.getElementFromSelector(c);m&&this._addAriaAndCollapsedClass([c],this._isShown(m))}}_getFirstLevelChildren(i){const c=$.find(Rm,this._config.parent);return $.find(i,this._config.parent).filter(m=>!c.includes(m))}_addAriaAndCollapsedClass(i,c){if(i.length)for(const m of i)m.classList.toggle(xm,!c),m.setAttribute("aria-expanded",c)}static jQueryInterface(i){const c={};return typeof i=="string"&&/show|hide/.test(i)&&(c.toggle=!1),this.each(function(){const m=$s.getOrCreateInstance(this,c);if(typeof i=="string"){if(typeof m[i]>"u")throw new TypeError(`No method named "${i}"`);m[i]()}})}}S.on(document,Om,Eo,function(h){(h.target.tagName==="A"||h.delegateTarget&&h.delegateTarget.tagName==="A")&&h.preventDefault();for(const i of $.getMultipleElementsFromSelector(this))$s.getOrCreateInstance(i,{toggle:!1}).toggle()}),N($s);var bt="top",Nt="bottom",$t="right",yt="left",ni="auto",Ps=[bt,Nt,$t,yt],Gn="start",Ds="end",Xl="clippingParents",wo="viewport",Ls="popper",Zl="reference",To=Ps.reduce(function(h,i){return h.concat([i+"-"+Gn,i+"-"+Ds])},[]),Ao=[].concat(Ps,[ni]).reduce(function(h,i){return h.concat([i,i+"-"+Gn,i+"-"+Ds])},[]),ec="beforeRead",tc="read",nc="afterRead",sc="beforeMain",rc="main",ic="afterMain",oc="beforeWrite",ac="write",lc="afterWrite",cc=[ec,tc,nc,sc,rc,ic,oc,ac,lc];function rn(h){return h?(h.nodeName||"").toLowerCase():null}function Pt(h){if(h==null)return window;if(h.toString()!=="[object Window]"){var i=h.ownerDocument;return i&&i.defaultView||window}return h}function Jn(h){var i=Pt(h).Element;return h instanceof i||h instanceof Element}function Bt(h){var i=Pt(h).HTMLElement;return h instanceof i||h instanceof HTMLElement}function So(h){if(typeof ShadowRoot>"u")return!1;var i=Pt(h).ShadowRoot;return h instanceof i||h instanceof ShadowRoot}function Mm(h){var i=h.state;Object.keys(i.elements).forEach(function(c){var m=i.styles[c]||{},y=i.attributes[c]||{},P=i.elements[c];!Bt(P)||!rn(P)||(Object.assign(P.style,m),Object.keys(y).forEach(function(D){var W=y[D];W===!1?P.removeAttribute(D):P.setAttribute(D,W===!0?"":W)}))})}function km(h){var i=h.state,c={popper:{position:i.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(i.elements.popper.style,c.popper),i.styles=c,i.elements.arrow&&Object.assign(i.elements.arrow.style,c.arrow),function(){Object.keys(i.elements).forEach(function(m){var y=i.elements[m],P=i.attributes[m]||{},D=Object.keys(i.styles.hasOwnProperty(m)?i.styles[m]:c[m]),W=D.reduce(function(ee,le){return ee[le]="",ee},{});!Bt(y)||!rn(y)||(Object.assign(y.style,W),Object.keys(P).forEach(function(ee){y.removeAttribute(ee)}))})}}const Co={name:"applyStyles",enabled:!0,phase:"write",fn:Mm,effect:km,requires:["computeStyles"]};function on(h){return h.split("-")[0]}var Qn=Math.max,si=Math.min,Is=Math.round;function Oo(){var h=navigator.userAgentData;return h!=null&&h.brands&&Array.isArray(h.brands)?h.brands.map(function(i){return i.brand+"/"+i.version}).join(" "):navigator.userAgent}function uc(){return!/^((?!chrome|android).)*safari/i.test(Oo())}function Ms(h,i,c){i===void 0&&(i=!1),c===void 0&&(c=!1);var m=h.getBoundingClientRect(),y=1,P=1;i&&Bt(h)&&(y=h.offsetWidth>0&&Is(m.width)/h.offsetWidth||1,P=h.offsetHeight>0&&Is(m.height)/h.offsetHeight||1);var D=Jn(h)?Pt(h):window,W=D.visualViewport,ee=!uc()&&c,le=(m.left+(ee&&W?W.offsetLeft:0))/y,ne=(m.top+(ee&&W?W.offsetTop:0))/P,Se=m.width/y,Ce=m.height/P;return{width:Se,height:Ce,top:ne,right:le+Se,bottom:ne+Ce,left:le,x:le,y:ne}}function xo(h){var i=Ms(h),c=h.offsetWidth,m=h.offsetHeight;return Math.abs(i.width-c)<=1&&(c=i.width),Math.abs(i.height-m)<=1&&(m=i.height),{x:h.offsetLeft,y:h.offsetTop,width:c,height:m}}function fc(h,i){var c=i.getRootNode&&i.getRootNode();if(h.contains(i))return!0;if(c&&So(c)){var m=i;do{if(m&&h.isSameNode(m))return!0;m=m.parentNode||m.host}while(m)}return!1}function mn(h){return Pt(h).getComputedStyle(h)}function Bm(h){return["table","td","th"].indexOf(rn(h))>=0}function Nn(h){return((Jn(h)?h.ownerDocument:h.document)||window.document).documentElement}function ri(h){return rn(h)==="html"?h:h.assignedSlot||h.parentNode||(So(h)?h.host:null)||Nn(h)}function dc(h){return!Bt(h)||mn(h).position==="fixed"?null:h.offsetParent}function Fm(h){var i=/firefox/i.test(Oo()),c=/Trident/i.test(Oo());if(c&&Bt(h)){var m=mn(h);if(m.position==="fixed")return null}var y=ri(h);for(So(y)&&(y=y.host);Bt(y)&&["html","body"].indexOf(rn(y))<0;){var P=mn(y);if(P.transform!=="none"||P.perspective!=="none"||P.contain==="paint"||["transform","perspective"].indexOf(P.willChange)!==-1||i&&P.willChange==="filter"||i&&P.filter&&P.filter!=="none")return y;y=y.parentNode}return null}function ur(h){for(var i=Pt(h),c=dc(h);c&&Bm(c)&&mn(c).position==="static";)c=dc(c);return c&&(rn(c)==="html"||rn(c)==="body"&&mn(c).position==="static")?i:c||Fm(h)||i}function Ro(h){return["top","bottom"].indexOf(h)>=0?"x":"y"}function fr(h,i,c){return Qn(h,si(i,c))}function Vm(h,i,c){var m=fr(h,i,c);return m>c?c:m}function hc(){return{top:0,right:0,bottom:0,left:0}}function pc(h){return Object.assign({},hc(),h)}function mc(h,i){return i.reduce(function(c,m){return c[m]=h,c},{})}var Hm=function(i,c){return i=typeof i=="function"?i(Object.assign({},c.rects,{placement:c.placement})):i,pc(typeof i!="number"?i:mc(i,Ps))};function Um(h){var i,c=h.state,m=h.name,y=h.options,P=c.elements.arrow,D=c.modifiersData.popperOffsets,W=on(c.placement),ee=Ro(W),le=[yt,$t].indexOf(W)>=0,ne=le?"height":"width";if(!(!P||!D)){var Se=Hm(y.padding,c),Ce=xo(P),be=ee==="y"?bt:yt,Ke=ee==="y"?Nt:$t,Oe=c.rects.reference[ne]+c.rects.reference[ee]-D[ee]-c.rects.popper[ne],Pe=D[ee]-c.rects.reference[ee],ze=ur(P),Xe=ze?ee==="y"?ze.clientHeight||0:ze.clientWidth||0:0,Ze=Oe/2-Pe/2,xe=Se[be],Fe=Xe-Ce[ne]-Se[Ke],Ve=Xe/2-Ce[ne]/2+Ze,Je=fr(xe,Ve,Fe),at=ee;c.modifiersData[m]=(i={},i[at]=Je,i.centerOffset=Je-Ve,i)}}function jm(h){var i=h.state,c=h.options,m=c.element,y=m===void 0?"[data-popper-arrow]":m;y!=null&&(typeof y=="string"&&(y=i.elements.popper.querySelector(y),!y)||fc(i.elements.popper,y)&&(i.elements.arrow=y))}const gc={name:"arrow",enabled:!0,phase:"main",fn:Um,effect:jm,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ks(h){return h.split("-")[1]}var qm={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Km(h,i){var c=h.x,m=h.y,y=i.devicePixelRatio||1;return{x:Is(c*y)/y||0,y:Is(m*y)/y||0}}function _c(h){var i,c=h.popper,m=h.popperRect,y=h.placement,P=h.variation,D=h.offsets,W=h.position,ee=h.gpuAcceleration,le=h.adaptive,ne=h.roundOffsets,Se=h.isFixed,Ce=D.x,be=Ce===void 0?0:Ce,Ke=D.y,Oe=Ke===void 0?0:Ke,Pe=typeof ne=="function"?ne({x:be,y:Oe}):{x:be,y:Oe};be=Pe.x,Oe=Pe.y;var ze=D.hasOwnProperty("x"),Xe=D.hasOwnProperty("y"),Ze=yt,xe=bt,Fe=window;if(le){var Ve=ur(c),Je="clientHeight",at="clientWidth";if(Ve===Pt(c)&&(Ve=Nn(c),mn(Ve).position!=="static"&&W==="absolute"&&(Je="scrollHeight",at="scrollWidth")),Ve=Ve,y===bt||(y===yt||y===$t)&&P===Ds){xe=Nt;var st=Se&&Ve===Fe&&Fe.visualViewport?Fe.visualViewport.height:Ve[Je];Oe-=st-m.height,Oe*=ee?1:-1}if(y===yt||(y===bt||y===Nt)&&P===Ds){Ze=$t;var tt=Se&&Ve===Fe&&Fe.visualViewport?Fe.visualViewport.width:Ve[at];be-=tt-m.width,be*=ee?1:-1}}var dt=Object.assign({position:W},le&&qm),Yt=ne===!0?Km({x:be,y:Oe},Pt(c)):{x:be,y:Oe};if(be=Yt.x,Oe=Yt.y,ee){var Et;return Object.assign({},dt,(Et={},Et[xe]=Xe?"0":"",Et[Ze]=ze?"0":"",Et.transform=(Fe.devicePixelRatio||1)<=1?"translate("+be+"px, "+Oe+"px)":"translate3d("+be+"px, "+Oe+"px, 0)",Et))}return Object.assign({},dt,(i={},i[xe]=Xe?Oe+"px":"",i[Ze]=ze?be+"px":"",i.transform="",i))}function Wm(h){var i=h.state,c=h.options,m=c.gpuAcceleration,y=m===void 0?!0:m,P=c.adaptive,D=P===void 0?!0:P,W=c.roundOffsets,ee=W===void 0?!0:W,le={placement:on(i.placement),variation:ks(i.placement),popper:i.elements.popper,popperRect:i.rects.popper,gpuAcceleration:y,isFixed:i.options.strategy==="fixed"};i.modifiersData.popperOffsets!=null&&(i.styles.popper=Object.assign({},i.styles.popper,_c(Object.assign({},le,{offsets:i.modifiersData.popperOffsets,position:i.options.strategy,adaptive:D,roundOffsets:ee})))),i.modifiersData.arrow!=null&&(i.styles.arrow=Object.assign({},i.styles.arrow,_c(Object.assign({},le,{offsets:i.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:ee})))),i.attributes.popper=Object.assign({},i.attributes.popper,{"data-popper-placement":i.placement})}const No={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Wm,data:{}};var ii={passive:!0};function Ym(h){var i=h.state,c=h.instance,m=h.options,y=m.scroll,P=y===void 0?!0:y,D=m.resize,W=D===void 0?!0:D,ee=Pt(i.elements.popper),le=[].concat(i.scrollParents.reference,i.scrollParents.popper);return P&&le.forEach(function(ne){ne.addEventListener("scroll",c.update,ii)}),W&&ee.addEventListener("resize",c.update,ii),function(){P&&le.forEach(function(ne){ne.removeEventListener("scroll",c.update,ii)}),W&&ee.removeEventListener("resize",c.update,ii)}}const $o={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ym,data:{}};var zm={left:"right",right:"left",bottom:"top",top:"bottom"};function oi(h){return h.replace(/left|right|bottom|top/g,function(i){return zm[i]})}var Gm={start:"end",end:"start"};function vc(h){return h.replace(/start|end/g,function(i){return Gm[i]})}function Po(h){var i=Pt(h),c=i.pageXOffset,m=i.pageYOffset;return{scrollLeft:c,scrollTop:m}}function Do(h){return Ms(Nn(h)).left+Po(h).scrollLeft}function Jm(h,i){var c=Pt(h),m=Nn(h),y=c.visualViewport,P=m.clientWidth,D=m.clientHeight,W=0,ee=0;if(y){P=y.width,D=y.height;var le=uc();(le||!le&&i==="fixed")&&(W=y.offsetLeft,ee=y.offsetTop)}return{width:P,height:D,x:W+Do(h),y:ee}}function Qm(h){var i,c=Nn(h),m=Po(h),y=(i=h.ownerDocument)==null?void 0:i.body,P=Qn(c.scrollWidth,c.clientWidth,y?y.scrollWidth:0,y?y.clientWidth:0),D=Qn(c.scrollHeight,c.clientHeight,y?y.scrollHeight:0,y?y.clientHeight:0),W=-m.scrollLeft+Do(h),ee=-m.scrollTop;return mn(y||c).direction==="rtl"&&(W+=Qn(c.clientWidth,y?y.clientWidth:0)-P),{width:P,height:D,x:W,y:ee}}function Lo(h){var i=mn(h),c=i.overflow,m=i.overflowX,y=i.overflowY;return/auto|scroll|overlay|hidden/.test(c+y+m)}function bc(h){return["html","body","#document"].indexOf(rn(h))>=0?h.ownerDocument.body:Bt(h)&&Lo(h)?h:bc(ri(h))}function dr(h,i){var c;i===void 0&&(i=[]);var m=bc(h),y=m===((c=h.ownerDocument)==null?void 0:c.body),P=Pt(m),D=y?[P].concat(P.visualViewport||[],Lo(m)?m:[]):m,W=i.concat(D);return y?W:W.concat(dr(ri(D)))}function Io(h){return Object.assign({},h,{left:h.x,top:h.y,right:h.x+h.width,bottom:h.y+h.height})}function Xm(h,i){var c=Ms(h,!1,i==="fixed");return c.top=c.top+h.clientTop,c.left=c.left+h.clientLeft,c.bottom=c.top+h.clientHeight,c.right=c.left+h.clientWidth,c.width=h.clientWidth,c.height=h.clientHeight,c.x=c.left,c.y=c.top,c}function yc(h,i,c){return i===wo?Io(Jm(h,c)):Jn(i)?Xm(i,c):Io(Qm(Nn(h)))}function Zm(h){var i=dr(ri(h)),c=["absolute","fixed"].indexOf(mn(h).position)>=0,m=c&&Bt(h)?ur(h):h;return Jn(m)?i.filter(function(y){return Jn(y)&&fc(y,m)&&rn(y)!=="body"}):[]}function eg(h,i,c,m){var y=i==="clippingParents"?Zm(h):[].concat(i),P=[].concat(y,[c]),D=P[0],W=P.reduce(function(ee,le){var ne=yc(h,le,m);return ee.top=Qn(ne.top,ee.top),ee.right=si(ne.right,ee.right),ee.bottom=si(ne.bottom,ee.bottom),ee.left=Qn(ne.left,ee.left),ee},yc(h,D,m));return W.width=W.right-W.left,W.height=W.bottom-W.top,W.x=W.left,W.y=W.top,W}function Ec(h){var i=h.reference,c=h.element,m=h.placement,y=m?on(m):null,P=m?ks(m):null,D=i.x+i.width/2-c.width/2,W=i.y+i.height/2-c.height/2,ee;switch(y){case bt:ee={x:D,y:i.y-c.height};break;case Nt:ee={x:D,y:i.y+i.height};break;case $t:ee={x:i.x+i.width,y:W};break;case yt:ee={x:i.x-c.width,y:W};break;default:ee={x:i.x,y:i.y}}var le=y?Ro(y):null;if(le!=null){var ne=le==="y"?"height":"width";switch(P){case Gn:ee[le]=ee[le]-(i[ne]/2-c[ne]/2);break;case Ds:ee[le]=ee[le]+(i[ne]/2-c[ne]/2);break}}return ee}function Bs(h,i){i===void 0&&(i={});var c=i,m=c.placement,y=m===void 0?h.placement:m,P=c.strategy,D=P===void 0?h.strategy:P,W=c.boundary,ee=W===void 0?Xl:W,le=c.rootBoundary,ne=le===void 0?wo:le,Se=c.elementContext,Ce=Se===void 0?Ls:Se,be=c.altBoundary,Ke=be===void 0?!1:be,Oe=c.padding,Pe=Oe===void 0?0:Oe,ze=pc(typeof Pe!="number"?Pe:mc(Pe,Ps)),Xe=Ce===Ls?Zl:Ls,Ze=h.rects.popper,xe=h.elements[Ke?Xe:Ce],Fe=eg(Jn(xe)?xe:xe.contextElement||Nn(h.elements.popper),ee,ne,D),Ve=Ms(h.elements.reference),Je=Ec({reference:Ve,element:Ze,placement:y}),at=Io(Object.assign({},Ze,Je)),st=Ce===Ls?at:Ve,tt={top:Fe.top-st.top+ze.top,bottom:st.bottom-Fe.bottom+ze.bottom,left:Fe.left-st.left+ze.left,right:st.right-Fe.right+ze.right},dt=h.modifiersData.offset;if(Ce===Ls&&dt){var Yt=dt[y];Object.keys(tt).forEach(function(Et){var is=[$t,Nt].indexOf(Et)>=0?1:-1,os=[bt,Nt].indexOf(Et)>=0?"y":"x";tt[Et]+=Yt[os]*is})}return tt}function tg(h,i){i===void 0&&(i={});var c=i,m=c.placement,y=c.boundary,P=c.rootBoundary,D=c.padding,W=c.flipVariations,ee=c.allowedAutoPlacements,le=ee===void 0?Ao:ee,ne=ks(m),Se=ne?W?To:To.filter(function(Ke){return ks(Ke)===ne}):Ps,Ce=Se.filter(function(Ke){return le.indexOf(Ke)>=0});Ce.length===0&&(Ce=Se);var be=Ce.reduce(function(Ke,Oe){return Ke[Oe]=Bs(h,{placement:Oe,boundary:y,rootBoundary:P,padding:D})[on(Oe)],Ke},{});return Object.keys(be).sort(function(Ke,Oe){return be[Ke]-be[Oe]})}function ng(h){if(on(h)===ni)return[];var i=oi(h);return[vc(h),i,vc(i)]}function sg(h){var i=h.state,c=h.options,m=h.name;if(!i.modifiersData[m]._skip){for(var y=c.mainAxis,P=y===void 0?!0:y,D=c.altAxis,W=D===void 0?!0:D,ee=c.fallbackPlacements,le=c.padding,ne=c.boundary,Se=c.rootBoundary,Ce=c.altBoundary,be=c.flipVariations,Ke=be===void 0?!0:be,Oe=c.allowedAutoPlacements,Pe=i.options.placement,ze=on(Pe),Xe=ze===Pe,Ze=ee||(Xe||!Ke?[oi(Pe)]:ng(Pe)),xe=[Pe].concat(Ze).reduce(function(Hs,Pn){return Hs.concat(on(Pn)===ni?tg(i,{placement:Pn,boundary:ne,rootBoundary:Se,padding:le,flipVariations:Ke,allowedAutoPlacements:Oe}):Pn)},[]),Fe=i.rects.reference,Ve=i.rects.popper,Je=new Map,at=!0,st=xe[0],tt=0;tt=0,os=is?"width":"height",Dt=Bs(i,{placement:dt,boundary:ne,rootBoundary:Se,altBoundary:Ce,padding:le}),zt=is?Et?$t:yt:Et?Nt:bt;Fe[os]>Ve[os]&&(zt=oi(zt));var mi=oi(zt),as=[];if(P&&as.push(Dt[Yt]<=0),W&&as.push(Dt[zt]<=0,Dt[mi]<=0),as.every(function(Hs){return Hs})){st=dt,at=!1;break}Je.set(dt,as)}if(at)for(var gi=Ke?3:1,Go=function(Pn){var _r=xe.find(function(vi){var ls=Je.get(vi);if(ls)return ls.slice(0,Pn).every(function(Jo){return Jo})});if(_r)return st=_r,"break"},gr=gi;gr>0;gr--){var _i=Go(gr);if(_i==="break")break}i.placement!==st&&(i.modifiersData[m]._skip=!0,i.placement=st,i.reset=!0)}}const wc={name:"flip",enabled:!0,phase:"main",fn:sg,requiresIfExists:["offset"],data:{_skip:!1}};function Tc(h,i,c){return c===void 0&&(c={x:0,y:0}),{top:h.top-i.height-c.y,right:h.right-i.width+c.x,bottom:h.bottom-i.height+c.y,left:h.left-i.width-c.x}}function Ac(h){return[bt,$t,Nt,yt].some(function(i){return h[i]>=0})}function rg(h){var i=h.state,c=h.name,m=i.rects.reference,y=i.rects.popper,P=i.modifiersData.preventOverflow,D=Bs(i,{elementContext:"reference"}),W=Bs(i,{altBoundary:!0}),ee=Tc(D,m),le=Tc(W,y,P),ne=Ac(ee),Se=Ac(le);i.modifiersData[c]={referenceClippingOffsets:ee,popperEscapeOffsets:le,isReferenceHidden:ne,hasPopperEscaped:Se},i.attributes.popper=Object.assign({},i.attributes.popper,{"data-popper-reference-hidden":ne,"data-popper-escaped":Se})}const Sc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:rg};function ig(h,i,c){var m=on(h),y=[yt,bt].indexOf(m)>=0?-1:1,P=typeof c=="function"?c(Object.assign({},i,{placement:h})):c,D=P[0],W=P[1];return D=D||0,W=(W||0)*y,[yt,$t].indexOf(m)>=0?{x:W,y:D}:{x:D,y:W}}function og(h){var i=h.state,c=h.options,m=h.name,y=c.offset,P=y===void 0?[0,0]:y,D=Ao.reduce(function(ne,Se){return ne[Se]=ig(Se,i.rects,P),ne},{}),W=D[i.placement],ee=W.x,le=W.y;i.modifiersData.popperOffsets!=null&&(i.modifiersData.popperOffsets.x+=ee,i.modifiersData.popperOffsets.y+=le),i.modifiersData[m]=D}const Cc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:og};function ag(h){var i=h.state,c=h.name;i.modifiersData[c]=Ec({reference:i.rects.reference,element:i.rects.popper,placement:i.placement})}const Mo={name:"popperOffsets",enabled:!0,phase:"read",fn:ag,data:{}};function lg(h){return h==="x"?"y":"x"}function cg(h){var i=h.state,c=h.options,m=h.name,y=c.mainAxis,P=y===void 0?!0:y,D=c.altAxis,W=D===void 0?!1:D,ee=c.boundary,le=c.rootBoundary,ne=c.altBoundary,Se=c.padding,Ce=c.tether,be=Ce===void 0?!0:Ce,Ke=c.tetherOffset,Oe=Ke===void 0?0:Ke,Pe=Bs(i,{boundary:ee,rootBoundary:le,padding:Se,altBoundary:ne}),ze=on(i.placement),Xe=ks(i.placement),Ze=!Xe,xe=Ro(ze),Fe=lg(xe),Ve=i.modifiersData.popperOffsets,Je=i.rects.reference,at=i.rects.popper,st=typeof Oe=="function"?Oe(Object.assign({},i.rects,{placement:i.placement})):Oe,tt=typeof st=="number"?{mainAxis:st,altAxis:st}:Object.assign({mainAxis:0,altAxis:0},st),dt=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null,Yt={x:0,y:0};if(Ve){if(P){var Et,is=xe==="y"?bt:yt,os=xe==="y"?Nt:$t,Dt=xe==="y"?"height":"width",zt=Ve[xe],mi=zt+Pe[is],as=zt-Pe[os],gi=be?-at[Dt]/2:0,Go=Xe===Gn?Je[Dt]:at[Dt],gr=Xe===Gn?-at[Dt]:-Je[Dt],_i=i.elements.arrow,Hs=be&&_i?xo(_i):{width:0,height:0},Pn=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:hc(),_r=Pn[is],vi=Pn[os],ls=fr(0,Je[Dt],Hs[Dt]),Jo=Ze?Je[Dt]/2-gi-ls-_r-tt.mainAxis:Go-ls-_r-tt.mainAxis,tb=Ze?-Je[Dt]/2+gi+ls+vi+tt.mainAxis:gr+ls+vi+tt.mainAxis,Qo=i.elements.arrow&&ur(i.elements.arrow),nb=Qo?xe==="y"?Qo.clientTop||0:Qo.clientLeft||0:0,pu=(Et=dt?.[xe])!=null?Et:0,sb=zt+Jo-pu-nb,rb=zt+tb-pu,mu=fr(be?si(mi,sb):mi,zt,be?Qn(as,rb):as);Ve[xe]=mu,Yt[xe]=mu-zt}if(W){var gu,ib=xe==="x"?bt:yt,ob=xe==="x"?Nt:$t,cs=Ve[Fe],bi=Fe==="y"?"height":"width",_u=cs+Pe[ib],vu=cs-Pe[ob],Xo=[bt,yt].indexOf(ze)!==-1,bu=(gu=dt?.[Fe])!=null?gu:0,yu=Xo?_u:cs-Je[bi]-at[bi]-bu+tt.altAxis,Eu=Xo?cs+Je[bi]+at[bi]-bu-tt.altAxis:vu,wu=be&&Xo?Vm(yu,cs,Eu):fr(be?yu:_u,cs,be?Eu:vu);Ve[Fe]=wu,Yt[Fe]=wu-cs}i.modifiersData[m]=Yt}}const Oc={name:"preventOverflow",enabled:!0,phase:"main",fn:cg,requiresIfExists:["offset"]};function ug(h){return{scrollLeft:h.scrollLeft,scrollTop:h.scrollTop}}function fg(h){return h===Pt(h)||!Bt(h)?Po(h):ug(h)}function dg(h){var i=h.getBoundingClientRect(),c=Is(i.width)/h.offsetWidth||1,m=Is(i.height)/h.offsetHeight||1;return c!==1||m!==1}function hg(h,i,c){c===void 0&&(c=!1);var m=Bt(i),y=Bt(i)&&dg(i),P=Nn(i),D=Ms(h,y,c),W={scrollLeft:0,scrollTop:0},ee={x:0,y:0};return(m||!m&&!c)&&((rn(i)!=="body"||Lo(P))&&(W=fg(i)),Bt(i)?(ee=Ms(i,!0),ee.x+=i.clientLeft,ee.y+=i.clientTop):P&&(ee.x=Do(P))),{x:D.left+W.scrollLeft-ee.x,y:D.top+W.scrollTop-ee.y,width:D.width,height:D.height}}function pg(h){var i=new Map,c=new Set,m=[];h.forEach(function(P){i.set(P.name,P)});function y(P){c.add(P.name);var D=[].concat(P.requires||[],P.requiresIfExists||[]);D.forEach(function(W){if(!c.has(W)){var ee=i.get(W);ee&&y(ee)}}),m.push(P)}return h.forEach(function(P){c.has(P.name)||y(P)}),m}function mg(h){var i=pg(h);return cc.reduce(function(c,m){return c.concat(i.filter(function(y){return y.phase===m}))},[])}function gg(h){var i;return function(){return i||(i=new Promise(function(c){Promise.resolve().then(function(){i=void 0,c(h())})})),i}}function _g(h){var i=h.reduce(function(c,m){var y=c[m.name];return c[m.name]=y?Object.assign({},y,m,{options:Object.assign({},y.options,m.options),data:Object.assign({},y.data,m.data)}):m,c},{});return Object.keys(i).map(function(c){return i[c]})}var xc={placement:"bottom",modifiers:[],strategy:"absolute"};function Rc(){for(var h=arguments.length,i=new Array(h),c=0;c"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let i=this._element;this._config.reference==="parent"?i=this._parent:g(this._config.reference)?i=_(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const c=this._getPopperConfig();this._popper=ko(i,this._menu,c)}_isShown(){return this._menu.classList.contains(Fs)}_getPlacement(){const i=this._parent;if(i.classList.contains($g))return jg;if(i.classList.contains(Pg))return qg;if(i.classList.contains(Dg))return Kg;if(i.classList.contains(Lg))return Wg;const c=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(Ng)?c?Vg:Fg:c?Ug:Hg}_detectNavbar(){return this._element.closest(Mg)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(c=>Number.parseInt(c,10)):typeof i=="function"?c=>i(c,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(v.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...A(this._config.popperConfig,[void 0,i])}}_selectMenuItem({key:i,target:c}){const m=$.find(Bg,this._menu).filter(y=>E(y));m.length&&k(m,c,i===Dc,!m.includes(c)).focus()}static jQueryInterface(i){return this.each(function(){const c=Wt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof c[i]>"u")throw new TypeError(`No method named "${i}"`);c[i]()}})}static clearMenus(i){if(i.button===Ag||i.type==="keyup"&&i.key!==Pc)return;const c=$.find(Ig);for(const m of c){const y=Wt.getInstance(m);if(!y||y._config.autoClose===!1)continue;const P=i.composedPath(),D=P.includes(y._menu);if(P.includes(y._element)||y._config.autoClose==="inside"&&!D||y._config.autoClose==="outside"&&D||y._menu.contains(i.target)&&(i.type==="keyup"&&i.key===Pc||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const W={relatedTarget:y._element};i.type==="click"&&(W.clickEvent=i),y._completeHide(W)}}static dataApiKeydownHandler(i){const c=/input|textarea/i.test(i.target.tagName),m=i.key===wg,y=[Tg,Dc].includes(i.key);if(!y&&!m||c&&!m)return;i.preventDefault();const P=this.matches(Zn)?this:$.prev(this,Zn)[0]||$.next(this,Zn)[0]||$.findOne(Zn,i.delegateTarget.parentNode),D=Wt.getOrCreateInstance(P);if(y){i.stopPropagation(),D.show(),D._selectMenuItem(i);return}D._isShown()&&(i.stopPropagation(),D.hide(),P.focus())}}S.on(document,Ic,Zn,Wt.dataApiKeydownHandler),S.on(document,Ic,li,Wt.dataApiKeydownHandler),S.on(document,Lc,Wt.clearMenus),S.on(document,Rg,Wt.clearMenus),S.on(document,Lc,Zn,function(h){h.preventDefault(),Wt.getOrCreateInstance(this).toggle()}),N(Wt);const Mc="backdrop",Gg="fade",kc="show",Bc=`mousedown.bs.${Mc}`,Jg={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Qg={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Fc extends b{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return Jg}static get DefaultType(){return Qg}static get NAME(){return Mc}show(i){if(!this._config.isVisible){A(i);return}this._append();const c=this._getElement();this._config.isAnimated&&M(c),c.classList.add(kc),this._emulateAnimation(()=>{A(i)})}hide(i){if(!this._config.isVisible){A(i);return}this._getElement().classList.remove(kc),this._emulateAnimation(()=>{this.dispose(),A(i)})}dispose(){this._isAppended&&(S.off(this._element,Bc),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(Gg),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=_(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),S.on(i,Bc,()=>{A(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){O(i,this._getElement(),this._config.isAnimated)}}const Xg="focustrap",ci=".bs.focustrap",Zg=`focusin${ci}`,e_=`keydown.tab${ci}`,t_="Tab",n_="forward",Vc="backward",s_={autofocus:!0,trapElement:null},r_={autofocus:"boolean",trapElement:"element"};class Hc extends b{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return s_}static get DefaultType(){return r_}static get NAME(){return Xg}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),S.off(document,ci),S.on(document,Zg,i=>this._handleFocusin(i)),S.on(document,e_,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,S.off(document,ci))}_handleFocusin(i){const{trapElement:c}=this._config;if(i.target===document||i.target===c||c.contains(i.target))return;const m=$.focusableChildren(c);m.length===0?c.focus():this._lastTabNavDirection===Vc?m[m.length-1].focus():m[0].focus()}_handleKeydown(i){i.key===t_&&(this._lastTabNavDirection=i.shiftKey?Vc:n_)}}const Uc=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",jc=".sticky-top",ui="padding-right",qc="margin-right";class Fo{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,ui,c=>c+i),this._setElementAttributes(Uc,ui,c=>c+i),this._setElementAttributes(jc,qc,c=>c-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,ui),this._resetElementAttributes(Uc,ui),this._resetElementAttributes(jc,qc)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,c,m){const y=this.getWidth(),P=D=>{if(D!==this._element&&window.innerWidth>D.clientWidth+y)return;this._saveInitialAttribute(D,c);const W=window.getComputedStyle(D).getPropertyValue(c);D.style.setProperty(c,`${m(Number.parseFloat(W))}px`)};this._applyManipulationCallback(i,P)}_saveInitialAttribute(i,c){const m=i.style.getPropertyValue(c);m&&v.setDataAttribute(i,c,m)}_resetElementAttributes(i,c){const m=y=>{const P=v.getDataAttribute(y,c);if(P===null){y.style.removeProperty(c);return}v.removeDataAttribute(y,c),y.style.setProperty(c,P)};this._applyManipulationCallback(i,m)}_applyManipulationCallback(i,c){if(g(i)){c(i);return}for(const m of $.find(i,this._element))c(m)}}const i_="modal",Ft=".bs.modal",o_=".data-api",a_="Escape",l_=`hide${Ft}`,c_=`hidePrevented${Ft}`,Kc=`hidden${Ft}`,Wc=`show${Ft}`,u_=`shown${Ft}`,f_=`resize${Ft}`,d_=`click.dismiss${Ft}`,h_=`mousedown.dismiss${Ft}`,p_=`keydown.dismiss${Ft}`,m_=`click${Ft}${o_}`,Yc="modal-open",g_="fade",zc="show",Vo="modal-static",__=".modal.show",v_=".modal-dialog",b_=".modal-body",y_='[data-bs-toggle="modal"]',E_={backdrop:!0,focus:!0,keyboard:!0},w_={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class es extends K{constructor(i,c){super(i,c),this._dialog=$.findOne(v_,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Fo,this._addEventListeners()}static get Default(){return E_}static get DefaultType(){return w_}static get NAME(){return i_}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||S.trigger(this._element,Wc,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Yc),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||S.trigger(this._element,l_).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(zc),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){S.off(window,Ft),S.off(this._dialog,Ft),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Fc({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Hc({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const c=$.findOne(b_,this._dialog);c&&(c.scrollTop=0),M(this._element),this._element.classList.add(zc);const m=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,S.trigger(this._element,u_,{relatedTarget:i})};this._queueCallback(m,this._dialog,this._isAnimated())}_addEventListeners(){S.on(this._element,p_,i=>{if(i.key===a_){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),S.on(window,f_,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),S.on(this._element,h_,i=>{S.one(this._element,d_,c=>{if(!(this._element!==i.target||this._element!==c.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Yc),this._resetAdjustments(),this._scrollBar.reset(),S.trigger(this._element,Kc)})}_isAnimated(){return this._element.classList.contains(g_)}_triggerBackdropTransition(){if(S.trigger(this._element,c_).defaultPrevented)return;const c=this._element.scrollHeight>document.documentElement.clientHeight,m=this._element.style.overflowY;m==="hidden"||this._element.classList.contains(Vo)||(c||(this._element.style.overflowY="hidden"),this._element.classList.add(Vo),this._queueCallback(()=>{this._element.classList.remove(Vo),this._queueCallback(()=>{this._element.style.overflowY=m},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,c=this._scrollBar.getWidth(),m=c>0;if(m&&!i){const y=R()?"paddingLeft":"paddingRight";this._element.style[y]=`${c}px`}if(!m&&i){const y=R()?"paddingRight":"paddingLeft";this._element.style[y]=`${c}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,c){return this.each(function(){const m=es.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof m[i]>"u")throw new TypeError(`No method named "${i}"`);m[i](c)}})}}S.on(document,m_,y_,function(h){const i=$.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&h.preventDefault(),S.one(i,Wc,y=>{y.defaultPrevented||S.one(i,Kc,()=>{E(this)&&this.focus()})});const c=$.findOne(__);c&&es.getInstance(c).hide(),es.getOrCreateInstance(i).toggle(this)}),oe(es),N(es);const T_="offcanvas",gn=".bs.offcanvas",Gc=".data-api",A_=`load${gn}${Gc}`,S_="Escape",Jc="show",Qc="showing",Xc="hiding",C_="offcanvas-backdrop",Zc=".offcanvas.show",O_=`show${gn}`,x_=`shown${gn}`,R_=`hide${gn}`,eu=`hidePrevented${gn}`,tu=`hidden${gn}`,N_=`resize${gn}`,$_=`click${gn}${Gc}`,P_=`keydown.dismiss${gn}`,D_='[data-bs-toggle="offcanvas"]',L_={backdrop:!0,keyboard:!0,scroll:!1},I_={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class _n extends K{constructor(i,c){super(i,c),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return L_}static get DefaultType(){return I_}static get NAME(){return T_}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||S.trigger(this._element,O_,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Fo().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Qc);const m=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Jc),this._element.classList.remove(Qc),S.trigger(this._element,x_,{relatedTarget:i})};this._queueCallback(m,this._element,!0)}hide(){if(!this._isShown||S.trigger(this._element,R_).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Xc),this._backdrop.hide();const c=()=>{this._element.classList.remove(Jc,Xc),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Fo().reset(),S.trigger(this._element,tu)};this._queueCallback(c,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){S.trigger(this._element,eu);return}this.hide()},c=!!this._config.backdrop;return new Fc({className:C_,isVisible:c,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:c?i:null})}_initializeFocusTrap(){return new Hc({trapElement:this._element})}_addEventListeners(){S.on(this._element,P_,i=>{if(i.key===S_){if(this._config.keyboard){this.hide();return}S.trigger(this._element,eu)}})}static jQueryInterface(i){return this.each(function(){const c=_n.getOrCreateInstance(this,i);if(typeof i=="string"){if(c[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);c[i](this)}})}}S.on(document,$_,D_,function(h){const i=$.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&h.preventDefault(),C(this))return;S.one(i,tu,()=>{E(this)&&this.focus()});const c=$.findOne(Zc);c&&c!==i&&_n.getInstance(c).hide(),_n.getOrCreateInstance(i).toggle(this)}),S.on(window,A_,()=>{for(const h of $.find(Zc))_n.getOrCreateInstance(h).show()}),S.on(window,N_,()=>{for(const h of $.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(h).position!=="fixed"&&_n.getOrCreateInstance(h).hide()}),oe(_n),N(_n);const nu={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},M_=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),k_=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,B_=(h,i)=>{const c=h.nodeName.toLowerCase();return i.includes(c)?M_.has(c)?!!k_.test(h.nodeValue):!0:i.filter(m=>m instanceof RegExp).some(m=>m.test(c))};function F_(h,i,c){if(!h.length)return h;if(c&&typeof c=="function")return c(h);const y=new window.DOMParser().parseFromString(h,"text/html"),P=[].concat(...y.body.querySelectorAll("*"));for(const D of P){const W=D.nodeName.toLowerCase();if(!Object.keys(i).includes(W)){D.remove();continue}const ee=[].concat(...D.attributes),le=[].concat(i["*"]||[],i[W]||[]);for(const ne of ee)B_(ne,le)||D.removeAttribute(ne.nodeName)}return y.body.innerHTML}const V_="TemplateFactory",H_={allowList:nu,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},U_={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},j_={entry:"(string|element|function|null)",selector:"(string|element)"};class q_ extends b{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return H_}static get DefaultType(){return U_}static get NAME(){return V_}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[y,P]of Object.entries(this._config.content))this._setContent(i,P,y);const c=i.children[0],m=this._resolvePossibleFunction(this._config.extraClass);return m&&c.classList.add(...m.split(" ")),c}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[c,m]of Object.entries(i))super._typeCheckConfig({selector:c,entry:m},j_)}_setContent(i,c,m){const y=$.findOne(m,i);if(y){if(c=this._resolvePossibleFunction(c),!c){y.remove();return}if(g(c)){this._putElementInTemplate(_(c),y);return}if(this._config.html){y.innerHTML=this._maybeSanitize(c);return}y.textContent=c}}_maybeSanitize(i){return this._config.sanitize?F_(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return A(i,[void 0,this])}_putElementInTemplate(i,c){if(this._config.html){c.innerHTML="",c.append(i);return}c.textContent=i.textContent}}const K_="tooltip",W_=new Set(["sanitize","allowList","sanitizeFn"]),Ho="fade",Y_="modal",fi="show",z_=".tooltip-inner",su=`.${Y_}`,ru="hide.bs.modal",hr="hover",Uo="focus",G_="click",J_="manual",Q_="hide",X_="hidden",Z_="show",ev="shown",tv="inserted",nv="click",sv="focusin",rv="focusout",iv="mouseenter",ov="mouseleave",av={AUTO:"auto",TOP:"top",RIGHT:R()?"left":"right",BOTTOM:"bottom",LEFT:R()?"right":"left"},lv={allowList:nu,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},cv={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ts extends K{constructor(i,c){if(typeof Nc>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(i,c),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return lv}static get DefaultType(){return cv}static get NAME(){return K_}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),S.off(this._element.closest(su),ru,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=S.trigger(this._element,this.constructor.eventName(Z_)),m=(V(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!m)return;this._disposePopper();const y=this._getTipElement();this._element.setAttribute("aria-describedby",y.getAttribute("id"));const{container:P}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(P.append(y),S.trigger(this._element,this.constructor.eventName(tv))),this._popper=this._createPopper(y),y.classList.add(fi),"ontouchstart"in document.documentElement)for(const W of[].concat(...document.body.children))S.on(W,"mouseover",I);const D=()=>{S.trigger(this._element,this.constructor.eventName(ev)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(D,this.tip,this._isAnimated())}hide(){if(!this._isShown()||S.trigger(this._element,this.constructor.eventName(Q_)).defaultPrevented)return;if(this._getTipElement().classList.remove(fi),"ontouchstart"in document.documentElement)for(const y of[].concat(...document.body.children))S.off(y,"mouseover",I);this._activeTrigger[G_]=!1,this._activeTrigger[Uo]=!1,this._activeTrigger[hr]=!1,this._isHovered=null;const m=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),S.trigger(this._element,this.constructor.eventName(X_)))};this._queueCallback(m,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const c=this._getTemplateFactory(i).toHtml();if(!c)return null;c.classList.remove(Ho,fi),c.classList.add(`bs-${this.constructor.NAME}-auto`);const m=d(this.constructor.NAME).toString();return c.setAttribute("id",m),this._isAnimated()&&c.classList.add(Ho),c}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new q_({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[z_]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ho)}_isShown(){return this.tip&&this.tip.classList.contains(fi)}_createPopper(i){const c=A(this._config.placement,[this,i,this._element]),m=av[c.toUpperCase()];return ko(this._element,i,this._getPopperConfig(m))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(c=>Number.parseInt(c,10)):typeof i=="function"?c=>i(c,this._element):i}_resolvePossibleFunction(i){return A(i,[this._element,this._element])}_getPopperConfig(i){const c={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:m=>{this._getTipElement().setAttribute("data-popper-placement",m.state.placement)}}]};return{...c,...A(this._config.popperConfig,[void 0,c])}}_setListeners(){const i=this._config.trigger.split(" ");for(const c of i)if(c==="click")S.on(this._element,this.constructor.eventName(nv),this._config.selector,m=>{this._initializeOnDelegatedTarget(m).toggle()});else if(c!==J_){const m=c===hr?this.constructor.eventName(iv):this.constructor.eventName(sv),y=c===hr?this.constructor.eventName(ov):this.constructor.eventName(rv);S.on(this._element,m,this._config.selector,P=>{const D=this._initializeOnDelegatedTarget(P);D._activeTrigger[P.type==="focusin"?Uo:hr]=!0,D._enter()}),S.on(this._element,y,this._config.selector,P=>{const D=this._initializeOnDelegatedTarget(P);D._activeTrigger[P.type==="focusout"?Uo:hr]=D._element.contains(P.relatedTarget),D._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},S.on(this._element.closest(su),ru,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,c){clearTimeout(this._timeout),this._timeout=setTimeout(i,c)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const c=v.getDataAttributes(this._element);for(const m of Object.keys(c))W_.has(m)&&delete c[m];return i={...c,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:_(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[c,m]of Object.entries(this._config))this.constructor.Default[c]!==m&&(i[c]=m);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const c=ts.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof c[i]>"u")throw new TypeError(`No method named "${i}"`);c[i]()}})}}N(ts);const uv="popover",fv=".popover-header",dv=".popover-body",hv={...ts.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},pv={...ts.DefaultType,content:"(null|string|element|function)"};class di extends ts{static get Default(){return hv}static get DefaultType(){return pv}static get NAME(){return uv}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[fv]:this._getTitle(),[dv]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const c=di.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof c[i]>"u")throw new TypeError(`No method named "${i}"`);c[i]()}})}}N(di);const mv="scrollspy",jo=".bs.scrollspy",gv=".data-api",_v=`activate${jo}`,iu=`click${jo}`,vv=`load${jo}${gv}`,bv="dropdown-item",Vs="active",yv='[data-bs-spy="scroll"]',qo="[href]",Ev=".nav, .list-group",ou=".nav-link",wv=`${ou}, .nav-item > ${ou}, .list-group-item`,Tv=".dropdown",Av=".dropdown-toggle",Sv={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Cv={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class pr extends K{constructor(i,c){super(i,c),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Sv}static get DefaultType(){return Cv}static get NAME(){return mv}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=_(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(c=>Number.parseFloat(c))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(S.off(this._config.target,iu),S.on(this._config.target,iu,qo,i=>{const c=this._observableSections.get(i.target.hash);if(c){i.preventDefault();const m=this._rootElement||window,y=c.offsetTop-this._element.offsetTop;if(m.scrollTo){m.scrollTo({top:y,behavior:"smooth"});return}m.scrollTop=y}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(c=>this._observerCallback(c),i)}_observerCallback(i){const c=D=>this._targetLinks.get(`#${D.target.id}`),m=D=>{this._previousScrollData.visibleEntryTop=D.target.offsetTop,this._process(c(D))},y=(this._rootElement||document.documentElement).scrollTop,P=y>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=y;for(const D of i){if(!D.isIntersecting){this._activeTarget=null,this._clearActiveClass(c(D));continue}const W=D.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(P&&W){if(m(D),!y)return;continue}!P&&!W&&m(D)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=$.find(qo,this._config.target);for(const c of i){if(!c.hash||C(c))continue;const m=$.findOne(decodeURI(c.hash),this._element);E(m)&&(this._targetLinks.set(decodeURI(c.hash),c),this._observableSections.set(c.hash,m))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(Vs),this._activateParents(i),S.trigger(this._element,_v,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(bv)){$.findOne(Av,i.closest(Tv)).classList.add(Vs);return}for(const c of $.parents(i,Ev))for(const m of $.prev(c,wv))m.classList.add(Vs)}_clearActiveClass(i){i.classList.remove(Vs);const c=$.find(`${qo}.${Vs}`,i);for(const m of c)m.classList.remove(Vs)}static jQueryInterface(i){return this.each(function(){const c=pr.getOrCreateInstance(this,i);if(typeof i=="string"){if(c[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);c[i]()}})}}S.on(window,vv,()=>{for(const h of $.find(yv))pr.getOrCreateInstance(h)}),N(pr);const Ov="tab",ns=".bs.tab",xv=`hide${ns}`,Rv=`hidden${ns}`,Nv=`show${ns}`,$v=`shown${ns}`,Pv=`click${ns}`,Dv=`keydown${ns}`,Lv=`load${ns}`,Iv="ArrowLeft",au="ArrowRight",Mv="ArrowUp",lu="ArrowDown",Ko="Home",cu="End",ss="active",uu="fade",Wo="show",kv="dropdown",fu=".dropdown-toggle",Bv=".dropdown-menu",Yo=`:not(${fu})`,Fv='.list-group, .nav, [role="tablist"]',Vv=".nav-item, .list-group-item",Hv=`.nav-link${Yo}, .list-group-item${Yo}, [role="tab"]${Yo}`,du='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',zo=`${Hv}, ${du}`,Uv=`.${ss}[data-bs-toggle="tab"], .${ss}[data-bs-toggle="pill"], .${ss}[data-bs-toggle="list"]`;class rs extends K{constructor(i){super(i),this._parent=this._element.closest(Fv),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),S.on(this._element,Dv,c=>this._keydown(c)))}static get NAME(){return Ov}show(){const i=this._element;if(this._elemIsActive(i))return;const c=this._getActiveElem(),m=c?S.trigger(c,xv,{relatedTarget:i}):null;S.trigger(i,Nv,{relatedTarget:c}).defaultPrevented||m&&m.defaultPrevented||(this._deactivate(c,i),this._activate(i,c))}_activate(i,c){if(!i)return;i.classList.add(ss),this._activate($.getElementFromSelector(i));const m=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(Wo);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),S.trigger(i,$v,{relatedTarget:c})};this._queueCallback(m,i,i.classList.contains(uu))}_deactivate(i,c){if(!i)return;i.classList.remove(ss),i.blur(),this._deactivate($.getElementFromSelector(i));const m=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(Wo);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),S.trigger(i,Rv,{relatedTarget:c})};this._queueCallback(m,i,i.classList.contains(uu))}_keydown(i){if(![Iv,au,Mv,lu,Ko,cu].includes(i.key))return;i.stopPropagation(),i.preventDefault();const c=this._getChildren().filter(y=>!C(y));let m;if([Ko,cu].includes(i.key))m=c[i.key===Ko?0:c.length-1];else{const y=[au,lu].includes(i.key);m=k(c,i.target,y,!0)}m&&(m.focus({preventScroll:!0}),rs.getOrCreateInstance(m).show())}_getChildren(){return $.find(zo,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,c){this._setAttributeIfNotExists(i,"role","tablist");for(const m of c)this._setInitialAttributesOnChild(m)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const c=this._elemIsActive(i),m=this._getOuterElement(i);i.setAttribute("aria-selected",c),m!==i&&this._setAttributeIfNotExists(m,"role","presentation"),c||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const c=$.getElementFromSelector(i);c&&(this._setAttributeIfNotExists(c,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(c,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,c){const m=this._getOuterElement(i);if(!m.classList.contains(kv))return;const y=(P,D)=>{const W=$.findOne(P,m);W&&W.classList.toggle(D,c)};y(fu,ss),y(Bv,Wo),m.setAttribute("aria-expanded",c)}_setAttributeIfNotExists(i,c,m){i.hasAttribute(c)||i.setAttribute(c,m)}_elemIsActive(i){return i.classList.contains(ss)}_getInnerElement(i){return i.matches(zo)?i:$.findOne(zo,i)}_getOuterElement(i){return i.closest(Vv)||i}static jQueryInterface(i){return this.each(function(){const c=rs.getOrCreateInstance(this);if(typeof i=="string"){if(c[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);c[i]()}})}}S.on(document,Pv,du,function(h){["A","AREA"].includes(this.tagName)&&h.preventDefault(),!C(this)&&rs.getOrCreateInstance(this).show()}),S.on(window,Lv,()=>{for(const h of $.find(Uv))rs.getOrCreateInstance(h)}),N(rs);const jv="toast",$n=".bs.toast",qv=`mouseover${$n}`,Kv=`mouseout${$n}`,Wv=`focusin${$n}`,Yv=`focusout${$n}`,zv=`hide${$n}`,Gv=`hidden${$n}`,Jv=`show${$n}`,Qv=`shown${$n}`,Xv="fade",hu="hide",hi="show",pi="showing",Zv={animation:"boolean",autohide:"boolean",delay:"number"},eb={animation:!0,autohide:!0,delay:5e3};class mr extends K{constructor(i,c){super(i,c),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return eb}static get DefaultType(){return Zv}static get NAME(){return jv}show(){if(S.trigger(this._element,Jv).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(Xv);const c=()=>{this._element.classList.remove(pi),S.trigger(this._element,Qv),this._maybeScheduleHide()};this._element.classList.remove(hu),M(this._element),this._element.classList.add(hi,pi),this._queueCallback(c,this._element,this._config.animation)}hide(){if(!this.isShown()||S.trigger(this._element,zv).defaultPrevented)return;const c=()=>{this._element.classList.add(hu),this._element.classList.remove(pi,hi),S.trigger(this._element,Gv)};this._element.classList.add(pi),this._queueCallback(c,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(hi),super.dispose()}isShown(){return this._element.classList.contains(hi)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,c){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=c;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=c;break}}if(c){this._clearTimeout();return}const m=i.relatedTarget;this._element===m||this._element.contains(m)||this._maybeScheduleHide()}_setListeners(){S.on(this._element,qv,i=>this._onInteraction(i,!0)),S.on(this._element,Kv,i=>this._onInteraction(i,!1)),S.on(this._element,Wv,i=>this._onInteraction(i,!0)),S.on(this._element,Yv,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const c=mr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof c[i]>"u")throw new TypeError(`No method named "${i}"`);c[i](this)}})}}return oe(mr),N(mr),{Alert:Ae,Button:xn,Carousel:Rs,Collapse:$s,Dropdown:Wt,Modal:es,Offcanvas:_n,Popover:di,ScrollSpy:pr,Tab:rs,Toast:mr,Tooltip:ts}})}(Ii)),Ii.exports}$S();const Vp=new URLSearchParams(window.location.search),vd=Vp.get("state"),bd=Vp.get("code"),yd=async()=>{const e=kE(j0),t=await jr("/api/serverInformation",{});if(e.use(VE()),t){const n=sn();n.serverInformation=t.data}e.use(Yl),e.mount("#app")};vd&&bd?await vs("/api/signin/oidc",{provider:vd,code:bd,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname}).then(async e=>{let t=new URL(window.location.href);t.search="",history.replaceState({},document.title,t.toString()),await yd(),e.status||sn().newNotification(e.message,"danger")}):await yd(); diff --git a/src/static/dist/WGDashboardClient/assets/router-DXASIj4b.css b/src/static/dist/WGDashboardClient/assets/router-DXASIj4b.css new file mode 100644 index 00000000..5d24a6d3 --- /dev/null +++ b/src/static/dist/WGDashboardClient/assets/router-DXASIj4b.css @@ -0,0 +1 @@ +canvas[data-v-ec841c31]{width:250px!important;height:250px!important}.qrcodeContainer[data-v-83f277d2]{background-color:#00000050;backdrop-filter:blur(8px) brightness(.7);z-index:9999}.button-group a[data-v-5e50834a]:hover{background-color:#ffffff20}.dot[data-v-5e50834a]{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active[data-v-5e50834a]{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.nav-link[data-v-9bb8c5cf]{padding:1rem}@media screen and (max-width: 576px){.nav-links a span[data-v-9bb8c5cf]{display:none}}.card[data-v-9bb8c5cf],.card[data-v-c81aa653]{background-color:#00000040;backdrop-filter:blur(8px)} diff --git a/src/static/dist/WGDashboardClient/assets/router-eqjoytLE.js b/src/static/dist/WGDashboardClient/assets/router-eqjoytLE.js new file mode 100644 index 00000000..4fb4651f --- /dev/null +++ b/src/static/dist/WGDashboardClient/assets/router-eqjoytLE.js @@ -0,0 +1,12 @@ +import{s as Qn,d as xt,u as X,a as Wn,c as z,p as We,r as V,w as Sn,h as kn,n as Zn,b as Le,i as fe,o as Xn,e as eo,f as to,g as $n,_ as De,v as no,j as ze,k as D,l as I,m as d,q as U,t as Y,x as ee,y as Q,z as Oe,A as ve,B as oo,C as me,D as je,E as qe,F as Z,G as xn,H as An,I as we,T as He,J as Ue,K as Ke,L as Tn,S as so,M as W,N as re,O as Se,P as Ze}from"./index-B0IcYqqq.js";/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const Re=typeof document<"u";function Bn(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ro(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Bn(e.default)}const F=Object.assign;function Xe(e,t){const o={};for(const n in t){const s=t[n];o[n]=te(s)?s.map(e):e(s)}return o}const Be=()=>{},te=Array.isArray,Nn=/#/g,io=/&/g,ao=/\//g,lo=/=/g,uo=/\?/g,Mn=/\+/g,co=/%5B/g,fo=/%5D/g,In=/%5E/g,mo=/%60/g,Ln=/%7B/g,ho=/%7C/g,Dn=/%7D/g,po=/%20/g;function At(e){return encodeURI(""+e).replace(ho,"|").replace(co,"[").replace(fo,"]")}function go(e){return At(e).replace(Ln,"{").replace(Dn,"}").replace(In,"^")}function Rt(e){return At(e).replace(Mn,"%2B").replace(po,"+").replace(Nn,"%23").replace(io,"%26").replace(mo,"`").replace(Ln,"{").replace(Dn,"}").replace(In,"^")}function vo(e){return Rt(e).replace(lo,"%3D")}function wo(e){return At(e).replace(Nn,"%23").replace(uo,"%3F")}function yo(e){return e==null?"":wo(e).replace(ao,"%2F")}function Me(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const bo=/\/$/,Eo=e=>e.replace(bo,"");function et(e,t,o="/"){let n,s={},r="",a="";const u=t.indexOf("#");let i=t.indexOf("?");return u=0&&(i=-1),i>-1&&(n=t.slice(0,i),r=t.slice(i+1,u>-1?u:t.length),s=e(r)),u>-1&&(n=n||t.slice(0,u),a=t.slice(u,t.length)),n=Ro(n??t,o),{fullPath:n+(r&&"?")+r+a,path:n,query:s,hash:Me(a)}}function Co(e,t){const o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function Nt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Po(e,t,o){const n=t.matched.length-1,s=o.matched.length-1;return n>-1&&n===s&&ke(t.matched[n],o.matched[s])&&qn(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function ke(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function qn(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(!_o(e[o],t[o]))return!1;return!0}function _o(e,t){return te(e)?Mt(e,t):te(t)?Mt(t,e):e===t}function Mt(e,t){return te(t)?e.length===t.length&&e.every((o,n)=>o===t[n]):e.length===1&&e[0]===t}function Ro(e,t){if(e.startsWith("/"))return e;if(!e)return t;const o=t.split("/"),n=e.split("/"),s=n[n.length-1];(s===".."||s===".")&&n.push("");let r=o.length-1,a,u;for(a=0;a1&&r--;else break;return o.slice(0,r).join("/")+"/"+n.slice(a).join("/")}const ue={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Ie;(function(e){e.pop="pop",e.push="push"})(Ie||(Ie={}));var Ne;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ne||(Ne={}));function So(e){if(!e)if(Re){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Eo(e)}const ko=/^[^#]+#/;function $o(e,t){return e.replace(ko,"#")+t}function xo(e,t){const o=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-o.left-(t.left||0),top:n.top-o.top-(t.top||0)}}const Ge=()=>({left:window.scrollX,top:window.scrollY});function Ao(e){let t;if("el"in e){const o=e.el,n=typeof o=="string"&&o.startsWith("#"),s=typeof o=="string"?n?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!s)return;t=xo(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function It(e,t){return(history.state?history.state.position-t:-1)+e}const St=new Map;function To(e,t){St.set(e,t)}function Bo(e){const t=St.get(e);return St.delete(e),t}let No=()=>location.protocol+"//"+location.host;function Un(e,t){const{pathname:o,search:n,hash:s}=t,r=e.indexOf("#");if(r>-1){let u=s.includes(e.slice(r))?e.slice(r).length:1,i=s.slice(u);return i[0]!=="/"&&(i="/"+i),Nt(i,"")}return Nt(o,e)+n+s}function Mo(e,t,o,n){let s=[],r=[],a=null;const u=({state:m})=>{const f=Un(e,location),y=o.value,_=t.value;let M=0;if(m){if(o.value=f,t.value=m,a&&a===y){a=null;return}M=_?m.position-_.position:0}else n(f);s.forEach(R=>{R(o.value,y,{delta:M,type:Ie.pop,direction:M?M>0?Ne.forward:Ne.back:Ne.unknown})})};function i(){a=o.value}function l(m){s.push(m);const f=()=>{const y=s.indexOf(m);y>-1&&s.splice(y,1)};return r.push(f),f}function c(){const{history:m}=window;m.state&&m.replaceState(F({},m.state,{scroll:Ge()}),"")}function h(){for(const m of r)m();r=[],window.removeEventListener("popstate",u),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",u),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:i,listen:l,destroy:h}}function Lt(e,t,o,n=!1,s=!1){return{back:e,current:t,forward:o,replaced:n,position:window.history.length,scroll:s?Ge():null}}function Io(e){const{history:t,location:o}=window,n={value:Un(e,o)},s={value:t.state};s.value||r(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(i,l,c){const h=e.indexOf("#"),m=h>-1?(o.host&&document.querySelector("base")?e:e.slice(h))+i:No()+e+i;try{t[c?"replaceState":"pushState"](l,"",m),s.value=l}catch(f){console.error(f),o[c?"replace":"assign"](m)}}function a(i,l){const c=F({},t.state,Lt(s.value.back,i,s.value.forward,!0),l,{position:s.value.position});r(i,c,!0),n.value=i}function u(i,l){const c=F({},s.value,t.state,{forward:i,scroll:Ge()});r(c.current,c,!0);const h=F({},Lt(n.value,i,null),{position:c.position+1},l);r(i,h,!1),n.value=i}return{location:n,state:s,push:u,replace:a}}function Lo(e){e=So(e);const t=Io(e),o=Mo(e,t.state,t.location,t.replace);function n(r,a=!0){a||o.pauseListeners(),history.go(r)}const s=F({location:"",base:e,go:n,createHref:$o.bind(null,e)},t,o);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Do(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Lo(e)}function qo(e){return typeof e=="string"||e&&typeof e=="object"}function On(e){return typeof e=="string"||typeof e=="symbol"}const Fn=Symbol("");var Dt;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Dt||(Dt={}));function $e(e,t){return F(new Error,{type:e,[Fn]:!0},t)}function ae(e,t){return e instanceof Error&&Fn in e&&(t==null||!!(e.type&t))}const qt="[^/]+?",Uo={sensitive:!1,strict:!1,start:!0,end:!0},Oo=/[.+*?^${}()[\]/\\]/g;function Fo(e,t){const o=F({},Uo,t),n=[];let s=o.start?"^":"";const r=[];for(const l of e){const c=l.length?[]:[90];o.strict&&!l.length&&(s+="/");for(let h=0;ht.length?t.length===1&&t[0]===80?1:-1:0}function Vn(e,t){let o=0;const n=e.score,s=t.score;for(;o0&&t[t.length-1]<0}const Ho={type:0,value:""},zo=/[a-zA-Z0-9_]/;function jo(e){if(!e)return[[]];if(e==="/")return[[Ho]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(f){throw new Error(`ERR (${o})/"${l}": ${f}`)}let o=0,n=o;const s=[];let r;function a(){r&&s.push(r),r=[]}let u=0,i,l="",c="";function h(){l&&(o===0?r.push({type:0,value:l}):o===1||o===2||o===3?(r.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:l,regexp:c,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),l="")}function m(){l+=i}for(;u{a(p)}:Be}function a(h){if(On(h)){const m=n.get(h);m&&(n.delete(h),o.splice(o.indexOf(m),1),m.children.forEach(a),m.alias.forEach(a))}else{const m=o.indexOf(h);m>-1&&(o.splice(m,1),h.record.name&&n.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function u(){return o}function i(h){const m=Qo(h,o);o.splice(m,0,h),h.record.name&&!Vt(h)&&n.set(h.record.name,h)}function l(h,m){let f,y={},_,M;if("name"in h&&h.name){if(f=n.get(h.name),!f)throw $e(1,{location:h});M=f.record.name,y=F(Ot(m.params,f.keys.filter(p=>!p.optional).concat(f.parent?f.parent.keys.filter(p=>p.optional):[]).map(p=>p.name)),h.params&&Ot(h.params,f.keys.map(p=>p.name))),_=f.stringify(y)}else if(h.path!=null)_=h.path,f=o.find(p=>p.re.test(_)),f&&(y=f.parse(_),M=f.record.name);else{if(f=m.name?n.get(m.name):o.find(p=>p.re.test(m.path)),!f)throw $e(1,{location:h,currentLocation:m});M=f.record.name,y=F({},m.params,h.params),_=f.stringify(y)}const R=[];let C=f;for(;C;)R.unshift(C.record),C=C.parent;return{name:M,path:_,params:y,matched:R,meta:Jo(R)}}e.forEach(h=>r(h));function c(){o.length=0,n.clear()}return{addRoute:r,resolve:l,removeRoute:a,clearRoutes:c,getRoutes:u,getRecordMatcher:s}}function Ot(e,t){const o={};for(const n of t)n in e&&(o[n]=e[n]);return o}function Ft(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Yo(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Yo(e){const t={},o=e.props||!1;if("component"in e)t.default=o;else for(const n in e.components)t[n]=typeof o=="object"?o[n]:o;return t}function Vt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Jo(e){return e.reduce((t,o)=>F(t,o.meta),{})}function Ht(e,t){const o={};for(const n in e)o[n]=n in t?t[n]:e[n];return o}function Qo(e,t){let o=0,n=t.length;for(;o!==n;){const r=o+n>>1;Vn(e,t[r])<0?n=r:o=r+1}const s=Wo(e);return s&&(n=t.lastIndexOf(s,n-1)),n}function Wo(e){let t=e;for(;t=t.parent;)if(Hn(t)&&Vn(e,t)===0)return t}function Hn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Zo(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Rt(r)):[n&&Rt(n)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+o,r!=null&&(t+="="+r))})}return t}function Xo(e){const t={};for(const o in e){const n=e[o];n!==void 0&&(t[o]=te(n)?n.map(s=>s==null?null:""+s):n==null?n:""+n)}return t}const zn=Symbol(""),jt=Symbol(""),Ye=Symbol(""),Tt=Symbol(""),kt=Symbol("");function Ae(){let e=[];function t(n){return e.push(n),()=>{const s=e.indexOf(n);s>-1&&e.splice(s,1)}}function o(){e=[]}return{add:t,list:()=>e.slice(),reset:o}}function es(e,t,o){const n=()=>{e[t].delete(o)};Xn(n),eo(n),to(()=>{e[t].add(o)}),e[t].add(o)}function ts(e){const t=fe(zn,{}).value;t&&es(t,"leaveGuards",e)}function de(e,t,o,n,s,r=a=>a()){const a=n&&(n.enterCallbacks[s]=n.enterCallbacks[s]||[]);return()=>new Promise((u,i)=>{const l=m=>{m===!1?i($e(4,{from:o,to:t})):m instanceof Error?i(m):qo(m)?i($e(2,{from:t,to:m})):(a&&n.enterCallbacks[s]===a&&typeof m=="function"&&a.push(m),u())},c=r(()=>e.call(n&&n.instances[s],t,o,l));let h=Promise.resolve(c);e.length<3&&(h=h.then(l)),h.catch(m=>i(m))})}function tt(e,t,o,n,s=r=>r()){const r=[];for(const a of e)for(const u in a.components){let i=a.components[u];if(!(t!=="beforeRouteEnter"&&!a.instances[u]))if(Bn(i)){const c=(i.__vccOpts||i)[t];c&&r.push(de(c,o,n,a,u,s))}else{let l=i();r.push(()=>l.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${u}" at "${a.path}"`);const h=ro(c)?c.default:c;a.mods[u]=c,a.components[u]=h;const f=(h.__vccOpts||h)[t];return f&&de(f,o,n,a,u,s)()}))}}return r}function Kt(e){const t=fe(Ye),o=fe(Tt),n=z(()=>{const i=X(e.to);return t.resolve(i)}),s=z(()=>{const{matched:i}=n.value,{length:l}=i,c=i[l-1],h=o.matched;if(!c||!h.length)return-1;const m=h.findIndex(ke.bind(null,c));if(m>-1)return m;const f=Gt(i[l-2]);return l>1&&Gt(c)===f&&h[h.length-1].path!==f?h.findIndex(ke.bind(null,i[l-2])):m}),r=z(()=>s.value>-1&&is(o.params,n.value.params)),a=z(()=>s.value>-1&&s.value===o.matched.length-1&&qn(o.params,n.value.params));function u(i={}){if(rs(i)){const l=t[X(e.replace)?"replace":"push"](X(e.to)).catch(Be);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:n,href:z(()=>n.value.href),isActive:r,isExactActive:a,navigate:u}}function ns(e){return e.length===1?e[0]:e}const os=xt({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:Kt,setup(e,{slots:t}){const o=Le(Kt(e)),{options:n}=fe(Ye),s=z(()=>({[Yt(e.activeClass,n.linkActiveClass,"router-link-active")]:o.isActive,[Yt(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{const r=t.default&&ns(t.default(o));return e.custom?r:kn("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:s.value},r)}}}),ss=os;function rs(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function is(e,t){for(const o in t){const n=t[o],s=e[o];if(typeof n=="string"){if(n!==s)return!1}else if(!te(s)||s.length!==n.length||n.some((r,a)=>r!==s[a]))return!1}return!0}function Gt(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Yt=(e,t,o)=>e??t??o,as=xt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){const n=fe(kt),s=z(()=>e.route||n.value),r=fe(jt,0),a=z(()=>{let l=X(r);const{matched:c}=s.value;let h;for(;(h=c[l])&&!h.components;)l++;return l}),u=z(()=>s.value.matched[a.value]);We(jt,z(()=>a.value+1)),We(zn,u),We(kt,s);const i=V();return Sn(()=>[i.value,u.value,e.name],([l,c,h],[m,f,y])=>{c&&(c.instances[h]=l,f&&f!==c&&l&&l===m&&(c.leaveGuards.size||(c.leaveGuards=f.leaveGuards),c.updateGuards.size||(c.updateGuards=f.updateGuards))),l&&c&&(!f||!ke(c,f)||!m)&&(c.enterCallbacks[h]||[]).forEach(_=>_(l))},{flush:"post"}),()=>{const l=s.value,c=e.name,h=u.value,m=h&&h.components[c];if(!m)return Jt(o.default,{Component:m,route:l});const f=h.props[c],y=f?f===!0?l.params:typeof f=="function"?f(l):f:null,M=kn(m,F({},y,t,{onVnodeUnmounted:R=>{R.component.isUnmounted&&(h.instances[c]=null)},ref:i}));return Jt(o.default,{Component:M,route:l})||M}}});function Jt(e,t){if(!e)return null;const o=e(t);return o.length===1?o[0]:o}const ls=as;function us(e){const t=Go(e.routes,e),o=e.parseQuery||Zo,n=e.stringifyQuery||zt,s=e.history,r=Ae(),a=Ae(),u=Ae(),i=Qn(ue);let l=ue;Re&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Xe.bind(null,g=>""+g),h=Xe.bind(null,yo),m=Xe.bind(null,Me);function f(g,k){let P,B;return On(g)?(P=t.getRecordMatcher(g),B=k):B=g,t.addRoute(B,P)}function y(g){const k=t.getRecordMatcher(g);k&&t.removeRoute(k)}function _(){return t.getRoutes().map(g=>g.record)}function M(g){return!!t.getRecordMatcher(g)}function R(g,k){if(k=F({},k||i.value),typeof g=="string"){const q=et(o,g,k.path),K=t.resolve({path:q.path},k),xe=s.createHref(q.fullPath);return F(q,K,{params:m(K.params),hash:Me(q.hash),redirectedFrom:void 0,href:xe})}let P;if(g.path!=null)P=F({},g,{path:et(o,g.path,k.path).path});else{const q=F({},g.params);for(const K in q)q[K]==null&&delete q[K];P=F({},g,{params:h(q)}),k.params=h(k.params)}const B=t.resolve(P,k),H=g.hash||"";B.params=c(m(B.params));const j=Co(n,F({},g,{hash:go(H),path:B.path})),O=s.createHref(j);return F({fullPath:j,hash:H,query:n===zt?Xo(g.query):g.query||{}},B,{redirectedFrom:void 0,href:O})}function C(g){return typeof g=="string"?et(o,g,i.value.path):F({},g)}function p(g,k){if(l!==g)return $e(8,{from:k,to:g})}function T(g){return w(g)}function L(g){return T(F(C(g),{replace:!0}))}function b(g){const k=g.matched[g.matched.length-1];if(k&&k.redirect){const{redirect:P}=k;let B=typeof P=="function"?P(g):P;return typeof B=="string"&&(B=B.includes("?")||B.includes("#")?B=C(B):{path:B},B.params={}),F({query:g.query,hash:g.hash,params:B.path!=null?{}:g.params},B)}}function w(g,k){const P=l=R(g),B=i.value,H=g.state,j=g.force,O=g.replace===!0,q=b(P);if(q)return w(F(C(q),{state:typeof q=="object"?F({},H,q.state):H,force:j,replace:O}),k||P);const K=P;K.redirectedFrom=k;let xe;return!j&&Po(n,B,P)&&(xe=$e(16,{to:K,from:B}),pe(B,B,!0,!1)),(xe?Promise.resolve(xe):x(K,B)).catch(J=>ae(J)?ae(J,2)?J:he(J):oe(J,K,B)).then(J=>{if(J){if(ae(J,2))return w(F({replace:O},C(J.to),{state:typeof J.to=="object"?F({},H,J.to.state):H,force:j}),k||K)}else J=A(K,B,!0,O,H);return S(K,B,J),J})}function v(g,k){const P=p(g,k);return P?Promise.reject(P):Promise.resolve()}function E(g){const k=Ce.values().next().value;return k&&typeof k.runWithContext=="function"?k.runWithContext(g):g()}function x(g,k){let P;const[B,H,j]=cs(g,k);P=tt(B.reverse(),"beforeRouteLeave",g,k);for(const q of B)q.leaveGuards.forEach(K=>{P.push(de(K,g,k))});const O=v.bind(null,g,k);return P.push(O),ie(P).then(()=>{P=[];for(const q of r.list())P.push(de(q,g,k));return P.push(O),ie(P)}).then(()=>{P=tt(H,"beforeRouteUpdate",g,k);for(const q of H)q.updateGuards.forEach(K=>{P.push(de(K,g,k))});return P.push(O),ie(P)}).then(()=>{P=[];for(const q of j)if(q.beforeEnter)if(te(q.beforeEnter))for(const K of q.beforeEnter)P.push(de(K,g,k));else P.push(de(q.beforeEnter,g,k));return P.push(O),ie(P)}).then(()=>(g.matched.forEach(q=>q.enterCallbacks={}),P=tt(j,"beforeRouteEnter",g,k,E),P.push(O),ie(P))).then(()=>{P=[];for(const q of a.list())P.push(de(q,g,k));return P.push(O),ie(P)}).catch(q=>ae(q,8)?q:Promise.reject(q))}function S(g,k,P){u.list().forEach(B=>E(()=>B(g,k,P)))}function A(g,k,P,B,H){const j=p(g,k);if(j)return j;const O=k===ue,q=Re?history.state:{};P&&(B||O?s.replace(g.fullPath,F({scroll:O&&q&&q.scroll},H)):s.push(g.fullPath,H)),i.value=g,pe(g,k,P,O),he()}let $;function N(){$||($=s.listen((g,k,P)=>{if(!Pe.listening)return;const B=R(g),H=b(B);if(H){w(F(H,{replace:!0,force:!0}),B).catch(Be);return}l=B;const j=i.value;Re&&To(It(j.fullPath,P.delta),Ge()),x(B,j).catch(O=>ae(O,12)?O:ae(O,2)?(w(F(C(O.to),{force:!0}),B).then(q=>{ae(q,20)&&!P.delta&&P.type===Ie.pop&&s.go(-1,!1)}).catch(Be),Promise.reject()):(P.delta&&s.go(-P.delta,!1),oe(O,B,j))).then(O=>{O=O||A(B,j,!1),O&&(P.delta&&!ae(O,8)?s.go(-P.delta,!1):P.type===Ie.pop&&ae(O,20)&&s.go(-1,!1)),S(B,j,O)}).catch(Be)}))}let G=Ae(),ne=Ae(),le;function oe(g,k,P){he(g);const B=ne.list();return B.length?B.forEach(H=>H(g,k,P)):console.error(g),Promise.reject(g)}function Qe(){return le&&i.value!==ue?Promise.resolve():new Promise((g,k)=>{G.add([g,k])})}function he(g){return le||(le=!g,N(),G.list().forEach(([k,P])=>g?P(g):k()),G.reset()),g}function pe(g,k,P,B){const{scrollBehavior:H}=e;if(!Re||!H)return Promise.resolve();const j=!P&&Bo(It(g.fullPath,0))||(B||!P)&&history.state&&history.state.scroll||null;return Zn().then(()=>H(g,k,j)).then(O=>O&&Ao(O)).catch(O=>oe(O,g,k))}const Ee=g=>s.go(g);let ge;const Ce=new Set,Pe={currentRoute:i,listening:!0,addRoute:f,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:M,getRoutes:_,resolve:R,options:e,push:T,replace:L,go:Ee,back:()=>Ee(-1),forward:()=>Ee(1),beforeEach:r.add,beforeResolve:a.add,afterEach:u.add,onError:ne.add,isReady:Qe,install(g){const k=this;g.component("RouterLink",ss),g.component("RouterView",ls),g.config.globalProperties.$router=k,Object.defineProperty(g.config.globalProperties,"$route",{enumerable:!0,get:()=>X(i)}),Re&&!ge&&i.value===ue&&(ge=!0,T(s.location).catch(H=>{}));const P={};for(const H in ue)Object.defineProperty(P,H,{get:()=>i.value[H],enumerable:!0});g.provide(Ye,k),g.provide(Tt,Wn(P)),g.provide(kt,i);const B=g.unmount;Ce.add(g),g.unmount=function(){Ce.delete(g),Ce.size<1&&(l=ue,$&&$(),$=null,i.value=ue,ge=!1,le=!1),B()}}};function ie(g){return g.reduce((k,P)=>k.then(()=>E(P)),Promise.resolve())}return Pe}function cs(e,t){const o=[],n=[],s=[],r=Math.max(t.matched.length,e.matched.length);for(let a=0;ake(l,u))?n.push(u):o.push(u));const i=e.matched[a];i&&(t.matched.find(l=>ke(l,i))||s.push(i))}return[o,n,s]}function Je(){return fe(Ye)}function ds(e){return fe(Tt)}var _e={},nt,Qt;function fs(){return Qt||(Qt=1,nt=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),nt}var ot={},ce={},Wt;function ye(){if(Wt)return ce;Wt=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return ce.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},ce.getSymbolTotalCodewords=function(n){return t[n]},ce.getBCHDigit=function(o){let n=0;for(;o!==0;)n++,o>>>=1;return n},ce.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');e=n},ce.isKanjiModeEnabled=function(){return typeof e<"u"},ce.toSJIS=function(n){return e(n)},ce}var st={},Zt;function Bt(){return Zt||(Zt=1,function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(o){if(typeof o!="string")throw new Error("Param is not a string");switch(o.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+o)}}e.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},e.from=function(n,s){if(e.isValid(n))return n;try{return t(n)}catch{return s}}}(st)),st}var rt,Xt;function ms(){if(Xt)return rt;Xt=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const o=Math.floor(t/8);return(this.buffer[o]>>>7-t%8&1)===1},put:function(t,o){for(let n=0;n>>o-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const o=Math.floor(this.length/8);this.buffer.length<=o&&this.buffer.push(0),t&&(this.buffer[o]|=128>>>this.length%8),this.length++}},rt=e,rt}var it,en;function hs(){if(en)return it;en=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,o,n,s){const r=t*this.size+o;this.data[r]=n,s&&(this.reservedBit[r]=!0)},e.prototype.get=function(t,o){return this.data[t*this.size+o]},e.prototype.xor=function(t,o,n){this.data[t*this.size+o]^=n},e.prototype.isReserved=function(t,o){return this.reservedBit[t*this.size+o]},it=e,it}var at={},tn;function ps(){return tn||(tn=1,function(e){const t=ye().getSymbolSize;e.getRowColCoords=function(n){if(n===1)return[];const s=Math.floor(n/7)+2,r=t(n),a=r===145?26:Math.ceil((r-13)/(2*s-2))*2,u=[r-7];for(let i=1;i=0&&s<=7},e.from=function(s){return e.isValid(s)?parseInt(s,10):void 0},e.getPenaltyN1=function(s){const r=s.size;let a=0,u=0,i=0,l=null,c=null;for(let h=0;h=5&&(a+=t.N1+(u-5)),l=f,u=1),f=s.get(m,h),f===c?i++:(i>=5&&(a+=t.N1+(i-5)),c=f,i=1)}u>=5&&(a+=t.N1+(u-5)),i>=5&&(a+=t.N1+(i-5))}return a},e.getPenaltyN2=function(s){const r=s.size;let a=0;for(let u=0;u=10&&(u===1488||u===93)&&a++,i=i<<1&2047|s.get(c,l),c>=10&&(i===1488||i===93)&&a++}return a*t.N3},e.getPenaltyN4=function(s){let r=0;const a=s.data.length;for(let i=0;i=0;){const a=r[0];for(let i=0;i0){const u=new Uint8Array(this.degree);return u.set(r,a),u}return r},dt=t,dt}var ft={},mt={},ht={},un;function Kn(){return un||(un=1,ht.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),ht}var se={},cn;function Gn(){if(cn)return se;cn=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let o="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";o=o.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+o+`)(?:.|[\r +]))+`;se.KANJI=new RegExp(o,"g"),se.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),se.BYTE=new RegExp(n,"g"),se.NUMERIC=new RegExp(e,"g"),se.ALPHANUMERIC=new RegExp(t,"g");const s=new RegExp("^"+o+"$"),r=new RegExp("^"+e+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return se.testKanji=function(i){return s.test(i)},se.testNumeric=function(i){return r.test(i)},se.testAlphanumeric=function(i){return a.test(i)},se}var dn;function be(){return dn||(dn=1,function(e){const t=Kn(),o=Gn();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(r,a){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?r.ccBits[0]:a<27?r.ccBits[1]:r.ccBits[2]},e.getBestModeForData=function(r){return o.testNumeric(r)?e.NUMERIC:o.testAlphanumeric(r)?e.ALPHANUMERIC:o.testKanji(r)?e.KANJI:e.BYTE},e.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},e.isValid=function(r){return r&&r.bit&&r.ccBits};function n(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+s)}}e.from=function(r,a){if(e.isValid(r))return r;try{return n(r)}catch{return a}}}(mt)),mt}var fn;function Es(){return fn||(fn=1,function(e){const t=ye(),o=jn(),n=Bt(),s=be(),r=Kn(),a=7973,u=t.getBCHDigit(a);function i(m,f,y){for(let _=1;_<=40;_++)if(f<=e.getCapacity(_,y,m))return _}function l(m,f){return s.getCharCountIndicator(m,f)+4}function c(m,f){let y=0;return m.forEach(function(_){const M=l(_.mode,f);y+=M+_.getBitsLength()}),y}function h(m,f){for(let y=1;y<=40;y++)if(c(m,y)<=e.getCapacity(y,f,s.MIXED))return y}e.from=function(f,y){return r.isValid(f)?parseInt(f,10):y},e.getCapacity=function(f,y,_){if(!r.isValid(f))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=s.BYTE);const M=t.getSymbolTotalCodewords(f),R=o.getTotalCodewordsCount(f,y),C=(M-R)*8;if(_===s.MIXED)return C;const p=C-l(_,f);switch(_){case s.NUMERIC:return Math.floor(p/10*3);case s.ALPHANUMERIC:return Math.floor(p/11*2);case s.KANJI:return Math.floor(p/13);case s.BYTE:default:return Math.floor(p/8)}},e.getBestVersionForData=function(f,y){let _;const M=n.from(y,n.M);if(Array.isArray(f)){if(f.length>1)return h(f,M);if(f.length===0)return 1;_=f[0]}else _=f;return i(_.mode,_.getLength(),M)},e.getEncodedBits=function(f){if(!r.isValid(f)||f<7)throw new Error("Invalid QR Code version");let y=f<<12;for(;t.getBCHDigit(y)-u>=0;)y^=a<=0;)i^=t<0&&(r=this.data.substr(s),a=parseInt(r,10),n.put(a,u*3+1))},vt=t,vt}var wt,pn;function _s(){if(pn)return wt;pn=1;const e=be(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function o(n){this.mode=e.ALPHANUMERIC,this.data=n}return o.getBitsLength=function(s){return 11*Math.floor(s/2)+6*(s%2)},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(s){let r;for(r=0;r+2<=this.data.length;r+=2){let a=t.indexOf(this.data[r])*45;a+=t.indexOf(this.data[r+1]),s.put(a,11)}this.data.length%2&&s.put(t.indexOf(this.data[r]),6)},wt=o,wt}var yt,gn;function Rs(){if(gn)return yt;gn=1;const e=be();function t(o){this.mode=e.BYTE,typeof o=="string"?this.data=new TextEncoder().encode(o):this.data=new Uint8Array(o)}return t.getBitsLength=function(n){return n*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(o){for(let n=0,s=this.data.length;n=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[s]+` +Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),n.put(r,13)}},bt=o,bt}var Et={exports:{}},wn;function ks(){return wn||(wn=1,function(e){var t={single_source_shortest_paths:function(o,n,s){var r={},a={};a[n]=0;var u=t.PriorityQueue.make();u.push(n,0);for(var i,l,c,h,m,f,y,_,M;!u.empty();){i=u.pop(),l=i.value,h=i.cost,m=o[l]||{};for(c in m)m.hasOwnProperty(c)&&(f=m[c],y=h+f,_=a[c],M=typeof a[c]>"u",(M||_>y)&&(a[c]=y,u.push(c,y),r[c]=l))}if(typeof s<"u"&&typeof a[s]>"u"){var R=["Could not find a path from ",n," to ",s,"."].join("");throw new Error(R)}return r},extract_shortest_path_from_predecessor_list:function(o,n){for(var s=[],r=n;r;)s.push(r),o[r],r=o[r];return s.reverse(),s},find_path:function(o,n,s){var r=t.single_source_shortest_paths(o,n,s);return t.extract_shortest_path_from_predecessor_list(r,s)},PriorityQueue:{make:function(o){var n=t.PriorityQueue,s={},r;o=o||{};for(r in n)n.hasOwnProperty(r)&&(s[r]=n[r]);return s.queue=[],s.sorter=o.sorter||n.default_sorter,s},default_sorter:function(o,n){return o.cost-n.cost},push:function(o,n){var s={value:o,cost:n};this.queue.push(s),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t}(Et)),Et.exports}var yn;function $s(){return yn||(yn=1,function(e){const t=be(),o=Ps(),n=_s(),s=Rs(),r=Ss(),a=Gn(),u=ye(),i=ks();function l(R){return unescape(encodeURIComponent(R)).length}function c(R,C,p){const T=[];let L;for(;(L=R.exec(p))!==null;)T.push({data:L[0],index:L.index,mode:C,length:L[0].length});return T}function h(R){const C=c(a.NUMERIC,t.NUMERIC,R),p=c(a.ALPHANUMERIC,t.ALPHANUMERIC,R);let T,L;return u.isKanjiModeEnabled()?(T=c(a.BYTE,t.BYTE,R),L=c(a.KANJI,t.KANJI,R)):(T=c(a.BYTE_KANJI,t.BYTE,R),L=[]),C.concat(p,T,L).sort(function(w,v){return w.index-v.index}).map(function(w){return{data:w.data,mode:w.mode,length:w.length}})}function m(R,C){switch(C){case t.NUMERIC:return o.getBitsLength(R);case t.ALPHANUMERIC:return n.getBitsLength(R);case t.KANJI:return r.getBitsLength(R);case t.BYTE:return s.getBitsLength(R)}}function f(R){return R.reduce(function(C,p){const T=C.length-1>=0?C[C.length-1]:null;return T&&T.mode===p.mode?(C[C.length-1].data+=p.data,C):(C.push(p),C)},[])}function y(R){const C=[];for(let p=0;p=0&&$<=6&&(N===0||N===6)||N>=0&&N<=6&&($===0||$===6)||$>=2&&$<=4&&N>=2&&N<=4?b.set(S+$,A+N,!0,!0):b.set(S+$,A+N,!1,!0))}}function y(b){const w=b.size;for(let v=8;v>$&1)===1,b.set(x,S,A,!0),b.set(S,x,A,!0)}function R(b,w,v){const E=b.size,x=c.getEncodedBits(w,v);let S,A;for(S=0;S<15;S++)A=(x>>S&1)===1,S<6?b.set(S,8,A,!0):S<8?b.set(S+1,8,A,!0):b.set(E-15+S,8,A,!0),S<8?b.set(8,E-S-1,A,!0):S<9?b.set(8,15-S-1+1,A,!0):b.set(8,15-S-1,A,!0);b.set(E-8,8,1,!0)}function C(b,w){const v=b.size;let E=-1,x=v-1,S=7,A=0;for(let $=v-1;$>0;$-=2)for($===6&&$--;;){for(let N=0;N<2;N++)if(!b.isReserved(x,$-N)){let G=!1;A>>S&1)===1),b.set(x,$-N,G),S--,S===-1&&(A++,S=7)}if(x+=E,x<0||v<=x){x-=E,E=-E;break}}}function p(b,w,v){const E=new o;v.forEach(function(N){E.put(N.mode.bit,4),E.put(N.getLength(),h.getCharCountIndicator(N.mode,b)),N.write(E)});const x=e.getSymbolTotalCodewords(b),S=u.getTotalCodewordsCount(b,w),A=(x-S)*8;for(E.getLengthInBits()+4<=A&&E.put(0,4);E.getLengthInBits()%8!==0;)E.putBit(0);const $=(A-E.getLengthInBits())/8;for(let N=0;N<$;N++)E.put(N%2?17:236,8);return T(E,b,w)}function T(b,w,v){const E=e.getSymbolTotalCodewords(w),x=u.getTotalCodewordsCount(w,v),S=E-x,A=u.getBlocksCount(w,v),$=E%A,N=A-$,G=Math.floor(E/A),ne=Math.floor(S/A),le=ne+1,oe=G-ne,Qe=new i(oe);let he=0;const pe=new Array(A),Ee=new Array(A);let ge=0;const Ce=new Uint8Array(b.buffer);for(let P=0;P=7&&M(N,w),C(N,A),isNaN(E)&&(E=a.getBestMask(N,R.bind(null,N,v))),a.applyMask(E,N),R(N,v,E),{modules:N,version:w,errorCorrectionLevel:v,maskPattern:E,segments:x}}return ot.create=function(w,v){if(typeof w>"u"||w==="")throw new Error("No input text");let E=t.M,x,S;return typeof v<"u"&&(E=t.from(v.errorCorrectionLevel,t.M),x=l.from(v.version),S=a.from(v.maskPattern),v.toSJISFunc&&e.setToSJISFunction(v.toSJISFunc)),L(w,x,E,S)},ot}var Ct={},Pt={},En;function Yn(){return En||(En=1,function(e){function t(o){if(typeof o=="number"&&(o=o.toString()),typeof o!="string")throw new Error("Color should be defined as hex string");let n=o.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+o);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(r){return[r,r]}))),n.length===6&&n.push("F","F");const s=parseInt(n.join(""),16);return{r:s>>24&255,g:s>>16&255,b:s>>8&255,a:s&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(n){n||(n={}),n.color||(n.color={});const s=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,r=n.width&&n.width>=21?n.width:void 0,a=n.scale||4;return{width:r,scale:r?4:a,margin:s,color:{dark:t(n.color.dark||"#000000ff"),light:t(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},e.getScale=function(n,s){return s.width&&s.width>=n+s.margin*2?s.width/(n+s.margin*2):s.scale},e.getImageWidth=function(n,s){const r=e.getScale(n,s);return Math.floor((n+s.margin*2)*r)},e.qrToImageData=function(n,s,r){const a=s.modules.size,u=s.modules.data,i=e.getScale(a,r),l=Math.floor((a+r.margin*2)*i),c=r.margin*i,h=[r.color.light,r.color.dark];for(let m=0;m=c&&f>=c&&m"u"&&(!a||!a.getContext)&&(i=a,a=void 0),a||(l=n()),i=t.getOptions(i);const c=t.getImageWidth(r.modules.size,i),h=l.getContext("2d"),m=h.createImageData(c,c);return t.qrToImageData(m.data,r,i),o(h,l,c),h.putImageData(m,0,0),l},e.renderToDataURL=function(r,a,u){let i=u;typeof i>"u"&&(!a||!a.getContext)&&(i=a,a=void 0),i||(i={});const l=e.render(r,a,i),c=i.type||"image/png",h=i.rendererOpts||{};return l.toDataURL(c,h.quality)}}(Ct)),Ct}var _t={},Pn;function Ts(){if(Pn)return _t;Pn=1;const e=Yn();function t(s,r){const a=s.a/255,u=r+'="'+s.hex+'"';return a<1?u+" "+r+'-opacity="'+a.toFixed(2).slice(1)+'"':u}function o(s,r,a){let u=s+r;return typeof a<"u"&&(u+=" "+a),u}function n(s,r,a){let u="",i=0,l=!1,c=0;for(let h=0;h0&&m>0&&s[h-1]||(u+=l?o("M",m+a,.5+f+a):o("m",i,0),i=0,l=!1),m+1':"",f="',y='viewBox="0 0 '+h+" "+h+'"',M=''+m+f+` +`;return typeof u=="function"&&u(null,M),M},_t}var _n;function Bs(){if(_n)return _e;_n=1;const e=fs(),t=xs(),o=As(),n=Ts();function s(r,a,u,i,l){const c=[].slice.call(arguments,1),h=c.length,m=typeof c[h-1]=="function";if(!m&&!e())throw new Error("Callback required as last argument");if(m){if(h<2)throw new Error("Too few arguments provided");h===2?(l=u,u=a,a=i=void 0):h===3&&(a.getContext&&typeof l>"u"?(l=i,i=void 0):(l=i,i=u,u=a,a=void 0))}else{if(h<1)throw new Error("Too few arguments provided");return h===1?(u=a,a=i=void 0):h===2&&!a.getContext&&(i=u,u=a,a=void 0),new Promise(function(f,y){try{const _=t.create(u,i);f(r(_,a,i))}catch(_){y(_)}})}try{const f=t.create(u,i);l(null,r(f,a,i))}catch(f){l(f)}}return _e.create=t.create,_e.toCanvas=s.bind(null,o.render),_e.toDataURL=s.bind(null,o.renderToDataURL),_e.toString=s.bind(null,function(r,a,u){return n.render(r,u)}),_e}var Ns=Bs();const Ms=$n(Ns),Is={class:"d-flex gap-2 flex-column"},Ls=["id"],Ds={__name:"qrcode",props:["content"],setup(e){const t=e,o=no().toString();return ze(()=>{Ms.toCanvas(document.getElementById(`qrcode_${o}`),t.content,function(n){})}),(n,s)=>(I(),D("div",Is,[d("canvas",{id:"qrcode_"+X(o),class:"rounded-3"},null,8,Ls)]))}},$t=De(Ds,[["__scopeId","data-v-ec841c31"]]),qs={class:"p-2 position-fixed top-0 start-0 vw-100 vh-100 d-flex qrcodeContainer p-3 overflow-scroll flex-column"},Us={class:"m-auto d-flex gap-3 flex-column p-3",style:{"max-width":"400px"}},Os={class:"d-flex flex-column gap-2 align-items-center"},Fs={key:0,class:"d-flex flex-column gap-2 align-items-center"},Vs=["download","href"],Hs={__name:"configurationQRCode",props:["qrcodeData","protocol"],emits:["back"],setup(e,{emit:t}){const o=e,n=t,s=z(()=>{if(o.qrcodeData.amneziaVPN)return btoa(o.qrcodeData.amneziaVPN)}),r=z(()=>URL.createObjectURL(new Blob([o.qrcodeData.file],{type:"text/conf"})));return(a,u)=>(I(),D("div",qs,[d("div",null,[d("a",{role:"button",onClick:u[0]||(u[0]=i=>n("back")),class:"btn btn-outline-body rounded-3 btn-sm"},u[1]||(u[1]=[d("i",{class:"me-2 bi bi-chevron-left"},null,-1),U(" Back ")]))]),d("div",Us,[d("div",Os,[Y($t,{content:o.qrcodeData.file},null,8,["content"]),d("small",null," Scan with "+Q(e.protocol==="wg"?"WireGuard":"AmneziaWG")+" App ",1),s.value?(I(),D("div",Fs,[Y($t,{content:s.value},null,8,["content"]),u[2]||(u[2]=d("small",null," Scan with AmneziaVPN App ",-1))])):ee("",!0),u[4]||(u[4]=d("hr",{class:"border-white w-100 my-2"},null,-1)),d("a",{download:o.qrcodeData.fileName+".conf",href:r.value,class:"btn bg-primary-subtle border-primary-subtle rounded-3"},u[3]||(u[3]=[d("i",{class:"bi bi-download me-2"},null,-1),U("Download ")]),8,Vs)])])]))}},zs=De(Hs,[["__scopeId","data-v-83f277d2"]]);var Ve={exports:{}},js=Ve.exports,Rn;function Ks(){return Rn||(Rn=1,function(e,t){(function(o,n){e.exports=n()})(js,function(){var o,n,s=1e3,r=6e4,a=36e5,u=864e5,i=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,c=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,m={years:l,months:c,days:u,hours:a,minutes:r,seconds:s,milliseconds:1,weeks:6048e5},f=function(b){return b instanceof T},y=function(b,w,v){return new T(b,v,w.$l)},_=function(b){return n.p(b)+"s"},M=function(b){return b<0},R=function(b){return M(b)?Math.ceil(b):Math.floor(b)},C=function(b){return Math.abs(b)},p=function(b,w){return b?M(b)?{negative:!0,format:""+C(b)+w}:{negative:!1,format:""+b+w}:{negative:!1,format:""}},T=function(){function b(v,E,x){var S=this;if(this.$d={},this.$l=x,v===void 0&&(this.$ms=0,this.parseFromMilliseconds()),E)return y(v*m[_(E)],this);if(typeof v=="number")return this.$ms=v,this.parseFromMilliseconds(),this;if(typeof v=="object")return Object.keys(v).forEach(function(N){S.$d[_(N)]=v[N]}),this.calMilliseconds(),this;if(typeof v=="string"){var A=v.match(h);if(A){var $=A.slice(2).map(function(N){return N!=null?Number(N):0});return this.$d.years=$[0],this.$d.months=$[1],this.$d.weeks=$[2],this.$d.days=$[3],this.$d.hours=$[4],this.$d.minutes=$[5],this.$d.seconds=$[6],this.calMilliseconds(),this}}return this}var w=b.prototype;return w.calMilliseconds=function(){var v=this;this.$ms=Object.keys(this.$d).reduce(function(E,x){return E+(v.$d[x]||0)*m[x]},0)},w.parseFromMilliseconds=function(){var v=this.$ms;this.$d.years=R(v/l),v%=l,this.$d.months=R(v/c),v%=c,this.$d.days=R(v/u),v%=u,this.$d.hours=R(v/a),v%=a,this.$d.minutes=R(v/r),v%=r,this.$d.seconds=R(v/s),v%=s,this.$d.milliseconds=v},w.toISOString=function(){var v=p(this.$d.years,"Y"),E=p(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var S=p(x,"D"),A=p(this.$d.hours,"H"),$=p(this.$d.minutes,"M"),N=this.$d.seconds||0;this.$d.milliseconds&&(N+=this.$d.milliseconds/1e3,N=Math.round(1e3*N)/1e3);var G=p(N,"S"),ne=v.negative||E.negative||S.negative||A.negative||$.negative||G.negative,le=A.format||$.format||G.format?"T":"",oe=(ne?"-":"")+"P"+v.format+E.format+S.format+le+A.format+$.format+G.format;return oe==="P"||oe==="-P"?"P0D":oe},w.toJSON=function(){return this.toISOString()},w.format=function(v){var E=v||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return E.replace(i,function(S,A){return A||String(x[S])})},w.as=function(v){return this.$ms/m[_(v)]},w.get=function(v){var E=this.$ms,x=_(v);return x==="milliseconds"?E%=1e3:E=x==="weeks"?R(E/m[x]):this.$d[x],E||0},w.add=function(v,E,x){var S;return S=E?v*m[_(E)]:f(v)?v.$ms:y(v,this).$ms,y(this.$ms+S*(x?-1:1),this)},w.subtract=function(v,E){return this.add(v,E,!0)},w.locale=function(v){var E=this.clone();return E.$l=v,E},w.clone=function(){return y(this.$ms,this)},w.humanize=function(v){return o().add(this.$ms,"ms").locale(this.$l).fromNow(!v)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},b}(),L=function(b,w,v){return b.add(w.years()*v,"y").add(w.months()*v,"M").add(w.days()*v,"d").add(w.hours()*v,"h").add(w.minutes()*v,"m").add(w.seconds()*v,"s").add(w.milliseconds()*v,"ms")};return function(b,w,v){o=v,n=v().$utils(),v.duration=function(S,A){var $=v.locale();return y(S,{$l:$},A)},v.isDuration=f;var E=w.prototype.add,x=w.prototype.subtract;w.prototype.add=function(S,A){return f(S)?L(this,S,1):E.bind(this)(S,A)},w.prototype.subtract=function(S,A){return f(S)?L(this,S,-1):x.bind(this)(S,A)}}})}(Ve)),Ve.exports}var Gs=Ks();const Ys=$n(Gs),Js={class:"card rounded-3 border-0 shadow"},Qs={class:"card-header rounded-top-3 border-0 align-items-center d-flex p-3 flex-column flex-sm-row gap-2"},Ws={class:"fw-bold"},Zs={class:"card-body p-3 d-flex gap-3 flex-column"},Xs={class:"mb-1 d-flex align-items-center"},er={class:"fw-bold ms-auto"},tr={class:"progress",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100",style:{height:"6px"}},nr={class:"mb-1 d-flex align-items-center"},or={class:"fw-bold ms-auto"},sr={__name:"configuration",props:["config"],emits:["select"],setup(e,{emit:t}){Oe.extend(Ys);const o=e;V(!1);const n=z(()=>o.config.jobs.filter(l=>l.Field==="date").sort((l,c)=>Oe(l.Value).isBefore(c.Value)?-1:Oe(l.Value).isAfter(c.Value)?1:0)),s=z(()=>o.config.jobs.filter(l=>l.Field==="total_data").sort((l,c)=>parseFloat(c.Value)-parseFloat(l.Value))),r=z(()=>{if(n.value.length>0)return n.value[0].Value}),a=z(()=>{if(s.value.length>0)return s.value[0].Value}),u=z(()=>a.value?o.config.data/a.value*100:100);window.dayjs=Oe;const i=t;return(l,c)=>(I(),D("div",Js,[d("div",Qs,[d("small",Ws,Q(o.config.name),1),d("span",{class:ve(["badge rounded-3 ms-sm-auto",[o.config.protocol==="wg"?"wireguardBg":"amneziawgBg"]])},Q(o.config.protocol==="wg"?"WireGuard":"AmneziaWG"),3)]),d("div",Zs,[d("div",null,[d("div",Xs,[c[1]||(c[1]=d("small",{class:"text-muted"},[d("i",{class:"bi bi-bar-chart-fill me-1"}),U(" Data Usage ")],-1)),d("small",er,Q(o.config.data.toFixed(4))+" / "+Q(a.value?parseFloat(a.value).toFixed(4):"Unlimited")+" GB ",1)]),d("div",tr,[d("div",{class:"progress-bar bg-primary",style:oo({width:""+u.value+"%"})},null,4)])]),d("div",null,[d("div",nr,[c[2]||(c[2]=d("small",{class:"text-muted"},[d("i",{class:"bi bi-calendar me-1"}),U(" Valid Until ")],-1)),d("small",or,Q(r.value?r.value:"Unlimited Time"),1)])]),d("button",{class:"btn btn-outline-body rounded-3 flex-grow-1 fw-bold w-100",onClick:c[0]||(c[0]=h=>i("select"))},c[3]||(c[3]=[d("i",{class:"bi bi-link-45deg me-2"},null,-1),d("small",null,"Connect",-1)]))])]))}},rr=De(sr,[["__scopeId","data-v-5e50834a"]]),ir={class:"p-sm-3"},ar={class:"w-100 d-flex align-items-center"},lr={class:"nav-link text-body border-start-0","aria-current":"page",href:"#"},ur={class:"ms-auto px-3 d-flex gap-2 nav-links"},cr={key:0,class:"d-flex flex-column gap-3"},dr={key:0,class:"p-3 d-flex flex-column gap-3"},fr={key:1,class:"text-center text-muted"},mr={key:1,class:"d-flex p-3"},hr={__name:"index",async setup(e){let t,o;const n=me(),s=V(!0),r=z(()=>n.configurations),a=V(void 0);[t,o]=je(()=>n.getClientProfile()),await t,o(),ze(async()=>{await n.getConfigurations(),s.value=!1,a.value=setInterval(async()=>{await n.getConfigurations()},5e3)}),ts(()=>{clearInterval(a.value)});const u=Je(),i=V(!1),l=async()=>{clearInterval(a.value),i.value=!0,await Ue.get(Ke("/api/signout")).then(()=>{u.push("/signin")}).catch(()=>{u.push("/signin")}),n.newNotification("Sign out successful","success")},c=V(void 0);return(h,m)=>{const f=qe("RouterLink");return I(),D("div",ir,[d("div",ar,[d("a",lr,[d("strong",null," Hi, "+Q(X(n).clientProfile.Profile.Name?X(n).clientProfile.Profile.Name:X(n).clientProfile.Email),1)]),d("div",ur,[Y(f,{to:"/settings",class:"text-body btn btn-outline-body rounded-3 ms-auto btn-sm","aria-current":"page",href:"#"},{default:Z(()=>m[2]||(m[2]=[d("i",{class:"bi bi-gear-fill me-sm-2"},null,-1),d("span",null,"Settings",-1)])),_:1,__:[2]}),d("a",{role:"button",onClick:m[0]||(m[0]=y=>l()),class:ve(["btn btn-outline-danger rounded-3 btn-sm",{disabled:i.value}]),"aria-current":"page"},[m[3]||(m[3]=d("i",{class:"bi bi-box-arrow-left me-sm-2"},null,-1)),d("span",null,Q(i.value?"Signing out...":"Sign Out"),1)],2)])]),Y(He,{name:"app",mode:"out-in"},{default:Z(()=>[s.value?(I(),D("div",mr,m[5]||(m[5]=[d("div",{class:"bg-body rounded-3 d-flex",style:{width:"100%",height:"211px"}},[d("div",{class:"spinner-border m-auto"})],-1)]))):(I(),D("div",cr,[r.value.length>0?(I(),D("div",dr,[(I(!0),D(xn,null,An(r.value,y=>(I(),we(rr,{onSelect:_=>c.value=y,config:y},null,8,["onSelect","config"]))),256))])):(I(),D("div",fr,m[4]||(m[4]=[d("small",null,"No configuration available",-1)])))]))]),_:1}),Y(He,{name:"app"},{default:Z(()=>[c.value!==void 0?(I(),we(zs,{key:0,config:c.value.config,protocol:c.value.protocol,onBack:m[1]||(m[1]=y=>c.value=void 0),"qrcode-data":c.value.peer_configuration_data},null,8,["config","protocol","qrcode-data"])):ee("",!0)]),_:1})])}}},pr=De(hr,[["__scopeId","data-v-9bb8c5cf"]]),gr=["href"],vr={__name:"oidcBtn",props:["provider","name"],async setup(e){let t,o;const n=e,s=V(!1),r=V({}),a=new URLSearchParams({client_id:n.provider.client_id,redirect_uri:window.location.protocol+"//"+window.location.host+window.location.pathname,response_type:"code",state:n.name,scope:"openid email profile"}).toString(),u=V(void 0);try{const i=([t,o]=je(()=>Ue(`${n.provider.issuer}/.well-known/openid-configuration`)),t=await t,o(),t);console.log(i),s.value=!0,r.value=i.data,console.log(r.value),u.value=new URL(r.value.authorization_endpoint),u.value.search=a}catch{console.log("Provider not available",n.provider)}return(i,l)=>s.value?(I(),D("a",{key:0,class:"btn btn-sm btn-outline-body rounded-3",href:u.value,style:{flex:"1 1 0px"}},Q(e.name),9,gr)):ee("",!0)}},wr={key:0},yr={class:"d-flex gap-2"},br={__name:"oidc",async setup(e){let t,o;const n=V(!1),s=V(void 0),r=([t,o]=je(()=>Tn("/api/signin/oidc/providers")),t=await t,o(),t);return r&&Object.keys(r.data).length>0&&(n.value=!0,s.value=r.data,console.log(s.value)),(a,u)=>s.value?(I(),D("div",wr,[u[1]||(u[1]=d("hr",null,null,-1)),u[2]||(u[2]=d("h6",{class:"text-center text-muted mb-3"},[d("small",null,"Sign in with")],-1)),d("div",yr,[(I(),we(so,null,{fallback:Z(()=>u[0]||(u[0]=[d("a",{class:"btn btn-sm btn-outline-body rounded-3 w-100 disabled"}," Loading... ",-1)])),default:Z(()=>[(I(!0),D(xn,null,An(s.value,(i,l)=>(I(),we(vr,{provider:i,name:l},null,8,["provider","name"]))),256))]),_:1}))]),u[3]||(u[3]=d("hr",null,null,-1))])):ee("",!0)}},Er={class:"form-floating"},Cr=["disabled"],Pr={class:"form-floating"},_r=["disabled"],Rr={class:"d-flex"},Sr=["disabled"],kr={key:0,class:"d-block"},$r={key:1,class:"d-block"},xr={key:0},Ar={class:"d-flex align-items-center"},Tr={__name:"signInForm",emits:["totpToken"],setup(e,{emit:t}){const o=V(!1),n=Le({Email:"",Password:""}),s=t;V("");const r=me(),a=async l=>{if(l.preventDefault(),!u){r.newNotification("Please fill in all fields","warning");return}o.value=!0;const c=await Se("/api/signin",n);c.status?s("totpToken",c.message):(r.newNotification(c.message,"danger"),o.value=!1)},u=z(()=>Object.values(n).find(l=>!l)===void 0),i=ds();return i.query.Email&&(n.Email=i.query.Email),(l,c)=>{const h=qe("RouterLink");return I(),D("div",null,[c[10]||(c[10]=d("div",{class:"text-center"},[d("h1",{class:"display-4"},"Welcome"),d("p",{class:"text-muted"},[U("Sign in to access your "),d("strong",null,"WGDashboard Client"),U(" account")])],-1)),Y(br),d("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:c[2]||(c[2]=m=>a(m))},[d("div",Er,[W(d("input",{type:"text",required:"",disabled:o.value,"onUpdate:modelValue":c[0]||(c[0]=m=>n.Email=m),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3 border-0",id:"email",placeholder:"email"},null,8,Cr),[[re,n.Email]]),c[3]||(c[3]=d("label",{for:"email",class:"d-flex"},[d("i",{class:"bi bi-person-circle me-2"}),U(" Email ")],-1))]),d("div",Pr,[W(d("input",{type:"password",required:"",disabled:o.value,"onUpdate:modelValue":c[1]||(c[1]=m=>n.Password=m),name:"password",autocomplete:"current-password",class:"form-control rounded-3 border-0",id:"password",placeholder:"Password"},null,8,_r),[[re,n.Password]]),c[4]||(c[4]=d("label",{for:"password",class:"d-flex"},[d("i",{class:"bi bi-key me-2"}),U(" Password ")],-1))]),d("div",Rr,[Y(h,{to:"forgotPassword",class:"text-body text-decoration-none ms-auto btn btn-sm rounded-3"},{default:Z(()=>c[5]||(c[5]=[U(" Forgot Password? ")])),_:1,__:[5]})]),d("button",{disabled:!u.value||o.value,class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[o.value?(I(),D("span",$r,c[6]||(c[6]=[U(" Loading..."),d("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",kr," Sign In "))],8,Sr)],32),X(r).serverInformation.SignUp.enable?(I(),D("div",xr,[c[9]||(c[9]=d("hr",{class:"my-4"},null,-1)),d("div",Ar,[c[8]||(c[8]=d("span",{class:"text-muted"}," Don't have an account yet? ",-1)),Y(h,{to:"/signup",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:Z(()=>c[7]||(c[7]=[U(" Sign Up ")])),_:1,__:[7]})])])):ee("",!0)])}}},Br={key:0,class:"card rounded-3 text-center"},Nr={class:"card-body d-flex gap-3 flex-column align-items-center"},Mr={class:"card rounded-3 w-100"},Ir={class:"card-body"},Lr=["href"],Dr={key:0},qr={class:"d-flex flex-column gap-3 text-center"},Ur=["disabled"],Or=["disabled"],Fr={key:0,class:"d-block"},Vr={key:1,class:"d-block"},Hr={__name:"totpForm",props:["totpToken"],emits:["clearToken"],setup(e,{emit:t}){const o=e,n=V(""),s=Le({TOTP:""}),r=V(!0),a=()=>{s.TOTP=s.TOTP.replace(/\D/i,"")},u=z(()=>/^[0-9]{6}$/.test(s.TOTP)),i=me(),l=Je();ze(()=>{Ue.get(Ke("/api/signin/totp"),{params:{Token:o.totpToken}}).then(m=>{let f=m.data;r.value=!1,f.status?f.message&&(n.value=f.message):(i.newNotification(f.message,"danger"),l.push("/signin"))})});const c=t,h=async m=>{if(m&&m.preventDefault(),u){r.value=!0;const f=await Se("/api/signin/totp",{Token:o.totpToken,UserProvidedTOTP:s.TOTP});r.value=!1,f?f.status?(i.clientProfile=f.data,l.push("/")):i.newNotification(f.message,"danger"):(i.newNotification("Sign in status is invalid","danger"),c("clearToken"))}};return Sn(u,()=>{h()}),(m,f)=>(I(),D("form",{class:"d-flex flex-column gap-3",onSubmit:f[3]||(f[3]=y=>h(y))},[d("div",null,[d("a",{role:"button",onClick:f[0]||(f[0]=y=>c("clearToken")),class:"btn btn-outline-body btn-sm rounded-3"},f[4]||(f[4]=[d("i",{class:"me-2 bi bi-chevron-left"},null,-1),U(" Back ")]))]),d("div",null,[f[9]||(f[9]=d("h1",{class:"mb-3 text-center"},"Multi-Factor Authentication (MFA)",-1)),n.value?(I(),D("div",Br,[d("div",Nr,[f[5]||(f[5]=d("h2",{class:"mb-0"},"Initial Setup",-1)),f[6]||(f[6]=d("p",{class:"mb-0"},"Please scan the following QR Code to generate TOTP with your choice of authenticator",-1)),Y($t,{content:n.value},null,8,["content"]),f[7]||(f[7]=d("p",{class:"mb-0"},"Or you can click the link below:",-1)),d("div",Mr,[d("div",Ir,[d("a",{href:n.value,style:{"text-wrap":"auto"}},Q(n.value),9,Lr)])]),f[8]||(f[8]=d("div",{class:"alert alert-warning mb-0 rounded-3"},[d("strong",null," Please note: You won't be able to see this QR Code again, so please save it somewhere safe in case you need to recover your TOTP key ")],-1))])])):ee("",!0)]),n.value?(I(),D("hr",Dr)):ee("",!0),d("div",qr,[f[12]||(f[12]=d("label",{for:"totp"},"Enter the TOTP generated by your authenticator to verify",-1)),W(d("input",{class:"form-control form-control-lg rounded-3 text-center",id:"totp",disabled:r.value,autofocus:"",onKeyup:f[1]||(f[1]=y=>a()),maxlength:"6",type:"text",inputmode:"numeric",placeholder:"- - - - - -",autocomplete:"one-time-code","onUpdate:modelValue":f[2]||(f[2]=y=>s.TOTP=y)},null,40,Ur),[[re,s.TOTP]]),d("button",{disabled:!u.value||r.value,class:"btn btn-body rounded-3 px-3 py-2 fw-bold"},[r.value?(I(),D("span",Vr,f[11]||(f[11]=[U(" Loading... "),d("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",Fr,f[10]||(f[10]=[U(" Continue "),d("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,Or)])],32))}},zr=De(Hr,[["__scopeId","data-v-c81aa653"]]),jr={class:"p-3 p-sm-5"},Kr={__name:"signin",setup(e){const t=V("");return(o,n)=>(I(),D("div",jr,[Y(He,{name:"app",mode:"out-in"},{default:Z(()=>[t.value?(I(),we(zr,{key:1,onClearToken:n[1]||(n[1]=s=>t.value=""),"totp-token":t.value},null,8,["totp-token"])):(I(),we(Tr,{key:0,onTotpToken:n[0]||(n[0]=s=>{t.value=s})}))]),_:1})]))}},Gr={class:"p-3 p-sm-5"},Yr={class:"form-floating"},Jr=["disabled"],Qr={class:"row gx-3"},Wr={class:"col-6"},Zr={class:"form-floating"},Xr=["disabled"],ei={class:"col-6"},ti={class:"form-floating"},ni=["disabled"],oi=["disabled"],si={key:0,class:"d-block"},ri={key:1,class:"d-block"},ii={class:"d-flex align-items-center"},ai={__name:"signup",setup(e){const t=me(),o=Le({Email:"",Password:"",ConfirmPassword:""}),n=V(!1),s=Je(),r=async i=>{if(i.preventDefault(),!u){t.newNotification("Please fill in all fields","warning");return}a&&(n.value=!0,await Ue.post(Ke("/api/signup"),o).then(l=>{let c=l.data;c.status?(t.newNotification("Sign up successfully!","success"),s.push({path:"/signin",query:{Email:o.Email}})):(t.newNotification(c.message,"danger"),n.value=!1)}))},a=z(()=>o.Password&&o.ConfirmPassword?o.Password===o.ConfirmPassword:!1),u=z(()=>Object.values(o).find(i=>!i)===void 0);return ze(()=>{document.querySelectorAll("input[type=password]").forEach(i=>i.addEventListener("blur",()=>{o.Password&&o.ConfirmPassword&&document.querySelectorAll("input[type=password]").forEach(l=>{a.value?l.classList.remove("is-invalid"):l.classList.add("is-invalid")})}))}),(i,l)=>{const c=qe("RouterLink");return I(),D("div",Gr,[l[13]||(l[13]=d("div",{class:"text-center"},[d("h1",{class:"display-4"},"Hi, nice to meet you"),d("p",{class:"text-muted"},[U("Sign up to use "),d("strong",null,"WGDashboard Client")])],-1)),d("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:l[3]||(l[3]=h=>r(h))},[d("div",Yr,[W(d("input",{type:"text",disabled:n.value,required:"","onUpdate:modelValue":l[0]||(l[0]=h=>o.Email=h),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3",id:"email",placeholder:"email"},null,8,Jr),[[re,o.Email]]),l[4]||(l[4]=d("label",{for:"email",class:"d-flex"},[d("i",{class:"bi bi-person-circle me-2"}),U(" Email ")],-1))]),d("div",Qr,[d("div",Wr,[d("div",Zr,[W(d("input",{type:"password",required:"",disabled:n.value,"onUpdate:modelValue":l[1]||(l[1]=h=>o.Password=h),name:"password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"password",placeholder:"password"},null,8,Xr),[[re,o.Password]]),l[5]||(l[5]=d("label",{for:"password",class:"d-flex"},[d("i",{class:"bi bi-key me-2"}),U(" Password ")],-1))])]),d("div",ei,[d("div",ti,[W(d("input",{type:"password",required:"",disabled:n.value,"onUpdate:modelValue":l[2]||(l[2]=h=>o.ConfirmPassword=h),name:"confirm_password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"confirm_password",placeholder:"confirm_password"},null,8,ni),[[re,o.ConfirmPassword]]),l[6]||(l[6]=d("label",{for:"confirm_password",class:"d-flex"},[d("i",{class:"bi bi-key me-2"}),U(" Confirm Password ")],-1)),l[7]||(l[7]=d("div",{id:"validationServer03Feedback",class:"invalid-feedback"}," Passwords does not match ",-1))])])]),d("button",{disabled:!u.value||!a.value||n.value,class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[n.value?(I(),D("span",ri,l[9]||(l[9]=[U(" Loading... "),d("i",{class:"spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",si,l[8]||(l[8]=[U(" Continue "),d("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,oi)],32),d("div",null,[l[12]||(l[12]=d("hr",{class:"my-4"},null,-1)),d("div",ii,[l[11]||(l[11]=d("span",{class:"text-muted"}," Already have an account? ",-1)),Y(c,{to:"/signin",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:Z(()=>l[10]||(l[10]=[U(" Sign In ")])),_:1,__:[10]})])])])}}},li={class:"d-flex align-items-start"},ui={key:0,class:"alert alert-danger rounded-3 mt-3"},ci={class:"row g-2 mb-3"},di={class:"col-sm-12"},fi=["type"],mi={class:"col-sm-6"},hi=["type"],pi={class:"col-sm-6"},gi=["type"],vi={__name:"updatePassword",setup(e){const t=Le({CurrentPassword:"",NewPassword:"",ConfirmNewPassword:""}),o=()=>{t.CurrentPassword="",t.NewPassword="",t.ConfirmNewPassword=""},n=me(),s=async i=>{i.preventDefault(),document.querySelectorAll("#updatePasswordForm input").forEach(c=>c.blur());const l=await Se("/api/settings/updatePassword",t);l?l.status?(a.value=!1,n.newNotification("Password updated!","success"),o()):(a.value=!0,u.value=l.message):(a.value=!0,u.value="Error occurred")},r=V(!1),a=V(!1),u=V("");return(i,l)=>(I(),D("form",{onSubmit:l[4]||(l[4]=c=>s(c)),id:"updatePasswordForm",onReset:l[5]||(l[5]=c=>o()),class:"p-3"},[d("div",li,[l[6]||(l[6]=d("h5",null," Update Password ",-1)),d("a",{role:"button",onClick:l[0]||(l[0]=c=>r.value=!r.value),class:"text-muted ms-auto text-decoration-none"},[d("small",null,[d("i",{class:ve([[r.value?"bi-eye-slash-fill":"bi-eye-fill"],"bi me-2"])},null,2),U(Q(r.value?"Hide":"Show")+" Password ",1)])])]),a.value?(I(),D("div",ui,Q(u.value),1)):ee("",!0),d("div",ci,[d("div",di,[l[7]||(l[7]=d("label",{class:"text-muted form-label",for:"CurrentPassword"},[d("small",null,"Current Password")],-1)),W(d("input",{class:ve(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:r.value?"text":"password",autocomplete:"current-password",id:"CurrentPassword","onUpdate:modelValue":l[1]||(l[1]=c=>t.CurrentPassword=c)},null,10,fi),[[Ze,t.CurrentPassword]])]),d("div",mi,[l[8]||(l[8]=d("label",{class:"text-muted form-label",for:"NewPassword"},[d("small",null,"New Password")],-1)),W(d("input",{class:ve(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:r.value?"text":"password",id:"NewPassword",autocomplete:"new-password","onUpdate:modelValue":l[2]||(l[2]=c=>t.NewPassword=c)},null,10,hi),[[Ze,t.NewPassword]])]),d("div",pi,[l[9]||(l[9]=d("label",{class:"text-muted form-label",for:"ConfirmNewPassword"},[d("small",null,"Confirm New Password")],-1)),W(d("input",{class:ve(["form-control rounded-3",{"is-invalid":a.value}]),required:"",type:r.value?"text":"password",id:"ConfirmNewPassword",autocomplete:"new-password","onUpdate:modelValue":l[3]||(l[3]=c=>t.ConfirmNewPassword=c)},null,10,gi),[[Ze,t.ConfirmNewPassword]])])]),l[10]||(l[10]=d("div",{class:"d-flex gap-2"},[d("button",{class:"btn btn-sm btn-secondary rounded-3 ms-auto",type:"reset"},"Clear"),d("button",{class:"btn btn-sm btn-danger rounded-3",type:"submit"},"Update")],-1))],32))}},wi={class:"p-sm-3"},yi={class:"w-100 d-flex align-items-center p-3"},bi={__name:"settings",async setup(e){let t,o;const n=me();return[t,o]=je(()=>n.getClientProfile()),await t,o(),(s,r)=>{const a=qe("RouterLink");return I(),D("div",wi,[d("div",yi,[Y(a,{to:"/",class:"text-body btn btn-outline-body rounded-3 btn-sm","aria-current":"page",href:"#"},{default:Z(()=>r[0]||(r[0]=[d("i",{class:"bi bi-chevron-left me-sm-2"},null,-1),d("span",null,"Back",-1)])),_:1,__:[0]}),r[1]||(r[1]=d("strong",{class:"ms-auto"},"Settings",-1))]),X(n).clientProfile.SignInMethod==="local"?(I(),we(vi,{key:0})):ee("",!0)])}}},Ei={class:"p-3 p-sm-5"},Ci={key:0},Pi={class:"form-floating"},_i=["disabled"],Ri=["disabled"],Si={key:0,class:"d-block"},ki={key:1,class:"d-block"},$i={key:1},xi={class:"text-center"},Ai={key:0,class:"text-muted"},Ti={class:"form-floating"},Bi=["disabled"],Ni=["disabled"],Mi={key:0,class:"d-block"},Ii={key:1,class:"d-block"},Li={key:2},Di={class:"form-floating"},qi=["disabled"],Ui={class:"form-floating"},Oi=["disabled"],Fi=["disabled"],Vi={key:0,class:"d-block"},Hi={key:1,class:"d-block"},zi={class:"d-flex align-items-center"},ji=xt({__name:"forgotPassword",setup(e){const t=V(""),o=V(!1),n=V(!1),s=me(),r=V(void 0),a=V(120),u=async C=>{C&&C.preventDefault(),o.value=!0;const p=await Se("/api/resetPassword/generateResetToken",{Email:t.value});o.value=!1,p.status?(n.value=!0,a.value=120,r.value=setInterval(()=>{a.value--,a.value===0&&clearInterval(r.value)},1e3)):s.newNotification(p.message,"danger")},i=V(""),l=()=>{i.value=i.value.replace(/\D/i,""),i.value=i.value.slice(0,6)},c=z(()=>/^[0-9]{6}$/.test(i.value)),h=V(!1),m=async C=>{C&&C.preventDefault(),o.value=!0;let p=await Se("/api/resetPassword/validateResetToken",{Email:t.value,Token:i.value});o.value=!1,p.status?h.value=!0:s.newNotification("Your verification code is either invalid or expired","danger")},f=V(""),y=V(""),_=z(()=>f.value&&y.value&&f.value===y.value),M=Je(),R=async C=>{C&&C.preventDefault(),o.value=!0,(await Se("/api/resetPassword",{Email:t.value,Token:i.value,Password:f.value,ConfirmPassword:y.value})).status&&(s.newNotification("Password reset! Now you can sign in with your new password","success"),await M.push("/signin"))};return(C,p)=>{const T=qe("RouterLink");return I(),D("div",Ei,[Y(He,{name:"app",mode:"out-in"},{default:Z(()=>[n.value?n.value&&!h.value?(I(),D("div",$i,[d("a",{role:"button",class:"text-decoration-none text-body",onClick:p[2]||(p[2]=L=>{n.value=!1,i.value=""})},p[16]||(p[16]=[d("i",{class:"me-2 bi bi-chevron-left"},null,-1),U(" Back ")])),d("div",xi,[p[17]||(p[17]=d("h1",{class:"display-4"},"Almost there",-1)),p[18]||(p[18]=d("p",{class:"text-muted"},"Enter the code you received below to retrieve a reset your password",-1)),a.value>0?(I(),D("p",Ai,"Didn't get the code? Maybe check your Spam/Junk mailbox. You can get another code in "+Q(a.value)+" seconds.",1)):a.value===0&&!o.value?(I(),D("a",{key:1,role:"button",class:ve({disabled:o.value}),onClick:p[3]||(p[3]=L=>u())},"Resend",2)):ee("",!0)]),d("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:p[6]||(p[6]=L=>m(L))},[d("div",Ti,[W(d("input",{type:"text",inputmode:"numeric",required:"",disabled:o.value,"onUpdate:modelValue":p[4]||(p[4]=L=>i.value=L),onKeyup:p[5]||(p[5]=L=>l()),autocomplete:"one-time-code",autofocus:"",class:"form-control rounded-3 border-0",id:"token",placeholder:"token"},null,40,Bi),[[re,i.value]]),p[19]||(p[19]=d("label",{for:"email",class:"d-flex"},[d("i",{class:"bi bi-person-circle me-2"}),U(" 6 Digits Verification Code ")],-1))]),d("button",{disabled:!c.value||o.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[o.value?(I(),D("span",Ii,p[21]||(p[21]=[U(" Loading..."),d("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",Mi,p[20]||(p[20]=[U(" Continue "),d("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,Ni)],32)])):n.value&&h.value?(I(),D("div",Li,[d("a",{role:"button",class:"text-decoration-none text-body",onClick:p[7]||(p[7]=L=>{n.value=!1,i.value="",h.value=!1})},p[22]||(p[22]=[d("i",{class:"me-2 bi bi-chevron-left"},null,-1),U(" Back ")])),p[28]||(p[28]=d("div",{class:"text-center"},[d("h1",{class:"display-4"},"Last step"),d("p",{class:"text-muted"},"Enter your new password below")],-1)),d("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:p[10]||(p[10]=L=>R(L))},[d("div",Di,[W(d("input",{type:"password",required:"",disabled:o.value,"onUpdate:modelValue":p[8]||(p[8]=L=>f.value=L),name:"password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"password",placeholder:"password"},null,8,qi),[[re,f.value]]),p[23]||(p[23]=d("label",{for:"password",class:"d-flex"},[d("i",{class:"bi bi-key me-2"}),U(" Password ")],-1))]),d("div",Ui,[W(d("input",{type:"password",required:"",disabled:o.value,"onUpdate:modelValue":p[9]||(p[9]=L=>y.value=L),name:"confirm_password",autocomplete:"new-password",autofocus:"",class:"form-control rounded-3",id:"confirm_password",placeholder:"confirm_password"},null,8,Oi),[[re,y.value]]),p[24]||(p[24]=d("label",{for:"confirm_password",class:"d-flex"},[d("i",{class:"bi bi-key me-2"}),U(" Confirm Password ")],-1)),p[25]||(p[25]=d("div",{id:"validationServer03Feedback",class:"invalid-feedback"}," Passwords does not match ",-1))]),d("button",{disabled:!_.value||o.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[o.value?(I(),D("span",Hi,p[27]||(p[27]=[U(" Loading..."),d("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",Vi,p[26]||(p[26]=[U(" Continue "),d("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,Fi)],32)])):ee("",!0):(I(),D("div",Ci,[Y(T,{to:"signin",role:"button",class:"btn btn-outline-body btn-sm rounded-3"},{default:Z(()=>p[11]||(p[11]=[d("i",{class:"me-2 bi bi-chevron-left"},null,-1),U(" Back ")])),_:1,__:[11]}),p[15]||(p[15]=d("div",{class:"text-center"},[d("h1",{class:"display-4"},"No worries"),d("p",{class:"text-muted"},[U("Enter the email address of your "),d("strong",null,"WGDashboard Client"),U(" account below to receive a verification code")])],-1)),d("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:p[1]||(p[1]=L=>u(L))},[d("div",Pi,[W(d("input",{type:"text",required:"",disabled:o.value,"onUpdate:modelValue":p[0]||(p[0]=L=>t.value=L),name:"email",autocomplete:"email",autofocus:"",class:"form-control rounded-3 border-0",id:"email",placeholder:"email"},null,8,_i),[[re,t.value]]),p[12]||(p[12]=d("label",{for:"email",class:"d-flex"},[d("i",{class:"bi bi-person-circle me-2"}),U(" Email ")],-1))]),d("button",{disabled:!t.value||o.value,type:"submit",class:"btn btn-primary rounded-3 btn-body px-3 py-2 fw-bold"},[o.value?(I(),D("span",ki,p[14]||(p[14]=[U(" Loading..."),d("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(I(),D("span",Si,p[13]||(p[13]=[U(" Continue "),d("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,Ri)],32)]))]),_:1}),d("div",null,[p[31]||(p[31]=d("hr",{class:"my-4"},null,-1)),d("div",zi,[p[30]||(p[30]=d("span",{class:"text-muted"}," Don't have an account yet? ",-1)),Y(T,{to:"/signup",class:"text-body text-decoration-none ms-auto fw-bold btn btn-sm btn-outline-body rounded-3"},{default:Z(()=>p[29]||(p[29]=[U(" Sign Up ")])),_:1,__:[29]})])])])}}}),Jn=us({history:Do(),routes:[{path:"/",component:pr,meta:{auth:!0},name:"Home"},{path:"/settings",component:bi,meta:{auth:!0},name:"Settings"},{path:"/signin",component:Kr,name:"Sign In"},{path:"/signup",component:ai,name:"Sign Up"},{path:"/signout",name:"Sign Out"},{path:"/forgotPassword",name:"Forgot Password",component:ji}]});Jn.beforeEach(async(e,t,o)=>{const n=me();e.path==="/signup"&&!n.serverInformation.SignUp.enable&&(o("/signin"),n.newNotification("Sign up is disabled. Please contact administrator for more information","warning")),e.path==="/signout"?(await Ue.get(Ke("/api/signout")).then(()=>{o("/signin")}).catch(()=>{o("/signin")}),n.newNotification("Sign in session ended, please sign in again","warning")):e.meta.auth?await Tn("/api/validateAuthentication")?o():(n.newNotification("Sign in session ended, please sign in again","warning"),o("/signin")):o()});Jn.afterEach((e,t,o)=>{document.title=e.name+" | WGDashboard Client"});export{Jn as default}; diff --git a/src/static/dist/WGDashboardClient/client.html b/src/static/dist/WGDashboardClient/client.html index 8d93b56a..3cd5c54e 100644 --- a/src/static/dist/WGDashboardClient/client.html +++ b/src/static/dist/WGDashboardClient/client.html @@ -36,8 +36,8 @@ base.href = '/'; } - - + +