diff --git a/src/client.py b/src/client.py index cc7ac218..773109fd 100644 --- a/src/client.py +++ b/src/client.py @@ -4,8 +4,9 @@ from tzlocal import get_localzone from functools import wraps -from flask import Blueprint, render_template, abort, request, Flask, current_app, session, redirect, url_for +from flask import Blueprint, render_template, abort, request, Flask, current_app, session, redirect, url_for, send_from_directory import os +import mimetypes from modules.WireguardConfiguration import WireguardConfiguration from modules.DashboardConfig import DashboardConfig @@ -192,9 +193,18 @@ def createClientBlueprint(wireguardConfigurations: dict[WireguardConfiguration], }) return ResponseObject(status, msg) + @client.get(f'{prefix}/assets/') + @client.get(f'{prefix}/img/') + def serve_client_static(filename): + client_dist_folder = os.path.abspath("./static/dist/WGDashboardClient") + mimetype = mimetypes.guess_type(filename)[0] + subfolder = 'assets' if 'assets' in request.path else 'img' + return send_from_directory(os.path.join(client_dist_folder, subfolder), os.path.basename(filename), mimetype=mimetype) + @client.get(prefix) def ClientIndex(): - return render_template('client.html') + app_prefix = dashboardConfig.GetConfig("Server", "app_prefix")[1] + return render_template('client.html', APP_PREFIX=app_prefix) @client.get(f'{prefix}/api/serverInformation') def ClientAPI_ServerInformation(): diff --git a/src/dashboard.py b/src/dashboard.py index ec57ef9d..4360f93a 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -72,7 +72,11 @@ def ResponseObject(status=True, message=None, data=None, status_code = 200) -> F ''' Flask App ''' -app = Flask("WGDashboard", template_folder=os.path.abspath("./static/dist/WGDashboardAdmin")) +_, APP_PREFIX_INIT = DashboardConfig().GetConfig("Server", "app_prefix") +app = Flask("WGDashboard", + template_folder=os.path.abspath("./static/dist/WGDashboardAdmin"), + static_folder=os.path.abspath("./static/dist/WGDashboardAdmin"), + static_url_path=APP_PREFIX_INIT if APP_PREFIX_INIT else '') def peerInformationBackgroundThread(): global WireguardConfigurations @@ -250,7 +254,9 @@ def auth_req(): '/static/', 'validateAuthentication', 'authenticate', 'getDashboardConfiguration', 'getDashboardTheme', 'getDashboardVersion', 'sharePeer/get', 'isTotpEnabled', 'locale', '/fileDownload', - '/client' + '/client', + '/assets/', '/img/', '/json/', + '/client/assets/', '/client/img/' ] if (("username" not in session or session.get("role") != "admin") @@ -1698,7 +1704,7 @@ Index Page @app.get(f'{APP_PREFIX}/') def index(): - return render_template('index.html') + return render_template('index.html', APP_PREFIX=APP_PREFIX) if __name__ == "__main__": startThreads() diff --git a/src/static/app/index.html b/src/static/app/index.html index 0c731866..5a5aa987 100644 --- a/src/static/app/index.html +++ b/src/static/app/index.html @@ -6,10 +6,25 @@ - - + + WGDashboard +
diff --git a/src/static/app/src/utilities/fetch.js b/src/static/app/src/utilities/fetch.js index e9b7c8f4..a2c45f90 100644 --- a/src/static/app/src/utilities/fetch.js +++ b/src/static/app/src/utilities/fetch.js @@ -27,8 +27,11 @@ export const getUrl = (url) => { if (apiKey){ return `${apiKey.host}${url}` } - return import.meta.env.MODE === 'development' ? url - : `${window.location.protocol}//${(window.location.host + window.location.pathname + url).replace(/\/\//g, '/')}` + if (import.meta.env.MODE === 'development') { + return url; + } + const appPrefix = window.APP_PREFIX || ''; + return `${window.location.protocol}//${window.location.host}${appPrefix}${url}`; } export const fetchGet = async (url, params=undefined, callback=undefined) => { diff --git a/src/static/app/vite.config.js b/src/static/app/vite.config.js index 44fe8350..c5a8e887 100644 --- a/src/static/app/vite.config.js +++ b/src/static/app/vite.config.js @@ -32,7 +32,7 @@ export default defineConfig(({mode}) => { } return { - base: "/static/dist/WGDashboardAdmin", + base: "./", plugins: [ vue(), ], diff --git a/src/static/client/index.html b/src/static/client/index.html index 1f11e246..b61c2399 100644 --- a/src/static/client/index.html +++ b/src/static/client/index.html @@ -2,7 +2,7 @@ - + WGDashboard Client +
- WGDashboard Client + WGDashboard Client
- + diff --git a/src/static/client/src/utilities/request.js b/src/static/client/src/utilities/request.js index 2e6eff88..cdccd980 100644 --- a/src/static/client/src/utilities/request.js +++ b/src/static/client/src/utilities/request.js @@ -2,8 +2,11 @@ import axios from "axios"; import {useRouter} from "vue-router"; export const requestURl = (url) => { - return import.meta.env.MODE === 'development' ? '/client' + url - : `${window.location.protocol}//${(window.location.host + window.location.pathname + url).replace(/\/\//g, '/')}` + if (import.meta.env.MODE === 'development') { + return '/client' + url; + } + const appPrefix = window.APP_PREFIX || ''; + return `${window.location.protocol}//${window.location.host}${appPrefix}/client${url}`; } // const router = useRouter() diff --git a/src/static/client/vite.config.js b/src/static/client/vite.config.js index 13543cec..091ca78e 100644 --- a/src/static/client/vite.config.js +++ b/src/static/client/vite.config.js @@ -40,5 +40,5 @@ export default defineConfig({ } } }, - base: '/static/dist/WGDashboardClient' + base: './' }) diff --git a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-B7Wg0ZGp.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js rename to src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-B7Wg0ZGp.js index ae588245..be6ebec5 100644 --- a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js +++ b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-B7Wg0ZGp.js @@ -1 +1 @@ -import{a5 as A,r as n,D as S,g as l,z as v}from"./index-DYYtDSji.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-Daf9JYJW.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-LdOMKRZX.js b/src/static/dist/WGDashboardAdmin/assets/browser-CPfGuul0.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/browser-LdOMKRZX.js rename to src/static/dist/WGDashboardAdmin/assets/browser-CPfGuul0.js index 12aaf90a..790d4baa 100644 --- a/src/static/dist/WGDashboardAdmin/assets/browser-LdOMKRZX.js +++ b/src/static/dist/WGDashboardAdmin/assets/browser-CPfGuul0.js @@ -1,4 +1,4 @@ -import{O as te}from"./index-DYYtDSji.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-Daf9JYJW.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",H,[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=K(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await W("/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]=J(()=>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"})])])]))}}}),Ke=Y(Ge,[["__scopeId","data-v-f874264d"]]);export{Ke 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,I as q,E as J,K,g as W,_ as Y}from"./index-Daf9JYJW.js";import{D as j}from"./DashboardClientAssignmentStore-B7Wg0ZGp.js";import{L as r}from"./localeText-DncIFq-d.js";const H={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",H,[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=K(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await W("/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]=J(()=>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"})])])]))}}}),Ke=Y(Ge,[["__scopeId","data-v-d6f7d438"]]);export{Ke as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/clientViewer-DOyUtRcI.css b/src/static/dist/WGDashboardAdmin/assets/clientViewer-DOyUtRcI.css new file mode 100644 index 00000000..20b21512 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/clientViewer-DOyUtRcI.css @@ -0,0 +1 @@ +@media screen and (min-width: 576px){.backLink[data-v-d6f7d438]{display:none}} diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js b/src/static/dist/WGDashboardAdmin/assets/clients-BooE-ulK.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js rename to src/static/dist/WGDashboardAdmin/assets/clients-BooE-ulK.js index 56dc2dbe..17551448 100644 --- a/src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js +++ b/src/static/dist/WGDashboardAdmin/assets/clients-BooE-ulK.js @@ -1 +1 @@ -import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as z,r as b,E as O,m as x,v as j,g as w,J as R,k as G,y as M,u as f,G as T,n as $,d as S,_ as U}from"./index-DYYtDSji.js";import{D as q}from"./DashboardClientAssignmentStore-DDEBJ8Q3.js";import{L as p}from"./localeText-Cd7vLnRM.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const a=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(a)||s.Email&&s.Email.toLowerCase().includes(a)||s.Name&&s.Name.toLowerCase().includes(a)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(a,s)=>{const n=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(n,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ae=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const a=h,s=z(),n=b(!1),o=b(!1),_=async()=>{await w("/api/oidc/status",{mode:a.mode},t=>{n.value=t.data,o.value=!1})};[l,i]=O(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:a.mode},t=>{t.status||(n.value=!n.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:n.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[j,n.value]])])])]))}}),ne={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"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,a=z();b(!1);const s=R({enableClients:a.Configuration.Clients.enable}),n=b(!1),o=async()=>{n.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),n.value=!1};return(_,c)=>(r(),g("div",ne,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[j,s.enableClients]])])]),d(ae,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},be={class:"w-100 h-100 card rounded-3"},fe={class:"border-bottom z-0"},ve={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"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const a=q();[l,i]=O(()=>a.getClients()),await l,i(),a.getAllConfigurationsPeers();const s=b(""),n=E(),o=b(!1),_=L(()=>Object.fromEntries(Object.entries(a.clients).filter(([c,t])=>Object.keys(a.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",be,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",fe,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:f(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:f(n).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(f(a).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:f(a).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!f(n).params.id},"col-sm-8 clientViewerContainer z-0"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-a8650ee3"]]);export{Le as default}; +import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as z,r as b,E as O,m as x,v as j,g as w,J as R,k as G,y as M,u as f,G as T,n as $,d as S,_ as U}from"./index-Daf9JYJW.js";import{D as q}from"./DashboardClientAssignmentStore-B7Wg0ZGp.js";import{L as p}from"./localeText-DncIFq-d.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const a=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(a)||s.Email&&s.Email.toLowerCase().includes(a)||s.Name&&s.Name.toLowerCase().includes(a)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(a,s)=>{const n=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(n,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ae=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const a=h,s=z(),n=b(!1),o=b(!1),_=async()=>{await w("/api/oidc/status",{mode:a.mode},t=>{n.value=t.data,o.value=!1})};[l,i]=O(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:a.mode},t=>{t.status||(n.value=!n.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:n.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[j,n.value]])])])]))}}),ne={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"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,a=z();b(!1);const s=R({enableClients:a.Configuration.Clients.enable}),n=b(!1),o=async()=>{n.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),n.value=!1};return(_,c)=>(r(),g("div",ne,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[j,s.enableClients]])])]),d(ae,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},be={class:"w-100 h-100 card rounded-3"},fe={class:"border-bottom z-0"},ve={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"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const a=q();[l,i]=O(()=>a.getClients()),await l,i(),a.getAllConfigurationsPeers();const s=b(""),n=E(),o=b(!1),_=L(()=>Object.fromEntries(Object.entries(a.clients).filter(([c,t])=>Object.keys(a.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",be,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",fe,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:f(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:f(n).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(f(a).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:f(a).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!f(n).params.id},"col-sm-8 clientViewerContainer z-0"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-372c1eac"]]);export{Le as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-CbtxbaTj.css b/src/static/dist/WGDashboardAdmin/assets/clients-CbtxbaTj.css new file mode 100644 index 00000000..85292f63 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/clients-CbtxbaTj.css @@ -0,0 +1 @@ +@media screen and (max-width: 576px){.clientListContainer.hide[data-v-372c1eac],.clientViewerContainer.hide[data-v-372c1eac]{display:none!important}.clientListContainer[data-v-372c1eac]{border-right:none!important;animation:blurIn-372c1eac .2s ease-in-out forwards}.clientViewerContainer[data-v-372c1eac]{animation:blurIn-372c1eac .2s ease-in-out forwards}}@keyframes blurIn-372c1eac{0%{filter:blur(8px)}to{filter:blur(0px)}} diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-CfS2KUuu.css b/src/static/dist/WGDashboardAdmin/assets/clients-CfS2KUuu.css deleted file mode 100644 index ee12111c..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/clients-CfS2KUuu.css +++ /dev/null @@ -1 +0,0 @@ -@media screen and (max-width: 576px){.clientListContainer.hide[data-v-a8650ee3],.clientViewerContainer.hide[data-v-a8650ee3]{display:none!important}.clientListContainer[data-v-a8650ee3]{border-right:none!important;animation:blurIn-a8650ee3 .2s ease-in-out forwards}.clientViewerContainer[data-v-a8650ee3]{animation:blurIn-a8650ee3 .2s ease-in-out forwards}}@keyframes blurIn-a8650ee3{0%{filter:blur(8px)}to{filter:blur(0px)}} diff --git a/src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js b/src/static/dist/WGDashboardAdmin/assets/configuration-C3TphzKy.js similarity index 86% rename from src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js rename to src/static/dist/WGDashboardAdmin/assets/configuration-C3TphzKy.js index 3e9731e5..4687126e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js +++ b/src/static/dist/WGDashboardAdmin/assets/configuration-C3TphzKy.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-DYYtDSji.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-Daf9JYJW.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-BKKG6ypL.css b/src/static/dist/WGDashboardAdmin/assets/configurationList-BKKG6ypL.css deleted file mode 100644 index bb82f063..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/configurationList-BKKG6ypL.css +++ /dev/null @@ -1 +0,0 @@ -.fade-enter-active[data-v-9f596f5e]{transition-delay:var(--v0d365bfc)!important}.progress-bar[data-v-851170e4]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.filter a[data-v-7ed053f0]{text-decoration:none} diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-Bf1zEFWc.css b/src/static/dist/WGDashboardAdmin/assets/configurationList-Bf1zEFWc.css new file mode 100644 index 00000000..1f057e5d --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/configurationList-Bf1zEFWc.css @@ -0,0 +1 @@ +.fade-enter-active[data-v-c6a06c28]{transition-delay:var(--ca0043d0)!important}.progress-bar[data-v-9f0e17ca]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.filter a[data-v-c9dde09c]{text-decoration:none} diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js b/src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js deleted file mode 100644 index 6fd4a158..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,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-DYYtDSji.js";import{L as S}from"./localeText-Cd7vLnRM.js";import{_ as j}from"./protocolBadge-DbN6X1oX.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.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},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},T=()=>{K(n=>({v0d365bfc:n.delay}))},M=P.setup;P.setup=M?(n,s)=>(T(),M(n,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"}},nt={class:"form-check form-switch ms-auto"},at=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(n,s,e,_,a,g){const d=p("ProtocolBadge"),r=p("RouterLink"),c=p("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)])])):h("",!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",nt,[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"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,at),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(n){K(a=>({v2dc8ab7e:_.value}));const s=n,e=R(!1),_=G(()=>s.square?"40px":"25px");return(a,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 / ${n.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",[n.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(n.mount.mountPoint),1)]),t("small",ut,u(n.mount.percent)+"% ",1)],6)):h("",!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"},ht={class:"d-flex align-items-center"},pt={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-flex mt-2 gap-1"},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-flex mt-2 gap-1"},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(n){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[a.value?(o(),i("span",bt,u(a.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(a.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(a.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,[a.value?(o(),i("span",Dt,u(a.value.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${a.value?.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[a.value?(o(!0),i(w,{key:0},k(a.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(a.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!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,[a.value?(o(),i("span",Kt,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${a.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,[a.value?(o(),i("span",qt,u(a.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-851170e4"]]),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(n=>n.Name.toLowerCase().includes(this.searchKey)||n.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(n,s){let e=s.split(".").reduce((_,a)=>_&&_[a],n);return typeof e=="string"?e.toLowerCase():e},updateSort(n){this.wireguardConfigurationsStore.CurrentSort.key===n?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=n},updateDisplay(n){this.wireguardConfigurationsStore.CurrentDisplay!==n&&(this.wireguardConfigurationsStore.CurrentDisplay=n)}}},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"},ne={class:"d-flex ms-auto ms-lg-0"},ae=["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(n,s,e,_,a,g){const d=p("SystemStatus"),r=p("LocaleText"),c=p("RouterLink"),$=p("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)):h("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ne,[(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,ae)),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]])])])):h("",!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)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-C0DXP8iJ.js b/src/static/dist/WGDashboardAdmin/assets/configurationList-C0DXP8iJ.js new file mode 100644 index 00000000..41ebe971 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/configurationList-C0DXP8iJ.js @@ -0,0 +1 @@ +import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,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-Daf9JYJW.js";import{L as S}from"./localeText-DncIFq-d.js";import{_ as j}from"./protocolBadge-DbebmkCa.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.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=>({ca0043d0: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 c=p("ProtocolBadge"),r=p("RouterLink"),d=p("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(c,{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)])])):h("",!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(d,{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(d,{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(d,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(d,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(d,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(d,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!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 ct=D(P,[["render",lt],["__scopeId","data-v-c6a06c28"]]),dt={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(a){K(n=>({v788e3a3e:_.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]=c=>e.value=!0),onMouseleave:g[1]||(g[1]=c=>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",dt,[t("samp",null,u(a.mount.mountPoint),1)]),t("small",ut,u(a.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-0a44dc90"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={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-flex mt-2 gap-1"},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-flex mt-2 gap-1"},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,c)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[c[0]||(c[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,d)=>(o(),y(E,{key:d,align:d+1>Math.round(n.value?.CPU.cpu_percent_per_cpu.length/2),core_number:d,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[c[1]||(c[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,d)=>(o(),y(gt,{key:r.mountPoint,align:d+1>Math.round(n.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[c[2]||(c[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,[c[3]||(c[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))])]),c[4]||(c[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-9f0e17ca"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:ct},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 ce(a,s,e,_,n,g){const c=p("SystemStatus"),r=p("LocaleText"),d=p("RouterLink"),$=p("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(c),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(d,{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(d,{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:de=>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)):h("",!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]])])])):h("",!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)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",ce],["__scopeId","data-v-c9dde09c"]]);export{_e as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BxtXuVtX.css b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BxtXuVtX.css deleted file mode 100644 index 0db0524c..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BxtXuVtX.css +++ /dev/null @@ -1 +0,0 @@ -@media screen and (max-width: 992px){.apiKey-card-body{&[data-v-a76253c8]{flex-direction:column!important;align-items:start!important}div.ms-auto[data-v-a76253c8]{margin-left:0!important}div[data-v-a76253c8]{width:100%;align-items:start!important}small[data-v-a76253c8]{margin-right:auto}}}.apiKey-move[data-v-f7e62927],.apiKey-enter-active[data-v-f7e62927],.apiKey-leave-active[data-v-f7e62927]{transition:all .5s ease}.apiKey-enter-from[data-v-f7e62927],.apiKey-leave-to[data-v-f7e62927]{opacity:0;transform:translateY(30px) scale(.9)}.apiKey-leave-active[data-v-f7e62927]{position:absolute;width:100%}.dropdown-menu[data-v-4e34593e]{width:100%} diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-C04_SG7Y.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-C04_SG7Y.js index 0bd62545..d3dad61c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-C04_SG7Y.js @@ -1 +1 @@ -import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-DYYtDSji.js";import{L as c}from"./localeText-Cd7vLnRM.js";import{d as P}from"./dayjs.min-WRW_FTL4.js";import{Z as Y}from"./vue-datepicker-Cw5Y4tvU.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;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,p,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),h(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),[[_,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_${K()}`;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,p,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),h(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),[[_,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),h(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),[[_,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),h(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),[[_,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"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[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 _t=A(ce,[["render",pe]]),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"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={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 Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[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,[h(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),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (",-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]=C(") ",-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(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={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")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={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,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{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",Se,[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(),v(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(Ie,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},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,p,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,[h(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),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(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(S,null,E(this.apiKeys,d=>(i(),v(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(),v(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 vt=A(Ye,[["render",Ze],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;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,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(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(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" 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 hs(t,s,p,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(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,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,[C(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",hs],["__scopeId","data-v-4e34593e"]]),ps={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,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,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"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["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 Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(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,vs),[[_,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"})])])]),h(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),[[_,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(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={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 p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.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",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[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,[h(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),[[D,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"})])])]),h(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),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(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),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(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:"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"})])])]),h(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),[[_,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"})])])]),h(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),[[_,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"})])])]),h(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),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.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"},[h(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),[[_,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[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(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),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; +import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-Daf9JYJW.js";import{L as c}from"./localeText-DncIFq-d.js";import{d as P}from"./dayjs.min-XUWsRRMk.js";import{Z as Y}from"./vue-datepicker-DL0jaW0X.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;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,p,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),h(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),[[_,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_${K()}`;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,p,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),h(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),[[_,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),h(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),[[_,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),h(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),[[_,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"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[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 _t=A(ce,[["render",pe]]),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"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={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 Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[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,[h(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),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (",-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]=C(") ",-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(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={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")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={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,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{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",Se,[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(),v(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(Ie,[["render",Ne],["__scopeId","data-v-918b3321"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},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,p,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,[h(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),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(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(S,null,E(this.apiKeys,d=>(i(),v(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(),v(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 vt=A(Ye,[["render",Ze],["__scopeId","data-v-982e693d"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;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,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(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(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" 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 hs(t,s,p,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(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,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,[C(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",hs],["__scopeId","data-v-b4f86ebf"]]),ps={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,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,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"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["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 Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(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,vs),[[_,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"})])])]),h(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),[[_,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(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={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 p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.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",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[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,[h(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),[[D,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"})])])]),h(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),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(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),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(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:"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"})])])]),h(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),[[_,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"})])])]),h(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),[[_,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"})])])]),h(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),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.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"},[h(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),[[_,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[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(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),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-wvX-dCK8.css b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-wvX-dCK8.css new file mode 100644 index 00000000..e9d5eb43 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-wvX-dCK8.css @@ -0,0 +1 @@ +@media screen and (max-width: 992px){.apiKey-card-body{&[data-v-918b3321]{flex-direction:column!important;align-items:start!important}div.ms-auto[data-v-918b3321]{margin-left:0!important}div[data-v-918b3321]{width:100%;align-items:start!important}small[data-v-918b3321]{margin-right:auto}}}.apiKey-move[data-v-982e693d],.apiKey-enter-active[data-v-982e693d],.apiKey-leave-active[data-v-982e693d]{transition:all .5s ease}.apiKey-enter-from[data-v-982e693d],.apiKey-leave-to[data-v-982e693d]{opacity:0;transform:translateY(30px) scale(.9)}.apiKey-leave-active[data-v-982e693d]{position:absolute;width:100%}.dropdown-menu[data-v-b4f86ebf]{width:100%} diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-B4-DRWtz.css similarity index 54% rename from src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css rename to src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-B4-DRWtz.css index 60b73414..74ec4cb4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-B4-DRWtz.css @@ -1 +1 @@ -.list-group{&[data-v-4aa2aed9]:first-child{border-top-left-radius:var(--bs-border-radius-lg);border-top-right-radius:var(--bs-border-radius-lg)}&[data-v-4aa2aed9]:last-child{border-bottom-left-radius:var(--bs-border-radius-lg);border-bottom-right-radius:var(--bs-border-radius-lg)}} +.list-group{&[data-v-c22696e7]:first-child{border-top-left-radius:var(--bs-border-radius-lg);border-top-right-radius:var(--bs-border-radius-lg)}&[data-v-c22696e7]:last-child{border-bottom-left-radius:var(--bs-border-radius-lg);border-bottom-right-radius:var(--bs-border-radius-lg)}} diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js index 8b763221..8b264cd0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-DQorUl25.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-DYYtDSji.js";import{L as C}from"./localeText-Cd7vLnRM.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-Daf9JYJW.js";import{L as C}from"./localeText-DncIFq-d.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-c22696e7"]]);export{et as D,at as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-B0y2cYij.css b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-B0y2cYij.css new file mode 100644 index 00000000..e76b2653 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-B0y2cYij.css @@ -0,0 +1 @@ +.table[data-v-eed284fb]>:not(caption)>*>*{padding-left:0!important;padding-right:1rem!important}.list-group-item[data-v-7dd2b880]{border-radius:0!important;border-left:0!important;border-right:0!important}.list-group-item[data-v-7dd2b880]:first-child{border-top:0!important}.url[data-v-7dd2b880]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9rem} diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DSrk8jw_.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DSrk8jw_.js index 54a56490..100b8f3b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DSrk8jw_.js @@ -1 +1 @@ -import{L as a}from"./localeText-Cd7vLnRM.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-DYYtDSji.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-DncIFq-d.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-Daf9JYJW.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-eed284fb"]]),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-7dd2b880"]]);export{Ms as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Dl-enc0Z.css b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Dl-enc0Z.css deleted file mode 100644 index cdf0545a..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Dl-enc0Z.css +++ /dev/null @@ -1 +0,0 @@ -.table[data-v-7b6e949e]>:not(caption)>*>*{padding-left:0!important;padding-right:1rem!important}.list-group-item[data-v-e0f0e683]{border-radius:0!important;border-left:0!important;border-right:0!important}.list-group-item[data-v-e0f0e683]:first-child{border-top:0!important}.url[data-v-e0f0e683]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9rem} diff --git a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-XUWsRRMk.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js rename to src/static/dist/WGDashboardAdmin/assets/dayjs.min-XUWsRRMk.js index 96ec03dc..5f025ff4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js +++ b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-XUWsRRMk.js @@ -1 +1 @@ -import{O as G}from"./index-DYYtDSji.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).title{opacity:.5!important}.code-editor .dropdown:hover>.title{opacity:1}.code-editor .dropdown>.title{transition:opacity .2s ease;opacity:.5;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.code-editor .dropdown>.title>div{white-space:nowrap;font-size:12px;line-height:16px}.code-editor .dropdown>.title>svg{transition:.2s;margin-left:3px;margin-top:1px}[theme=github-dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}[theme=github-dark] code.hljs{padding:3px 5px}[theme=github-dark] .hljs{color:#c9d1d9;background:#0d1117}[theme=github-dark] .hljs-doctag,[theme=github-dark] .hljs-keyword,[theme=github-dark] .hljs-meta .hljs-keyword,[theme=github-dark] .hljs-template-tag,[theme=github-dark] .hljs-template-variable,[theme=github-dark] .hljs-type,[theme=github-dark] .hljs-variable.language_{color:#ff7b72}[theme=github-dark] .hljs-title,[theme=github-dark] .hljs-title.class_,[theme=github-dark] .hljs-title.class_.inherited__,[theme=github-dark] .hljs-title.function_{color:#d2a8ff}[theme=github-dark] .hljs-attr,[theme=github-dark] .hljs-attribute,[theme=github-dark] .hljs-literal,[theme=github-dark] .hljs-meta,[theme=github-dark] .hljs-number,[theme=github-dark] .hljs-operator,[theme=github-dark] .hljs-selector-attr,[theme=github-dark] .hljs-selector-class,[theme=github-dark] .hljs-selector-id,[theme=github-dark] .hljs-variable{color:#79c0ff}[theme=github-dark] .hljs-meta .hljs-string,[theme=github-dark] .hljs-regexp,[theme=github-dark] .hljs-string{color:#a5d6ff}[theme=github-dark] .hljs-built_in,[theme=github-dark] .hljs-symbol{color:#ffa657}[theme=github-dark] .hljs-code,[theme=github-dark] .hljs-comment,[theme=github-dark] .hljs-formula{color:#8b949e}[theme=github-dark] .hljs-name,[theme=github-dark] .hljs-quote,[theme=github-dark] .hljs-selector-pseudo,[theme=github-dark] .hljs-selector-tag{color:#7ee787}[theme=github-dark] .hljs-subst{color:#c9d1d9}[theme=github-dark] .hljs-section{color:#1f6feb;font-weight:700}[theme=github-dark] .hljs-bullet{color:#f2cc60}[theme=github-dark] .hljs-emphasis{color:#c9d1d9;font-style:italic}[theme=github-dark] .hljs-strong{color:#c9d1d9;font-weight:700}[theme=github-dark] .hljs-addition{color:#aff5b4;background-color:#033a16}[theme=github-dark] .hljs-deletion{color:#ffdcd7;background-color:#67060c}[theme=github] pre code.hljs{display:block;overflow-x:auto;padding:1em}[theme=github] code.hljs{padding:3px 5px}[theme=github] .hljs{color:#24292e;background:#efefef}[theme=github] .hljs-doctag,[theme=github] .hljs-keyword,[theme=github] .hljs-meta .hljs-keyword,[theme=github] .hljs-template-tag,[theme=github] .hljs-template-variable,[theme=github] .hljs-type,[theme=github] .hljs-variable.language_{color:#d73a49}[theme=github] .hljs-title,[theme=github] .hljs-title.class_,[theme=github] .hljs-title.class_.inherited__,[theme=github] .hljs-title.function_{color:#6f42c1}[theme=github] .hljs-attr,[theme=github] .hljs-attribute,[theme=github] .hljs-literal,[theme=github] .hljs-meta,[theme=github] .hljs-number,[theme=github] .hljs-operator,[theme=github] .hljs-selector-attr,[theme=github] .hljs-selector-class,[theme=github] .hljs-selector-id,[theme=github] .hljs-variable{color:#005cc5}[theme=github] .hljs-meta .hljs-string,[theme=github] .hljs-regexp,[theme=github] .hljs-string{color:#032f62}[theme=github] .hljs-built_in,[theme=github] .hljs-symbol{color:#e36209}[theme=github] .hljs-code,[theme=github] .hljs-comment,[theme=github] .hljs-formula{color:#6a737d}[theme=github] .hljs-name,[theme=github] .hljs-quote,[theme=github] .hljs-selector-pseudo,[theme=github] .hljs-selector-tag{color:#22863a}[theme=github] .hljs-subst{color:#24292e}[theme=github] .hljs-section{color:#005cc5;font-weight:700}[theme=github] .hljs-bullet{color:#735c0f}[theme=github] .hljs-emphasis{color:#24292e;font-style:italic}[theme=github] .hljs-strong{color:#24292e;font-weight:700}[theme=github] .hljs-addition{color:#22863a;background-color:#f0fff4}[theme=github] .hljs-deletion{color:#b31d28;background-color:#ffeef0}.code-editor{position:relative}.code-editor>div{width:100%;height:100%}.code-editor .header{box-sizing:border-box;position:relative;z-index:1;height:34px}.code-editor .header>.dropdown{position:absolute;top:12px;left:18px}.code-editor .header>.copy-code{position:absolute;top:10px;right:12px}.code-editor .code-area{position:relative;z-index:0;text-align:left;overflow:hidden}.code-editor .code-area>textarea,.code-editor .code-area>pre>code,.code-editor .line-nums>div{font-family:Consolas,Monaco,monospace;line-height:1.5}.code-editor .code-area>textarea:hover,.code-editor .code-area>textarea:focus-visible{outline:none}.code-editor .code-area>textarea{position:absolute;z-index:1;top:0;left:0;overflow-y:hidden;box-sizing:border-box;caret-color:#7f7f7f;color:transparent;white-space:pre;word-wrap:normal;border:0;width:100%;height:100%;background:none;resize:none;&[readOnly]~pre{filter:brightness(.7)}}.code-editor .code-area>pre{box-sizing:border-box;position:relative;z-index:0;overflow:hidden;font-size:0;margin:0}.code-editor .code-area>pre>code{background:none;display:block;position:relative;overflow-x:visible!important;border-radius:0;box-sizing:border-box;margin:0}.code-editor.wrap .code-area>textarea,.code-editor.wrap .code-area>pre>code{white-space:pre-wrap;word-wrap:break-word}.code-editor.hide-header.scroll .code-area{height:100%}.code-editor.scroll .code-area{height:calc(100% - 34px)}.code-editor.scroll .code-area>textarea{overflow:auto}.code-editor.scroll .code-area>pre{width:100%;height:100%;overflow:hidden}.code-editor .list{-webkit-user-select:none;user-select:none;height:100%;font-family:sans-serif}.code-editor .list>.lang-list{border-radius:5px;box-sizing:border-box;overflow:auto;font-size:13px;padding:0;margin:0;list-style:none;text-align:left}.code-editor .list>.lang-list>li{font-size:13px;transition:background .16s ease,color .16s ease;box-sizing:border-box;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:30px}.code-editor .list>.lang-list>li:first-child{padding-top:5px}.code-editor .list>.lang-list>li:last-child{padding-bottom:5px}.code-editor .list>.lang-list>li:hover{background:#a0a0a066}.code-editor .line-nums{min-width:36px;text-align:right;box-sizing:border-box;position:absolute;left:0;padding-right:8px;padding-left:8px;opacity:.3}.code-editor .line-nums:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;border-right:1px solid currentColor;opacity:.5}.code-editor .header.border:after{content:"";position:absolute;width:100%;height:1px;bottom:0;left:0;background:currentColor;opacity:.15}.confirmationContainer[data-v-c65cdc10]{background-color:#00000087;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.list1-enter-active[data-v-c65cdc10]{transition-delay:var(--v2dd0b691)!important}.card[data-v-1f718118],.title[data-v-1f718118]{width:100%}@media screen and (min-width: 700px){.card[data-v-1f718118],.title[data-v-1f718118]{width:700px}}.animate__fadeInUp[data-v-1f718118]{animation-timing-function:cubic-bezier(.42,0,.22,1)}.list1-move[data-v-1f718118],.list1-enter-active[data-v-1f718118],.list1-leave-active[data-v-1f718118]{transition:all .5s cubic-bezier(.42,0,.22,1)}.list1-enter-from[data-v-1f718118],.list1-leave-to[data-v-1f718118]{opacity:0;transform:translateY(30px)}.list1-leave-active[data-v-1f718118]{width:100%;position:absolute} +@charset "UTF-8";@media screen and (max-width: 567px){.inputGroup{&[data-v-7bca1b6e]{flex-direction:column}h3[data-v-7bca1b6e]{transform:rotate(90deg)}}}.code-editor .disabled:hover>.title{opacity:.5!important}.code-editor .dropdown:hover>.title{opacity:1}.code-editor .dropdown>.title{transition:opacity .2s ease;opacity:.5;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.code-editor .dropdown>.title>div{white-space:nowrap;font-size:12px;line-height:16px}.code-editor .dropdown>.title>svg{transition:.2s;margin-left:3px;margin-top:1px}[theme=github-dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}[theme=github-dark] code.hljs{padding:3px 5px}[theme=github-dark] .hljs{color:#c9d1d9;background:#0d1117}[theme=github-dark] .hljs-doctag,[theme=github-dark] .hljs-keyword,[theme=github-dark] .hljs-meta .hljs-keyword,[theme=github-dark] .hljs-template-tag,[theme=github-dark] .hljs-template-variable,[theme=github-dark] .hljs-type,[theme=github-dark] .hljs-variable.language_{color:#ff7b72}[theme=github-dark] .hljs-title,[theme=github-dark] .hljs-title.class_,[theme=github-dark] .hljs-title.class_.inherited__,[theme=github-dark] .hljs-title.function_{color:#d2a8ff}[theme=github-dark] .hljs-attr,[theme=github-dark] .hljs-attribute,[theme=github-dark] .hljs-literal,[theme=github-dark] .hljs-meta,[theme=github-dark] .hljs-number,[theme=github-dark] .hljs-operator,[theme=github-dark] .hljs-selector-attr,[theme=github-dark] .hljs-selector-class,[theme=github-dark] .hljs-selector-id,[theme=github-dark] .hljs-variable{color:#79c0ff}[theme=github-dark] .hljs-meta .hljs-string,[theme=github-dark] .hljs-regexp,[theme=github-dark] .hljs-string{color:#a5d6ff}[theme=github-dark] .hljs-built_in,[theme=github-dark] .hljs-symbol{color:#ffa657}[theme=github-dark] .hljs-code,[theme=github-dark] .hljs-comment,[theme=github-dark] .hljs-formula{color:#8b949e}[theme=github-dark] .hljs-name,[theme=github-dark] .hljs-quote,[theme=github-dark] .hljs-selector-pseudo,[theme=github-dark] .hljs-selector-tag{color:#7ee787}[theme=github-dark] .hljs-subst{color:#c9d1d9}[theme=github-dark] .hljs-section{color:#1f6feb;font-weight:700}[theme=github-dark] .hljs-bullet{color:#f2cc60}[theme=github-dark] .hljs-emphasis{color:#c9d1d9;font-style:italic}[theme=github-dark] .hljs-strong{color:#c9d1d9;font-weight:700}[theme=github-dark] .hljs-addition{color:#aff5b4;background-color:#033a16}[theme=github-dark] .hljs-deletion{color:#ffdcd7;background-color:#67060c}[theme=github] pre code.hljs{display:block;overflow-x:auto;padding:1em}[theme=github] code.hljs{padding:3px 5px}[theme=github] .hljs{color:#24292e;background:#efefef}[theme=github] .hljs-doctag,[theme=github] .hljs-keyword,[theme=github] .hljs-meta .hljs-keyword,[theme=github] .hljs-template-tag,[theme=github] .hljs-template-variable,[theme=github] .hljs-type,[theme=github] .hljs-variable.language_{color:#d73a49}[theme=github] .hljs-title,[theme=github] .hljs-title.class_,[theme=github] .hljs-title.class_.inherited__,[theme=github] .hljs-title.function_{color:#6f42c1}[theme=github] .hljs-attr,[theme=github] .hljs-attribute,[theme=github] .hljs-literal,[theme=github] .hljs-meta,[theme=github] .hljs-number,[theme=github] .hljs-operator,[theme=github] .hljs-selector-attr,[theme=github] .hljs-selector-class,[theme=github] .hljs-selector-id,[theme=github] .hljs-variable{color:#005cc5}[theme=github] .hljs-meta .hljs-string,[theme=github] .hljs-regexp,[theme=github] .hljs-string{color:#032f62}[theme=github] .hljs-built_in,[theme=github] .hljs-symbol{color:#e36209}[theme=github] .hljs-code,[theme=github] .hljs-comment,[theme=github] .hljs-formula{color:#6a737d}[theme=github] .hljs-name,[theme=github] .hljs-quote,[theme=github] .hljs-selector-pseudo,[theme=github] .hljs-selector-tag{color:#22863a}[theme=github] .hljs-subst{color:#24292e}[theme=github] .hljs-section{color:#005cc5;font-weight:700}[theme=github] .hljs-bullet{color:#735c0f}[theme=github] .hljs-emphasis{color:#24292e;font-style:italic}[theme=github] .hljs-strong{color:#24292e;font-weight:700}[theme=github] .hljs-addition{color:#22863a;background-color:#f0fff4}[theme=github] .hljs-deletion{color:#b31d28;background-color:#ffeef0}.code-editor{position:relative}.code-editor>div{width:100%;height:100%}.code-editor .header{box-sizing:border-box;position:relative;z-index:1;height:34px}.code-editor .header>.dropdown{position:absolute;top:12px;left:18px}.code-editor .header>.copy-code{position:absolute;top:10px;right:12px}.code-editor .code-area{position:relative;z-index:0;text-align:left;overflow:hidden}.code-editor .code-area>textarea,.code-editor .code-area>pre>code,.code-editor .line-nums>div{font-family:Consolas,Monaco,monospace;line-height:1.5}.code-editor .code-area>textarea:hover,.code-editor .code-area>textarea:focus-visible{outline:none}.code-editor .code-area>textarea{position:absolute;z-index:1;top:0;left:0;overflow-y:hidden;box-sizing:border-box;caret-color:#7f7f7f;color:transparent;white-space:pre;word-wrap:normal;border:0;width:100%;height:100%;background:none;resize:none;&[readOnly]~pre{filter:brightness(.7)}}.code-editor .code-area>pre{box-sizing:border-box;position:relative;z-index:0;overflow:hidden;font-size:0;margin:0}.code-editor .code-area>pre>code{background:none;display:block;position:relative;overflow-x:visible!important;border-radius:0;box-sizing:border-box;margin:0}.code-editor.wrap .code-area>textarea,.code-editor.wrap .code-area>pre>code{white-space:pre-wrap;word-wrap:break-word}.code-editor.hide-header.scroll .code-area{height:100%}.code-editor.scroll .code-area{height:calc(100% - 34px)}.code-editor.scroll .code-area>textarea{overflow:auto}.code-editor.scroll .code-area>pre{width:100%;height:100%;overflow:hidden}.code-editor .list{-webkit-user-select:none;user-select:none;height:100%;font-family:sans-serif}.code-editor .list>.lang-list{border-radius:5px;box-sizing:border-box;overflow:auto;font-size:13px;padding:0;margin:0;list-style:none;text-align:left}.code-editor .list>.lang-list>li{font-size:13px;transition:background .16s ease,color .16s ease;box-sizing:border-box;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:30px}.code-editor .list>.lang-list>li:first-child{padding-top:5px}.code-editor .list>.lang-list>li:last-child{padding-bottom:5px}.code-editor .list>.lang-list>li:hover{background:#a0a0a066}.code-editor .line-nums{min-width:36px;text-align:right;box-sizing:border-box;position:absolute;left:0;padding-right:8px;padding-left:8px;opacity:.3}.code-editor .line-nums:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;border-right:1px solid currentColor;opacity:.5}.code-editor .header.border:after{content:"";position:absolute;width:100%;height:1px;bottom:0;left:0;background:currentColor;opacity:.15}.confirmationContainer[data-v-1e48d886]{background-color:#00000087;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.list1-enter-active[data-v-1e48d886]{transition-delay:var(--v0daa6f9c)!important}.card[data-v-6851af5c],.title[data-v-6851af5c]{width:100%}@media screen and (min-width: 700px){.card[data-v-6851af5c],.title[data-v-6851af5c]{width:700px}}.animate__fadeInUp[data-v-6851af5c]{animation-timing-function:cubic-bezier(.42,0,.22,1)}.list1-move[data-v-6851af5c],.list1-enter-active[data-v-6851af5c],.list1-leave-active[data-v-6851af5c]{transition:all .5s cubic-bezier(.42,0,.22,1)}.list1-enter-from[data-v-6851af5c],.list1-leave-to[data-v-6851af5c]{opacity:0;transform:translateY(30px)}.list1-leave-active[data-v-6851af5c]{width:100%;position:absolute} diff --git a/src/static/dist/WGDashboardAdmin/assets/editConfiguration-DUqDAChA.js b/src/static/dist/WGDashboardAdmin/assets/editConfiguration-yEq0V4Ob.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/editConfiguration-DUqDAChA.js rename to src/static/dist/WGDashboardAdmin/assets/editConfiguration-yEq0V4Ob.js index 9ce592f7..4c4aa02c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/editConfiguration-DUqDAChA.js +++ b/src/static/dist/WGDashboardAdmin/assets/editConfiguration-yEq0V4Ob.js @@ -1,7 +1,7 @@ -import{_ as M,J,W as Y,o as z,I as q,D as H,r as y,K as G,c as h,f as v,a as e,b as s,m as C,y as S,n as B,z as L,t as P,h as Q,a2 as X,d as N,s as D,j as R,F as V,i as K,H as ee,a3 as te,e as O,L as A,E as se,u as T,g as I,p as ne,q as oe,w as U,k as j,a4 as le,T as Z,B as ie,v as ae}from"./index-DYYtDSji.js";import{L as n}from"./localeText-Cd7vLnRM.js";import{d as de}from"./dayjs.min-WRW_FTL4.js";const re={class:"card rounded-3 flex-grow-1 bg-danger-subtle border-danger-subtle border shadow"},ue={class:"card-body"},ce={class:"d-flex align-items-center gap-3 inputGroup"},me=["value"],fe={class:"mb-0"},ge={class:"d-flex mt-3"},be=["disabled"],ve={__name:"updateConfigurationName",props:{configurationName:String},emits:["close"],setup(d,{emit:r}){const t=d,f=r,o=J({data:"",valid:!1}),g=Y();z(()=>{q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=H(),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)),C(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),[[S,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=M(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=M(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=H(),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)),C(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),[[S,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=M(ve,[["__scopeId","data-v-7bca1b6e"]]),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=M(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(` `,t+1);const f=this.$refs.lineNums.firstChild.offsetHeight,o=parseInt(this.textareaHeight/f)-1;this.lineNum=this.height=="auto"||r>o?r:o}},mounted(){this.$emit("lang",this.languages[0][0]),this.$emit("content",this.content),this.$emit("textarea",this.$refs.textarea),this.resizer()},updated(){this.insertTab&&(this.$refs.textarea.setSelectionRange(this.cursorPosition,this.cursorPosition),this.insertTab=!1),this.lineNums&&(this.scrolling?this.scrolling=!1:this.getLineNum())}},ke=["theme"],Ce=["readOnly","autofocus","value"];function $e(d,r,t,f,o,g){const u=Q("Dropdown"),x=X("highlight");return v(),h("div",{theme:t.theme,class:B(["code-editor",{"hide-header":!t.header,scroll:g.scroll,"read-only":t.readOnly,wrap:t.wrap}]),style:D({width:t.width,height:t.height,zIndex:t.zIndex,maxWidth:t.maxWidth,minWidth:t.minWidth,maxHeight:t.maxHeight,minHeight:t.minHeight})},[e("div",{class:"hljs",style:D({borderRadius:t.borderRadius})},[t.header?(v(),h("div",{key:0,class:B(["header",{border:o.showLineNums}]),style:D({borderRadius:t.borderRadius+" "+t.borderRadius+" 0 0"})},[t.displayLanguage?(v(),R(u,{key:0,width:t.langListWidth,title:o.languageTitle,disabled:t.languages.length<=1,defaultDisplay:t.langListDisplay},null,8,["width","title","disabled","defaultDisplay"])):N("",!0)],6)):N("",!0),e("div",{class:"code-area",style:D({borderRadius:t.header?"0 0 "+t.borderRadius+" "+t.borderRadius:t.borderRadius})},[o.showLineNums?(v(),h("div",{key:0,ref:"lineNums",class:"line-nums hljs",style:D({fontSize:t.fontSize,paddingTop:t.header?"10px":t.padding,paddingBottom:t.padding,top:o.top+"px"})},[r[3]||(r[3]=e("div",null,"1",-1)),(v(!0),h(V,null,K(o.lineNum,c=>(v(),h("div",null,P(c+1),1))),256)),r[4]||(r[4]=e("div",null," ",-1))],4)):N("",!0),e("textarea",{title:"textarea",readOnly:t.readOnly,style:D({fontSize:t.fontSize,padding:t.header?t.lineNums?"10px "+t.padding+" "+t.padding:"0 "+t.padding+" "+t.padding:t.padding,marginLeft:o.showLineNums?o.lineNumsWidth+"px":"0",width:o.showLineNums?"calc(100% - "+o.lineNumsWidth+"px)":"100%"}),ref:"textarea",autofocus:t.autofocus,spellcheck:"false",onKeydown:r[0]||(r[0]=ee(te((...c)=>g.tab&&g.tab(...c),["prevent","stop"]),["tab"])),onScroll:r[1]||(r[1]=(...c)=>g.calcScrollDistance&&g.calcScrollDistance(...c)),value:t.modelValue==null?o.content:t.modelValue,onInput:r[2]||(r[2]=(...c)=>g.updateValue&&g.updateValue(...c))},null,44,Ce),e("pre",{style:D({paddingRight:o.scrollBarWidth+"px",paddingBottom:o.scrollBarHeight+"px",marginLeft:o.showLineNums?o.lineNumsWidth+"px":"0",width:o.showLineNums?"calc(100% - "+o.lineNumsWidth+"px)":"100%"})},[r[6]||(r[6]=O(" ",-1)),C((v(),h("code",{ref:"code",class:B(o.languageClass),style:D({top:o.top+"px",left:o.left+"px",fontSize:t.fontSize,padding:t.header?t.lineNums?"10px "+t.padding+" "+t.padding:"0 "+t.padding+" "+t.padding:t.padding})},[...r[5]||(r[5]=[O(` `,-1)])],6)),[[x,g.contentValue]]),r[7]||(r[7]=O(` - `,-1))],4)],4)],4)],14,ke)}const Se=M(we,[["render",$e]]),Ne={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Pe={class:"container d-flex h-100 w-100"},Be={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Re={class:"card rounded-3 shadow flex-grow-1",id:"deleteConfigurationContainer"},De={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},Le={class:"mb-0"},We={class:"card-body px-4 d-flex flex-column gap-3"},Ve={key:0,class:"alert alert-danger rounded-3 mb-0"},Oe={class:"mb-2"},Ie={class:"bg-body w-100 p-2 rounded-3"},Me={class:"d-flex gap-2"},He=["disabled"],Ke=["disabled"],Te={__name:"editRawConfigurationFile",emits:["close"],async setup(d,{emit:r}){let t,f;const o=r,g=A(),u=y(""),x=y(""),c=y(!1),a=y(""),b=async()=>{await I("/api/getWireguardConfigurationRawFile",{configurationName:g.params.id},m=>{u.value=m.data.content,x.value=m.data.path})};[t,f]=se(()=>b()),await t,f();const _=H(),w=y(!1),$=async()=>{w.value=!0,await L("/api/updateWireguardConfigurationRawFile",{configurationName:g.params.id,rawConfiguration:u.value},m=>{m.status?(c.value=!1,_.newMessage("Server","Configuration saved","success")):(c.value=!0,a.value=m.message),w.value=!1})};return(m,i)=>(v(),h("div",Ne,[e("div",Pe,[e("div",Be,[e("div",Re,[e("div",De,[e("h5",Le,[s(n,{t:"Edit Raw Configuration File"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:i[0]||(i[0]=k=>o("close"))})]),e("div",We,[c.value?(v(),h("div",Ve,[e("div",Oe,[e("strong",null,[s(n,{t:"Failed to save configuration. Please see the following error message:"})])]),e("div",Ie,[e("pre",null,P(a.value),1)])])):N("",!0),s(Se,{disabled:!0,"read-only":w.value,modelValue:u.value,"onUpdate:modelValue":i[1]||(i[1]=k=>u.value=k),theme:T(_).Configuration.Server.dashboard_theme==="dark"?"github-dark":"github",languages:[["ini",x.value]],width:"100%",height:"600px"},null,8,["read-only","modelValue","theme","languages"]),e("div",Me,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",disabled:w.value,onClick:i[2]||(i[2]=k=>b())},[i[4]||(i[4]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],8,He),e("button",{onClick:i[3]||(i[3]=k=>$()),disabled:w.value,class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 px-3 py-2 shadow"},[i[5]||(i[5]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),w.value?(v(),R(n,{key:1,t:"Saving..."})):(v(),R(n,{key:0,t:"Save"}))],8,Ke)])])])])])]))}},Ue={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ze={class:"container d-flex h-100 w-100"},Ae={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},Ee={class:"card rounded-3 shadow flex-grow-1 bg-danger-subtle border-danger-subtle",id:"deleteConfigurationContainer"},Fe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},Je={class:"mb-0"},je={class:"card-body px-4 text-muted"},Ye={class:"mb-0"},qe={key:0},Ge={key:1},Ze={key:2,class:"d-flex align-items-center gap-2"},Qe=["placeholder"],Xe=["disabled"],et={__name:"deleteConfiguration",emits:["backup","close"],setup(d,{emit:r}){const f=A().params.id,o=y(""),g=G(),u=H(),x=y(!1),c=()=>{clearInterval(u.Peers.RefreshInterval),x.value=!0,L("/api/deleteWireguardConfiguration",{ConfigurationName:f},$=>{$.status?(g.push("/"),u.newMessage("Server","Configuration deleted","success")):x.value=!1})},a=y(!0),b=y([]),_=()=>{a.value=!0,I("/api/getWireguardConfigurationBackup",{configurationName:f},$=>{b.value=$.data,a.value=!1})};z(()=>{_()});const w=r;return($,m)=>(v(),h("div",Ue,[e("div",ze,[e("div",Ae,[e("div",Ee,[e("div",Fe,[e("h5",Je,[s(n,{t:"Are you sure to delete this configuration?"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:m[0]||(m[0]=i=>w("close"))})]),e("div",je,[e("p",Ye,[s(n,{t:"Once you deleted this configuration:"})]),e("ul",null,[e("li",null,[s(n,{t:"All connected peers will get disconnected"})]),e("li",null,[s(n,{t:"Both configuration file (.conf) and database table related to this configuration will get deleted"})])]),e("div",{class:B(["alert",[a.value?"alert-secondary":b.value.length>0?"alert-success":"alert-danger"]])},[a.value?(v(),h("div",qe,[m[5]||(m[5]=e("i",{class:"bi bi-search me-2"},null,-1)),s(n,{t:"Checking backups..."})])):b.value.length>0?(v(),h("div",Ge,[m[6]||(m[6]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),s(n,{t:"This configuration has "+b.value.length+" backups"},null,8,["t"])])):(v(),h("div",Ze,[m[9]||(m[9]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),s(n,{t:"This configuration has no backup"}),e("a",{role:"button",onClick:m[1]||(m[1]=i=>w("backup")),class:"ms-auto btn btn-sm btn-primary rounded-3"},[m[7]||(m[7]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),s(n,{t:"Backup"})]),e("a",{role:"button",onClick:m[2]||(m[2]=i=>_()),class:"btn btn-sm btn-primary rounded-3"},[...m[8]||(m[8]=[e("i",{class:"bi bi-arrow-clockwise"},null,-1)])])]))],2),m[11]||(m[11]=e("hr",null,null,-1)),e("p",null,[s(n,{t:"If you're sure, please type in the configuration name below and click Delete"})]),C(e("input",{class:"form-control rounded-3 mb-3",placeholder:T(f),"onUpdate:modelValue":m[3]||(m[3]=i=>o.value=i),type:"text"},null,8,Qe),[[S,o.value]]),e("button",{class:"btn btn-danger w-100",onClick:m[4]||(m[4]=i=>c()),disabled:o.value!==T(f)||x.value},[m[10]||(m[10]=e("i",{class:"bi bi-trash-fill me-2 rounded-3"},null,-1)),x.value?(v(),R(n,{key:1,t:"Deleting..."})):(v(),R(n,{key:0,t:"Delete"}))],8,Xe)])])])])]))}},tt={class:"card my-0 rounded-3"},st={class:"card-body position-relative"},nt={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},ot={class:"m-auto"},lt={class:"d-flex gap-2 align-items-center justify-content-center"},it=["disabled"],at=["disabled"],dt={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},rt={class:"m-auto"},ut={class:"d-flex gap-2 align-items-center justify-content-center"},ct=["disabled"],mt=["disabled"],ft={class:"d-flex gap-3"},gt={class:"d-flex flex-column"},bt={class:"text-muted"},vt={class:"d-flex flex-column"},pt={class:"text-muted"},ht={class:"d-flex gap-2 align-items-center ms-auto"},yt={class:"card rounded-3"},xt={key:0,class:"card-body"},_t=["value"],wt={class:"d-flex"},kt={__name:"backup",props:["b","delay"],emits:["refresh","refreshPeersList"],setup(d,{emit:r}){ne(m=>({v2dd0b691:w.value}));const t=d,f=y(!1),o=y(!1),g=A(),u=r,x=H(),c=y(!1),a=()=>{c.value=!0,L("/api/deleteWireguardConfigurationBackup",{ConfigurationName:g.params.id,BackupFileName:t.b.filename},m=>{c.value=!1,m.status?(u("refresh"),x.newMessage("Server","Backup deleted","success")):x.newMessage("Server","Backup failed to delete","danger")})},b=()=>{c.value=!0,L("/api/restoreWireguardConfigurationBackup",{ConfigurationName:g.params.id,BackupFileName:t.b.filename},m=>{c.value=!1,o.value=!1,m.status?(u("refreshPeersList"),x.newMessage("Server","Backup restored with "+t.b.filename,"success")):x.newMessage("Server","Backup failed to restore","danger")})},_=()=>{I("/api/downloadWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},m=>{m.status&&window.open(le(`/fileDownload?file=${m.data}`),"_blank")})},w=oe(()=>t.delay+"s"),$=y(!1);return(m,i)=>(v(),h("div",tt,[e("div",st,[s(j,{name:"zoomReversed"},{default:U(()=>[f.value?(v(),h("div",nt,[e("div",ot,[e("h5",null,[s(n,{t:"Are you sure to delete this backup?"})]),e("div",lt,[e("button",{class:"btn btn-danger rounded-3",disabled:c.value,onClick:i[0]||(i[0]=k=>a())},[s(n,{t:"Yes"})],8,it),e("button",{onClick:i[1]||(i[1]=k=>f.value=!1),disabled:c.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[s(n,{t:"No"})],8,at)])])])):N("",!0)]),_:1}),s(j,{name:"zoomReversed"},{default:U(()=>[o.value?(v(),h("div",dt,[e("div",rt,[e("h5",null,[s(n,{t:"Are you sure to restore this backup?"})]),e("div",ut,[e("button",{disabled:c.value,onClick:i[2]||(i[2]=k=>b()),class:"btn btn-success rounded-3"},[s(n,{t:"Yes"})],8,ct),e("button",{onClick:i[3]||(i[3]=k=>o.value=!1),disabled:c.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[s(n,{t:"No"})],8,mt)])])])):N("",!0)]),_:1}),e("div",ft,[e("div",gt,[e("small",bt,[s(n,{t:"Backup"})]),e("samp",null,P(d.b.filename),1)]),e("div",vt,[e("small",pt,[s(n,{t:"Backup Date"})]),O(" "+P(T(de)(d.b.backupDate,"YYYYMMDDHHmmss").format("YYYY-MM-DD HH:mm:ss")),1)]),e("div",ht,[e("button",{onClick:i[4]||(i[4]=k=>_()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 btn-sm"},[...i[8]||(i[8]=[e("i",{class:"bi bi-download"},null,-1)])]),e("button",{onClick:i[5]||(i[5]=k=>o.value=!0),class:"btn bg-warning-subtle text-warning-emphasis border-warning-subtle rounded-3 btn-sm"},[...i[9]||(i[9]=[e("i",{class:"bi bi-clock-history"},null,-1)])]),e("button",{onClick:i[6]||(i[6]=k=>f.value=!0),class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 btn-sm"},[...i[10]||(i[10]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])])]),i[14]||(i[14]=e("hr",null,null,-1)),e("div",yt,[e("a",{role:"button",class:B(["card-header d-flex text-decoration-none align-items-center",{"border-bottom-0":!$.value}]),style:{cursor:"pointer"},onClick:i[7]||(i[7]=k=>$.value=!$.value)},[e("small",null,[i[11]||(i[11]=O(".conf ",-1)),s(n,{t:"File"})]),i[12]||(i[12]=e("i",{class:"bi bi-chevron-down ms-auto"},null,-1))],2),$.value?(v(),h("div",xt,[e("textarea",{class:"form-control rounded-3",value:d.b.content,disabled:"",style:{height:"300px","font-family":"var(--bs-font-monospace),sans-serif !important"}},null,8,_t)])):N("",!0)]),i[15]||(i[15]=e("hr",null,null,-1)),e("div",wt,[e("span",null,[i[13]||(i[13]=e("i",{class:"bi bi-database me-1"},null,-1)),s(n,{t:"Database File"})]),e("i",{class:B(["bi ms-auto",[d.b.database?"text-success bi-check-circle-fill":"text-danger bi-x-circle-fill"]])},null,2)])])]))}},Ct=M(kt,[["__scopeId","data-v-c65cdc10"]]),$t={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},St={class:"d-flex h-100 w-100"},Nt={class:"modal-dialog-centered dashboardModal w-100 h-100 overflow-x-scroll flex-column gap-3 mx-3"},Pt={class:"my-5 d-flex gap-3 flex-column position-relative"},Bt={class:"title"},Rt={class:"d-flex mb-3"},Dt={class:"mb-0"},Lt={class:"position-relative d-flex flex-column gap-3"},Wt={class:"text-center title",key:"spinner"},Vt={class:"card my-0 rounded-3",key:"noBackups"},Ot={class:"card-body text-center text-muted"},It={__name:"configurationBackupRestore",emits:["close","refreshPeersList"],setup(d,{emit:r}){const t=A(),f=y([]),o=y(!0),g=r;z(()=>{u()});const u=()=>{o.value=!0,I("/api/getWireguardConfigurationBackup",{configurationName:t.params.id},c=>{f.value=c.data,o.value=!1})},x=()=>{I("/api/createWireguardConfigurationBackup",{configurationName:t.params.id},c=>{f.value=c.data,o.value=!1})};return(c,a)=>(v(),h("div",$t,[e("div",St,[e("div",Nt,[e("div",Pt,[e("div",Bt,[e("div",Rt,[e("h4",Dt,[s(n,{t:"Backup & Restore"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:a[0]||(a[0]=b=>c.$emit("close"))})]),e("button",{onClick:a[1]||(a[1]=b=>x()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 w-100"},[a[4]||(a[4]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),s(n,{t:"Create Backup"})])]),e("div",Lt,[s(Z,{name:"list1"},{default:U(()=>[o.value&&f.value.length===0?(v(),h("div",Wt,[...a[5]||(a[5]=[e("div",{class:"spinner-border"},null,-1)])])):!o.value&&f.value.length===0?(v(),h("div",Vt,[e("div",Ot,[a[6]||(a[6]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),s(n,{t:"No backup yet, click the button above to create backup."})])])):N("",!0),(v(!0),h(V,null,K(f.value,b=>(v(),R(Ct,{onRefresh:a[2]||(a[2]=_=>u()),onRefreshPeersList:a[3]||(a[3]=_=>g("refreshPeersList")),b,key:b.filename},null,8,["b"]))),128))]),_:1})])])])])],512))}},Mt=M(It,[["__scopeId","data-v-1f718118"]]),Ht={id:"editPeerSettingsOverride"},Kt={class:"mb-0"},Tt={class:"mb-3 text-muted"},Ut={class:"d-flex gap-2 flex-column"},zt={for:"override_DNS",class:"form-label"},At={class:"text-muted"},Et=["disabled"],Ft={class:"invalid-feedback"},Jt={for:"override_EndpointAllowedIPs",class:"form-label"},jt={class:"text-muted"},Yt=["disabled"],qt={class:"invalid-feedback"},Gt={for:"override_ListenPort",class:"form-label"},Zt={class:"text-muted"},Qt=["disabled"],Xt={class:"invalid-feedback"},es={for:"override_MTU",class:"form-label"},ts={class:"text-muted"},ss=["disabled"],ns={class:"invalid-feedback"},os={for:"override_PeerRemoteEndpoint",class:"form-label"},ls={class:"text-muted"},is=["disabled"],as={for:"override_persistent_keepalive",class:"form-label"},ds={class:"text-muted"},rs=["disabled"],us={class:"invalid-feedback"},cs={class:"d-flex mt-1 gap-2"},ms=ie({__name:"editPeerSettingsOverride",props:["configuration"],setup(d){const r=d,t=y(!1),f=y({...r.configuration.Info.OverridePeerSettings}),o=y(!1),g=y("");z(()=>{document.querySelectorAll("#editPeerSettingsOverride input").forEach(c=>c.addEventListener("change",()=>{o.value=!0}))});const u=()=>{f.value=r.configuration.Info.OverridePeerSettings,o.value=!1},x=async()=>{document.querySelectorAll("#editPeerSettingsOverride input").forEach(c=>c.classList.remove("is-invalid","is-valid")),await L("/api/updateWireguardConfigurationInfo",{Name:r.configuration.Name,Key:"OverridePeerSettings",Value:f.value},c=>{c.status?(o.value=!1,r.configuration.Info.OverridePeerSettings=f.value,document.querySelectorAll("#editPeerSettingsOverride input").forEach(a=>a.classList.add("is-valid"))):(g.value=c.message,document.querySelector(`#override_${c.data}`).classList.add("is-invalid"))})};return(c,a)=>(v(),h("div",Ht,[e("h5",Kt,[s(n,{t:"Override Peer Settings"})]),e("h6",Tt,[e("small",null,[s(n,{t:"Only apply to peers in this configuration"})])]),e("div",Ut,[e("div",null,[e("label",zt,[e("small",At,[s(n,{t:"DNS"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[0]||(a[0]=b=>f.value.DNS=b),id:"override_DNS"},null,8,Et),[[S,f.value.DNS]]),e("div",Ft,P(g.value),1)]),e("div",null,[e("label",Jt,[e("small",jt,[s(n,{t:"Endpoint Allowed IPs"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[1]||(a[1]=b=>f.value.EndpointAllowedIPs=b),id:"override_EndpointAllowedIPs"},null,8,Yt),[[S,f.value.EndpointAllowedIPs]]),e("div",qt,P(g.value),1)]),e("div",null,[e("label",Gt,[e("small",Zt,[s(n,{t:"Listen Port"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[2]||(a[2]=b=>f.value.ListenPort=b),id:"override_ListenPort"},null,8,Qt),[[S,f.value.ListenPort]]),e("div",Xt,P(g.value),1)]),e("div",null,[e("label",es,[e("small",ts,[s(n,{t:"MTU"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[3]||(a[3]=b=>f.value.MTU=b),id:"override_MTU"},null,8,ss),[[S,f.value.MTU]]),e("div",ns,P(g.value),1)]),e("div",null,[e("label",os,[e("small",ls,[s(n,{t:"Peer Remote Endpoint"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[4]||(a[4]=b=>f.value.PeerRemoteEndpoint=b),id:"override_PeerRemoteEndpoint"},null,8,is),[[S,f.value.PeerRemoteEndpoint]])]),e("div",null,[e("label",as,[e("small",ds,[s(n,{t:"Persistent Keepalive"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[5]||(a[5]=b=>f.value.PersistentKeepalive=b),id:"override_PersistentKeepalive"},null,8,rs),[[S,f.value.PersistentKeepalive]]),e("div",us,P(g.value),1)]),e("div",cs,[e("button",{class:B([{disabled:!o.value},"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto"]),onClick:a[6]||(a[6]=b=>u())},[a[8]||(a[8]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],2),e("button",{class:B([{disabled:!o.value},"btn btn-sm bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow"]),onClick:a[7]||(a[7]=b=>x())},[a[9]||(a[9]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),s(n,{t:"Save"})],2)])])]))}}),fs={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0",ref:"editConfigurationContainer"},gs={class:"w-100 h-100 overflow-y-scroll"},bs={class:"container d-flex h-100 w-100"},vs={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},ps={class:"card rounded-3 shadow flex-grow-1"},hs={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},ys={class:"mb-0"},xs={class:"card-body px-4 pb-4"},_s={class:"d-flex gap-2 flex-column"},ws={key:0,class:"d-flex align-items-center gap-3"},ks={class:"text-muted"},Cs={class:"d-flex align-items-center gap-3"},$s={class:"text-muted",style:{"word-break":"keep-all"}},Ss={class:"ms-auto",style:{"word-break":"break-all"}},Ns={class:"d-flex"},Ps={for:"configuration_private_key",class:"form-label"},Bs={class:"text-muted d-block"},Rs={class:"form-check form-switch ms-auto"},Ds=["disabled"],Ls={for:"configuration_ipaddress_cidr",class:"form-label"},Ws={class:"text-muted"},Vs=["disabled"],Os={for:"configuration_listen_port",class:"form-label"},Is={class:"text-muted"},Ms=["disabled"],Hs={class:"accordion mt-2",id:"editConfigurationOptionalAccordion"},Ks={class:"accordion-item"},Ts={class:"accordion-header"},Us={class:"accordion-button collapsed px-3 py-2",type:"button","data-bs-toggle":"collapse","data-bs-target":"#editOptionalAccordionCollapse"},zs={class:"text-muted"},As={id:"editOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#editConfigurationOptionalAccordion"},Es={class:"accordion-body d-flex flex-column gap-3"},Fs=["for"],Js={class:"text-muted"},js=["disabled","onUpdate:modelValue","id"],Ys=["for"],qs={class:"text-muted"},Gs=["disabled","onUpdate:modelValue","id"],Zs={class:"d-flex align-items-center gap-2 mt-1"},Qs=["disabled"],Xs=["disabled"],en={class:"mb-3"},tn={class:"d-flex gap-2 flex-column"},ln={__name:"editConfiguration",props:{configurationInfo:Object},emits:["changed","close","refresh","dataChanged"],setup(d,{emit:r}){const t=d,f=Y(),o=H(),g=y(!1),u=J(JSON.parse(JSON.stringify(t.configurationInfo))),x=y(!1),c=y(!1),a=J({PrivateKey:!0,IPAddress:!0,ListenPort:!0}),b=()=>{f.checkWGKeyLength(u.PrivateKey)?(a.PrivateKey=!0,u.PublicKey=window.wireguard.generatePublicKey(u.PrivateKey)):a.PrivateKey=!1},_=()=>{c.value=!1,Object.assign(u,JSON.parse(JSON.stringify(t.configurationInfo)))},w=r,$=()=>{g.value=!0,L("/api/updateWireguardConfiguration",u,W=>{g.value=!1,W.status?(o.newMessage("Server","Configuration saved","success"),c.value=!1,w("dataChanged",W.data)):o.newMessage("Server",W.message,"danger")})},m=y(!1);q(u,()=>{c.value=JSON.stringify(u)!==JSON.stringify(t.configurationInfo)},{deep:!0});const i=y(!1),k=y(!1),E=y(!1);return(W,l)=>(v(),h("div",fs,[e("div",gs,[s(Z,{name:"zoom"},{default:U(()=>[i.value?(v(),R(Te,{key:0,name:"EditRawConfigurationFile",onClose:l[0]||(l[0]=p=>i.value=!1)})):N("",!0),E.value?(v(),R(et,{key:"DeleteConfiguration",onBackup:l[1]||(l[1]=p=>k.value=!0),onClose:l[2]||(l[2]=p=>E.value=!1)})):N("",!0),k.value?(v(),R(Mt,{key:2,onClose:l[3]||(l[3]=p=>k.value=!1),onRefreshPeersList:l[4]||(l[4]=p=>w("refresh"))})):N("",!0)]),_:1}),e("div",bs,[e("div",vs,[e("div",ps,[e("div",hs,[e("h4",ys,[s(n,{t:"Configuration Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:l[5]||(l[5]=p=>W.$emit("close"))})]),e("div",xs,[e("div",_s,[m.value?N("",!0):(v(),h("div",ws,[e("small",ks,[s(n,{t:"Name"})]),e("small",null,P(u.Name),1),e("button",{onClick:l[6]||(l[6]=p=>m.value=!0),class:"btn btn-sm bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[s(n,{t:"Update Name"})])])),m.value?(v(),R(pe,{key:1,onClose:l[7]||(l[7]=p=>m.value=!1),"configuration-name":u.Name},null,8,["configuration-name"])):(v(),h(V,{key:2},[l[24]||(l[24]=e("hr",null,null,-1)),e("div",Cs,[e("small",$s,[s(n,{t:"Public Key"})]),e("small",Ss,P(u.PublicKey),1)]),l[25]||(l[25]=e("hr",null,null,-1)),e("div",null,[e("div",Ns,[e("label",Ps,[e("small",Bs,[s(n,{t:"Private Key"})])]),e("div",Rs,[C(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"editPrivateKeySwitch","onUpdate:modelValue":l[8]||(l[8]=p=>x.value=p)},null,512),[[ae,x.value]]),l[18]||(l[18]=e("label",{class:"form-check-label",for:"editPrivateKeySwitch"},[e("small",null,"Edit")],-1))])]),C(e("input",{type:"text",class:B(["form-control form-control-sm rounded-3",{"is-invalid":!a.PrivateKey}]),disabled:g.value||!x.value,onKeyup:l[9]||(l[9]=p=>b()),"onUpdate:modelValue":l[10]||(l[10]=p=>u.PrivateKey=p),id:"configuration_private_key"},null,42,Ds),[[S,u.PrivateKey]])]),e("div",null,[e("label",Ls,[e("small",Ws,[s(n,{t:"IP Address/CIDR"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":l[11]||(l[11]=p=>u.Address=p),id:"configuration_ipaddress_cidr"},null,8,Vs),[[S,u.Address]])]),e("div",null,[e("label",Os,[e("small",Is,[s(n,{t:"Listen Port"})])]),C(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":l[12]||(l[12]=p=>u.ListenPort=p),id:"configuration_listen_port"},null,8,Ms),[[S,u.ListenPort]])]),e("div",Hs,[e("div",Ks,[e("h2",Ts,[e("button",Us,[e("small",zs,[s(n,{t:"Optional Settings"})])])]),e("div",As,[e("div",Es,[(v(),h(V,null,K(["Table","PreUp","PreDown","PostUp","PostDown"],p=>e("div",null,[e("label",{for:"configuration_"+p,class:"form-label"},[e("small",Js,[s(n,{t:p},null,8,["t"])])],8,Fs),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":F=>u[p]=F,id:"configuration_"+p},null,8,js),[[S,u[p]]])])),64)),d.configurationInfo.Protocol==="awg"?(v(),h(V,{key:0},K(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],p=>e("div",null,[e("label",{for:"configuration_"+p,class:"form-label"},[e("small",qs,[s(n,{t:p},null,8,["t"])])],8,Ys),C(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":F=>u[p]=F,id:"configuration_"+p},null,8,Gs),[[S,u[p]]])])),64)):N("",!0)])])])]),e("div",Zs,[e("button",{class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto",onClick:l[13]||(l[13]=p=>_()),disabled:!c.value||g.value},[l[19]||(l[19]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],8,Qs),e("button",{class:"btn btn-sm bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow",disabled:!c.value||g.value,onClick:l[14]||(l[14]=p=>$())},[l[20]||(l[20]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),s(n,{t:"Save"})],8,Xs)]),l[26]||(l[26]=e("hr",null,null,-1)),s(ms,{configuration:d.configurationInfo},null,8,["configuration"]),l[27]||(l[27]=e("hr",null,null,-1)),e("h5",en,[s(n,{t:"Danger Zone"})]),e("div",tn,[e("button",{onClick:l[15]||(l[15]=p=>k.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 text-start d-flex"},[l[21]||(l[21]=e("i",{class:"bi bi-copy me-auto"},null,-1)),s(n,{t:"Backup & Restore"})]),e("button",{onClick:l[16]||(l[16]=p=>i.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 d-flex"},[l[22]||(l[22]=e("i",{class:"bi bi-pen me-auto"},null,-1)),s(n,{t:"Edit Raw Configuration File"})]),e("button",{onClick:l[17]||(l[17]=p=>E.value=!0),class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 d-flex mt-4"},[l[23]||(l[23]=e("i",{class:"bi bi-trash-fill me-auto"},null,-1)),s(n,{t:"Delete Configuration"})])])],64))])])])])])])],512))}};export{ln as default}; + `,-1))],4)],4)],4)],14,ke)}const Se=M(we,[["render",$e]]),Ne={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Pe={class:"container d-flex h-100 w-100"},Be={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Re={class:"card rounded-3 shadow flex-grow-1",id:"deleteConfigurationContainer"},De={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},Le={class:"mb-0"},We={class:"card-body px-4 d-flex flex-column gap-3"},Ve={key:0,class:"alert alert-danger rounded-3 mb-0"},Oe={class:"mb-2"},Ie={class:"bg-body w-100 p-2 rounded-3"},Me={class:"d-flex gap-2"},He=["disabled"],Ke=["disabled"],Te={__name:"editRawConfigurationFile",emits:["close"],async setup(d,{emit:r}){let t,f;const o=r,g=A(),u=y(""),x=y(""),c=y(!1),a=y(""),b=async()=>{await I("/api/getWireguardConfigurationRawFile",{configurationName:g.params.id},m=>{u.value=m.data.content,x.value=m.data.path})};[t,f]=se(()=>b()),await t,f();const _=H(),w=y(!1),$=async()=>{w.value=!0,await L("/api/updateWireguardConfigurationRawFile",{configurationName:g.params.id,rawConfiguration:u.value},m=>{m.status?(c.value=!1,_.newMessage("Server","Configuration saved","success")):(c.value=!0,a.value=m.message),w.value=!1})};return(m,i)=>(v(),h("div",Ne,[e("div",Pe,[e("div",Be,[e("div",Re,[e("div",De,[e("h5",Le,[s(n,{t:"Edit Raw Configuration File"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:i[0]||(i[0]=k=>o("close"))})]),e("div",We,[c.value?(v(),h("div",Ve,[e("div",Oe,[e("strong",null,[s(n,{t:"Failed to save configuration. Please see the following error message:"})])]),e("div",Ie,[e("pre",null,P(a.value),1)])])):N("",!0),s(Se,{disabled:!0,"read-only":w.value,modelValue:u.value,"onUpdate:modelValue":i[1]||(i[1]=k=>u.value=k),theme:T(_).Configuration.Server.dashboard_theme==="dark"?"github-dark":"github",languages:[["ini",x.value]],width:"100%",height:"600px"},null,8,["read-only","modelValue","theme","languages"]),e("div",Me,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",disabled:w.value,onClick:i[2]||(i[2]=k=>b())},[i[4]||(i[4]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],8,He),e("button",{onClick:i[3]||(i[3]=k=>$()),disabled:w.value,class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 px-3 py-2 shadow"},[i[5]||(i[5]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),w.value?(v(),R(n,{key:1,t:"Saving..."})):(v(),R(n,{key:0,t:"Save"}))],8,Ke)])])])])])]))}},Ue={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ze={class:"container d-flex h-100 w-100"},Ae={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},Ee={class:"card rounded-3 shadow flex-grow-1 bg-danger-subtle border-danger-subtle",id:"deleteConfigurationContainer"},Fe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},Je={class:"mb-0"},je={class:"card-body px-4 text-muted"},Ye={class:"mb-0"},qe={key:0},Ge={key:1},Ze={key:2,class:"d-flex align-items-center gap-2"},Qe=["placeholder"],Xe=["disabled"],et={__name:"deleteConfiguration",emits:["backup","close"],setup(d,{emit:r}){const f=A().params.id,o=y(""),g=G(),u=H(),x=y(!1),c=()=>{clearInterval(u.Peers.RefreshInterval),x.value=!0,L("/api/deleteWireguardConfiguration",{ConfigurationName:f},$=>{$.status?(g.push("/"),u.newMessage("Server","Configuration deleted","success")):x.value=!1})},a=y(!0),b=y([]),_=()=>{a.value=!0,I("/api/getWireguardConfigurationBackup",{configurationName:f},$=>{b.value=$.data,a.value=!1})};z(()=>{_()});const w=r;return($,m)=>(v(),h("div",Ue,[e("div",ze,[e("div",Ae,[e("div",Ee,[e("div",Fe,[e("h5",Je,[s(n,{t:"Are you sure to delete this configuration?"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:m[0]||(m[0]=i=>w("close"))})]),e("div",je,[e("p",Ye,[s(n,{t:"Once you deleted this configuration:"})]),e("ul",null,[e("li",null,[s(n,{t:"All connected peers will get disconnected"})]),e("li",null,[s(n,{t:"Both configuration file (.conf) and database table related to this configuration will get deleted"})])]),e("div",{class:B(["alert",[a.value?"alert-secondary":b.value.length>0?"alert-success":"alert-danger"]])},[a.value?(v(),h("div",qe,[m[5]||(m[5]=e("i",{class:"bi bi-search me-2"},null,-1)),s(n,{t:"Checking backups..."})])):b.value.length>0?(v(),h("div",Ge,[m[6]||(m[6]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),s(n,{t:"This configuration has "+b.value.length+" backups"},null,8,["t"])])):(v(),h("div",Ze,[m[9]||(m[9]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),s(n,{t:"This configuration has no backup"}),e("a",{role:"button",onClick:m[1]||(m[1]=i=>w("backup")),class:"ms-auto btn btn-sm btn-primary rounded-3"},[m[7]||(m[7]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),s(n,{t:"Backup"})]),e("a",{role:"button",onClick:m[2]||(m[2]=i=>_()),class:"btn btn-sm btn-primary rounded-3"},[...m[8]||(m[8]=[e("i",{class:"bi bi-arrow-clockwise"},null,-1)])])]))],2),m[11]||(m[11]=e("hr",null,null,-1)),e("p",null,[s(n,{t:"If you're sure, please type in the configuration name below and click Delete"})]),C(e("input",{class:"form-control rounded-3 mb-3",placeholder:T(f),"onUpdate:modelValue":m[3]||(m[3]=i=>o.value=i),type:"text"},null,8,Qe),[[S,o.value]]),e("button",{class:"btn btn-danger w-100",onClick:m[4]||(m[4]=i=>c()),disabled:o.value!==T(f)||x.value},[m[10]||(m[10]=e("i",{class:"bi bi-trash-fill me-2 rounded-3"},null,-1)),x.value?(v(),R(n,{key:1,t:"Deleting..."})):(v(),R(n,{key:0,t:"Delete"}))],8,Xe)])])])])]))}},tt={class:"card my-0 rounded-3"},st={class:"card-body position-relative"},nt={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},ot={class:"m-auto"},lt={class:"d-flex gap-2 align-items-center justify-content-center"},it=["disabled"],at=["disabled"],dt={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},rt={class:"m-auto"},ut={class:"d-flex gap-2 align-items-center justify-content-center"},ct=["disabled"],mt=["disabled"],ft={class:"d-flex gap-3"},gt={class:"d-flex flex-column"},bt={class:"text-muted"},vt={class:"d-flex flex-column"},pt={class:"text-muted"},ht={class:"d-flex gap-2 align-items-center ms-auto"},yt={class:"card rounded-3"},xt={key:0,class:"card-body"},_t=["value"],wt={class:"d-flex"},kt={__name:"backup",props:["b","delay"],emits:["refresh","refreshPeersList"],setup(d,{emit:r}){ne(m=>({v0daa6f9c:w.value}));const t=d,f=y(!1),o=y(!1),g=A(),u=r,x=H(),c=y(!1),a=()=>{c.value=!0,L("/api/deleteWireguardConfigurationBackup",{ConfigurationName:g.params.id,BackupFileName:t.b.filename},m=>{c.value=!1,m.status?(u("refresh"),x.newMessage("Server","Backup deleted","success")):x.newMessage("Server","Backup failed to delete","danger")})},b=()=>{c.value=!0,L("/api/restoreWireguardConfigurationBackup",{ConfigurationName:g.params.id,BackupFileName:t.b.filename},m=>{c.value=!1,o.value=!1,m.status?(u("refreshPeersList"),x.newMessage("Server","Backup restored with "+t.b.filename,"success")):x.newMessage("Server","Backup failed to restore","danger")})},_=()=>{I("/api/downloadWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},m=>{m.status&&window.open(le(`/fileDownload?file=${m.data}`),"_blank")})},w=oe(()=>t.delay+"s"),$=y(!1);return(m,i)=>(v(),h("div",tt,[e("div",st,[s(j,{name:"zoomReversed"},{default:U(()=>[f.value?(v(),h("div",nt,[e("div",ot,[e("h5",null,[s(n,{t:"Are you sure to delete this backup?"})]),e("div",lt,[e("button",{class:"btn btn-danger rounded-3",disabled:c.value,onClick:i[0]||(i[0]=k=>a())},[s(n,{t:"Yes"})],8,it),e("button",{onClick:i[1]||(i[1]=k=>f.value=!1),disabled:c.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[s(n,{t:"No"})],8,at)])])])):N("",!0)]),_:1}),s(j,{name:"zoomReversed"},{default:U(()=>[o.value?(v(),h("div",dt,[e("div",rt,[e("h5",null,[s(n,{t:"Are you sure to restore this backup?"})]),e("div",ut,[e("button",{disabled:c.value,onClick:i[2]||(i[2]=k=>b()),class:"btn btn-success rounded-3"},[s(n,{t:"Yes"})],8,ct),e("button",{onClick:i[3]||(i[3]=k=>o.value=!1),disabled:c.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[s(n,{t:"No"})],8,mt)])])])):N("",!0)]),_:1}),e("div",ft,[e("div",gt,[e("small",bt,[s(n,{t:"Backup"})]),e("samp",null,P(d.b.filename),1)]),e("div",vt,[e("small",pt,[s(n,{t:"Backup Date"})]),O(" "+P(T(de)(d.b.backupDate,"YYYYMMDDHHmmss").format("YYYY-MM-DD HH:mm:ss")),1)]),e("div",ht,[e("button",{onClick:i[4]||(i[4]=k=>_()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 btn-sm"},[...i[8]||(i[8]=[e("i",{class:"bi bi-download"},null,-1)])]),e("button",{onClick:i[5]||(i[5]=k=>o.value=!0),class:"btn bg-warning-subtle text-warning-emphasis border-warning-subtle rounded-3 btn-sm"},[...i[9]||(i[9]=[e("i",{class:"bi bi-clock-history"},null,-1)])]),e("button",{onClick:i[6]||(i[6]=k=>f.value=!0),class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 btn-sm"},[...i[10]||(i[10]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])])]),i[14]||(i[14]=e("hr",null,null,-1)),e("div",yt,[e("a",{role:"button",class:B(["card-header d-flex text-decoration-none align-items-center",{"border-bottom-0":!$.value}]),style:{cursor:"pointer"},onClick:i[7]||(i[7]=k=>$.value=!$.value)},[e("small",null,[i[11]||(i[11]=O(".conf ",-1)),s(n,{t:"File"})]),i[12]||(i[12]=e("i",{class:"bi bi-chevron-down ms-auto"},null,-1))],2),$.value?(v(),h("div",xt,[e("textarea",{class:"form-control rounded-3",value:d.b.content,disabled:"",style:{height:"300px","font-family":"var(--bs-font-monospace),sans-serif !important"}},null,8,_t)])):N("",!0)]),i[15]||(i[15]=e("hr",null,null,-1)),e("div",wt,[e("span",null,[i[13]||(i[13]=e("i",{class:"bi bi-database me-1"},null,-1)),s(n,{t:"Database File"})]),e("i",{class:B(["bi ms-auto",[d.b.database?"text-success bi-check-circle-fill":"text-danger bi-x-circle-fill"]])},null,2)])])]))}},Ct=M(kt,[["__scopeId","data-v-1e48d886"]]),$t={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},St={class:"d-flex h-100 w-100"},Nt={class:"modal-dialog-centered dashboardModal w-100 h-100 overflow-x-scroll flex-column gap-3 mx-3"},Pt={class:"my-5 d-flex gap-3 flex-column position-relative"},Bt={class:"title"},Rt={class:"d-flex mb-3"},Dt={class:"mb-0"},Lt={class:"position-relative d-flex flex-column gap-3"},Wt={class:"text-center title",key:"spinner"},Vt={class:"card my-0 rounded-3",key:"noBackups"},Ot={class:"card-body text-center text-muted"},It={__name:"configurationBackupRestore",emits:["close","refreshPeersList"],setup(d,{emit:r}){const t=A(),f=y([]),o=y(!0),g=r;z(()=>{u()});const u=()=>{o.value=!0,I("/api/getWireguardConfigurationBackup",{configurationName:t.params.id},c=>{f.value=c.data,o.value=!1})},x=()=>{I("/api/createWireguardConfigurationBackup",{configurationName:t.params.id},c=>{f.value=c.data,o.value=!1})};return(c,a)=>(v(),h("div",$t,[e("div",St,[e("div",Nt,[e("div",Pt,[e("div",Bt,[e("div",Rt,[e("h4",Dt,[s(n,{t:"Backup & Restore"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:a[0]||(a[0]=b=>c.$emit("close"))})]),e("button",{onClick:a[1]||(a[1]=b=>x()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 w-100"},[a[4]||(a[4]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),s(n,{t:"Create Backup"})])]),e("div",Lt,[s(Z,{name:"list1"},{default:U(()=>[o.value&&f.value.length===0?(v(),h("div",Wt,[...a[5]||(a[5]=[e("div",{class:"spinner-border"},null,-1)])])):!o.value&&f.value.length===0?(v(),h("div",Vt,[e("div",Ot,[a[6]||(a[6]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),s(n,{t:"No backup yet, click the button above to create backup."})])])):N("",!0),(v(!0),h(V,null,K(f.value,b=>(v(),R(Ct,{onRefresh:a[2]||(a[2]=_=>u()),onRefreshPeersList:a[3]||(a[3]=_=>g("refreshPeersList")),b,key:b.filename},null,8,["b"]))),128))]),_:1})])])])])],512))}},Mt=M(It,[["__scopeId","data-v-6851af5c"]]),Ht={id:"editPeerSettingsOverride"},Kt={class:"mb-0"},Tt={class:"mb-3 text-muted"},Ut={class:"d-flex gap-2 flex-column"},zt={for:"override_DNS",class:"form-label"},At={class:"text-muted"},Et=["disabled"],Ft={class:"invalid-feedback"},Jt={for:"override_EndpointAllowedIPs",class:"form-label"},jt={class:"text-muted"},Yt=["disabled"],qt={class:"invalid-feedback"},Gt={for:"override_ListenPort",class:"form-label"},Zt={class:"text-muted"},Qt=["disabled"],Xt={class:"invalid-feedback"},es={for:"override_MTU",class:"form-label"},ts={class:"text-muted"},ss=["disabled"],ns={class:"invalid-feedback"},os={for:"override_PeerRemoteEndpoint",class:"form-label"},ls={class:"text-muted"},is=["disabled"],as={for:"override_persistent_keepalive",class:"form-label"},ds={class:"text-muted"},rs=["disabled"],us={class:"invalid-feedback"},cs={class:"d-flex mt-1 gap-2"},ms=ie({__name:"editPeerSettingsOverride",props:["configuration"],setup(d){const r=d,t=y(!1),f=y({...r.configuration.Info.OverridePeerSettings}),o=y(!1),g=y("");z(()=>{document.querySelectorAll("#editPeerSettingsOverride input").forEach(c=>c.addEventListener("change",()=>{o.value=!0}))});const u=()=>{f.value=r.configuration.Info.OverridePeerSettings,o.value=!1},x=async()=>{document.querySelectorAll("#editPeerSettingsOverride input").forEach(c=>c.classList.remove("is-invalid","is-valid")),await L("/api/updateWireguardConfigurationInfo",{Name:r.configuration.Name,Key:"OverridePeerSettings",Value:f.value},c=>{c.status?(o.value=!1,r.configuration.Info.OverridePeerSettings=f.value,document.querySelectorAll("#editPeerSettingsOverride input").forEach(a=>a.classList.add("is-valid"))):(g.value=c.message,document.querySelector(`#override_${c.data}`).classList.add("is-invalid"))})};return(c,a)=>(v(),h("div",Ht,[e("h5",Kt,[s(n,{t:"Override Peer Settings"})]),e("h6",Tt,[e("small",null,[s(n,{t:"Only apply to peers in this configuration"})])]),e("div",Ut,[e("div",null,[e("label",zt,[e("small",At,[s(n,{t:"DNS"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[0]||(a[0]=b=>f.value.DNS=b),id:"override_DNS"},null,8,Et),[[S,f.value.DNS]]),e("div",Ft,P(g.value),1)]),e("div",null,[e("label",Jt,[e("small",jt,[s(n,{t:"Endpoint Allowed IPs"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[1]||(a[1]=b=>f.value.EndpointAllowedIPs=b),id:"override_EndpointAllowedIPs"},null,8,Yt),[[S,f.value.EndpointAllowedIPs]]),e("div",qt,P(g.value),1)]),e("div",null,[e("label",Gt,[e("small",Zt,[s(n,{t:"Listen Port"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[2]||(a[2]=b=>f.value.ListenPort=b),id:"override_ListenPort"},null,8,Qt),[[S,f.value.ListenPort]]),e("div",Xt,P(g.value),1)]),e("div",null,[e("label",es,[e("small",ts,[s(n,{t:"MTU"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[3]||(a[3]=b=>f.value.MTU=b),id:"override_MTU"},null,8,ss),[[S,f.value.MTU]]),e("div",ns,P(g.value),1)]),e("div",null,[e("label",os,[e("small",ls,[s(n,{t:"Peer Remote Endpoint"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[4]||(a[4]=b=>f.value.PeerRemoteEndpoint=b),id:"override_PeerRemoteEndpoint"},null,8,is),[[S,f.value.PeerRemoteEndpoint]])]),e("div",null,[e("label",as,[e("small",ds,[s(n,{t:"Persistent Keepalive"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:t.value,"onUpdate:modelValue":a[5]||(a[5]=b=>f.value.PersistentKeepalive=b),id:"override_PersistentKeepalive"},null,8,rs),[[S,f.value.PersistentKeepalive]]),e("div",us,P(g.value),1)]),e("div",cs,[e("button",{class:B([{disabled:!o.value},"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto"]),onClick:a[6]||(a[6]=b=>u())},[a[8]||(a[8]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],2),e("button",{class:B([{disabled:!o.value},"btn btn-sm bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow"]),onClick:a[7]||(a[7]=b=>x())},[a[9]||(a[9]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),s(n,{t:"Save"})],2)])])]))}}),fs={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0",ref:"editConfigurationContainer"},gs={class:"w-100 h-100 overflow-y-scroll"},bs={class:"container d-flex h-100 w-100"},vs={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},ps={class:"card rounded-3 shadow flex-grow-1"},hs={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},ys={class:"mb-0"},xs={class:"card-body px-4 pb-4"},_s={class:"d-flex gap-2 flex-column"},ws={key:0,class:"d-flex align-items-center gap-3"},ks={class:"text-muted"},Cs={class:"d-flex align-items-center gap-3"},$s={class:"text-muted",style:{"word-break":"keep-all"}},Ss={class:"ms-auto",style:{"word-break":"break-all"}},Ns={class:"d-flex"},Ps={for:"configuration_private_key",class:"form-label"},Bs={class:"text-muted d-block"},Rs={class:"form-check form-switch ms-auto"},Ds=["disabled"],Ls={for:"configuration_ipaddress_cidr",class:"form-label"},Ws={class:"text-muted"},Vs=["disabled"],Os={for:"configuration_listen_port",class:"form-label"},Is={class:"text-muted"},Ms=["disabled"],Hs={class:"accordion mt-2",id:"editConfigurationOptionalAccordion"},Ks={class:"accordion-item"},Ts={class:"accordion-header"},Us={class:"accordion-button collapsed px-3 py-2",type:"button","data-bs-toggle":"collapse","data-bs-target":"#editOptionalAccordionCollapse"},zs={class:"text-muted"},As={id:"editOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#editConfigurationOptionalAccordion"},Es={class:"accordion-body d-flex flex-column gap-3"},Fs=["for"],Js={class:"text-muted"},js=["disabled","onUpdate:modelValue","id"],Ys=["for"],qs={class:"text-muted"},Gs=["disabled","onUpdate:modelValue","id"],Zs={class:"d-flex align-items-center gap-2 mt-1"},Qs=["disabled"],Xs=["disabled"],en={class:"mb-3"},tn={class:"d-flex gap-2 flex-column"},ln={__name:"editConfiguration",props:{configurationInfo:Object},emits:["changed","close","refresh","dataChanged"],setup(d,{emit:r}){const t=d,f=Y(),o=H(),g=y(!1),u=J(JSON.parse(JSON.stringify(t.configurationInfo))),x=y(!1),c=y(!1),a=J({PrivateKey:!0,IPAddress:!0,ListenPort:!0}),b=()=>{f.checkWGKeyLength(u.PrivateKey)?(a.PrivateKey=!0,u.PublicKey=window.wireguard.generatePublicKey(u.PrivateKey)):a.PrivateKey=!1},_=()=>{c.value=!1,Object.assign(u,JSON.parse(JSON.stringify(t.configurationInfo)))},w=r,$=()=>{g.value=!0,L("/api/updateWireguardConfiguration",u,W=>{g.value=!1,W.status?(o.newMessage("Server","Configuration saved","success"),c.value=!1,w("dataChanged",W.data)):o.newMessage("Server",W.message,"danger")})},m=y(!1);q(u,()=>{c.value=JSON.stringify(u)!==JSON.stringify(t.configurationInfo)},{deep:!0});const i=y(!1),k=y(!1),E=y(!1);return(W,l)=>(v(),h("div",fs,[e("div",gs,[s(Z,{name:"zoom"},{default:U(()=>[i.value?(v(),R(Te,{key:0,name:"EditRawConfigurationFile",onClose:l[0]||(l[0]=p=>i.value=!1)})):N("",!0),E.value?(v(),R(et,{key:"DeleteConfiguration",onBackup:l[1]||(l[1]=p=>k.value=!0),onClose:l[2]||(l[2]=p=>E.value=!1)})):N("",!0),k.value?(v(),R(Mt,{key:2,onClose:l[3]||(l[3]=p=>k.value=!1),onRefreshPeersList:l[4]||(l[4]=p=>w("refresh"))})):N("",!0)]),_:1}),e("div",bs,[e("div",vs,[e("div",ps,[e("div",hs,[e("h4",ys,[s(n,{t:"Configuration Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:l[5]||(l[5]=p=>W.$emit("close"))})]),e("div",xs,[e("div",_s,[m.value?N("",!0):(v(),h("div",ws,[e("small",ks,[s(n,{t:"Name"})]),e("small",null,P(u.Name),1),e("button",{onClick:l[6]||(l[6]=p=>m.value=!0),class:"btn btn-sm bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[s(n,{t:"Update Name"})])])),m.value?(v(),R(pe,{key:1,onClose:l[7]||(l[7]=p=>m.value=!1),"configuration-name":u.Name},null,8,["configuration-name"])):(v(),h(V,{key:2},[l[24]||(l[24]=e("hr",null,null,-1)),e("div",Cs,[e("small",$s,[s(n,{t:"Public Key"})]),e("small",Ss,P(u.PublicKey),1)]),l[25]||(l[25]=e("hr",null,null,-1)),e("div",null,[e("div",Ns,[e("label",Ps,[e("small",Bs,[s(n,{t:"Private Key"})])]),e("div",Rs,[C(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"editPrivateKeySwitch","onUpdate:modelValue":l[8]||(l[8]=p=>x.value=p)},null,512),[[ae,x.value]]),l[18]||(l[18]=e("label",{class:"form-check-label",for:"editPrivateKeySwitch"},[e("small",null,"Edit")],-1))])]),C(e("input",{type:"text",class:B(["form-control form-control-sm rounded-3",{"is-invalid":!a.PrivateKey}]),disabled:g.value||!x.value,onKeyup:l[9]||(l[9]=p=>b()),"onUpdate:modelValue":l[10]||(l[10]=p=>u.PrivateKey=p),id:"configuration_private_key"},null,42,Ds),[[S,u.PrivateKey]])]),e("div",null,[e("label",Ls,[e("small",Ws,[s(n,{t:"IP Address/CIDR"})])]),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":l[11]||(l[11]=p=>u.Address=p),id:"configuration_ipaddress_cidr"},null,8,Vs),[[S,u.Address]])]),e("div",null,[e("label",Os,[e("small",Is,[s(n,{t:"Listen Port"})])]),C(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":l[12]||(l[12]=p=>u.ListenPort=p),id:"configuration_listen_port"},null,8,Ms),[[S,u.ListenPort]])]),e("div",Hs,[e("div",Ks,[e("h2",Ts,[e("button",Us,[e("small",zs,[s(n,{t:"Optional Settings"})])])]),e("div",As,[e("div",Es,[(v(),h(V,null,K(["Table","PreUp","PreDown","PostUp","PostDown"],p=>e("div",null,[e("label",{for:"configuration_"+p,class:"form-label"},[e("small",Js,[s(n,{t:p},null,8,["t"])])],8,Fs),C(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":F=>u[p]=F,id:"configuration_"+p},null,8,js),[[S,u[p]]])])),64)),d.configurationInfo.Protocol==="awg"?(v(),h(V,{key:0},K(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],p=>e("div",null,[e("label",{for:"configuration_"+p,class:"form-label"},[e("small",qs,[s(n,{t:p},null,8,["t"])])],8,Ys),C(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":F=>u[p]=F,id:"configuration_"+p},null,8,Gs),[[S,u[p]]])])),64)):N("",!0)])])])]),e("div",Zs,[e("button",{class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto",onClick:l[13]||(l[13]=p=>_()),disabled:!c.value||g.value},[l[19]||(l[19]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),s(n,{t:"Reset"})],8,Qs),e("button",{class:"btn btn-sm bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow",disabled:!c.value||g.value,onClick:l[14]||(l[14]=p=>$())},[l[20]||(l[20]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),s(n,{t:"Save"})],8,Xs)]),l[26]||(l[26]=e("hr",null,null,-1)),s(ms,{configuration:d.configurationInfo},null,8,["configuration"]),l[27]||(l[27]=e("hr",null,null,-1)),e("h5",en,[s(n,{t:"Danger Zone"})]),e("div",tn,[e("button",{onClick:l[15]||(l[15]=p=>k.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 text-start d-flex"},[l[21]||(l[21]=e("i",{class:"bi bi-copy me-auto"},null,-1)),s(n,{t:"Backup & Restore"})]),e("button",{onClick:l[16]||(l[16]=p=>i.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 d-flex"},[l[22]||(l[22]=e("i",{class:"bi bi-pen me-auto"},null,-1)),s(n,{t:"Edit Raw Configuration File"})]),e("button",{onClick:l[17]||(l[17]=p=>E.value=!0),class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 d-flex mt-4"},[l[23]||(l[23]=e("i",{class:"bi bi-trash-fill me-auto"},null,-1)),s(n,{t:"Delete Configuration"})])])],64))])])])])])])],512))}};export{ln as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-Bcu-vmis.css b/src/static/dist/WGDashboardAdmin/assets/index-BJoKV7uo.css similarity index 60% rename from src/static/dist/WGDashboardAdmin/assets/index-Bcu-vmis.css rename to src/static/dist/WGDashboardAdmin/assets/index-BJoKV7uo.css index e7a1973e..36fe5463 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-Bcu-vmis.css +++ b/src/static/dist/WGDashboardAdmin/assets/index-BJoKV7uo.css @@ -1 +1 @@ -@charset "UTF-8";*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.dp__input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}::-webkit-scrollbar{display:none}.codeFont{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.feather{width:16px;height:16px;vertical-align:text-bottom}.btn-primary{font-weight:700}#app{width:100%;height:100vh}@supports (height: 100dvh){#app{height:100dvh}}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #F94647; inherits: false;}@property --distance2{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.dashboardLogo{background:#178bff;background:linear-gradient(234deg,var(--brandColor1) var(--distance2),var(--brandColor2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:--brandColor1 1s,--brandColor2 .3s,--distance2 1s!important}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 1s,--brandColor2 1s,--distance2 .5s!important}.btn-brand.loading{animation:spin infinite forwards 3s linear}.btn-brand:hover,.dashboardLogo:hover{--brandColor1: #2dadff;--brandColor2: #ff6c6d;--distance2: 30%}.signInBtn.signedIn{--distance2: 100%}@keyframes spin{0%{--degree: 234deg}to{--degree: 594deg}}[data-bs-theme=dark].main,#app:has(.main[data-bs-theme=dark]),[data-bs-theme=dark].navbar-container{background-color:#1b1e21}.sidebar .nav-link,.bottomNavContainer .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1)}[data-bs-theme=dark] .sidebar .nav-link{color:#fff}[data-bs-theme=dark] .sidebar .nav-link.active{color:#74b7ff}[data-bs-theme=dark] .nav-link:hover,[data-bs-theme=dark] .nav-link.active{background-color:#323844}.nav-link:hover,.nav-link.active{background-color:#e8e8e8}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active,.bottomNavContainer .nav-link.active{color:#007bff}.sidebar .nav-link:hover .feather,.sidebar .nav-link.active .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}.navbar .navbar-toggler{top:.25rem;right:1rem}.form-control{transition:all .2s ease-in-out}.form-control:disabled{cursor:not-allowed}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:#ffffff1a;border-color:#ffffff1a}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px #ffffff40}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:all .4s cubic-bezier(.96,-.07,.34,1);opacity:1}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:none!important;padding:0;margin:0 1rem 0 0}.btn-control:hover{background-color:transparent!important}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:none!important;box-shadow:none}.btn-qrcode-peer{padding:0!important}.btn-qrcode-peer:active,.btn-qrcode-peer:hover{transform:scale(.9) rotate(180deg);border:0!important}.btn-download-peer:active,.btn-download-peer:hover{color:#17a2b8!important;transform:translateY(5px)}.share_peer_btn_group .btn-control{margin:0 0 0 1rem;padding:0!important;transition:all .4s cubic-bezier(1,-.43,0,1)}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-lock-peer:hover{color:#28a745}.btn-lock-peer.lock,.btn-lock-peer.lock:hover{color:#6c757d}.btn-control.btn-outline-primary:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width: 992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}.peer_data_group{text-align:right;display:flex;margin-bottom:.5rem}.peer_data_group p{text-transform:uppercase;margin-bottom:0;margin-right:1rem}@media (max-width: 768px){.peer_data_group{text-align:left}}.index-switch{display:flex;align-items:center;justify-content:flex-end}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width: 768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:7rem!important}}.btn-manage-group{z-index:99;position:fixed;bottom:3rem;right:2rem;display:flex}.btn-manage-group .setting_btn_menu{position:absolute;top:-124px;background-color:#fff;padding:1rem 0;right:0;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;border-radius:10px;min-width:250px;display:none;transform:translateY(-30px);opacity:0;transition:all .3s cubic-bezier(.58,.03,.05,1)}.btn-manage-group .setting_btn_menu.show{display:block}.setting_btn_menu.showing{transform:translateY(0);opacity:1}.setting_btn_menu a{display:flex;padding:.5rem 1rem;transition:all .1s ease-in-out;font-size:1rem;align-items:center;cursor:pointer}.setting_btn_menu a:hover{background-color:#efefef;text-decoration:none}.setting_btn_menu a i{margin-right:auto!important}.add_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;margin-right:1rem;font-size:1.5rem}.setting_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;font-size:1.5rem}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating:before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key,#peer_preshared_key_textbox{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card{border-radius:10px}.peer_list .card .button-group{height:22px}.form-control{border-radius:10px}.btn{border-radius:8px}.login-box label[for=username],.login-box label[for=password],.login-box label[for=totp]{font-size:1rem;margin:0!important;transform:translateY(2.1rem) translate(1rem);padding:0}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}@-webkit-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}@-moz-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff}.info_loading{height:19.19px;opacity:0!important}#conf_status_btn{transition:.2s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}#qrcode_img img{width:100%}#selected_ip_list .badge,#selected_peer_list .badge{margin:.1rem}#add_modal.ip_modal_open{transition:filter .2s ease-in-out;filter:brightness(.5)}#delete_bulk_modal .list-group a.active{background-color:#dc3545;border-color:#dc3545}#selected_peer_list{max-height:80px;overflow-y:scroll;overflow-x:hidden}.no-response{width:100%;height:100%;position:fixed;background:#000000ba;z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all 1s ease-in-out}.no-response.active{display:flex}.no-response.active.show{opacity:100}.no-response .container>*{text-align:center}.no-responding{transition:all 1s ease-in-out;filter:blur(10px)}pre.index-alert{margin-bottom:0;padding:1rem;background-color:#343a40;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-top:1rem;color:#fff}.peerNameCol{display:flex;align-items:center;margin-bottom:.2rem}.peerName{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peerLightContainer{text-transform:uppercase;margin:0;margin-left:auto!important}#config_body{transition:.3s ease-in-out}#config_body.firstLoading{opacity:.2}.chartTitle{display:flex}.chartControl{margin-bottom:1rem;display:flex;align-items:center}.chartTitle h6{margin-bottom:0;line-height:1;margin-right:.5rem}.chartContainer.fullScreen{position:fixed;z-index:9999;background-color:#fff;top:0;left:0;width:calc(100% + 15px);height:100%;padding:32px}.chartContainer.fullScreen .col-sm{padding-right:0;height:100%}.chartContainer.fullScreen .chartCanvasContainer{width:100%;height:calc(100% - 47px)!important;max-height:calc(100% - 47px)!important}#switch{transition:all .2s ease-in}.toggle--switch{display:none}.toggleLabel{width:64px;height:32px;background-color:#6c757d17;display:flex;position:relative;border:2px solid #6c757d8c;border-radius:100px;transition:all .2s ease-in;cursor:pointer;margin:0}.toggle--switch.waiting+.toggleLabel{opacity:.5}.toggleLabel:before{background-color:#6c757d;height:26px;width:26px;content:"";border-radius:100px;margin:1px;position:absolute;animation-name:off;animation-duration:.35s;animation-fill-mode:forwards;transition:all .2s ease-in;cursor:pointer}.toggleLabel:hover:before{filter:brightness(1.2)}.toggle--switch:checked+.toggleLabel{background-color:#007bff17!important;border:2px solid #007bff8c}.toggle--switch:checked+.toggleLabel:before{background-color:#007bff;animation-name:on;animation-duration:.35s;animation-fill-mode:forwards}@keyframes on{0%{left:0}60%{left:0;width:40px}to{left:32px;width:26px}}@keyframes off{0%{left:32px}60%{left:18px;width:40px}to{left:0;width:26px}}.toastContainer{z-index:99999!important}.toast{min-width:300px;background-color:#fff;z-index:99999}.toast-header{background-color:#fff}.toast-progressbar{width:100%;height:4px;background-color:#007bff;border-bottom-left-radius:.25rem}.addConfigurationAvailableIPs{margin-bottom:0}.input-feedback{display:none}#addConfigurationModal label{display:flex;width:100%;align-items:center}#addConfigurationModal label a{margin-left:auto!important}#reGeneratePrivateKey{border-top-right-radius:10px;border-bottom-right-radius:10px}.addConfigurationToggleStatus.waiting{opacity:.5}.peerDataUsageChartContainer{min-height:50vh;width:100%}.peerDataUsageChartControl{display:block!important;margin:0}.peerDataUsageChartControl .switchUnit{width:33.3%}.peerDataUsageChartControl .switchTimePeriod{width:25%}@media (min-width: 1200px){#peerDataUsage .modal-xl{max-width:95vw}}.bottom{display:none}@media (max-width: 768px){.bottom{display:block}.btn-manage-group{bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}main{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.bottomNavContainer{display:flex;color:#333;padding-bottom:env(safe-area-inset-bottom,5px);box-shadow:inset 0 1px #0000001a}.bottomNavButton{width:25vw;display:flex;flex-direction:column;align-items:center;margin:.7rem 0;color:#33333380;cursor:pointer;transition:all ease-in .2s}.bottomNavButton.active{color:#333}.bottomNavButton i{font-size:1.2rem}.bottomNavButton .subNav{width:100vw;position:absolute;z-index:10000;bottom:0;left:0;background-color:#272b30;display:none;animation-duration:.4s;padding-bottom:env(safe-area-inset-bottom,5px)}.bottomNavButton .subNav.active{display:block}.bottomNavButton .subNav .nav .nav-item .nav-link{padding:.7rem 1rem}.bottomNavWrapper{height:100%;width:100%;background-color:#000000a1;position:fixed;z-index:1030;display:none;left:0}.bottomNavWrapper.active{display:block}.sb-update-url .dot-running{transform:translate(10px)}.list-group-item{transition:all .1s ease-in}.theme-switch-btn{width:100%}.fade-enter-active,.fade-leave-active{transition:all .5s cubic-bezier(.42,0,.22,1)}.fade-enter-from,.fade-leave-to{transform:translateY(40px);opacity:0}.fade2-enter-active,.fade2-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.fade2-enter-from{transform:translateY(30px);opacity:0}.fade2-leave-to{transform:translateY(-30px);filter:blur(3px);opacity:0}.login-container-fluid{height:calc(100% - 50px)}@media screen and (min-width: 576px){.login-container-fluid{height:100%}}.totp{font-family:var(--bs-font-monospace)}.message-move,.message-enter-active,.message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from,.message-leave-to{filter:blur(2px);opacity:0}.message-enter-from{transform:translateY(-30px)}.message-leave-to{transform:translateY(30px)}.message-leave-active{position:absolute}.fade3-enter-active,.fade3-leave-active{transition:all .15s ease-in-out}.fade3-enter-from{transform:scale(1);opacity:0}.fade3-leave-to{transform:scale(.8);opacity:0}.list-move,.list-enter-active,.list-leave-active{transition:all .5s ease-in-out}.list-enter-from,.list-leave-to{opacity:0;transform:scale(1.1)}.list-leave-active{position:absolute}.peerSettingContainer{background-color:#00000060;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dashboardModal{min-height:calc(100% - 3.5rem);width:700px}.dashboardModal>.card{margin:1.75rem}.zoom-enter-active,.zoom-leave-active,.zoomReversed-enter-active,.zoomReversed-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.zoom-enter-from,.zoom-leave-to{transform:scale(1.1);filter:blur(3px);opacity:0}.zoomReversed-enter-from,.zoomReversed-leave-to{transform:scale(.9);filter:blur(3px);opacity:0}.messageCentre{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre{width:calc(100% - 2rem)}}.slide-move,.slide-enter-active,.slide-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.slide-leave-active{position:absolute;width:100%}.slide-enter-from{opacity:0;transform:translate(-50px)!important}.slide-leave-to{opacity:0;transform:translate(50px)!important}@property --bgdegree{syntax: ""; initial-value: 234deg; inherits: false;}.login-container-fluid{background:linear-gradient(var(--bgdegree),#0035551a var(--distance2),#400b0b1a 100%);animation:login 15s ease-in-out infinite}.login-container-fluid[data-bs-theme=dark]{background:linear-gradient(var(--bgdegree),#003555 var(--distance2),#400b0b 100%);animation:login 15s ease-in-out infinite}@keyframes login{0%{--bgdegree: 234deg}to{--bgdegree: 594deg}}.loadingBar{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%)}.loadingBar.loading{animation:loading cubic-bezier(.82,.58,.17,1) .2s forwards}.loadingBar.loadingDone{animation:loadingDone cubic-bezier(.82,.58,.17,1) .5s forwards}@keyframes loading{0%{opacity:0;width:0%}to{opacity:1;width:20%}}@keyframes loadingDone{0%{opacity:1;width:20%}to{opacity:0;width:100%}}@media screen and (max-width: 576px){.dashboardModal{width:100%!important}.dashboardModal>.card{margin:.5rem!important}}samp{word-wrap:anywhere}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.slideUp-enter-active,.slideUp-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.slideUp-enter-from,.slideUp-leave-to{transform:translateY(100%);filter:blur(3px)}.peerList-move,.peerList-enter-active,.peerList-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.peerList-enter-from{transform:translateY(100%);opacity:0}.peerList-leave-to{transform:scale(.8);opacity:0}.peerList-leave-active{position:absolute}.agent-message-move,.agent-message-enter-active,.agent-message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.agent-message-enter-from,.agent-message-leave-to{opacity:0;filter:blur(8px);transform:translateY(30px)}.agent-message-leave-active{position:absolute}.slide-fade-leave-active,.slide-fade-enter-active{transition:all .2s cubic-bezier(.82,.58,.17,1.3)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(20px);opacity:0;filter:blur(3px)}[data-bs-theme=dark] #map{filter:grayscale(80%) invert(100%)}:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #b5b6b7;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(10,88,202,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,94,100,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(20,108,67,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(176,42,55,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/dist/WGDashboardAdmin/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(/static/dist/WGDashboardAdmin/assets/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:"爛"}:root{--animate-duration: 1s;--animate-delay: 1s;--animate-repeat: 1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 2);animation-iteration-count:calc(var(--animate-repeat) * 2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 3);animation-iteration-count:calc(var(--animate-repeat) * 3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay) * 2);animation-delay:calc(var(--animate-delay) * 2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay) * 3);animation-delay:calc(var(--animate-delay) * 3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay) * 4);animation-delay:calc(var(--animate-delay) * 4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay) * 5);animation-delay:calc(var(--animate-delay) * 5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration) / 2);animation-duration:calc(var(--animate-duration) / 2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration) * .8);animation-duration:calc(var(--animate-duration) * .8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration) * 3);animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion: reduce){.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translate(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translate(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translate(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translate(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translate(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translate(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translate(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translate(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translate(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translate(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translate(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration) * 1.3);animation-duration:calc(var(--animate-duration) * 1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skew(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skew(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skew(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skew(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.dp__input_wrap{position:relative;width:100%;box-sizing:unset}.dp__input_wrap:focus{border-color:var(--dp-border-color-hover);outline:none}.dp__input_valid{box-shadow:0 0 var(--dp-border-radius) var(--dp-success-color);border-color:var(--dp-success-color)}.dp__input_valid:hover{border-color:var(--dp-success-color)}.dp__input_invalid{box-shadow:0 0 var(--dp-border-radius) var(--dp-danger-color);border-color:var(--dp-danger-color)}.dp__input_invalid:hover{border-color:var(--dp-danger-color)}.dp__input{background-color:var(--dp-background-color);border-radius:var(--dp-border-radius);font-family:var(--dp-font-family);border:1px solid var(--dp-border-color);outline:none;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:var(--dp-input-padding);color:var(--dp-text-color);box-sizing:border-box}.dp__input::placeholder{opacity:.7}.dp__input:hover:not(.dp__input_focus){border-color:var(--dp-border-color-hover)}.dp__input_not_clearable{padding-inline-end:var(--dp-input-not-clearable-padding)!important}.dp__input_reg{caret-color:#0000}.dp__input_focus{border-color:var(--dp-border-color-focus)}.dp__disabled{background:var(--dp-disabled-color)}.dp__disabled::placeholder{color:var(--dp-disabled-color-text)}.dp__input_icons{display:inline-block;width:var(--dp-font-size);height:var(--dp-font-size);stroke-width:0;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:6px 12px;color:var(--dp-icon-color);box-sizing:content-box}.dp__input_icon{cursor:pointer;position:absolute;top:50%;inset-inline-start:0;transform:translateY(-50%);color:var(--dp-icon-color)}.dp--clear-btn{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);cursor:pointer;color:var(--dp-icon-color);background:#0000;border:none;display:inline-flex;align-items:center;padding:0;margin:0}.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.dp__menu{background:var(--dp-background-color);border-radius:var(--dp-border-radius);min-width:var(--dp-menu-min-width);font-family:var(--dp-font-family);font-size:var(--dp-font-size);user-select:none;border:1px solid var(--dp-menu-border-color);box-sizing:border-box}.dp__menu:after{box-sizing:border-box}.dp__menu:before{box-sizing:border-box}.dp__menu:focus{border:1px solid var(--dp-menu-border-color);outline:none}.dp--menu-wrapper{position:absolute;z-index:99999}.dp__menu_inner{padding:var(--dp-menu-padding)}.dp--menu--inner-stretched{padding:6px 0}.dp__menu_index{z-index:99999}.dp-menu-loading,.dp__menu_readonly,.dp__menu_disabled{position:absolute;inset:0;z-index:999999}.dp__menu_disabled{background:#ffffff80;cursor:not-allowed}.dp__menu_readonly{background:#0000;cursor:default}.dp-menu-loading{background:#ffffff80;cursor:default}.dp--menu-load-container{display:flex;height:100%;width:100%;justify-content:center;align-items:center}.dp--menu-loader{width:48px;height:48px;border:var(--dp-loader);border-bottom-color:#0000;border-radius:50%;display:inline-block;box-sizing:border-box;animation:dp-load-rotation 1s linear infinite;position:absolute}@keyframes dp-load-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dp__arrow_top{height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-top:1px solid var(--dp-menu-border-color);transform:translateY(-50%) rotate(-45deg)}.dp__arrow_bottom{left:var(--dp-arrow-left);bottom:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-bottom:1px solid var(--dp-menu-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__action_extra{text-align:center;padding:2px 0}.dp--preset-dates{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp--preset-dates[data-dp-mobile],.dp--preset-dates-collapsed{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}.dp__sidebar_left{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp__sidebar_right{padding:5px;margin-inline-end:1px solid var(--dp-border-color)}.dp--preset-range{display:block;width:100%;padding:5px;text-align:left;white-space:nowrap;color:var(--dp-text-color);border-radius:var(--dp-border-radius);transition:var(--dp-common-transition)}.dp--preset-range:hover{background-color:var(--dp-hover-color);color:var(--dp-hover-text-color);cursor:pointer}.dp--preset-range[data-dp-mobile]{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range[data-dp-mobile]:first-child{margin-left:0}.dp--preset-range[data-dp-mobile]:last-child{margin-right:0}.dp--preset-range-collapsed{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range-collapsed:first-child{margin-left:0}.dp--preset-range-collapsed:last-child{margin-right:0}.dp__menu_content_wrapper{display:flex}.dp__menu_content_wrapper[data-dp-mobile],.dp--menu-content-wrapper-collapsed{flex-direction:column-reverse}.dp__calendar_header{position:relative;display:flex;justify-content:center;align-items:center;color:var(--dp-text-color);white-space:nowrap;font-weight:700}.dp__calendar_header_item{text-align:center;flex-grow:1;height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box}.dp__calendar_row{display:flex;justify-content:center;align-items:center;margin:var(--dp-row-margin)}.dp__calendar_item{text-align:center;flex-grow:1;box-sizing:border-box;color:var(--dp-text-color)}.dp__calendar{position:relative}.dp__calendar_header_cell{border-bottom:thin solid var(--dp-border-color);padding:var(--dp-calendar-header-cell-padding)}.dp__cell_inner{display:flex;align-items:center;text-align:center;justify-content:center;border-radius:var(--dp-cell-border-radius);height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);border:1px solid rgba(0,0,0,0);box-sizing:border-box;position:relative}.dp__cell_inner:hover{transition:all .2s}.dp__cell_auto_range_start,.dp__date_hover_start:hover,.dp__range_start{border-end-end-radius:0;border-start-end-radius:0}.dp__cell_auto_range_end,.dp__date_hover_end:hover,.dp__range_end{border-end-start-radius:0;border-start-start-radius:0}.dp__range_end,.dp__range_start,.dp__active_date{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__date_hover_end:hover,.dp__date_hover_start:hover,.dp__date_hover:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__cell_offset{color:var(--dp-secondary-color)}.dp__cell_disabled{color:var(--dp-secondary-color);cursor:not-allowed}.dp--extended-fixed-end,.dp--extended-fixed-start,.dp__range_between{background:var(--dp-range-between-dates-background-color);color:var(--dp-range-between-dates-text-color);border-radius:0;border:1px solid var(--dp-range-between-border-color)}.dp__range_between_week{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border-radius:0;border-top:1px solid var(--dp-primary-color);border-bottom:1px solid var(--dp-primary-color)}.dp__today{border:1px solid var(--dp-primary-color)}.dp__week_num{color:var(--dp-secondary-color);text-align:center}.dp__cell_auto_range{border-radius:0;border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_start{border-start-start-radius:var(--dp-cell-border-radius);border-end-start-radius:var(--dp-cell-border-radius);border-inline-start:1px dashed var(--dp-primary-color);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_end{border-start-end-radius:var(--dp-cell-border-radius);border-end-end-radius:var(--dp-cell-border-radius);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-inline-end:1px dashed var(--dp-primary-color)}.dp__calendar_header_separator{width:100%;height:1px;background:var(--dp-border-color)}.dp__calendar_next{margin-inline-start:var(--dp-multi-calendars-spacing)}.dp__marker_line,.dp__marker_dot{height:5px;background-color:var(--dp-marker-color);position:absolute;bottom:0}.dp__marker_dot{width:5px;border-radius:50%;left:50%;transform:translate(-50%)}.dp__marker_line{width:100%;left:0}.dp__marker_tooltip{position:absolute;border-radius:var(--dp-border-radius);background-color:var(--dp-tooltip-color);padding:5px;border:1px solid var(--dp-border-color);z-index:99999;box-sizing:border-box;cursor:default}.dp__tooltip_content{white-space:nowrap}.dp__tooltip_text{display:flex;align-items:center;flex-flow:row nowrap;color:var(--dp-text-color)}.dp__tooltip_mark{height:5px;width:5px;border-radius:50%;background-color:var(--dp-text-color);color:var(--dp-text-color);margin-inline-end:5px}.dp__arrow_bottom_tp{bottom:0;height:8px;width:8px;background-color:var(--dp-tooltip-color);position:absolute;border-inline-end:1px solid var(--dp-border-color);border-bottom:1px solid var(--dp-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__instance_calendar{position:relative;width:100%}.dp__flex_display[data-dp-mobile],.dp--flex-display-collapsed{flex-direction:column}.dp__cell_highlight{background-color:var(--dp-highlight-color)}.dp__month_year_row{display:flex;align-items:center;height:var(--dp-month-year-row-height);color:var(--dp-text-color);box-sizing:border-box}.dp__inner_nav{display:flex;align-items:center;justify-content:center;cursor:pointer;height:var(--dp-month-year-row-button-size);width:var(--dp-month-year-row-button-size);color:var(--dp-icon-color);text-align:center;border-radius:50%}.dp__inner_nav svg{height:var(--dp-button-icon-height);width:var(--dp-button-icon-height)}.dp__inner_nav:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}[dir=rtl] .dp__inner_nav{transform:rotate(180deg)}.dp__inner_nav_disabled:hover,.dp__inner_nav_disabled{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp--year-select,.dp__month_year_select{text-align:center;cursor:pointer;height:var(--dp-month-year-row-height);display:flex;align-items:center;justify-content:center;border-radius:var(--dp-border-radius);box-sizing:border-box;color:var(--dp-text-color)}.dp--year-select:hover,.dp__month_year_select:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__month_year_select{width:50%}.dp--year-select{width:100%}.dp__month_year_wrap{display:flex;flex-direction:row;width:100%;align-items:center}.dp__year_disable_select{justify-content:space-around}.dp--header-wrap{display:flex;width:100%;flex-direction:column}.dp__overlay{width:100%;background:var(--dp-background-color);transition:opacity 1s ease-out;z-index:99999;font-family:var(--dp-font-family);color:var(--dp-text-color);box-sizing:border-box}.dp--overlay-absolute{position:absolute;height:100%;top:0;left:0}.dp--overlay-relative{position:relative}.dp__overlay_container::-webkit-scrollbar-track{box-shadow:var(--dp-scroll-bar-background);background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar{width:5px;background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar-thumb{background-color:var(--dp-scroll-bar-color);border-radius:10px}.dp__overlay:focus{border:none;outline:none}.dp__container_flex{display:flex}.dp__container_block{display:block}.dp__overlay_container{flex-direction:column;overflow-y:auto;height:var(--dp-overlay-height)}.dp__time_picker_overlay_container{height:100%}.dp__overlay_row{padding:0;box-sizing:border-box;display:flex;margin-inline:auto;flex-wrap:wrap;max-width:100%;width:100%;align-items:center}.dp__flex_row{flex:1}.dp__overlay_col{box-sizing:border-box;width:33%;padding:var(--dp-overlay-col-padding);white-space:nowrap}.dp__overlay_cell_pad{padding:var(--dp-common-padding) 0}.dp__overlay_cell_active{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center;background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__overlay_cell{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center}.dp__overlay_cell:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__cell_in_between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__over_action_scroll{right:5px;box-sizing:border-box}.dp__overlay_cell_disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp__overlay_cell_disabled:hover{background:var(--dp-disabled-color)}.dp__overlay_cell_active_disabled{cursor:not-allowed;background:var(--dp-primary-disabled-color)}.dp__overlay_cell_active_disabled:hover{background:var(--dp-primary-disabled-color)}.dp__btn,.dp--qr-btn,.dp--time-overlay-btn,.dp--time-invalid{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--year-mode-picker{display:flex;width:100%;align-items:center;justify-content:space-between;height:var(--dp-cell-size)}.dp--tp-wrap{width:100%}.dp--tp-wrap[data-dp-mobile]{max-width:100%}.dp__time_input{width:100%;display:flex;align-items:center;justify-content:center;user-select:none;font-family:var(--dp-font-family);color:var(--dp-text-color)}.dp__time_col_reg_block{padding:0 20px}.dp__time_col_reg_inline{padding:0 10px}.dp__time_col_reg_with_button{padding:0 15px}.dp__time_col_reg_with_button[data-compact~=true]{padding:0 5px}.dp__time_col_sec{padding:0 10px}.dp__time_col_sec_with_button{padding:0 5px}.dp__time_col_sec_with_button[data-collapsed~=true]{padding:0}.dp__time_col{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.dp__time_col_block{font-size:var(--dp-time-font-size)}.dp__time_display_block{padding:0 3px}.dp__time_display_inline{padding:5px}.dp__time_picker_inline_container{display:flex;width:100%;justify-content:center}.dp__inc_dec_button{padding:5px;margin:0;height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--dp-icon-color);box-sizing:border-box}.dp__inc_dec_button svg{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size)}.dp__inc_dec_button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__time_display{cursor:pointer;color:var(--dp-text-color);border-radius:var(--dp-border-radius);display:flex;align-items:center;justify-content:center}.dp__time_display:hover:enabled{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__inc_dec_button_inline{width:100%;padding:0;height:8px;cursor:pointer;display:flex;align-items:center}.dp__inc_dec_button_disabled,.dp__inc_dec_button_disabled:hover{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp__pm_am_button{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border:none;padding:var(--dp-common-padding);border-radius:var(--dp-border-radius);cursor:pointer}.dp__pm_am_button[data-compact~=true]{padding:7px}.dp__tp_inline_btn_bar{width:100%;height:4px;background-color:var(--dp-secondary-color);transition:var(--dp-common-transition);border-collapse:collapse}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_l,.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(-12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_l{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp--time-overlay-btn{background:none}.dp--time-invalid{background-color:var(--dp-disabled-color)}.dp__action_row{display:flex;align-items:center;width:100%;padding:var(--dp-action-row-padding);box-sizing:border-box;color:var(--dp-text-color);flex-flow:row nowrap}.dp__action_row svg{height:var(--dp-button-icon-height);width:auto}.dp__selection_preview{display:block;color:var(--dp-text-color);font-size:var(--dp-preview-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dp__action_buttons{display:flex;flex:0;white-space:nowrap;align-items:center;justify-content:flex-end;margin-inline-start:auto}.dp__action_button{display:inline-flex;align-items:center;background:#0000;border:1px solid rgba(0,0,0,0);padding:var(--dp-action-buttons-padding);line-height:var(--dp-action-button-height);margin-inline-start:3px;height:var(--dp-action-button-height);cursor:pointer;border-radius:var(--dp-border-radius);font-size:var(--dp-preview-font-size);font-family:var(--dp-font-family)}.dp__action_cancel{color:var(--dp-text-color);border:1px solid var(--dp-border-color)}.dp__action_cancel:hover{border-color:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__action_buttons .dp__action_select:hover{background:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select:disabled{background:var(--dp-primary-disabled-color);cursor:not-allowed}.dp-quarter-picker-wrap{display:flex;flex-direction:column;height:100%;min-width:var(--dp-menu-min-width)}.dp--qr-btn-disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp--qr-btn-disabled:hover{background:var(--dp-disabled-color)}.dp--qr-btn{width:100%;padding:var(--dp-common-padding)}.dp--qr-btn:not(.dp--highlighted,.dp--qr-btn-active,.dp--qr-btn-disabled,.dp--qr-btn-between){background:none}.dp--qr-btn:hover:not(.dp--qr-btn-active,.dp--qr-btn-disabled){background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp--quarter-items{display:flex;flex-direction:column;flex:1;width:100%;height:100%;justify-content:space-evenly}.dp--qr-btn-active{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp--qr-btn-between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}:root{--dp-common-transition: all .1s ease-in;--dp-menu-padding: 6px 8px;--dp-animation-duration: .1s;--dp-menu-appear-transition-timing: cubic-bezier(.4, 0, 1, 1);--dp-transition-timing: ease-out;--dp-action-row-transition: all .2s ease-in;--dp-font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--dp-border-radius: 4px;--dp-cell-border-radius: 4px;--dp-transition-length: 22px;--dp-transition-timing-general: .1s;--dp-button-height: 35px;--dp-month-year-row-height: 35px;--dp-month-year-row-button-size: 25px;--dp-button-icon-height: 20px;--dp-calendar-wrap-padding: 0 5px;--dp-cell-size: 35px;--dp-cell-padding: 5px;--dp-common-padding: 10px;--dp-input-icon-padding: 35px;--dp-input-padding: 6px 30px 6px 12px;--dp-input-not-clearable-padding: 12px;--dp-menu-min-width: 260px;--dp-action-buttons-padding: 1px 6px;--dp-row-margin: 5px 0;--dp-calendar-header-cell-padding: .5rem;--dp-multi-calendars-spacing: 10px;--dp-overlay-col-padding: 3px;--dp-time-inc-dec-button-size: 32px;--dp-font-size: 1rem;--dp-preview-font-size: .8rem;--dp-time-font-size: 2rem;--dp-action-button-height: 22px;--dp-action-row-padding: 8px;--dp-direction: ltr}.dp__theme_dark{--dp-background-color: #212121;--dp-text-color: #fff;--dp-hover-color: #484848;--dp-hover-text-color: #fff;--dp-hover-icon-color: #959595;--dp-primary-color: #005cb2;--dp-primary-disabled-color: #61a8ea;--dp-primary-text-color: #fff;--dp-secondary-color: #a9a9a9;--dp-border-color: #2d2d2d;--dp-menu-border-color: #2d2d2d;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #737373;--dp-disabled-color-text: #d0d0d0;--dp-scroll-bar-background: #212121;--dp-scroll-bar-color: #484848;--dp-success-color: #00701a;--dp-success-color-disabled: #428f59;--dp-icon-color: #959595;--dp-danger-color: #e53935;--dp-marker-color: #e53935;--dp-tooltip-color: #3e3e3e;--dp-highlight-color: rgb(0 92 178 / 20%);--dp-range-between-dates-background-color: var(--dp-hover-color, #484848);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #fff);--dp-range-between-border-color: var(--dp-hover-color, #fff);--dp-loader: 5px solid #005cb2}.dp__theme_light{--dp-background-color: #fff;--dp-text-color: #212121;--dp-hover-color: #f3f3f3;--dp-hover-text-color: #212121;--dp-hover-icon-color: #959595;--dp-primary-color: #1976d2;--dp-primary-disabled-color: #6bacea;--dp-primary-text-color: #fff;--dp-secondary-color: #c0c4cc;--dp-border-color: #ddd;--dp-menu-border-color: #ddd;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #f6f6f6;--dp-scroll-bar-background: #f3f3f3;--dp-scroll-bar-color: #959595;--dp-success-color: #76d275;--dp-success-color-disabled: #a3d9b1;--dp-icon-color: #959595;--dp-danger-color: #ff6f60;--dp-marker-color: #ff6f60;--dp-tooltip-color: #fafafa;--dp-disabled-color-text: #8e8e8e;--dp-highlight-color: rgb(25 118 210 / 10%);--dp-range-between-dates-background-color: var(--dp-hover-color, #f3f3f3);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #212121);--dp-range-between-border-color: var(--dp-hover-color, #f3f3f3);--dp-loader: 5px solid #1976d2}.dp__flex{display:flex;align-items:center}.dp__btn{background:none}.dp__main{font-family:var(--dp-font-family);user-select:none;box-sizing:border-box;position:relative;width:100%}.dp__main *{direction:var(--dp-direction, ltr)}.dp__pointer{cursor:pointer}.dp__icon{stroke:currentcolor;fill:currentcolor}.dp__button{width:100%;text-align:center;color:var(--dp-icon-color);cursor:pointer;display:flex;align-items:center;place-content:center center;padding:var(--dp-common-padding);box-sizing:border-box;height:var(--dp-button-height)}.dp__button.dp__overlay_action{position:absolute;bottom:0}.dp__button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__button svg{height:var(--dp-button-icon-height);width:auto}.dp__button_bottom{border-bottom-left-radius:var(--dp-border-radius);border-bottom-right-radius:var(--dp-border-radius)}.dp__flex_display{display:flex}.dp__flex_display_with_input{flex-direction:column;align-items:flex-start}.dp__relative{position:relative}.calendar-next-enter-active,.calendar-next-leave-active,.calendar-prev-enter-active,.calendar-prev-leave-active{transition:all var(--dp-transition-timing-general) ease-out}.calendar-next-enter-from{opacity:0;transform:translate(var(--dp-transition-length))}.calendar-next-leave-to,.calendar-prev-enter-from{opacity:0;transform:translate(calc(var(--dp-transition-length) * -1))}.calendar-prev-leave-to{opacity:0;transform:translate(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-active,.dp-menu-appear-bottom-leave-active,.dp-menu-appear-top-enter-active,.dp-menu-appear-top-leave-active,.dp-slide-up-enter-active,.dp-slide-up-leave-active,.dp-slide-down-enter-active,.dp-slide-down-leave-active{transition:all var(--dp-animation-duration) var(--dp-transition-timing)}.dp-menu-appear-top-enter-from,.dp-menu-appear-top-leave-to,.dp-slide-down-leave-to,.dp-slide-up-enter-from{opacity:0;transform:translateY(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-from,.dp-menu-appear-bottom-leave-to,.dp-slide-down-enter-from,.dp-slide-up-leave-to{opacity:0;transform:translateY(calc(var(--dp-transition-length) * -1))}.dp--arrow-btn-nav{transition:var(--dp-common-transition);height:100%}.dp--highlighted{background-color:var(--dp-highlight-color)}.dp--hidden-el{visibility:hidden}.dp--centered{top:50%;left:50%;transform:translate(-50%,-50%);position:fixed}.app-enter-active[data-v-ddb6150e],.app-leave-active[data-v-ddb6150e]{transition:all .7s cubic-bezier(.82,.58,.17,1)}.app-enter-from[data-v-ddb6150e],.app-leave-to[data-v-ddb6150e]{opacity:0;transform:scale(1.05);filter:blur(8px)}@media screen and (min-width: 768px){.navbar[data-v-ddb6150e]{display:none}} +@charset "UTF-8";*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.dp__input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}::-webkit-scrollbar{display:none}.codeFont{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.feather{width:16px;height:16px;vertical-align:text-bottom}.btn-primary{font-weight:700}#app{width:100%;height:100vh}@supports (height: 100dvh){#app{height:100dvh}}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #F94647; inherits: false;}@property --distance2{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.dashboardLogo{background:#178bff;background:linear-gradient(234deg,var(--brandColor1) var(--distance2),var(--brandColor2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:--brandColor1 1s,--brandColor2 .3s,--distance2 1s!important}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 1s,--brandColor2 1s,--distance2 .5s!important}.btn-brand.loading{animation:spin infinite forwards 3s linear}.btn-brand:hover,.dashboardLogo:hover{--brandColor1: #2dadff;--brandColor2: #ff6c6d;--distance2: 30%}.signInBtn.signedIn{--distance2: 100%}@keyframes spin{0%{--degree: 234deg}to{--degree: 594deg}}[data-bs-theme=dark].main,#app:has(.main[data-bs-theme=dark]),[data-bs-theme=dark].navbar-container{background-color:#1b1e21}.sidebar .nav-link,.bottomNavContainer .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1)}[data-bs-theme=dark] .sidebar .nav-link{color:#fff}[data-bs-theme=dark] .sidebar .nav-link.active{color:#74b7ff}[data-bs-theme=dark] .nav-link:hover,[data-bs-theme=dark] .nav-link.active{background-color:#323844}.nav-link:hover,.nav-link.active{background-color:#e8e8e8}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active,.bottomNavContainer .nav-link.active{color:#007bff}.sidebar .nav-link:hover .feather,.sidebar .nav-link.active .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}.navbar .navbar-toggler{top:.25rem;right:1rem}.form-control{transition:all .2s ease-in-out}.form-control:disabled{cursor:not-allowed}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:#ffffff1a;border-color:#ffffff1a}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px #ffffff40}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:all .4s cubic-bezier(.96,-.07,.34,1);opacity:1}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:none!important;padding:0;margin:0 1rem 0 0}.btn-control:hover{background-color:transparent!important}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:none!important;box-shadow:none}.btn-qrcode-peer{padding:0!important}.btn-qrcode-peer:active,.btn-qrcode-peer:hover{transform:scale(.9) rotate(180deg);border:0!important}.btn-download-peer:active,.btn-download-peer:hover{color:#17a2b8!important;transform:translateY(5px)}.share_peer_btn_group .btn-control{margin:0 0 0 1rem;padding:0!important;transition:all .4s cubic-bezier(1,-.43,0,1)}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-lock-peer:hover{color:#28a745}.btn-lock-peer.lock,.btn-lock-peer.lock:hover{color:#6c757d}.btn-control.btn-outline-primary:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width: 992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}.peer_data_group{text-align:right;display:flex;margin-bottom:.5rem}.peer_data_group p{text-transform:uppercase;margin-bottom:0;margin-right:1rem}@media (max-width: 768px){.peer_data_group{text-align:left}}.index-switch{display:flex;align-items:center;justify-content:flex-end}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width: 768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:7rem!important}}.btn-manage-group{z-index:99;position:fixed;bottom:3rem;right:2rem;display:flex}.btn-manage-group .setting_btn_menu{position:absolute;top:-124px;background-color:#fff;padding:1rem 0;right:0;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;border-radius:10px;min-width:250px;display:none;transform:translateY(-30px);opacity:0;transition:all .3s cubic-bezier(.58,.03,.05,1)}.btn-manage-group .setting_btn_menu.show{display:block}.setting_btn_menu.showing{transform:translateY(0);opacity:1}.setting_btn_menu a{display:flex;padding:.5rem 1rem;transition:all .1s ease-in-out;font-size:1rem;align-items:center;cursor:pointer}.setting_btn_menu a:hover{background-color:#efefef;text-decoration:none}.setting_btn_menu a i{margin-right:auto!important}.add_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;margin-right:1rem;font-size:1.5rem}.setting_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;font-size:1.5rem}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating:before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key,#peer_preshared_key_textbox{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card{border-radius:10px}.peer_list .card .button-group{height:22px}.form-control{border-radius:10px}.btn{border-radius:8px}.login-box label[for=username],.login-box label[for=password],.login-box label[for=totp]{font-size:1rem;margin:0!important;transform:translateY(2.1rem) translate(1rem);padding:0}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}@-webkit-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}@-moz-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff}.info_loading{height:19.19px;opacity:0!important}#conf_status_btn{transition:.2s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}#qrcode_img img{width:100%}#selected_ip_list .badge,#selected_peer_list .badge{margin:.1rem}#add_modal.ip_modal_open{transition:filter .2s ease-in-out;filter:brightness(.5)}#delete_bulk_modal .list-group a.active{background-color:#dc3545;border-color:#dc3545}#selected_peer_list{max-height:80px;overflow-y:scroll;overflow-x:hidden}.no-response{width:100%;height:100%;position:fixed;background:#000000ba;z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all 1s ease-in-out}.no-response.active{display:flex}.no-response.active.show{opacity:100}.no-response .container>*{text-align:center}.no-responding{transition:all 1s ease-in-out;filter:blur(10px)}pre.index-alert{margin-bottom:0;padding:1rem;background-color:#343a40;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-top:1rem;color:#fff}.peerNameCol{display:flex;align-items:center;margin-bottom:.2rem}.peerName{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peerLightContainer{text-transform:uppercase;margin:0;margin-left:auto!important}#config_body{transition:.3s ease-in-out}#config_body.firstLoading{opacity:.2}.chartTitle{display:flex}.chartControl{margin-bottom:1rem;display:flex;align-items:center}.chartTitle h6{margin-bottom:0;line-height:1;margin-right:.5rem}.chartContainer.fullScreen{position:fixed;z-index:9999;background-color:#fff;top:0;left:0;width:calc(100% + 15px);height:100%;padding:32px}.chartContainer.fullScreen .col-sm{padding-right:0;height:100%}.chartContainer.fullScreen .chartCanvasContainer{width:100%;height:calc(100% - 47px)!important;max-height:calc(100% - 47px)!important}#switch{transition:all .2s ease-in}.toggle--switch{display:none}.toggleLabel{width:64px;height:32px;background-color:#6c757d17;display:flex;position:relative;border:2px solid #6c757d8c;border-radius:100px;transition:all .2s ease-in;cursor:pointer;margin:0}.toggle--switch.waiting+.toggleLabel{opacity:.5}.toggleLabel:before{background-color:#6c757d;height:26px;width:26px;content:"";border-radius:100px;margin:1px;position:absolute;animation-name:off;animation-duration:.35s;animation-fill-mode:forwards;transition:all .2s ease-in;cursor:pointer}.toggleLabel:hover:before{filter:brightness(1.2)}.toggle--switch:checked+.toggleLabel{background-color:#007bff17!important;border:2px solid #007bff8c}.toggle--switch:checked+.toggleLabel:before{background-color:#007bff;animation-name:on;animation-duration:.35s;animation-fill-mode:forwards}@keyframes on{0%{left:0}60%{left:0;width:40px}to{left:32px;width:26px}}@keyframes off{0%{left:32px}60%{left:18px;width:40px}to{left:0;width:26px}}.toastContainer{z-index:99999!important}.toast{min-width:300px;background-color:#fff;z-index:99999}.toast-header{background-color:#fff}.toast-progressbar{width:100%;height:4px;background-color:#007bff;border-bottom-left-radius:.25rem}.addConfigurationAvailableIPs{margin-bottom:0}.input-feedback{display:none}#addConfigurationModal label{display:flex;width:100%;align-items:center}#addConfigurationModal label a{margin-left:auto!important}#reGeneratePrivateKey{border-top-right-radius:10px;border-bottom-right-radius:10px}.addConfigurationToggleStatus.waiting{opacity:.5}.peerDataUsageChartContainer{min-height:50vh;width:100%}.peerDataUsageChartControl{display:block!important;margin:0}.peerDataUsageChartControl .switchUnit{width:33.3%}.peerDataUsageChartControl .switchTimePeriod{width:25%}@media (min-width: 1200px){#peerDataUsage .modal-xl{max-width:95vw}}.bottom{display:none}@media (max-width: 768px){.bottom{display:block}.btn-manage-group{bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}main{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.bottomNavContainer{display:flex;color:#333;padding-bottom:env(safe-area-inset-bottom,5px);box-shadow:inset 0 1px #0000001a}.bottomNavButton{width:25vw;display:flex;flex-direction:column;align-items:center;margin:.7rem 0;color:#33333380;cursor:pointer;transition:all ease-in .2s}.bottomNavButton.active{color:#333}.bottomNavButton i{font-size:1.2rem}.bottomNavButton .subNav{width:100vw;position:absolute;z-index:10000;bottom:0;left:0;background-color:#272b30;display:none;animation-duration:.4s;padding-bottom:env(safe-area-inset-bottom,5px)}.bottomNavButton .subNav.active{display:block}.bottomNavButton .subNav .nav .nav-item .nav-link{padding:.7rem 1rem}.bottomNavWrapper{height:100%;width:100%;background-color:#000000a1;position:fixed;z-index:1030;display:none;left:0}.bottomNavWrapper.active{display:block}.sb-update-url .dot-running{transform:translate(10px)}.list-group-item{transition:all .1s ease-in}.theme-switch-btn{width:100%}.fade-enter-active,.fade-leave-active{transition:all .5s cubic-bezier(.42,0,.22,1)}.fade-enter-from,.fade-leave-to{transform:translateY(40px);opacity:0}.fade2-enter-active,.fade2-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.fade2-enter-from{transform:translateY(30px);opacity:0}.fade2-leave-to{transform:translateY(-30px);filter:blur(3px);opacity:0}.login-container-fluid{height:calc(100% - 50px)}@media screen and (min-width: 576px){.login-container-fluid{height:100%}}.totp{font-family:var(--bs-font-monospace)}.message-move,.message-enter-active,.message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from,.message-leave-to{filter:blur(2px);opacity:0}.message-enter-from{transform:translateY(-30px)}.message-leave-to{transform:translateY(30px)}.message-leave-active{position:absolute}.fade3-enter-active,.fade3-leave-active{transition:all .15s ease-in-out}.fade3-enter-from{transform:scale(1);opacity:0}.fade3-leave-to{transform:scale(.8);opacity:0}.list-move,.list-enter-active,.list-leave-active{transition:all .5s ease-in-out}.list-enter-from,.list-leave-to{opacity:0;transform:scale(1.1)}.list-leave-active{position:absolute}.peerSettingContainer{background-color:#00000060;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dashboardModal{min-height:calc(100% - 3.5rem);width:700px}.dashboardModal>.card{margin:1.75rem}.zoom-enter-active,.zoom-leave-active,.zoomReversed-enter-active,.zoomReversed-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.zoom-enter-from,.zoom-leave-to{transform:scale(1.1);filter:blur(3px);opacity:0}.zoomReversed-enter-from,.zoomReversed-leave-to{transform:scale(.9);filter:blur(3px);opacity:0}.messageCentre{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre{width:calc(100% - 2rem)}}.slide-move,.slide-enter-active,.slide-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.slide-leave-active{position:absolute;width:100%}.slide-enter-from{opacity:0;transform:translate(-50px)!important}.slide-leave-to{opacity:0;transform:translate(50px)!important}@property --bgdegree{syntax: ""; initial-value: 234deg; inherits: false;}.login-container-fluid{background:linear-gradient(var(--bgdegree),#0035551a var(--distance2),#400b0b1a 100%);animation:login 15s ease-in-out infinite}.login-container-fluid[data-bs-theme=dark]{background:linear-gradient(var(--bgdegree),#003555 var(--distance2),#400b0b 100%);animation:login 15s ease-in-out infinite}@keyframes login{0%{--bgdegree: 234deg}to{--bgdegree: 594deg}}.loadingBar{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%)}.loadingBar.loading{animation:loading cubic-bezier(.82,.58,.17,1) .2s forwards}.loadingBar.loadingDone{animation:loadingDone cubic-bezier(.82,.58,.17,1) .5s forwards}@keyframes loading{0%{opacity:0;width:0%}to{opacity:1;width:20%}}@keyframes loadingDone{0%{opacity:1;width:20%}to{opacity:0;width:100%}}@media screen and (max-width: 576px){.dashboardModal{width:100%!important}.dashboardModal>.card{margin:.5rem!important}}samp{word-wrap:anywhere}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.slideUp-enter-active,.slideUp-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.slideUp-enter-from,.slideUp-leave-to{transform:translateY(100%);filter:blur(3px)}.peerList-move,.peerList-enter-active,.peerList-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.peerList-enter-from{transform:translateY(100%);opacity:0}.peerList-leave-to{transform:scale(.8);opacity:0}.peerList-leave-active{position:absolute}.agent-message-move,.agent-message-enter-active,.agent-message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.agent-message-enter-from,.agent-message-leave-to{opacity:0;filter:blur(8px);transform:translateY(30px)}.agent-message-leave-active{position:absolute}.slide-fade-leave-active,.slide-fade-enter-active{transition:all .2s cubic-bezier(.82,.58,.17,1.3)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(20px);opacity:0;filter:blur(3px)}[data-bs-theme=dark] #map{filter:grayscale(80%) invert(100%)}:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #b5b6b7;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(10,88,202,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,94,100,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(20,108,67,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(176,42,55,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@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:"爛"}:root{--animate-duration: 1s;--animate-delay: 1s;--animate-repeat: 1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 2);animation-iteration-count:calc(var(--animate-repeat) * 2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 3);animation-iteration-count:calc(var(--animate-repeat) * 3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay) * 2);animation-delay:calc(var(--animate-delay) * 2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay) * 3);animation-delay:calc(var(--animate-delay) * 3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay) * 4);animation-delay:calc(var(--animate-delay) * 4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay) * 5);animation-delay:calc(var(--animate-delay) * 5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration) / 2);animation-duration:calc(var(--animate-duration) / 2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration) * .8);animation-duration:calc(var(--animate-duration) * .8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration) * 3);animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion: reduce){.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translate(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translate(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translate(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translate(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translate(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translate(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translate(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translate(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translate(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translate(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translate(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration) * 1.3);animation-duration:calc(var(--animate-duration) * 1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0px) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0px) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scaleZ(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scaleZ(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skew(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skew(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skew(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skew(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.dp__input_wrap{position:relative;width:100%;box-sizing:unset}.dp__input_wrap:focus{border-color:var(--dp-border-color-hover);outline:none}.dp__input_valid{box-shadow:0 0 var(--dp-border-radius) var(--dp-success-color);border-color:var(--dp-success-color)}.dp__input_valid:hover{border-color:var(--dp-success-color)}.dp__input_invalid{box-shadow:0 0 var(--dp-border-radius) var(--dp-danger-color);border-color:var(--dp-danger-color)}.dp__input_invalid:hover{border-color:var(--dp-danger-color)}.dp__input{background-color:var(--dp-background-color);border-radius:var(--dp-border-radius);font-family:var(--dp-font-family);border:1px solid var(--dp-border-color);outline:none;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:var(--dp-input-padding);color:var(--dp-text-color);box-sizing:border-box}.dp__input::placeholder{opacity:.7}.dp__input:hover:not(.dp__input_focus){border-color:var(--dp-border-color-hover)}.dp__input_not_clearable{padding-inline-end:var(--dp-input-not-clearable-padding)!important}.dp__input_reg{caret-color:#0000}.dp__input_focus{border-color:var(--dp-border-color-focus)}.dp__disabled{background:var(--dp-disabled-color)}.dp__disabled::placeholder{color:var(--dp-disabled-color-text)}.dp__input_icons{display:inline-block;width:var(--dp-font-size);height:var(--dp-font-size);stroke-width:0;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:6px 12px;color:var(--dp-icon-color);box-sizing:content-box}.dp__input_icon{cursor:pointer;position:absolute;top:50%;inset-inline-start:0;transform:translateY(-50%);color:var(--dp-icon-color)}.dp--clear-btn{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);cursor:pointer;color:var(--dp-icon-color);background:#0000;border:none;display:inline-flex;align-items:center;padding:0;margin:0}.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.dp__menu{background:var(--dp-background-color);border-radius:var(--dp-border-radius);min-width:var(--dp-menu-min-width);font-family:var(--dp-font-family);font-size:var(--dp-font-size);user-select:none;border:1px solid var(--dp-menu-border-color);box-sizing:border-box}.dp__menu:after{box-sizing:border-box}.dp__menu:before{box-sizing:border-box}.dp__menu:focus{border:1px solid var(--dp-menu-border-color);outline:none}.dp--menu-wrapper{position:absolute;z-index:99999}.dp__menu_inner{padding:var(--dp-menu-padding)}.dp--menu--inner-stretched{padding:6px 0}.dp__menu_index{z-index:99999}.dp-menu-loading,.dp__menu_readonly,.dp__menu_disabled{position:absolute;inset:0;z-index:999999}.dp__menu_disabled{background:#ffffff80;cursor:not-allowed}.dp__menu_readonly{background:#0000;cursor:default}.dp-menu-loading{background:#ffffff80;cursor:default}.dp--menu-load-container{display:flex;height:100%;width:100%;justify-content:center;align-items:center}.dp--menu-loader{width:48px;height:48px;border:var(--dp-loader);border-bottom-color:#0000;border-radius:50%;display:inline-block;box-sizing:border-box;animation:dp-load-rotation 1s linear infinite;position:absolute}@keyframes dp-load-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dp__arrow_top{height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-top:1px solid var(--dp-menu-border-color);transform:translateY(-50%) rotate(-45deg)}.dp__arrow_bottom{left:var(--dp-arrow-left);bottom:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-bottom:1px solid var(--dp-menu-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__action_extra{text-align:center;padding:2px 0}.dp--preset-dates{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp--preset-dates[data-dp-mobile],.dp--preset-dates-collapsed{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}.dp__sidebar_left{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp__sidebar_right{padding:5px;margin-inline-end:1px solid var(--dp-border-color)}.dp--preset-range{display:block;width:100%;padding:5px;text-align:left;white-space:nowrap;color:var(--dp-text-color);border-radius:var(--dp-border-radius);transition:var(--dp-common-transition)}.dp--preset-range:hover{background-color:var(--dp-hover-color);color:var(--dp-hover-text-color);cursor:pointer}.dp--preset-range[data-dp-mobile]{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range[data-dp-mobile]:first-child{margin-left:0}.dp--preset-range[data-dp-mobile]:last-child{margin-right:0}.dp--preset-range-collapsed{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range-collapsed:first-child{margin-left:0}.dp--preset-range-collapsed:last-child{margin-right:0}.dp__menu_content_wrapper{display:flex}.dp__menu_content_wrapper[data-dp-mobile],.dp--menu-content-wrapper-collapsed{flex-direction:column-reverse}.dp__calendar_header{position:relative;display:flex;justify-content:center;align-items:center;color:var(--dp-text-color);white-space:nowrap;font-weight:700}.dp__calendar_header_item{text-align:center;flex-grow:1;height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box}.dp__calendar_row{display:flex;justify-content:center;align-items:center;margin:var(--dp-row-margin)}.dp__calendar_item{text-align:center;flex-grow:1;box-sizing:border-box;color:var(--dp-text-color)}.dp__calendar{position:relative}.dp__calendar_header_cell{border-bottom:thin solid var(--dp-border-color);padding:var(--dp-calendar-header-cell-padding)}.dp__cell_inner{display:flex;align-items:center;text-align:center;justify-content:center;border-radius:var(--dp-cell-border-radius);height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);border:1px solid rgba(0,0,0,0);box-sizing:border-box;position:relative}.dp__cell_inner:hover{transition:all .2s}.dp__cell_auto_range_start,.dp__date_hover_start:hover,.dp__range_start{border-end-end-radius:0;border-start-end-radius:0}.dp__cell_auto_range_end,.dp__date_hover_end:hover,.dp__range_end{border-end-start-radius:0;border-start-start-radius:0}.dp__range_end,.dp__range_start,.dp__active_date{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__date_hover_end:hover,.dp__date_hover_start:hover,.dp__date_hover:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__cell_offset{color:var(--dp-secondary-color)}.dp__cell_disabled{color:var(--dp-secondary-color);cursor:not-allowed}.dp--extended-fixed-end,.dp--extended-fixed-start,.dp__range_between{background:var(--dp-range-between-dates-background-color);color:var(--dp-range-between-dates-text-color);border-radius:0;border:1px solid var(--dp-range-between-border-color)}.dp__range_between_week{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border-radius:0;border-top:1px solid var(--dp-primary-color);border-bottom:1px solid var(--dp-primary-color)}.dp__today{border:1px solid var(--dp-primary-color)}.dp__week_num{color:var(--dp-secondary-color);text-align:center}.dp__cell_auto_range{border-radius:0;border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_start{border-start-start-radius:var(--dp-cell-border-radius);border-end-start-radius:var(--dp-cell-border-radius);border-inline-start:1px dashed var(--dp-primary-color);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_end{border-start-end-radius:var(--dp-cell-border-radius);border-end-end-radius:var(--dp-cell-border-radius);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-inline-end:1px dashed var(--dp-primary-color)}.dp__calendar_header_separator{width:100%;height:1px;background:var(--dp-border-color)}.dp__calendar_next{margin-inline-start:var(--dp-multi-calendars-spacing)}.dp__marker_line,.dp__marker_dot{height:5px;background-color:var(--dp-marker-color);position:absolute;bottom:0}.dp__marker_dot{width:5px;border-radius:50%;left:50%;transform:translate(-50%)}.dp__marker_line{width:100%;left:0}.dp__marker_tooltip{position:absolute;border-radius:var(--dp-border-radius);background-color:var(--dp-tooltip-color);padding:5px;border:1px solid var(--dp-border-color);z-index:99999;box-sizing:border-box;cursor:default}.dp__tooltip_content{white-space:nowrap}.dp__tooltip_text{display:flex;align-items:center;flex-flow:row nowrap;color:var(--dp-text-color)}.dp__tooltip_mark{height:5px;width:5px;border-radius:50%;background-color:var(--dp-text-color);color:var(--dp-text-color);margin-inline-end:5px}.dp__arrow_bottom_tp{bottom:0;height:8px;width:8px;background-color:var(--dp-tooltip-color);position:absolute;border-inline-end:1px solid var(--dp-border-color);border-bottom:1px solid var(--dp-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__instance_calendar{position:relative;width:100%}.dp__flex_display[data-dp-mobile],.dp--flex-display-collapsed{flex-direction:column}.dp__cell_highlight{background-color:var(--dp-highlight-color)}.dp__month_year_row{display:flex;align-items:center;height:var(--dp-month-year-row-height);color:var(--dp-text-color);box-sizing:border-box}.dp__inner_nav{display:flex;align-items:center;justify-content:center;cursor:pointer;height:var(--dp-month-year-row-button-size);width:var(--dp-month-year-row-button-size);color:var(--dp-icon-color);text-align:center;border-radius:50%}.dp__inner_nav svg{height:var(--dp-button-icon-height);width:var(--dp-button-icon-height)}.dp__inner_nav:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}[dir=rtl] .dp__inner_nav{transform:rotate(180deg)}.dp__inner_nav_disabled:hover,.dp__inner_nav_disabled{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp--year-select,.dp__month_year_select{text-align:center;cursor:pointer;height:var(--dp-month-year-row-height);display:flex;align-items:center;justify-content:center;border-radius:var(--dp-border-radius);box-sizing:border-box;color:var(--dp-text-color)}.dp--year-select:hover,.dp__month_year_select:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__month_year_select{width:50%}.dp--year-select{width:100%}.dp__month_year_wrap{display:flex;flex-direction:row;width:100%;align-items:center}.dp__year_disable_select{justify-content:space-around}.dp--header-wrap{display:flex;width:100%;flex-direction:column}.dp__overlay{width:100%;background:var(--dp-background-color);transition:opacity 1s ease-out;z-index:99999;font-family:var(--dp-font-family);color:var(--dp-text-color);box-sizing:border-box}.dp--overlay-absolute{position:absolute;height:100%;top:0;left:0}.dp--overlay-relative{position:relative}.dp__overlay_container::-webkit-scrollbar-track{box-shadow:var(--dp-scroll-bar-background);background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar{width:5px;background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar-thumb{background-color:var(--dp-scroll-bar-color);border-radius:10px}.dp__overlay:focus{border:none;outline:none}.dp__container_flex{display:flex}.dp__container_block{display:block}.dp__overlay_container{flex-direction:column;overflow-y:auto;height:var(--dp-overlay-height)}.dp__time_picker_overlay_container{height:100%}.dp__overlay_row{padding:0;box-sizing:border-box;display:flex;margin-inline:auto;flex-wrap:wrap;max-width:100%;width:100%;align-items:center}.dp__flex_row{flex:1}.dp__overlay_col{box-sizing:border-box;width:33%;padding:var(--dp-overlay-col-padding);white-space:nowrap}.dp__overlay_cell_pad{padding:var(--dp-common-padding) 0}.dp__overlay_cell_active{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center;background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__overlay_cell{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center}.dp__overlay_cell:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__cell_in_between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__over_action_scroll{right:5px;box-sizing:border-box}.dp__overlay_cell_disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp__overlay_cell_disabled:hover{background:var(--dp-disabled-color)}.dp__overlay_cell_active_disabled{cursor:not-allowed;background:var(--dp-primary-disabled-color)}.dp__overlay_cell_active_disabled:hover{background:var(--dp-primary-disabled-color)}.dp__btn,.dp--qr-btn,.dp--time-overlay-btn,.dp--time-invalid{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--year-mode-picker{display:flex;width:100%;align-items:center;justify-content:space-between;height:var(--dp-cell-size)}.dp--tp-wrap{width:100%}.dp--tp-wrap[data-dp-mobile]{max-width:100%}.dp__time_input{width:100%;display:flex;align-items:center;justify-content:center;user-select:none;font-family:var(--dp-font-family);color:var(--dp-text-color)}.dp__time_col_reg_block{padding:0 20px}.dp__time_col_reg_inline{padding:0 10px}.dp__time_col_reg_with_button{padding:0 15px}.dp__time_col_reg_with_button[data-compact~=true]{padding:0 5px}.dp__time_col_sec{padding:0 10px}.dp__time_col_sec_with_button{padding:0 5px}.dp__time_col_sec_with_button[data-collapsed~=true]{padding:0}.dp__time_col{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.dp__time_col_block{font-size:var(--dp-time-font-size)}.dp__time_display_block{padding:0 3px}.dp__time_display_inline{padding:5px}.dp__time_picker_inline_container{display:flex;width:100%;justify-content:center}.dp__inc_dec_button{padding:5px;margin:0;height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--dp-icon-color);box-sizing:border-box}.dp__inc_dec_button svg{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size)}.dp__inc_dec_button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__time_display{cursor:pointer;color:var(--dp-text-color);border-radius:var(--dp-border-radius);display:flex;align-items:center;justify-content:center}.dp__time_display:hover:enabled{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__inc_dec_button_inline{width:100%;padding:0;height:8px;cursor:pointer;display:flex;align-items:center}.dp__inc_dec_button_disabled,.dp__inc_dec_button_disabled:hover{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp__pm_am_button{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border:none;padding:var(--dp-common-padding);border-radius:var(--dp-border-radius);cursor:pointer}.dp__pm_am_button[data-compact~=true]{padding:7px}.dp__tp_inline_btn_bar{width:100%;height:4px;background-color:var(--dp-secondary-color);transition:var(--dp-common-transition);border-collapse:collapse}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_l,.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(-12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_l{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp--time-overlay-btn{background:none}.dp--time-invalid{background-color:var(--dp-disabled-color)}.dp__action_row{display:flex;align-items:center;width:100%;padding:var(--dp-action-row-padding);box-sizing:border-box;color:var(--dp-text-color);flex-flow:row nowrap}.dp__action_row svg{height:var(--dp-button-icon-height);width:auto}.dp__selection_preview{display:block;color:var(--dp-text-color);font-size:var(--dp-preview-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dp__action_buttons{display:flex;flex:0;white-space:nowrap;align-items:center;justify-content:flex-end;margin-inline-start:auto}.dp__action_button{display:inline-flex;align-items:center;background:#0000;border:1px solid rgba(0,0,0,0);padding:var(--dp-action-buttons-padding);line-height:var(--dp-action-button-height);margin-inline-start:3px;height:var(--dp-action-button-height);cursor:pointer;border-radius:var(--dp-border-radius);font-size:var(--dp-preview-font-size);font-family:var(--dp-font-family)}.dp__action_cancel{color:var(--dp-text-color);border:1px solid var(--dp-border-color)}.dp__action_cancel:hover{border-color:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__action_buttons .dp__action_select:hover{background:var(--dp-primary-color);transition:var(--dp-action-row-transition)}.dp__action_buttons .dp__action_select:disabled{background:var(--dp-primary-disabled-color);cursor:not-allowed}.dp-quarter-picker-wrap{display:flex;flex-direction:column;height:100%;min-width:var(--dp-menu-min-width)}.dp--qr-btn-disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp--qr-btn-disabled:hover{background:var(--dp-disabled-color)}.dp--qr-btn{width:100%;padding:var(--dp-common-padding)}.dp--qr-btn:not(.dp--highlighted,.dp--qr-btn-active,.dp--qr-btn-disabled,.dp--qr-btn-between){background:none}.dp--qr-btn:hover:not(.dp--qr-btn-active,.dp--qr-btn-disabled){background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp--quarter-items{display:flex;flex-direction:column;flex:1;width:100%;height:100%;justify-content:space-evenly}.dp--qr-btn-active{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp--qr-btn-between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}:root{--dp-common-transition: all .1s ease-in;--dp-menu-padding: 6px 8px;--dp-animation-duration: .1s;--dp-menu-appear-transition-timing: cubic-bezier(.4, 0, 1, 1);--dp-transition-timing: ease-out;--dp-action-row-transition: all .2s ease-in;--dp-font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--dp-border-radius: 4px;--dp-cell-border-radius: 4px;--dp-transition-length: 22px;--dp-transition-timing-general: .1s;--dp-button-height: 35px;--dp-month-year-row-height: 35px;--dp-month-year-row-button-size: 25px;--dp-button-icon-height: 20px;--dp-calendar-wrap-padding: 0 5px;--dp-cell-size: 35px;--dp-cell-padding: 5px;--dp-common-padding: 10px;--dp-input-icon-padding: 35px;--dp-input-padding: 6px 30px 6px 12px;--dp-input-not-clearable-padding: 12px;--dp-menu-min-width: 260px;--dp-action-buttons-padding: 1px 6px;--dp-row-margin: 5px 0;--dp-calendar-header-cell-padding: .5rem;--dp-multi-calendars-spacing: 10px;--dp-overlay-col-padding: 3px;--dp-time-inc-dec-button-size: 32px;--dp-font-size: 1rem;--dp-preview-font-size: .8rem;--dp-time-font-size: 2rem;--dp-action-button-height: 22px;--dp-action-row-padding: 8px;--dp-direction: ltr}.dp__theme_dark{--dp-background-color: #212121;--dp-text-color: #fff;--dp-hover-color: #484848;--dp-hover-text-color: #fff;--dp-hover-icon-color: #959595;--dp-primary-color: #005cb2;--dp-primary-disabled-color: #61a8ea;--dp-primary-text-color: #fff;--dp-secondary-color: #a9a9a9;--dp-border-color: #2d2d2d;--dp-menu-border-color: #2d2d2d;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #737373;--dp-disabled-color-text: #d0d0d0;--dp-scroll-bar-background: #212121;--dp-scroll-bar-color: #484848;--dp-success-color: #00701a;--dp-success-color-disabled: #428f59;--dp-icon-color: #959595;--dp-danger-color: #e53935;--dp-marker-color: #e53935;--dp-tooltip-color: #3e3e3e;--dp-highlight-color: rgb(0 92 178 / 20%);--dp-range-between-dates-background-color: var(--dp-hover-color, #484848);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #fff);--dp-range-between-border-color: var(--dp-hover-color, #fff);--dp-loader: 5px solid #005cb2}.dp__theme_light{--dp-background-color: #fff;--dp-text-color: #212121;--dp-hover-color: #f3f3f3;--dp-hover-text-color: #212121;--dp-hover-icon-color: #959595;--dp-primary-color: #1976d2;--dp-primary-disabled-color: #6bacea;--dp-primary-text-color: #fff;--dp-secondary-color: #c0c4cc;--dp-border-color: #ddd;--dp-menu-border-color: #ddd;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #f6f6f6;--dp-scroll-bar-background: #f3f3f3;--dp-scroll-bar-color: #959595;--dp-success-color: #76d275;--dp-success-color-disabled: #a3d9b1;--dp-icon-color: #959595;--dp-danger-color: #ff6f60;--dp-marker-color: #ff6f60;--dp-tooltip-color: #fafafa;--dp-disabled-color-text: #8e8e8e;--dp-highlight-color: rgb(25 118 210 / 10%);--dp-range-between-dates-background-color: var(--dp-hover-color, #f3f3f3);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #212121);--dp-range-between-border-color: var(--dp-hover-color, #f3f3f3);--dp-loader: 5px solid #1976d2}.dp__flex{display:flex;align-items:center}.dp__btn{background:none}.dp__main{font-family:var(--dp-font-family);user-select:none;box-sizing:border-box;position:relative;width:100%}.dp__main *{direction:var(--dp-direction, ltr)}.dp__pointer{cursor:pointer}.dp__icon{stroke:currentcolor;fill:currentcolor}.dp__button{width:100%;text-align:center;color:var(--dp-icon-color);cursor:pointer;display:flex;align-items:center;place-content:center center;padding:var(--dp-common-padding);box-sizing:border-box;height:var(--dp-button-height)}.dp__button.dp__overlay_action{position:absolute;bottom:0}.dp__button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__button svg{height:var(--dp-button-icon-height);width:auto}.dp__button_bottom{border-bottom-left-radius:var(--dp-border-radius);border-bottom-right-radius:var(--dp-border-radius)}.dp__flex_display{display:flex}.dp__flex_display_with_input{flex-direction:column;align-items:flex-start}.dp__relative{position:relative}.calendar-next-enter-active,.calendar-next-leave-active,.calendar-prev-enter-active,.calendar-prev-leave-active{transition:all var(--dp-transition-timing-general) ease-out}.calendar-next-enter-from{opacity:0;transform:translate(var(--dp-transition-length))}.calendar-next-leave-to,.calendar-prev-enter-from{opacity:0;transform:translate(calc(var(--dp-transition-length) * -1))}.calendar-prev-leave-to{opacity:0;transform:translate(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-active,.dp-menu-appear-bottom-leave-active,.dp-menu-appear-top-enter-active,.dp-menu-appear-top-leave-active,.dp-slide-up-enter-active,.dp-slide-up-leave-active,.dp-slide-down-enter-active,.dp-slide-down-leave-active{transition:all var(--dp-animation-duration) var(--dp-transition-timing)}.dp-menu-appear-top-enter-from,.dp-menu-appear-top-leave-to,.dp-slide-down-leave-to,.dp-slide-up-enter-from{opacity:0;transform:translateY(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-from,.dp-menu-appear-bottom-leave-to,.dp-slide-down-enter-from,.dp-slide-up-leave-to{opacity:0;transform:translateY(calc(var(--dp-transition-length) * -1))}.dp--arrow-btn-nav{transition:var(--dp-common-transition);height:100%}.dp--highlighted{background-color:var(--dp-highlight-color)}.dp--hidden-el{visibility:hidden}.dp--centered{top:50%;left:50%;transform:translate(-50%,-50%);position:fixed}.app-enter-active[data-v-20b54dfd],.app-leave-active[data-v-20b54dfd]{transition:all .7s cubic-bezier(.82,.58,.17,1)}.app-enter-from[data-v-20b54dfd],.app-leave-to[data-v-20b54dfd]{opacity:0;transform:scale(1.05);filter:blur(8px)}@media screen and (min-width: 768px){.navbar[data-v-20b54dfd]{display:none}} diff --git a/src/static/dist/WGDashboardAdmin/assets/index-BezIeW2y.css b/src/static/dist/WGDashboardAdmin/assets/index-BezIeW2y.css new file mode 100644 index 00000000..b5f4cc6e --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/index-BezIeW2y.css @@ -0,0 +1 @@ +.agentContainer[data-v-1ff1b6b6]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#F9464752 100%)}.agentContainer.enabled[data-v-1ff1b6b6]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-1ff1b6b6]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-1ff1b6b6]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}@media screen and (max-width: 768px){.navbar-container[data-v-bcbaa93e]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-bcbaa93e]{animation-direction:normal;display:block!important;animation-name:zoomInFade-bcbaa93e}}.navbar-container[data-v-bcbaa93e]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-bcbaa93e]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-bcbaa93e{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-bcbaa93e],.slideIn-leave-active[data-v-bcbaa93e]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-bcbaa93e],.slideIn-leave-to[data-v-bcbaa93e]{transform:translateY(30px);filter:blur(3px);opacity:0}main[data-v-c99587be]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-c99587be]{height:calc(100dvh - 58px)}}} diff --git a/src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js b/src/static/dist/WGDashboardAdmin/assets/index-CGWkLU_a.js similarity index 84% rename from src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js rename to src/static/dist/WGDashboardAdmin/assets/index-CGWkLU_a.js index 83e6aa9f..84698e9a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-CGWkLU_a.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-DYYtDSji.js";import{L as m}from"./localeText-Cd7vLnRM.js";import{M as I}from"./message-BaA47ykS.js";import"./dayjs.min-WRW_FTL4.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 p,t as v,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-Daf9JYJW.js";import{L as m}from"./localeText-DncIFq-d.js";import{M as I}from"./message-CNwYSWIg.js";import"./dayjs.min-XUWsRRMk.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)),p(v(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-1ff1b6b6"]]),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"],bt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},pt={class:"sidebar-sticky"},vt={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"),b=_("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",bt,[t("div",pt,[t("div",vt,[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)),p(v(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),p(" "+v(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]=p(" (",-1)),s(o,{t:"Current Version:"}),p(" "+v(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),p(" ("+v(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(b,{key:0,onClose:e[3]||(e[3]=f=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,_t)}const zt=$(ft,[["render",jt],["__scopeId","data-v-bcbaa93e"]]),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:b})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(b)))]),_: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(),b=>(a(),x(C,{message:b,key:b.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-c99587be"]]);export{Xt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js b/src/static/dist/WGDashboardAdmin/assets/index-Cd3Eji6d.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js rename to src/static/dist/WGDashboardAdmin/assets/index-Cd3Eji6d.js index 5efe36fe..c7c246af 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-Cd3Eji6d.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,I as $n,X as Ge,Y as Ns,Z as Yn}from"./index-DYYtDSji.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-CpoCtfuw.css b/src/static/dist/WGDashboardAdmin/assets/index-CpoCtfuw.css deleted file mode 100644 index 44c9f244..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/index-CpoCtfuw.css +++ /dev/null @@ -1 +0,0 @@ -.agentContainer[data-v-f37f608d]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#F9464752 100%)}.agentContainer.enabled[data-v-f37f608d]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-f37f608d]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-f37f608d]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}@media screen and (max-width: 768px){.navbar-container[data-v-982f1a52]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-982f1a52]{animation-direction:normal;display:block!important;animation-name:zoomInFade-982f1a52}}.navbar-container[data-v-982f1a52]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-982f1a52]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-982f1a52{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-982f1a52],.slideIn-leave-active[data-v-982f1a52]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-982f1a52],.slideIn-leave-to[data-v-982f1a52]{transform:translateY(30px);filter:blur(3px);opacity:0}main[data-v-0c6a5068]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-0c6a5068]{height:calc(100dvh - 58px)}}} diff --git a/src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js b/src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js rename to src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js index ee407eb9..61f56e4c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-Daf9JYJW.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-ElUmKQXl.js","assets/localeText-Cd7vLnRM.js","assets/message-BaA47ykS.js","assets/dayjs.min-WRW_FTL4.js","assets/message-Bh5W0B3y.css","assets/index-CpoCtfuw.css","assets/configurationList-BmBzibCH.js","assets/protocolBadge-DbN6X1oX.js","assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js","assets/storageMount-wWOSNV8e.css","assets/configurationList-BKKG6ypL.css","assets/settings-yh4yZgcG.js","assets/peersDefaultSettingsInput-BuZeDfeq.js","assets/dashboardEmailSettings-BLi3ez-N.js","assets/vue-datepicker-Cw5Y4tvU.js","assets/index-DPa-4xgI.js","assets/dashboardEmailSettings-BxtXuVtX.css","assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js","assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","assets/wgdashboardSettings-b-VSP6t-.js","assets/peerDefaultSettings-DrA2ujGo.js","assets/wireguardConfigurationSettings-Bz2BaANg.js","assets/ping-yn2Ok0iq.js","assets/osmap-BtV_4HvJ.js","assets/Vector-CuSZivra.js","assets/Vector-BtPuoxOl.css","assets/osmap-CsoM1fIq.css","assets/ping-DgbK5UF9.css","assets/traceroute-DW1aS4wL.js","assets/traceroute-D9mlT_ah.css","assets/newConfiguration-DKGZAANU.js","assets/index-Bno8fcdN.js","assets/galois-field-I2lBzzs-.js","assets/newConfiguration-CaR3VWG-.css","assets/restoreConfiguration-Dz1O-iX5.js","assets/restoreConfiguration-Go8Q_2zy.css","assets/systemStatus-0e9M7tEY.js","assets/index-CV5Q0a3C.js","assets/systemStatus-DdUpBwt2.css","assets/clients-B5XnFbd-.js","assets/DashboardClientAssignmentStore-DDEBJ8Q3.js","assets/clients-CfS2KUuu.css","assets/clientViewer-BYJe9WYt.js","assets/clientViewer-C5axh9P7.css","assets/dashboardWebHooks-CEc1Rq-k.js","assets/dashboardWebHooks-Dl-enc0Z.css","assets/peerList-C-bwOqvP.js","assets/peerList-Ch1hvsh1.css","assets/signin-RX8JxeCw.js","assets/signin-lFX8XtKM.css","assets/setup-DwS6cNkc.js","assets/totp-DLhlDLL5.js","assets/browser-LdOMKRZX.js","assets/share-Cyu4RGGS.js","assets/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,T=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=T/2-x/2,M=h[m],b=V-p[f]-h[O],y=V/2-p[f]/2+H,N=Dr(M,y,b),A=c;n.modifiersData[r]=(t={},t[A]=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,T=O===void 0?0:O,x=typeof f=="function"?f({x:m,y:T}):{x:m,y:T};m=x.x,T=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",A="clientWidth";if(y===ot(n)&&(y=fn(n),Kt(y).position!=="static"&&l==="absolute"&&(N="scrollHeight",A="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];T-=C-r.height,T*=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[A];m-=S-r.width,m*=c?1:-1}}var U=Object.assign({position:l},d&&jg),j=f===!0?Wg({x:m,y:T},ot(n)):{x:m,y:T};if(m=j.x,T=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, "+T+"px)":"translate3d("+m+"px, "+T+"px, 0)",te))}return Object.assign({},U,(t={},t[M]=V?T+"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,T=n.padding,x=T===void 0?0:T,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}),A=eo(Object.assign({},H,N)),C=p===Xn?A: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,T){return O[T]=ur(e,{placement:T,boundary:s,rootBoundary:o,padding:a})[Lt(T)],O},{});return Object.keys(m).sort(function(O,T){return m[O]-m[T]})}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,T=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:T}):me)},[]),b=t.rects.reference,y=t.rects.popper,N=new Map,A=!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,A=!1;break}N.set(U,G)}if(A)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,T=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,A=t.rects.popper,C=typeof T=="function"?T(Object.assign({},t.rects,{placement:t.placement})):T,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?-A[ie]/2:0,re=V===Ln?N[ie]:A[ie],ne=V===Ln?-A[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]-A[W]-ue+S.altAxis,be=ae?R+N[W]+A[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))},T=_=>!_||typeof _!="object"?!1:(typeof _.jquery<"u"&&(_=_[0]),typeof _.nodeType<"u"),x=_=>T(_)?_.jquery?_[0]:_:typeof _=="string"&&_.length>0?document.querySelector(f(_)):null,P=_=>{if(!T(_)||_.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=[],A=_=>{document.readyState==="loading"?(N.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of N)i()}),N.push(_)):_()},C=()=>document.documentElement.dir==="rtl",S=_=>{A(()=>{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=T(u)?$.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...T(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=T(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"&&!T(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:T(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(T(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(T(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,T=!1;if(Re(e)?(h=()=>e.value,O=pt(e)):an(e)?(h=()=>d(e),O=!0):le(e)?(T=!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=T?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||(T?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:T&&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:T,createComment:x}}=d,P=kr(t.props);let{shapeFlag:V,children:H,dynamicChildren:M}=t;if(e==null){const b=t.el=T(""),y=t.anchor=T("");m(b,n,r),m(y,n,r);const N=(C,S)=>{V&16&&f(H,C,S,s,o,a,l,c)},A=()=>{const C=t.target=io(t.props,O),S=$u(C,t,T,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(()=>{A(),delete t.el.__isMounted},o)):A()}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,A=kr(e.props),C=A?n:y,S=A?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)A?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 A&&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 T=Hu(r,f);T[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:T,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()},A={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]),A.delayedLeave&&A.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(T,[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 A}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,T)=>Vr(O,t&&(le(t)?t[T]: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),T=Re(c);if(O||T){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)):T&&(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(T=>{if(T=T instanceof Error?T:new Error(String(T)),c)return new Promise((x,P)=>{c(T,()=>x(p()),()=>P(T),h+1)});throw T}).then(T=>O!==d&&d?d:(T&&(T.__esModule||T[Symbol.toStringTag]==="Module")&&(T=T.default),f=T,T)))};return Xo({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(O,T,x){let P=!1;(T.bu||(T.bu=[])).push(()=>P=!0);const V=()=>{P||x()},H=o?()=>{const M=o(V,b=>v_(O,b));M&&(T.bum||(T.bum=[])).push(M)}:V;f?H():m().then(()=>!T.isUnmounted&&H())},get __asyncResolved(){return f},setup(){const O=He;if(Qo(O),f)return()=>bs(f,O);const T=H=>{d=null,yr(H,O,13,!r)};if(l&&O.suspense||hr)return m().then(H=>()=>bs(H,O)).catch(H=>(T(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.`);T(H),P.value=H}},a),m().then(()=>{x.value=!0,O.parent&&es(O.parent.vnode)&&O.parent.update()}).catch(H=>{T(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:T,deactivated:x,beforeDestroy:P,beforeUnmount:V,destroyed:H,unmounted:M,render:b,renderTracked:y,renderTriggered:N,errorCaptured:A,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,T),ie(ju,x),ie(C_,A),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,T=(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&&A(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)}}},A=(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,$),A(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,T(_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);T(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&&A(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):A(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))T(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))T(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,T(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):T(E._vnode||null,g,E,null,null,null,w),E._vnode=g,Q||(Q=!0,hl(),xu(),Q=!1)},oe={p:T,um:ne,m:re,r:se,mt:he,mc:A,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,T)=>St(m,f,O,T);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:T}=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&&T!==!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:T,isInFallback:x,isHydrating:P}=h;if(T)h.pendingBranch=p,Dt(T,p)?(c(T,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=T):d(T,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:T,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:A,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&&A.ssFallback&&(A.ssFallback.el=null))}),C&&(T(C.el)===he&&(o=O(C)),m(C,te,b,!0),!ie&&Ee&&A.ssFallback&&(A.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(A,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:N,activeBranch:A,parentComponent:C,container:S,namespace:U}=b;qr(N,"onFallback");const j=O(A),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&&(A.transition.afterLeave=te),b.isInFallback=!0,m(A,C,null,!0),he||te()},move(y,N,A){b.activeBranch&&p(b.activeBranch,y,N,A),b.container=y},next(){return b.activeBranch&&O(b.activeBranch)},registerDep(y,N,A){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,T(S||y.subTree.el),S?null:O(y.subTree),b,a,A),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),T=O&&O[0],x=O&&O[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:H,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:N=V,onAppearCancelled:A=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,T,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(A,[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 T;function x(A){let C;d=f=!1,typeof A=="function"?(A(r.state.value[e]),C={type:Br.patchFunction,storeId:e,events:m}):(yo(r.state.value[e],A),C={type:Br.patchObject,payload:A,storeId:e,events:m});const S=T=Symbol();oi().then(()=>{T===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=(A,C="")=>{if(Zl in A)return A[Wi]=C,A;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=A.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(A,C={}){const S=Jl(h,A,C.detached,()=>U()),U=a.run(()=>In(()=>r.state.value[e],j=>{(C.flush==="sync"?f:d)&&A({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 A in N){const C=N[A];if(Re(C)&&!pE(C)||an(C))o||(O&&hE(C)&&(Re(C)?C.value=O[A]:yo(C,O[A])),r.state.value[e][A]=C);else if(typeof C=="function"){const S=H(C,A);N[A]=S,l.actions[A]=C}}return en(b,N),en(ve(b),N),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:A=>{x(C=>{en(C,A)})}}),r._p.forEach(A=>{en(b,a.run(()=>A({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="/static/dist/WGDashboardAdmin/img/Logo-2-Rounded-512x512.png";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,T=t.value;let x=0;if(p){if(n.value=m,t.value=p,a&&a===O){a=null;return}x=T?p.position-T.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,T=uc(h);T.aliasOf=m&&m.record;const x=ec(t,h),P=[T];if("alias"in h){const M=typeof h.alias=="string"?[h.alias]:h.alias;for(const b of M)P.push(uc(Ae({},T,{components:m?m.record.components:T.components,path:b,aliasOf:m?m.record:T})))}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),T.children){const y=T.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={},T,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))),T=m.stringify(O)}else if(h.path!=null)T=h.path,m=n.find(H=>H.re.test(T)),m&&(O=m.parse(T),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),T=m.stringify(O)}const P=[];let V=m;for(;V;)P.unshift(V.record),V=V.parent;return{name:x,path:T,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(T=>T(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 T(){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 A(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=A.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:T,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){return"/static/dist/WGDashboardAdmin/"+e},mc={},De=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let c=function(d){return Promise.all(d.map(f=>Promise.resolve(f).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=c(n.map(d=>{if(d=Sy(d),d in mc)return;mc[d]=!0;const f=d.endsWith(".css"),h=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const p=document.createElement("link");if(p.rel=f?"stylesheet":Cy,f||(p.as="script"),p.crossOrigin="",p.href=d,l&&p.setAttribute("nonce",l),document.head.appendChild(p),f)return new Promise((m,O)=>{p.addEventListener("load",m),p.addEventListener("error",()=>O(new Error(`Unable to preload CSS for ${d}`)))})}))}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=` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CGWkLU_a.js","./localeText-DncIFq-d.js","./message-CNwYSWIg.js","./dayjs.min-XUWsRRMk.js","./message-DaZ-mqmU.css","./index-BezIeW2y.css","./configurationList-C0DXP8iJ.js","./protocolBadge-DbebmkCa.js","./storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.js","./storageMount-Cdjv5NCI.css","./configurationList-Bf1zEFWc.css","./settings-Bh_1QgUe.js","./peersDefaultSettingsInput-BttAzz3w.js","./dashboardEmailSettings-C04_SG7Y.js","./vue-datepicker-DL0jaW0X.js","./index-Jsj98gIE.js","./dashboardEmailSettings-wvX-dCK8.css","./dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js","./dashboardSettingsWireguardConfigurationAutostart-B4-DRWtz.css","./wgdashboardSettings-mVKFs9Ke.js","./peerDefaultSettings-BZ4nClpU.js","./wireguardConfigurationSettings-C4k8ZNPY.js","./ping-DbksCFxr.js","./osmap-W1gBCfhu.js","./Vector-CuSZivra.js","./Vector-BtPuoxOl.css","./osmap-CsoM1fIq.css","./ping-C_DjxRQC.css","./traceroute-CZjxAWIt.js","./traceroute-CBvjmB4l.css","./newConfiguration-JUmnKg6c.js","./index-Bno8fcdN.js","./galois-field-I2lBzzs-.js","./newConfiguration-VZyBt7W0.css","./restoreConfiguration-C4m664Ac.js","./restoreConfiguration-WP1Q7x3P.css","./systemStatus-CRYFZ6K4.js","./index-Cd3Eji6d.js","./systemStatus-BNFi5VXv.css","./clients-BooE-ulK.js","./DashboardClientAssignmentStore-B7Wg0ZGp.js","./clients-CbtxbaTj.css","./clientViewer-DCliPzC1.js","./clientViewer-DOyUtRcI.css","./dashboardWebHooks-DSrk8jw_.js","./dashboardWebHooks-B0y2cYij.css","./peerList-BBtAJUnE.js","./peerList-DLvqVl-7.css","./signin-B6a6pmoL.js","./signin-Dutj8UcP.css","./setup-Isfvgm26.js","./totp-B9bSTMsn.js","./browser-CPfGuul0.js","./share-uzofzGvX.js","./share-pZwqdyDh.css"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function mb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Lg(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){var s=!1;try{s=this instanceof r}catch{}return s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var Cs={exports:{}},Qe="top",st="bottom",it="right",Je="left",Gs="auto",vr=[Qe,st,it,Je],Ln="start",or="end",Sc="clippingParents",So="viewport",Xn="popper",wc="reference",Ji=vr.reduce(function(e,t){return e.concat([t+"-"+Ln,t+"-"+or])},[]),wo=[].concat(vr,[Gs]).reduce(function(e,t){return e.concat([t,t+"-"+Ln,t+"-"+or])},[]),Oc="beforeRead",Nc="read",xc="afterRead",Rc="beforeMain",Ic="main",Dc="afterMain",Lc="beforeWrite",Pc="write",$c="afterWrite",Mc=[Oc,Nc,xc,Rc,Ic,Dc,Lc,Pc,$c];function Pt(e){return e?(e.nodeName||"").toLowerCase():null}function ot(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Pn(e){var t=ot(e).Element;return e instanceof t||e instanceof Element}function ht(e){var t=ot(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Oo(e){if(typeof ShadowRoot>"u")return!1;var t=ot(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Pg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},o=t.elements[n];!ht(o)||!Pt(o)||(Object.assign(o.style,r),Object.keys(s).forEach(function(a){var l=s[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function $g(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!ht(s)||!Pt(s)||(Object.assign(s.style,l),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const No={name:"applyStyles",enabled:!0,phase:"write",fn:Pg,effect:$g,requires:["computeStyles"]};function Lt(e){return e.split("-")[0]}var On=Math.max,Ds=Math.min,ar=Math.round;function Zi(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function kc(){return!/^((?!chrome|android).)*safari/i.test(Zi())}function lr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),s=1,o=1;t&&ht(e)&&(s=e.offsetWidth>0&&ar(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ar(r.height)/e.offsetHeight||1);var a=Pn(e)?ot(e):window,l=a.visualViewport,c=!kc()&&n,d=(r.left+(c&&l?l.offsetLeft:0))/s,f=(r.top+(c&&l?l.offsetTop:0))/o,h=r.width/s,p=r.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function xo(e){var t=lr(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Vc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Oo(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Kt(e){return ot(e).getComputedStyle(e)}function Mg(e){return["table","td","th"].indexOf(Pt(e))>=0}function fn(e){return((Pn(e)?e.ownerDocument:e.document)||window.document).documentElement}function qs(e){return Pt(e)==="html"?e:e.assignedSlot||e.parentNode||(Oo(e)?e.host:null)||fn(e)}function el(e){return!ht(e)||Kt(e).position==="fixed"?null:e.offsetParent}function kg(e){var t=/firefox/i.test(Zi()),n=/Trident/i.test(Zi());if(n&&ht(e)){var r=Kt(e);if(r.position==="fixed")return null}var s=qs(e);for(Oo(s)&&(s=s.host);ht(s)&&["html","body"].indexOf(Pt(s))<0;){var o=Kt(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function Xr(e){for(var t=ot(e),n=el(e);n&&Mg(n)&&Kt(n).position==="static";)n=el(n);return n&&(Pt(n)==="html"||Pt(n)==="body"&&Kt(n).position==="static")?t:n||kg(e)||t}function Ro(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Dr(e,t,n){return On(e,Ds(t,n))}function Vg(e,t,n){var r=Dr(e,t,n);return r>n?n:r}function Fc(){return{top:0,right:0,bottom:0,left:0}}function Hc(e){return Object.assign({},Fc(),e)}function Bc(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Fg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Hc(typeof t!="number"?t:Bc(t,vr))};function Hg(e){var t,n=e.state,r=e.name,s=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=Lt(n.placement),c=Ro(l),d=[Je,it].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Fg(s.padding,n),p=xo(o),m=c==="y"?Qe:Je,O=c==="y"?st:it,A=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],x=a[c]-n.rects.reference[c],P=Xr(o),V=P?c==="y"?P.clientHeight||0:P.clientWidth||0:0,H=A/2-x/2,M=h[m],b=V-p[f]-h[O],y=V/2-p[f]/2+H,N=Dr(M,y,b),T=c;n.modifiersData[r]=(t={},t[T]=N,t.centerOffset=N-y,t)}}function Bg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||Vc(t.elements.popper,s)&&(t.elements.arrow=s))}const jc={name:"arrow",enabled:!0,phase:"main",fn:Hg,effect:Bg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function cr(e){return e.split("-")[1]}var jg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Wg(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:ar(n*s)/s||0,y:ar(r*s)/s||0}}function tl(e){var t,n=e.popper,r=e.popperRect,s=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,m=p===void 0?0:p,O=a.y,A=O===void 0?0:O,x=typeof f=="function"?f({x:m,y:A}):{x:m,y:A};m=x.x,A=x.y;var P=a.hasOwnProperty("x"),V=a.hasOwnProperty("y"),H=Je,M=Qe,b=window;if(d){var y=Xr(n),N="clientHeight",T="clientWidth";if(y===ot(n)&&(y=fn(n),Kt(y).position!=="static"&&l==="absolute"&&(N="scrollHeight",T="scrollWidth")),y=y,s===Qe||(s===Je||s===it)&&o===or){M=st;var C=h&&y===b&&b.visualViewport?b.visualViewport.height:y[N];A-=C-r.height,A*=c?1:-1}if(s===Je||(s===Qe||s===st)&&o===or){H=it;var S=h&&y===b&&b.visualViewport?b.visualViewport.width:y[T];m-=S-r.width,m*=c?1:-1}}var U=Object.assign({position:l},d&&jg),j=f===!0?Wg({x:m,y:A},ot(n)):{x:m,y:A};if(m=j.x,A=j.y,c){var te;return Object.assign({},U,(te={},te[M]=V?"0":"",te[H]=P?"0":"",te.transform=(b.devicePixelRatio||1)<=1?"translate("+m+"px, "+A+"px)":"translate3d("+m+"px, "+A+"px, 0)",te))}return Object.assign({},U,(t={},t[M]=V?A+"px":"",t[H]=P?m+"px":"",t.transform="",t))}function Kg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:Lt(t.placement),variation:cr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,tl(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,tl(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Io={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Kg,data:{}};var gs={passive:!0};function Ug(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,o=s===void 0?!0:s,a=r.resize,l=a===void 0?!0:a,c=ot(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,gs)}),l&&c.addEventListener("resize",n.update,gs),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,gs)}),l&&c.removeEventListener("resize",n.update,gs)}}const Do={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ug,data:{}};var Gg={left:"right",right:"left",bottom:"top",top:"bottom"};function Ss(e){return e.replace(/left|right|bottom|top/g,function(t){return Gg[t]})}var qg={start:"end",end:"start"};function nl(e){return e.replace(/start|end/g,function(t){return qg[t]})}function Lo(e){var t=ot(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Po(e){return lr(fn(e)).left+Lo(e).scrollLeft}function Yg(e,t){var n=ot(e),r=fn(e),s=n.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){o=s.width,a=s.height;var d=kc();(d||!d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:o,height:a,x:l+Po(e),y:c}}function zg(e){var t,n=fn(e),r=Lo(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=On(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=On(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),l=-r.scrollLeft+Po(e),c=-r.scrollTop;return Kt(s||n).direction==="rtl"&&(l+=On(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function $o(e){var t=Kt(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Wc(e){return["html","body","#document"].indexOf(Pt(e))>=0?e.ownerDocument.body:ht(e)&&$o(e)?e:Wc(qs(e))}function Lr(e,t){var n;t===void 0&&(t=[]);var r=Wc(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=ot(r),a=s?[o].concat(o.visualViewport||[],$o(r)?r:[]):r,l=t.concat(a);return s?l:l.concat(Lr(qs(a)))}function eo(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Xg(e,t){var n=lr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function rl(e,t,n){return t===So?eo(Yg(e,n)):Pn(t)?Xg(t,n):eo(zg(fn(e)))}function Qg(e){var t=Lr(qs(e)),n=["absolute","fixed"].indexOf(Kt(e).position)>=0,r=n&&ht(e)?Xr(e):e;return Pn(r)?t.filter(function(s){return Pn(s)&&Vc(s,r)&&Pt(s)!=="body"}):[]}function Jg(e,t,n,r){var s=t==="clippingParents"?Qg(e):[].concat(t),o=[].concat(s,[n]),a=o[0],l=o.reduce(function(c,d){var f=rl(e,d,r);return c.top=On(f.top,c.top),c.right=Ds(f.right,c.right),c.bottom=Ds(f.bottom,c.bottom),c.left=On(f.left,c.left),c},rl(e,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Kc(e){var t=e.reference,n=e.element,r=e.placement,s=r?Lt(r):null,o=r?cr(r):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(s){case Qe:c={x:a,y:t.y-n.height};break;case st:c={x:a,y:t.y+t.height};break;case it:c={x:t.x+t.width,y:l};break;case Je:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=s?Ro(s):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case Ln:c[d]=c[d]-(t[f]/2-n[f]/2);break;case or:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function ur(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?Sc:l,d=n.rootBoundary,f=d===void 0?So:d,h=n.elementContext,p=h===void 0?Xn:h,m=n.altBoundary,O=m===void 0?!1:m,A=n.padding,x=A===void 0?0:A,P=Hc(typeof x!="number"?x:Bc(x,vr)),V=p===Xn?wc:Xn,H=e.rects.popper,M=e.elements[O?V:p],b=Jg(Pn(M)?M:M.contextElement||fn(e.elements.popper),c,f,a),y=lr(e.elements.reference),N=Kc({reference:y,element:H,placement:s}),T=eo(Object.assign({},H,N)),C=p===Xn?T:y,S={top:b.top-C.top+P.top,bottom:C.bottom-b.bottom+P.bottom,left:b.left-C.left+P.left,right:C.right-b.right+P.right},U=e.modifiersData.offset;if(p===Xn&&U){var j=U[s];Object.keys(S).forEach(function(te){var he=[it,st].indexOf(te)>=0?1:-1,Ee=[Qe,st].indexOf(te)>=0?"y":"x";S[te]+=j[Ee]*he})}return S}function Zg(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?wo:c,f=cr(r),h=f?l?Ji:Ji.filter(function(O){return cr(O)===f}):vr,p=h.filter(function(O){return d.indexOf(O)>=0});p.length===0&&(p=h);var m=p.reduce(function(O,A){return O[A]=ur(e,{placement:A,boundary:s,rootBoundary:o,padding:a})[Lt(A)],O},{});return Object.keys(m).sort(function(O,A){return m[O]-m[A]})}function em(e){if(Lt(e)===Gs)return[];var t=Ss(e);return[nl(e),t,nl(t)]}function tm(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,m=n.flipVariations,O=m===void 0?!0:m,A=n.allowedAutoPlacements,x=t.options.placement,P=Lt(x),V=P===x,H=c||(V||!O?[Ss(x)]:em(x)),M=[x].concat(H).reduce(function(de,me){return de.concat(Lt(me)===Gs?Zg(t,{placement:me,boundary:f,rootBoundary:h,padding:d,flipVariations:O,allowedAutoPlacements:A}):me)},[]),b=t.rects.reference,y=t.rects.popper,N=new Map,T=!0,C=M[0],S=0;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 @@ -10,5 +10,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-ElUmKQXl. (?:${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=A,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])?$/,T=/^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 A(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 A([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 A([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,A([X,re,ne,se])}function te(I){var K=T.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),A([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):T.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:A,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-ElUmKQXl.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>De(()=>import("./configurationList-BmBzibCH.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>De(()=>import("./settings-yh4yZgcG.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17,18])),children:[{name:"WGDashboard Settings",path:"",component:()=>De(()=>import("./wgdashboardSettings-b-VSP6t-.js"),__vite__mapDeps([19,1,13,3,14,15,16])),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>De(()=>import("./peerDefaultSettings-DrA2ujGo.js"),__vite__mapDeps([20,1,12])),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>De(()=>import("./wireguardConfigurationSettings-Bz2BaANg.js"),__vite__mapDeps([21,17,1,18])),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>De(()=>import("./ping-yn2Ok0iq.js"),__vite__mapDeps([22,1,23,24,25,26,27]))},{path:"traceroute",name:"Traceroute",component:()=>De(()=>import("./traceroute-DW1aS4wL.js"),__vite__mapDeps([28,23,24,25,26,1,29]))},{name:"New Configuration",path:"new_configuration",component:()=>De(()=>import("./newConfiguration-DKGZAANU.js"),__vite__mapDeps([30,31,1,32,33])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>De(()=>import("./restoreConfiguration-Dz1O-iX5.js"),__vite__mapDeps([34,1,3,7,31,35])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>De(()=>import("./systemStatus-0e9M7tEY.js"),__vite__mapDeps([36,1,8,9,37,3,38])),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>De(()=>import("./clients-B5XnFbd-.js"),__vite__mapDeps([39,40,1,41])),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>De(()=>import("./clientViewer-BYJe9WYt.js"),__vite__mapDeps([42,40,1,43])),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>De(()=>import("./dashboardWebHooks-CEc1Rq-k.js"),__vite__mapDeps([44,1,45])),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>De(()=>import("./configuration-Day1LioO.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>De(()=>import("./peerList-C-bwOqvP.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]))}]}]},{path:"/signin",component:()=>De(()=>import("./signin-RX8JxeCw.js"),__vite__mapDeps([48,2,1,3,4,49])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>De(()=>import("./setup-DwS6cNkc.js"),__vite__mapDeps([50,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>De(()=>import("./totp-DLhlDLL5.js"),__vite__mapDeps([51,52,32,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>De(()=>import("./share-Cyu4RGGS.js"),__vite__mapDeps([53,52,32,1,54])),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}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},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),A[S-1]&=65535;A[15]=C[15]-32767-(A[14]>>16&1),N=A[15]>>16&1,A[14]&=65535,r(C,A,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 A,C=~(N-1),S=0;S<16;++S)A=C&(b[S]^y[S]),b[S]^=A,y[S]^=A}function s(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]+N[A]|0}function o(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]-N[A]|0}function a(b,y,N){for(var A=new Float64Array(31),C=0;C<16;++C)for(var S=0;S<16;++S)A[C+S]+=y[C]*N[S];for(var C=0;C<15;++C)A[C]+=38*A[C+16];for(var C=0;C<16;++C)b[C]=A[C];n(b),n(b)}function l(b,y){for(var N=e(),A=0;A<16;++A)N[A]=y[A];for(var A=253;A>=0;--A)a(N,N,N),A!==2&&A!==4&&a(N,N,y);for(var A=0;A<16;++A)b[A]=N[A]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,N=new Uint8Array(32),A=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(A,C,y),r(S,U,y),s(j,A,S),o(A,A,S),s(S,C,U),o(C,C,U),a(U,j,j),a(te,A,A),a(A,S,A),a(S,C,j),s(j,A,S),o(A,A,S),a(C,A,A),o(S,U,te),a(A,S,he),s(A,A,U),a(S,S,A),a(A,U,te),a(U,C,Ee),a(C,j,j),r(A,C,y),r(S,U,y);return l(S,S),a(A,A,S),t(N,A),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]),A=0;A<4;++A)b[A]=N[A]+65+(25-N[A]>>8&6)-(51-N[A]>>8&75)-(61-N[A]>>8&15)+(62-N[A]>>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,A=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=[],A=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,kb as H,In 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}; +`.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-CGWkLU_a.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>De(()=>import("./configurationList-C0DXP8iJ.js"),__vite__mapDeps([6,1,7,8,9,10]),import.meta.url),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>De(()=>import("./settings-Bh_1QgUe.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-mVKFs9Ke.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-BZ4nClpU.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-C4k8ZNPY.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-DbksCFxr.js"),__vite__mapDeps([22,1,23,24,25,26,27]),import.meta.url)},{path:"traceroute",name:"Traceroute",component:()=>De(()=>import("./traceroute-CZjxAWIt.js"),__vite__mapDeps([28,23,24,25,26,1,29]),import.meta.url)},{name:"New Configuration",path:"new_configuration",component:()=>De(()=>import("./newConfiguration-JUmnKg6c.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-C4m664Ac.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-CRYFZ6K4.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-BooE-ulK.js"),__vite__mapDeps([39,40,1,41]),import.meta.url),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>De(()=>import("./clientViewer-DCliPzC1.js"),__vite__mapDeps([42,40,1,43]),import.meta.url),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>De(()=>import("./dashboardWebHooks-DSrk8jw_.js"),__vite__mapDeps([44,1,45]),import.meta.url),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>De(()=>import("./configuration-C3TphzKy.js"),[],import.meta.url),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>De(()=>import("./peerList-BBtAJUnE.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]),import.meta.url)}]}]},{path:"/signin",component:()=>De(()=>import("./signin-B6a6pmoL.js"),__vite__mapDeps([48,2,1,3,4,49]),import.meta.url),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>De(()=>import("./setup-Isfvgm26.js"),__vite__mapDeps([50,1]),import.meta.url),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>De(()=>import("./totp-B9bSTMsn.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-uzofzGvX.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();if(n)return`${n.host}${e}`;const r=window.APP_PREFIX||"";return`${window.location.protocol}//${window.location.host}${r}${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-20b54dfd"]]);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,kb as H,In 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-DPa-4xgI.js b/src/static/dist/WGDashboardAdmin/assets/index-Jsj98gIE.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/index-DPa-4xgI.js rename to src/static/dist/WGDashboardAdmin/assets/index-Jsj98gIE.js index 02b93c94..f2a445e7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-DPa-4xgI.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-Jsj98gIE.js @@ -1 +1 @@ -import{I as j,q as w,P as S,J as k,Q as L,u as R}from"./index-DYYtDSji.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 j(t,a,{...r,immediate:!0})}const I=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:[I].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=I,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},O=[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:()=>O.forEach(l=>l())}}export{D as a,B as o,P as u}; +import{I as j,q as w,P as S,J as k,Q as L,u as R}from"./index-Daf9JYJW.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 j(t,a,{...r,immediate:!0})}const I=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:[I].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=I,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},O=[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:()=>O.forEach(l=>l())}}export{D as a,B as o,P as u}; diff --git a/src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js b/src/static/dist/WGDashboardAdmin/assets/localeText-DncIFq-d.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js rename to src/static/dist/WGDashboardAdmin/assets/localeText-DncIFq-d.js index e5feee9b..84eaba6b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js +++ b/src/static/dist/WGDashboardAdmin/assets/localeText-DncIFq-d.js @@ -1 +1 @@ -import{_ as e,G as t,c as o,t as a,f as c}from"./index-DYYtDSji.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-Daf9JYJW.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-Bh5W0B3y.css b/src/static/dist/WGDashboardAdmin/assets/message-Bh5W0B3y.css deleted file mode 100644 index 1d27c0f7..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/message-Bh5W0B3y.css +++ /dev/null @@ -1 +0,0 @@ -.message[data-v-94c76b54]{width:100%}@media screen and (min-width: 576px){.message[data-v-94c76b54]{width:400px}} diff --git a/src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js b/src/static/dist/WGDashboardAdmin/assets/message-CNwYSWIg.js similarity index 65% rename from src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js rename to src/static/dist/WGDashboardAdmin/assets/message-CNwYSWIg.js index c219f802..64d1ecad 100644 --- a/src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js +++ b/src/static/dist/WGDashboardAdmin/assets/message-CNwYSWIg.js @@ -1 +1 @@ -import{L as l}from"./localeText-Cd7vLnRM.js";import{d as c}from"./dayjs.min-WRW_FTL4.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-DYYtDSji.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-DncIFq-d.js";import{d as c}from"./dayjs.min-XUWsRRMk.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-Daf9JYJW.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"],w={key:0,class:"d-flex"},b={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",w,[e("small",b,[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-058de3d0"]]);export{z as M}; diff --git a/src/static/dist/WGDashboardAdmin/assets/message-DaZ-mqmU.css b/src/static/dist/WGDashboardAdmin/assets/message-DaZ-mqmU.css new file mode 100644 index 00000000..23cadb91 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/message-DaZ-mqmU.css @@ -0,0 +1 @@ +.message[data-v-058de3d0]{width:100%}@media screen and (min-width: 576px){.message[data-v-058de3d0]{width:400px}} diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-CaR3VWG-.css b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-CaR3VWG-.css deleted file mode 100644 index 8d9c49e4..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-CaR3VWG-.css +++ /dev/null @@ -1 +0,0 @@ -.protocolBtnGroup a[data-v-c25dcde1]{transition:all .2s ease-in-out} diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-JUmnKg6c.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js rename to src/static/dist/WGDashboardAdmin/assets/newConfiguration-JUmnKg6c.js index 259e941a..8895c941 100644 --- a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js +++ b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-JUmnKg6c.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,I as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as M,F as A,i as I,e as U,n as D,z as q,E as Z,g as E,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=s=>{const t=s.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,I as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as M,F as A,i as I,e as U,n as D,z as q,E as Z,g as E,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-Daf9JYJW.js";import{L as g}from"./localeText-DncIFq-d.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=s=>{const t=s.split(` `),o={};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"?o[l[0]]=parseInt(l[1]):o[l[0]]=l[1])}}return o},oe=s=>{const t=s.split(` -`),o=[];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)],o[f][b[0]]=b[1])}return o};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"},we={class:"d-flex align-items-center"},ye={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"},Te={key:1,class:"d-flex gap-2"},H=G({__name:"newConfigurationTemplate",props:["template","edit","isNew","peersCount"],emits:["subnet","port","update","remove"],setup(s,{emit:t}){const o=s,f=B(),l=h(!1);o.edit&&(l.value=!0);const d=h({...o.template});h(256);const b=h([]);h(20);const u=t,S=h(void 0),i=h(void 0),x=h([]),$=()=>{if(b.value=[],o.template.Subnet){let v=new Set([...V(o.template.Subnet)]);if(o.peersCount&&o.peersCount>0){for(let k of f.Configurations){let K=k.Address.replace(" ","").split(",");for(let R of K)W(o.template.Subnet,R)&&(v=v.difference(new Set([...V(R)])))}let c=Math.floor(v.size/o.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+o.peersCount))),p+=o.peersCount}}},m=()=>{if(o.template.ListenPortStart&&o.template.ListenPortEnd){let v=o.template.ListenPortStart,c=o.template.ListenPortEnd;v>c&&(v=o.template.ListenPortEnd,c=o.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(()=>{o.isNew||($(),m())}),N(()=>o.peersCount,()=>{$()}),N(S,()=>{u("subnet",S.value)}),N(i,()=>{u("port",i.value)}),N(()=>o.template,()=>{$(),m()},{deep:!0});const y=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 q("/api/newConfigurationTemplates/updateTemplate",{Template:d.value},v=>{v.status&&(u("update",d.value),l.value=!1)})},C=async()=>{await q("/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?w((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,_(s.template.Subnet),1)]))]),l.value?T("",!0):(n(),a("div",pe,[e("label",me,[e("small",null,[r(g,{t:"Available Subnets"})]),e("span",fe,_(b.value.length),1)]),w(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(A,null,I(b.value,p=>(n(),a("option",{value:p.join(", ")},_(p.join(", ")),9,ve))),256))],512),[[M,S.value]])]))])]),e("div",ge,[e("div",he,[e("div",we,[e("label",ye,[e("small",null,[r(g,{t:"Listen Port Range"})])]),l.value?(n(),a("div",Ce,[w(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)),w(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(_(s.template.ListenPortStart),1),c[9]||(c[9]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),U(" "+_(s.template.ListenPortEnd),1)])]))]),l.value?T("",!0):(n(),a("div",Pe,[e("label",xe,[e("small",null,[r(g,{t:"Available Ports"})]),e("span",Se,_(x.value.length),1)]),w(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(A,null,I([...x.value],p=>(n(),a("option",{value:p},_(p),9,Le))),256))],512),[[M,i.value]])]))])])]),c[11]||(c[11]=e("hr",null,null,-1)),l.value?(n(),a("div",Te,[e("button",{type:"button",onClick:c[7]||(c[7]=p=>s.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:!y.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={...o.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"})])]))])]))}}),Ae={class:"card rounded-3"},Ie={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"}},qe={class:"row g-2"},Ee={key:0,class:"col-12"},Re={class:"text-center text-muted m-0"},Ve={class:"col-12"},Me={class:"col-12"},He=G({__name:"newConfigurationTemplates",emits:["subnet","port"],async setup(s,{emit:t}){let o,f;const l=t,d=h([]),b=async()=>{await E("/api/newConfigurationTemplates",{},$=>{d.value=$.data})};[o,f]=Z(()=>b()),await o,f();const u=h([]),S=async()=>{await E("/api/newConfigurationTemplates/createTemplate",{},$=>{u.value.push($.data)})},i=h(256),x=h(256);return($,m)=>(n(),a("div",Ae,[e("div",Ie,[e("div",Ne,[r(g,{t:"Subnets & Listen Ports Templates"}),e("button",{type:"button",onClick:m[0]||(m[0]=y=>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"})])]),w(e("input",{type:"number","onUpdate:modelValue":m[1]||(m[1]=y=>i.value=y),onChange:m[2]||(m[2]=y=>x.value=i.value),class:"form-control form-control-sm rounded-3 w-100 ms-auto"},null,544),[[P,i.value]])])):T("",!0),e("div",qe,[u.value.length===0&&d.value.length===0?(n(),a("div",Ee,[e("p",Re,[r(g,{t:"No Templates"})])])):T("",!0),(n(!0),a(A,null,I(u.value,y=>(n(),a("div",Ve,[r(H,{edit:!0,isNew:!0,onRemove:L=>u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),onUpdate:L=>{u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),b()},onSubnet:m[3]||(m[3]=L=>l("subnet",L)),onPort:m[4]||(m[4]=L=>l("port",L)),template:y},null,8,["onRemove","onUpdate","template"])]))),256)),(n(!0),a(A,null,I(d.value,(y,L)=>(n(),a("div",Me,[(n(),Q(H,{key:y.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:y},null,8,["peersCount","template"]))]))),256))])])]))}}),Fe={name:"newConfiguration",components:{NewConfigurationTemplates:He,LocaleText:g},async setup(){const s=B(),t=h([]);await E("/api/protocolsEnabled",{},f=>{t.value=f.data});const o=ee();return{store:s,protocols:t,dashboardStore:o}},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,H1:0,H2:0,H3:0,H4:0},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair();let s=[];for(;[...new Set(s)].length!==4;)s=[this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1)];this.newConfiguration.H1=s[0],this.newConfiguration.H2=s[1],this.newConfiguration.H3=s[2],this.newConfiguration.H4=s[3]},methods:{rand(s,t){return Math.floor(Math.random()*(t-s)+s)},wireguardGenerateKeypair(){const s=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=s.privateKey,this.newConfiguration.PublicKey=s.publicKey,this.newConfiguration.PresharedKey=s.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await q("/api/addWireguardConfiguration",this.newConfiguration,async s=>{s.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=s.message,document.querySelector(`#${s.data}`).classList.remove("is-valid"),document.querySelector(`#${s.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(s){const t=s.target.files[0];if(!t)return!1;const o=new FileReader;o.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")},o.readAsText(t)}},computed:{goodToSubmit(){let s=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return s.find(o=>this.newConfiguration[o].length===0)===void 0&&t.find(o=>o.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(s){let t=document.querySelector("#Address");if(t){t.classList.remove("is-invalid","is-valid");try{this.numberOfAvailableIPs=0,s.replace(" ","").split(",").forEach(o=>{let f=F(o),l=Number(f.end-f.start);this.numberOfAvailableIPs+=l+1}),t.classList.add("is-valid")}catch(o){console.log(o),this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}}},"newConfiguration.ListenPort"(s){let t=document.querySelector("#ListenPort");t&&(t.classList.remove("is-invalid","is-valid"),s<0||s>65353||!Number.isInteger(s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.ConfigurationName"(s){let t=document.querySelector("#ConfigurationName");t&&(t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(s)||s.length===0||this.store.Configurations.find(o=>o.Name===s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.PrivateKey"(s){let t=document.querySelector("#PrivateKey");if(t){t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(s),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"},wt={class:"card-header"},yt={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"},Tt=["disabled"],At={class:"invalid-feedback"},It={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"},qt={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Et={class:"accordion-body d-flex flex-column gap-3"},Rt={class:"card rounded-3"},Vt={class:"card-header"},Mt={class:"card-body"},Ht=["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(s,t,o,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)):T("",!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)):T("",!0)])]),e("div",st,[e("div",ot,[r(u,{t:"Configuration Name"})]),e("div",nt,[w(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,[w(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"})])]),w(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",wt,[r(u,{t:"Listen Port"})]),e("div",yt,[w(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,[w(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,Tt),[[P,this.newConfiguration.Address]]),e("div",At,[this.error?(n(),a("div",It,_(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",qt,[e("div",Et,[(n(),a(A,null,I(["Table","PreUp","PreDown","PostUp","PostDown"],i=>e("div",Rt,[e("div",Vt,_(i),1),e("div",Mt,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Ht),[[P,this.newConfiguration[i]]])])])),64)),this.newConfiguration.Protocol==="awg"?(n(),a(A,{key:0},I(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],i=>e("div",Ft,[e("div",Gt,_(i),1),e("div",Bt,[w(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)):T("",!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-c25dcde1"]]);export{ss as default}; +`),o=[];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)],o[f][b[0]]=b[1])}return o};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"},we={class:"d-flex align-items-center"},ye={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"},Te={key:1,class:"d-flex gap-2"},H=G({__name:"newConfigurationTemplate",props:["template","edit","isNew","peersCount"],emits:["subnet","port","update","remove"],setup(s,{emit:t}){const o=s,f=B(),l=h(!1);o.edit&&(l.value=!0);const d=h({...o.template});h(256);const b=h([]);h(20);const u=t,S=h(void 0),i=h(void 0),x=h([]),$=()=>{if(b.value=[],o.template.Subnet){let v=new Set([...V(o.template.Subnet)]);if(o.peersCount&&o.peersCount>0){for(let k of f.Configurations){let K=k.Address.replace(" ","").split(",");for(let R of K)W(o.template.Subnet,R)&&(v=v.difference(new Set([...V(R)])))}let c=Math.floor(v.size/o.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+o.peersCount))),p+=o.peersCount}}},m=()=>{if(o.template.ListenPortStart&&o.template.ListenPortEnd){let v=o.template.ListenPortStart,c=o.template.ListenPortEnd;v>c&&(v=o.template.ListenPortEnd,c=o.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(()=>{o.isNew||($(),m())}),N(()=>o.peersCount,()=>{$()}),N(S,()=>{u("subnet",S.value)}),N(i,()=>{u("port",i.value)}),N(()=>o.template,()=>{$(),m()},{deep:!0});const y=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 q("/api/newConfigurationTemplates/updateTemplate",{Template:d.value},v=>{v.status&&(u("update",d.value),l.value=!1)})},C=async()=>{await q("/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?w((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,_(s.template.Subnet),1)]))]),l.value?T("",!0):(n(),a("div",pe,[e("label",me,[e("small",null,[r(g,{t:"Available Subnets"})]),e("span",fe,_(b.value.length),1)]),w(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(A,null,I(b.value,p=>(n(),a("option",{value:p.join(", ")},_(p.join(", ")),9,ve))),256))],512),[[M,S.value]])]))])]),e("div",ge,[e("div",he,[e("div",we,[e("label",ye,[e("small",null,[r(g,{t:"Listen Port Range"})])]),l.value?(n(),a("div",Ce,[w(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)),w(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(_(s.template.ListenPortStart),1),c[9]||(c[9]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),U(" "+_(s.template.ListenPortEnd),1)])]))]),l.value?T("",!0):(n(),a("div",Pe,[e("label",xe,[e("small",null,[r(g,{t:"Available Ports"})]),e("span",Se,_(x.value.length),1)]),w(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(A,null,I([...x.value],p=>(n(),a("option",{value:p},_(p),9,Le))),256))],512),[[M,i.value]])]))])])]),c[11]||(c[11]=e("hr",null,null,-1)),l.value?(n(),a("div",Te,[e("button",{type:"button",onClick:c[7]||(c[7]=p=>s.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:!y.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={...o.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"})])]))])]))}}),Ae={class:"card rounded-3"},Ie={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"}},qe={class:"row g-2"},Ee={key:0,class:"col-12"},Re={class:"text-center text-muted m-0"},Ve={class:"col-12"},Me={class:"col-12"},He=G({__name:"newConfigurationTemplates",emits:["subnet","port"],async setup(s,{emit:t}){let o,f;const l=t,d=h([]),b=async()=>{await E("/api/newConfigurationTemplates",{},$=>{d.value=$.data})};[o,f]=Z(()=>b()),await o,f();const u=h([]),S=async()=>{await E("/api/newConfigurationTemplates/createTemplate",{},$=>{u.value.push($.data)})},i=h(256),x=h(256);return($,m)=>(n(),a("div",Ae,[e("div",Ie,[e("div",Ne,[r(g,{t:"Subnets & Listen Ports Templates"}),e("button",{type:"button",onClick:m[0]||(m[0]=y=>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"})])]),w(e("input",{type:"number","onUpdate:modelValue":m[1]||(m[1]=y=>i.value=y),onChange:m[2]||(m[2]=y=>x.value=i.value),class:"form-control form-control-sm rounded-3 w-100 ms-auto"},null,544),[[P,i.value]])])):T("",!0),e("div",qe,[u.value.length===0&&d.value.length===0?(n(),a("div",Ee,[e("p",Re,[r(g,{t:"No Templates"})])])):T("",!0),(n(!0),a(A,null,I(u.value,y=>(n(),a("div",Ve,[r(H,{edit:!0,isNew:!0,onRemove:L=>u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),onUpdate:L=>{u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),b()},onSubnet:m[3]||(m[3]=L=>l("subnet",L)),onPort:m[4]||(m[4]=L=>l("port",L)),template:y},null,8,["onRemove","onUpdate","template"])]))),256)),(n(!0),a(A,null,I(d.value,(y,L)=>(n(),a("div",Me,[(n(),Q(H,{key:y.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:y},null,8,["peersCount","template"]))]))),256))])])]))}}),Fe={name:"newConfiguration",components:{NewConfigurationTemplates:He,LocaleText:g},async setup(){const s=B(),t=h([]);await E("/api/protocolsEnabled",{},f=>{t.value=f.data});const o=ee();return{store:s,protocols:t,dashboardStore:o}},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,H1:0,H2:0,H3:0,H4:0},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair();let s=[];for(;[...new Set(s)].length!==4;)s=[this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1)];this.newConfiguration.H1=s[0],this.newConfiguration.H2=s[1],this.newConfiguration.H3=s[2],this.newConfiguration.H4=s[3]},methods:{rand(s,t){return Math.floor(Math.random()*(t-s)+s)},wireguardGenerateKeypair(){const s=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=s.privateKey,this.newConfiguration.PublicKey=s.publicKey,this.newConfiguration.PresharedKey=s.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await q("/api/addWireguardConfiguration",this.newConfiguration,async s=>{s.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=s.message,document.querySelector(`#${s.data}`).classList.remove("is-valid"),document.querySelector(`#${s.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(s){const t=s.target.files[0];if(!t)return!1;const o=new FileReader;o.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")},o.readAsText(t)}},computed:{goodToSubmit(){let s=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return s.find(o=>this.newConfiguration[o].length===0)===void 0&&t.find(o=>o.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(s){let t=document.querySelector("#Address");if(t){t.classList.remove("is-invalid","is-valid");try{this.numberOfAvailableIPs=0,s.replace(" ","").split(",").forEach(o=>{let f=F(o),l=Number(f.end-f.start);this.numberOfAvailableIPs+=l+1}),t.classList.add("is-valid")}catch(o){console.log(o),this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}}},"newConfiguration.ListenPort"(s){let t=document.querySelector("#ListenPort");t&&(t.classList.remove("is-invalid","is-valid"),s<0||s>65353||!Number.isInteger(s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.ConfigurationName"(s){let t=document.querySelector("#ConfigurationName");t&&(t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(s)||s.length===0||this.store.Configurations.find(o=>o.Name===s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.PrivateKey"(s){let t=document.querySelector("#PrivateKey");if(t){t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(s),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"},wt={class:"card-header"},yt={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"},Tt=["disabled"],At={class:"invalid-feedback"},It={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"},qt={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Et={class:"accordion-body d-flex flex-column gap-3"},Rt={class:"card rounded-3"},Vt={class:"card-header"},Mt={class:"card-body"},Ht=["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(s,t,o,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)):T("",!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)):T("",!0)])]),e("div",st,[e("div",ot,[r(u,{t:"Configuration Name"})]),e("div",nt,[w(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,[w(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"})])]),w(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",wt,[r(u,{t:"Listen Port"})]),e("div",yt,[w(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,[w(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,Tt),[[P,this.newConfiguration.Address]]),e("div",At,[this.error?(n(),a("div",It,_(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",qt,[e("div",Et,[(n(),a(A,null,I(["Table","PreUp","PreDown","PostUp","PostDown"],i=>e("div",Rt,[e("div",Vt,_(i),1),e("div",Mt,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Ht),[[P,this.newConfiguration[i]]])])])),64)),this.newConfiguration.Protocol==="awg"?(n(),a(A,{key:0},I(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],i=>e("div",Ft,[e("div",Gt,_(i),1),e("div",Bt,[w(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)):T("",!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-6b16d602"]]);export{ss as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-VZyBt7W0.css b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-VZyBt7W0.css new file mode 100644 index 00000000..8c41b7df --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-VZyBt7W0.css @@ -0,0 +1 @@ +.protocolBtnGroup a[data-v-6b16d602]{transition:all .2s ease-in-out} diff --git a/src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js b/src/static/dist/WGDashboardAdmin/assets/osmap-W1gBCfhu.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js rename to src/static/dist/WGDashboardAdmin/assets/osmap-W1gBCfhu.js index 1ef231ae..741d8f00 100644 --- a/src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js +++ b/src/static/dist/WGDashboardAdmin/assets/osmap-W1gBCfhu.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-DYYtDSji.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-Daf9JYJW.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-CFkDvr1R.js b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-77JMVb9c.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/peerAddModal-CFkDvr1R.js rename to src/static/dist/WGDashboardAdmin/assets/peerAddModal-77JMVb9c.js index cd87befa..0ae8ba91 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-CFkDvr1R.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-77JMVb9c.js @@ -1 +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 m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,H as F,d as g,G as V,r as L,$ as N,g as B,L as G,E as R,q as T,I as q,j as K,z as W}from"./index-DYYtDSji.js";import{L as p}from"./localeText-Cd7vLnRM.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,v){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:m(["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 V("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,v){const s=y("LocaleText");return i(),d("div",{class:m({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:m(["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:m(["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:m(["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:m([{"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,v){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:m(["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}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[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,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),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,v){const s=y("LocaleText");return i(),d("div",{class:m(["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:m(["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:m(["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),[[N,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:m(["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),[[N,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 V("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&&B("/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,v){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:m({"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 "+v.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,v){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,v){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,v){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={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),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,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[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},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{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))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[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",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[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",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; +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 m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,H as F,d as g,G as V,r as L,$ as N,g as B,L as G,E as R,q as T,I as q,j as K,z as W}from"./index-Daf9JYJW.js";import{L as p}from"./localeText-DncIFq-d.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,v){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:m(["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 V("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,v){const s=y("LocaleText");return i(),d("div",{class:m({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:m(["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:m(["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:m(["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:m([{"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-77f484c5"]]),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,v){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:m(["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}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[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,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),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,v){const s=y("LocaleText");return i(),d("div",{class:m(["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:m(["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:m(["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),[[N,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:m(["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),[[N,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 V("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&&B("/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,v){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:m({"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 "+v.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,v){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,v){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,v){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={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),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,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[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},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{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))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[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",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[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",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-B4gIHs91.css b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-B4gIHs91.css deleted file mode 100644 index e2eab2f1..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-B4gIHs91.css +++ /dev/null @@ -1 +0,0 @@ -.list-move[data-v-ed72944d],.list-enter-active[data-v-ed72944d],.list-leave-active[data-v-ed72944d]{transition:all .3s ease}.list-enter-from[data-v-ed72944d],.list-leave-to[data-v-ed72944d]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-ed72944d]{position:absolute} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-BVeu4D8o.css b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-BVeu4D8o.css new file mode 100644 index 00000000..a856a9b9 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-BVeu4D8o.css @@ -0,0 +1 @@ +.list-move[data-v-77f484c5],.list-enter-active[data-v-77f484c5],.list-leave-active[data-v-77f484c5]{transition:all .3s ease}.list-enter-from[data-v-77f484c5],.list-leave-to[data-v-77f484c5]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-77f484c5]{position:absolute} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal--_bmFbmn.css b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal--_bmFbmn.css deleted file mode 100644 index 59121bfe..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal--_bmFbmn.css +++ /dev/null @@ -1 +0,0 @@ -.list-move[data-v-99c0844e],.list-enter-active[data-v-99c0844e],.list-leave-active[data-v-99c0844e]{transition:all .5s ease}.list-enter-from[data-v-99c0844e],.list-leave-to[data-v-99c0844e]{opacity:0;transform:scale(.9)}.list-leave-active[data-v-99c0844e]{position:absolute;width:100%}.assignment[data-v-99c0844e]:last-child{margin-bottom:0!important}[data-v-b52659b4]:focus{outline:none} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-D7QjFPr6.css b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-D7QjFPr6.css new file mode 100644 index 00000000..0133e336 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-D7QjFPr6.css @@ -0,0 +1 @@ +.list-move[data-v-fa08dc87],.list-enter-active[data-v-fa08dc87],.list-leave-active[data-v-fa08dc87]{transition:all .5s ease}.list-enter-from[data-v-fa08dc87],.list-leave-to[data-v-fa08dc87]{opacity:0;transform:scale(.9)}.list-leave-active[data-v-fa08dc87]{position:absolute;width:100%}.assignment[data-v-fa08dc87]:last-child{margin-bottom:0!important}[data-v-972fde1d]:focus{outline:none} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-FMpq7HZm.js similarity index 81% rename from src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js rename to src/static/dist/WGDashboardAdmin/assets/peerAssignModal-FMpq7HZm.js index 433482ea..c9973302 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-FMpq7HZm.js @@ -1 +1 @@ -import{L as g}from"./localeText-Cd7vLnRM.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-DYYtDSji.js";import{D as C}from"./DashboardClientAssignmentStore-DDEBJ8Q3.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-DncIFq-d.js";import{q as S,c as l,f as n,a as e,t as f,F as y,i as $,u as _,n as v,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-Daf9JYJW.js";import{D as C}from"./DashboardClientAssignmentStore-B7Wg0ZGp.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,f(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,f(o.Email),1),e("small",F,f(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:v([{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:v([{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:v([{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:v(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},f(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:v([{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:v([{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,f(r.assignment.Client.Email),1),e("small",le,f(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+f(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:v([{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-fa08dc87"]]),fe={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ve={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",fe,[e("div",ve,[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-972fde1d"]]);export{De as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DTynkmv7.js similarity index 71% rename from src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js rename to src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DTynkmv7.js index 5e26b670..eb108f3e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DTynkmv7.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-DYYtDSji.js";import{L as T}from"./localeText-Cd7vLnRM.js";import"./browser-LdOMKRZX.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-Daf9JYJW.js";import{L as T}from"./localeText-DncIFq-d.js";import"./browser-CPfGuul0.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,d=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const r=x();y("/api/downloadPeer/"+r.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 _=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{d.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):d.newMessage("WGDashboard","Failed to copy","danger"))};return(r,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]=b=>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-6aa063c2"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DmA4QYwU.css b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DmA4QYwU.css new file mode 100644 index 00000000..01971b50 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-DmA4QYwU.css @@ -0,0 +1 @@ +.slide-up-enter-active[data-v-6aa063c2],.slide-up-leave-active[data-v-6aa063c2]{transition:all .2s cubic-bezier(.42,0,.22,1)}.slide-up-enter-from[data-v-6aa063c2],.slide-up-leave-to[data-v-6aa063c2]{opacity:0;transform:scale(.9)}@keyframes spin-6aa063c2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#check[data-v-6aa063c2]{animation:cubic-bezier(.42,0,.22,1.3) .7s spin-6aa063c2} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Z9ms5mIx.css b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Z9ms5mIx.css deleted file mode 100644 index 4ab57646..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Z9ms5mIx.css +++ /dev/null @@ -1 +0,0 @@ -.slide-up-enter-active[data-v-b0ea2d46],.slide-up-leave-active[data-v-b0ea2d46]{transition:all .2s cubic-bezier(.42,0,.22,1)}.slide-up-enter-from[data-v-b0ea2d46],.slide-up-leave-to[data-v-b0ea2d46]{opacity:0;transform:scale(.9)}@keyframes spin-b0ea2d46{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#check[data-v-b0ea2d46]{animation:cubic-bezier(.42,0,.22,1.3) .7s spin-b0ea2d46} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BZ4nClpU.js similarity index 78% rename from src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js rename to src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BZ4nClpU.js index 163f1293..ab80a660 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BZ4nClpU.js @@ -1 +1 @@ -import{L as o}from"./localeText-Cd7vLnRM.js";import{P as t}from"./peersDefaultSettingsInput-BuZeDfeq.js";import{B as s,c as l,a,b as e,f as n}from"./index-DYYtDSji.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}; +import{L as o}from"./localeText-DncIFq-d.js";import{P as t}from"./peersDefaultSettingsInput-BttAzz3w.js";import{B as s,c as l,a,b as e,f as n}from"./index-Daf9JYJW.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/peerJobs-D2oGGYqb.css b/src/static/dist/WGDashboardAdmin/assets/peerJobs-D2oGGYqb.css new file mode 100644 index 00000000..6cd94ba4 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobs-D2oGGYqb.css @@ -0,0 +1 @@ +.schedulePeerJobTransition-move[data-v-18fa8a0b],.schedulePeerJobTransition-enter-active[data-v-18fa8a0b],.schedulePeerJobTransition-leave-active[data-v-18fa8a0b]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.schedulePeerJobTransition-enter-from[data-v-18fa8a0b],.schedulePeerJobTransition-leave-to[data-v-18fa8a0b]{opacity:0;transform:scale(.9)}.schedulePeerJobTransition-leave-active[data-v-18fa8a0b]{position:absolute;width:100%} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobs-D_dDl936.css b/src/static/dist/WGDashboardAdmin/assets/peerJobs-D_dDl936.css deleted file mode 100644 index 80b7ff14..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobs-D_dDl936.css +++ /dev/null @@ -1 +0,0 @@ -.schedulePeerJobTransition-move[data-v-5bbdd42b],.schedulePeerJobTransition-enter-active[data-v-5bbdd42b],.schedulePeerJobTransition-leave-active[data-v-5bbdd42b]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.schedulePeerJobTransition-enter-from[data-v-5bbdd42b],.schedulePeerJobTransition-leave-to[data-v-5bbdd42b]{opacity:0;transform:scale(.9)}.schedulePeerJobTransition-leave-active[data-v-5bbdd42b]{position:absolute;width:100%} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js b/src/static/dist/WGDashboardAdmin/assets/peerJobs-X3hZcVwZ.js similarity index 69% rename from src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobs-X3hZcVwZ.js index ead19044..98e964c2 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobs-X3hZcVwZ.js @@ -1 +1 @@ -import{a as p,S as b}from"./schedulePeerJob-u2PLfoyV.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-DYYtDSji.js";import{L as w}from"./localeText-Cd7vLnRM.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";import"./dayjs.min-WRW_FTL4.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-C_9yNs2s.js";import{_ as h,h as i,c as n,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-Daf9JYJW.js";import{L as w}from"./localeText-DncIFq-d.js";import"./vue-datepicker-DL0jaW0X.js";import"./index-Jsj98gIE.js";import"./dayjs.min-XUWsRRMk.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 a=i("LocaleText"),l=i("SchedulePeerJob");return s(),n("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(a,{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(a,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(s(!0),n(_,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(),n("div",N,[e("div",I,[e("h6",L,[r(a,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const H=h(P,[["render",O],["__scopeId","data-v-18fa8a0b"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DN8qZ_0G.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DN8qZ_0G.js index 3d9cac3d..055efbf1 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DN8qZ_0G.js @@ -1 +1 @@ -import{S as _}from"./schedulePeerJob-u2PLfoyV.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-DYYtDSji.js";import{L as x}from"./localeText-Cd7vLnRM.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";import"./dayjs.min-WRW_FTL4.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-C_9yNs2s.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-Daf9JYJW.js";import{L as x}from"./localeText-DncIFq-d.js";import"./vue-datepicker-DL0jaW0X.js";import"./index-Jsj98gIE.js";import"./dayjs.min-XUWsRRMk.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-DGmN7IvQ.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-X_ZBEpPB.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DGmN7IvQ.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-X_ZBEpPB.js index e03c10de..b2d7c78a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DGmN7IvQ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-X_ZBEpPB.js @@ -1 +1 @@ -import{d as m}from"./dayjs.min-WRW_FTL4.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-DYYtDSji.js";import{L as k}from"./localeText-Cd7vLnRM.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}; +import{d as m}from"./dayjs.min-XUWsRRMk.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-Daf9JYJW.js";import{L as k}from"./localeText-DncIFq-d.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/peerList-C-bwOqvP.js b/src/static/dist/WGDashboardAdmin/assets/peerList-BBtAJUnE.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/peerList-C-bwOqvP.js rename to src/static/dist/WGDashboardAdmin/assets/peerList-BBtAJUnE.js index 04ad41ff..fbf2b4a0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerList-C-bwOqvP.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerList-BBtAJUnE.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-BPO6DvAQ.js","assets/localeText-Cd7vLnRM.js","assets/index-DYYtDSji.js","assets/index-Bcu-vmis.css","assets/DashboardClientAssignmentStore-DDEBJ8Q3.js","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-CCIM9t_8.js","assets/dayjs.min-WRW_FTL4.js","assets/vue-datepicker-Cw5Y4tvU.js","assets/index-DPa-4xgI.js","assets/peerShareLinkModal-GoWqB_pD.css","assets/peerJobs-iqYQ4Q-2.js","assets/schedulePeerJob-u2PLfoyV.js","assets/schedulePeerJob-DUtdD062.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-Bfo15_ll.js","assets/browser-LdOMKRZX.js","assets/galois-field-I2lBzzs-.js","assets/peerQRCode-BmkCjxyX.css","assets/peerConfigurationFile-BNxBGei9.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-1ZLfa-ii.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-BGxtkCCT.js","assets/peerSearchBar-Dtpovmxo.css","assets/peerJobsAllModal-C_YCIBgZ.js","assets/peerJobsLogsModal-DGmN7IvQ.js","assets/editConfiguration-DUqDAChA.js","assets/editConfiguration-BV75UXb4.css","assets/selectPeers-S8BB8ekI.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-CFkDvr1R.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); -import{r as q,L as $e,D as oe,o as ne,I as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as j,d as O,t as D,g as ee,B as U,W as ie,m as de,n as L,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-DYYtDSji.js";import{_ as Ge}from"./protocolBadge-DbN6X1oX.js";import{L as x}from"./localeText-Cd7vLnRM.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 Le,P as Re,i as Ae,h as Ve,g as ge}from"./index-CV5Q0a3C.js";import{d as Q}from"./dayjs.min-WRW_FTL4.js";import{o as Je}from"./index-DPa-4xgI.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,Le,Re,Ae);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},S=>{let b=Q().format("hh:mm:ss A");(S.data.sent!==0&&S.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(S.data.sent),s.value.timestamp.push(b),s.value.data.push(S.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 S=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:S.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:S.map(b=>b.cumu_data+b.total_data),backgroundColor:S.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:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:S=>`${S.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(S,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(j(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,D(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(j(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,D(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(j(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,Lt=61824,Rt=61826,At=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,Ll=62164,Rl=62166,Al=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,Ls=62484,Rs=62487,As=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,Lo=62644,Ro=62660,Ao=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,Li=62857,Ri=62859,Ai=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,La=63022,Ra=63023,Aa=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,Ln=63179,Rn=63180,An=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,Lr=63561,Rr=63562,Ar=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,Ld=63762,Rd=63764,Ad=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:Lt,"basket2-fill":61825,basket2:Rt,"basket3-fill":61827,basket3:At,"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:Ll,"cpu-fill":62165,cpu:Rl,"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:Al,"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:Ls,"heart-fill":62485,"heart-half":62486,heart:Rs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:As,"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:Lo,"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:Ro,"peace-fill":62661,peace:Ao,"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:Li,"stickies-fill":62858,stickies:Ri,"sticky-fill":62860,sticky:Ai,"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:La,bank2:Ra,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Aa,"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:Ln,tiktok:Rn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:An,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:Lr,trello:Rr,"envelope-at-fill":63563,"envelope-at":63564,regex:Ar,"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:Ld,"apple-music":63763,claude:Rd,openai:Ad,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:L([{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:L(["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:L([{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:j(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:j(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:L([{active:!j(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:L(["bi",[j(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:j(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:L(["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:L(["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:L(["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:j(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 S=Object.keys(a),b=Math.floor(Math.random()*S.length)+1;return a[S[b]]},g=()=>{const S=Object.keys(ve),b=Math.floor(Math.random()*S.length)+1;return S[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,S=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:S},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(S,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=>j(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,j(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],j(s).Filter.HiddenTags=j(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"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ac={"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,D(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,D(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,D(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,D(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Lc)):O("",!0)])],8,jc)]))),256))])]),e("div",Rc,[e("button",Ac,[e("i",{class:L(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,D(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,D(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:L(["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:j(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:L(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(D(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:L([{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:L(["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,D(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:L(["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:L(["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"};function B6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:L(["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:L(["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,D(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,D((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,D((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(" "+D(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,D(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:L(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:L({"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,D(a.Peer.id),1)])],2),e("div",{class:L({"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,D(a.Peer.allowed_ip),1)])],2),e("div",{class:L(["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:L(["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)]),e("div",{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 L6=K(w6,[["render",B6],["__scopeId","data-v-06609b08"]]),R6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-BPO6DvAQ.js"),__vite__mapDeps([0,1,2,3,4,5]))),m=V(()=>J(()=>import("./peerShareLinkModal-CCIM9t_8.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]))),r=V(()=>J(()=>import("./peerJobs-iqYQ4Q-2.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]))),u=V(()=>J(()=>import("./peerQRCode-Bfo15_ll.js"),__vite__mapDeps([15,16,2,3,17,1,18]))),_=V(()=>J(()=>import("./peerConfigurationFile-BNxBGei9.js"),__vite__mapDeps([19,2,3,1,16,17,20]))),g=V(()=>J(()=>import("./peerSettings-1ZLfa-ii.js"),__vite__mapDeps([21,2,3,1,22])));return(d,f)=>(o(),I(me,{name:"zoom"},{default:W(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(j(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(j(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(j(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(j(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(j(_),{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(j(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},A6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},N6={__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",A6))}},E6={class:"d-flex gap-1 flex-column"},F6=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",E6,[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:L([[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:{}},z6=ue.exports,ye;function H6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(z6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var Y6=H6();const Ee=Ce(Y6);var fe={exports:{}},G6=fe.exports,xe;function V6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(G6,(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(T){return T instanceof te},S=function(T,P,h){return new te(T,h,P.$l)},b=function(T){return s.p(T)+"s"},y=function(T){return T<0},C=function(T){return y(T)?Math.ceil(T):Math.floor(T)},M=function(T){return Math.abs(T)},z=function(T,P){return T?y(T)?{negative:!0,format:""+M(T)+P}:{negative:!1,format:""+T+P}:{negative:!1,format:""}},te=(function(){function T(h,B,A){var R=this;if(this.$d={},this.$l=A,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),B)return S(h*w[b(B)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){R.$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=T.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(B,A){return B+(h.$d[A]||0)*w[A]}),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"),B=z(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var R=z(A,"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||B.negative||R.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+B.format+R.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 B=h||"YYYY-MM-DDTHH:mm:ss",A={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 B.replace(g,(function(R,k){return k||String(A[R])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var B=this.$ms,A=b(h);return A==="milliseconds"?B%=1e3:B=A==="weeks"?C(B/w[A]):this.$d[A],B||0},P.add=function(h,B,A){var R;return R=B?h*w[b(B)]:$(h)?h.$ms:S(h,this).$ms,S(this.$ms+R*(A?-1:1),this)},P.subtract=function(h,B){return this.add(h,B,!0)},P.locale=function(h){var B=this.clone();return B.$l=h,B},P.clone=function(){return S(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")},T})(),ce=function(T,P,h){return T.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(T,P,h){a=h,s=h().$utils(),h.duration=function(R,k){var i=h.locale();return S(R,{$l:i},k)},h.isDuration=$;var B=P.prototype.add,A=P.prototype.subtract;P.prototype.add=function(R,k){return $(R)?ce(this,R,1):B.bind(this)(R,k)},P.prototype.subtract=function(R,k){return $(R)?ce(this,R,-1):A.bind(this)(R,k)}}}))})(fe)),fe.exports}var J6=V6();const U6=Ce(J6),W6={key:0,class:"sessions-label"},Q6={class:"d-flex flex-wrap gap-1 session-dot"},K6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},Z6={class:"p-1 badge text-bg-warning text-start session-badge-list"},X6={class:"mt-1"},eu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(U6);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",W6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Q6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",K6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",Z6,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",X6,[n(x,{t:"Duration:"}),E(" "+D(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),tu=K(eu,[["__scopeId","data-v-5178a57b"]]),lu={class:"card rounded-3 bg-transparent"},su={class:"card-header d-flex align-items-center"},ou={class:"mx-auto mb-0 text-center"},iu={class:"text-muted",style:{"font-size":"0.9rem"}},au={class:"card-body p-0 position-relative"},nu={class:"calendar-grid"},ru=["onClick"],du={class:"d-flex day-label"},cu={key:0,class:"bi bi-check-circle-fill ms-auto"},uu={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"}},fu={class:"d-flex mb-3"},pu={class:"mb-0"},mu={class:"d-flex flex-column gap-2"},gu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},hu={class:"ms-auto"},bu=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 S=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",lu,[e("div",su,[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",ou,[e("small",iu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+D(_.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",au,[e("div",nu,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:L(["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",du,[E(D(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",cu)):O("",!0)]),(o(),I(tu,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},S.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,ru))),128))]),n(ae,{name:"zoom"},{default:W(()=>[S.value?(o(),c("div",uu,[e("div",fu,[e("h5",pu,D(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>S.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",mu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",gu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",hu,[n(x,{t:"Duration:"}),E(" "+D(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),vu=K(bu,[["__scopeId","data-v-3b03c7a5"]]),ku={class:"card rounded-3 bg-transparent"},wu={class:"card-body"},yu={class:"text-muted"},xu={class:"d-flex flex-column gap-3"},$u=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",ku,[e("div",wu,[e("h6",yu,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",xu,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(j(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(j(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),_u={class:"card rounded-3 bg-transparent"},Pu={class:"card-header text-muted"},Cu={class:"card-body"},Su={class:"bg-body-tertiary p-3 d-flex rounded-3"},Du={key:0,class:"m-auto"},Ou={key:1,class:"m-auto"},qu={key:2,class:"w-100 d-flex flex-column gap-3"},Mu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Iu={key:0,class:"m-auto"},Tu={key:0},ju={key:1,class:"text-muted"},Bu={class:"table table-hover"},Lu={key:0},Ru=["onClick"],Au={key:0},Nu=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",_u,[e("div",Pu,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Cu,[e("div",Su,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Ou,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",qu,[e("div",Mu,[m.value?O("",!0):(o(),c("div",Iu,[m.value===void 0?(o(),c("div",Tu,[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",ju,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Bu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Lu,[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,D(v.endpoint),1),s.value.geolocation?(o(),c("td",Au,D(_(v.endpoint)),1)):O("",!0)],8,Ru))),256))])])])):O("",!0):(o(),c("div",Du,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),Eu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Fu={class:"d-flex h-100 w-100 pb-2"},zu={class:"m-auto w-100 p-2"},Hu={class:"card rounded-3 shadow h-100"},Yu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Gu={class:"mb-0 fw-normal"},Vu={class:"card-body px-4"},Ju={class:"mb-0 text-muted"},Uu={class:"row mt-3 gy-2 gx-2 mb-2"},Wu={class:"col-12 col-lg-3"},Qu={class:"card rounded-3 bg-transparent h-100"},Ku={class:"card-body py-2 d-flex flex-column justify-content-center"},Zu={class:"mb-0 text-muted"},Xu={class:"d-flex align-items-center"},e2={class:"col-12 col-lg-3"},t2={class:"card rounded-3 bg-transparent h-100"},l2={class:"card-body py-2 d-flex flex-column justify-content-center"},s2={class:"mb-0 text-muted"},o2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},i2={class:"card rounded-3 bg-transparent h-100"},a2={class:"card-body py-2 d-flex flex-column justify-content-center"},n2={class:"mb-0 text-muted"},r2={class:"col-12 col-lg-3"},d2={class:"card rounded-3 bg-transparent h-100"},c2={class:"card-body d-flex"},u2={class:"mb-0 text-muted"},f2={class:"h4"},p2={class:"col-12 col-lg-3"},m2={class:"card rounded-3 bg-transparent h-100"},g2={class:"card-body d-flex"},h2={class:"mb-0 text-muted"},b2={class:"h4 text-warning"},v2={class:"col-12 col-lg-3"},k2={class:"card rounded-3 bg-transparent h-100"},w2={class:"card-body d-flex"},y2={class:"mb-0 text-muted"},x2={class:"h4 text-primary"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},C2={class:"mb-0 text-muted"},S2={class:"h4 text-success"},D2={class:"col-12"},O2={class:"col-12"},q2={class:"col-12"},M2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=q(void 0);return(a,s)=>(o(),c("div",Eu,[e("div",Fu,[e("div",zu,[e("div",Hu,[e("div",Yu,[e("h4",Gu,[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",Vu,[e("div",null,[e("p",Ju,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",null,D(l.selectedPeer.name),1)]),e("div",Uu,[e("div",Wu,[e("div",Qu,[e("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Status"})])]),e("div",Xu,[e("span",{class:L(["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",e2,[e("div",t2,[e("div",l2,[e("p",s2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+D(l.selectedPeer.allowed_ip),1)])])]),e("div",o2,[e("div",i2,[e("div",a2,[e("p",n2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(l.selectedPeer.id),1)])])]),e("div",r2,[e("div",d2,[e("div",c2,[e("div",null,[e("p",u2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",f2,[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",p2,[e("div",m2,[e("div",g2,[e("div",null,[e("p",h2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",b2,D((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",v2,[e("div",k2,[e("div",w2,[e("div",null,[e("p",y2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",x2,D((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",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",C2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",S2,D((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",D2,[n($u,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",O2,[n(vu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",q2,[n(Nu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),I2={class:"container-fluid"},T2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},j2={class:"text-muted d-flex align-items-center gap-2"},B2={class:"mb-0"},L2={class:"d-flex align-items-center gap-3"},R2={class:"mb-0 display-4"},A2={class:"ms-sm-auto d-flex gap-2 flex-column"},N2={class:"card rounded-3 bg-transparent"},E2={class:"card-body py-2 d-flex align-items-center"},F2={class:"text-muted"},z2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},H2=["for"],Y2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},G2=["disabled","id"],V2={class:"d-flex gap-2"},J2={class:"row mt-3 gy-2 gx-2 mb-2"},U2={class:"col-12 col-lg-3"},W2={class:"card rounded-3 bg-transparent h-100"},Q2={class:"card-body py-2 d-flex flex-column justify-content-center"},K2={class:"mb-0 text-muted"},Z2={class:"col-12 col-lg-3"},X2={class:"card rounded-3 bg-transparent h-100"},ef={class:"card-body py-2 d-flex flex-column justify-content-center"},tf={class:"mb-0 text-muted"},lf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},sf={class:"card rounded-3 bg-transparent h-100"},of={class:"card-body py-2 d-flex flex-column justify-content-center"},af={class:"mb-0 text-muted"},nf={class:"row gx-2 gy-2 mb-2"},rf={class:"col-12 col-lg-3"},df={class:"card rounded-3 bg-transparent h-100"},cf={class:"card-body d-flex"},uf={class:"mb-0 text-muted"},ff={class:"h4"},pf={class:"col-12 col-lg-3"},mf={class:"card rounded-3 bg-transparent h-100"},gf={class:"card-body d-flex"},hf={class:"mb-0 text-muted"},bf={class:"h4"},vf={class:"col-12 col-lg-3"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body d-flex"},yf={class:"mb-0 text-muted"},xf={class:"h4 text-primary"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Cf={class:"mb-0 text-muted"},Sf={class:"h4 text-success"},Df={style:{"margin-bottom":"10rem"}},Of=20,qf={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-BGxtkCCT.js"),__vite__mapDeps([23,2,3,24]))),m=V(()=>J(()=>import("./peerJobsAllModal-C_YCIBgZ.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]))),r=V(()=>J(()=>import("./peerJobsLogsModal-DGmN7IvQ.js"),__vite__mapDeps([26,7,2,3,1]))),u=V(()=>J(()=>import("./editConfiguration-DUqDAChA.js"),__vite__mapDeps([27,2,3,1,7,28]))),_=V(()=>J(()=>import("./selectPeers-S8BB8ekI.js"),__vite__mapDeps([29,2,3,1,30]))),g=V(()=>J(()=>import("./peerAddModal-CFkDvr1R.js"),__vite__mapDeps([31,2,3,1,32]))),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),S=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()=>{S.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,S.value=!1})},T=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()),B=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),A=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},R=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&&B.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.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)=>A(p[d.Configuration.Server.dashboard_sort])A(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",I2,[e("div",T2,[e("div",null,[e("div",j2,[e("h5",B2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",L2,[e("h1",R2,[e("samp",null,D(w.value.Name),1)])])]),e("div",A2,[e("div",N2,[e("div",E2,[e("small",F2,[n(x,{t:"Status"})]),e("div",{class:L(["dot ms-2",{active:w.value.Status}])},null,2),e("div",z2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!S.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!S.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),S.value?(o(),c("span",Y2)):O("",!0)],8,H2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:S.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,G2),[[Pe,w.value.Status]])])])]),e("div",V2,[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(F6,{configuration:w.value},null,8,["configuration"]),e("div",J2,[e("div",U2,[e("div",W2,[e("div",Q2,[e("p",K2,[e("small",null,[n(x,{t:"Address"})])]),E(" "+D(w.value.Address),1)])])]),e("div",Z2,[e("div",X2,[e("div",ef,[e("p",tf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+D(w.value.ListenPort),1)])])]),e("div",lf,[e("div",sf,[e("div",of,[e("p",af,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(w.value.PublicKey),1)])])])]),e("div",nf,[e("div",rf,[e("div",df,[e("div",cf,[e("div",null,[e("p",uf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",ff,D(T.value.connectedPeers)+" / "+D($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",null,[e("p",hf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",bf,D(T.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",vf,[e("div",kf,[e("div",wf,[e("div",null,[e("p",yf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",xf,D(T.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Cf,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Sf,D(T.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",Df,[$.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(R.value,(p,Y)=>(o(),c("div",{class:L(["col-12",{"col-lg-6 col-xl-4":j(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(L6,{Peer:p,searchPeersLength:R.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(j(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(R6,{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(j(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(j(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(j(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(j(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(j(_),{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(M2,{key:"PeerDetailsModal",selectedPeer:R.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(N6,{showPeersCount:P.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Of)},null,8,["showPeersCount","peerListLength"])]))}},Nf=K(qf,[["__scopeId","data-v-b4fba9bc"]]);export{Nf as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./peerAssignModal-FMpq7HZm.js","./localeText-DncIFq-d.js","./index-Daf9JYJW.js","./index-BJoKV7uo.css","./DashboardClientAssignmentStore-B7Wg0ZGp.js","./peerAssignModal-D7QjFPr6.css","./peerShareLinkModal-b6QUwlV3.js","./dayjs.min-XUWsRRMk.js","./vue-datepicker-DL0jaW0X.js","./index-Jsj98gIE.js","./peerShareLinkModal-DxieDg3w.css","./peerJobs-X3hZcVwZ.js","./schedulePeerJob-C_9yNs2s.js","./schedulePeerJob-B6zxTk2F.css","./peerJobs-D2oGGYqb.css","./peerQRCode-C__ZY16C.js","./browser-CPfGuul0.js","./galois-field-I2lBzzs-.js","./peerQRCode-oDWlUP4N.css","./peerConfigurationFile-DTynkmv7.js","./peerConfigurationFile-DmA4QYwU.css","./peerSettings-CpaVm-0X.js","./peerSettings-WzFVoYjE.css","./peerSearchBar-DX5UbN8_.js","./peerSearchBar-DuEz85Td.css","./peerJobsAllModal-DN8qZ_0G.js","./peerJobsLogsModal-X_ZBEpPB.js","./editConfiguration-yEq0V4Ob.js","./editConfiguration-CNGSiKG5.css","./selectPeers-BI9asnI7.js","./selectPeers-B8ftlcSH.css","./peerAddModal-77JMVb9c.js","./peerAddModal-BVeu4D8o.css"])))=>i.map(i=>d[i]); +import{r as q,L as $e,D as oe,o as ne,I as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as j,d as O,t as D,g as ee,B as U,W as ie,m as de,n as L,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-Daf9JYJW.js";import{_ as Ge}from"./protocolBadge-DbebmkCa.js";import{L as x}from"./localeText-DncIFq-d.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 Le,P as Re,i as Ae,h as Ve,g as ge}from"./index-Cd3Eji6d.js";import{d as Q}from"./dayjs.min-XUWsRRMk.js";import{o as Je}from"./index-Jsj98gIE.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,Le,Re,Ae);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},S=>{let b=Q().format("hh:mm:ss A");(S.data.sent!==0&&S.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(S.data.sent),s.value.timestamp.push(b),s.value.data.push(S.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 S=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:S.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:S.map(b=>b.cumu_data+b.total_data),backgroundColor:S.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:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:S=>`${S.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(S,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(j(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,D(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(j(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,D(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(j(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,Lt=61824,Rt=61826,At=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,Ll=62164,Rl=62166,Al=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,Ls=62484,Rs=62487,As=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,Lo=62644,Ro=62660,Ao=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,Li=62857,Ri=62859,Ai=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,La=63022,Ra=63023,Aa=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,Ln=63179,Rn=63180,An=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,Lr=63561,Rr=63562,Ar=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,Ld=63762,Rd=63764,Ad=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:Lt,"basket2-fill":61825,basket2:Rt,"basket3-fill":61827,basket3:At,"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:Ll,"cpu-fill":62165,cpu:Rl,"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:Al,"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:Ls,"heart-fill":62485,"heart-half":62486,heart:Rs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:As,"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:Lo,"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:Ro,"peace-fill":62661,peace:Ao,"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:Li,"stickies-fill":62858,stickies:Ri,"sticky-fill":62860,sticky:Ai,"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:La,bank2:Ra,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Aa,"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:Ln,tiktok:Rn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:An,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:Lr,trello:Rr,"envelope-at-fill":63563,"envelope-at":63564,regex:Ar,"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:Ld,"apple-music":63763,claude:Rd,openai:Ad,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:L([{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:L(["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:L([{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:j(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:j(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:L([{active:!j(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:L(["bi",[j(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:j(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:L(["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:L(["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-f9f25c87"]]),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:L(["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:j(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-8b38629d"]]),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 S=Object.keys(a),b=Math.floor(Math.random()*S.length)+1;return a[S[b]]},g=()=>{const S=Object.keys(ve),b=Math.floor(Math.random()*S.length)+1;return S[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,S=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:S},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(S,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=>j(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,j(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],j(s).Filter.HiddenTags=j(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-a25386a7"]]),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"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ac={"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,D(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,D(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,D(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,D(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Lc)):O("",!0)])],8,jc)]))),256))])]),e("div",Rc,[e("button",Ac,[e("i",{class:L(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,D(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,D(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-a106655f"]]),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:L(["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-bba4e34b"]]),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:j(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:L(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(D(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:L([{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:L(["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,D(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:L(["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:L(["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-bde7a674"]]),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"};function B6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:L(["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:L(["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,D(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,D((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,D((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(" "+D(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,D(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:L(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:L({"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,D(a.Peer.id),1)])],2),e("div",{class:L({"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,D(a.Peer.allowed_ip),1)])],2),e("div",{class:L(["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:L(["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)]),e("div",{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 L6=K(w6,[["render",B6],["__scopeId","data-v-ded10d62"]]),R6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-FMpq7HZm.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),m=V(()=>J(()=>import("./peerShareLinkModal-b6QUwlV3.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]),import.meta.url)),r=V(()=>J(()=>import("./peerJobs-X3hZcVwZ.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]),import.meta.url)),u=V(()=>J(()=>import("./peerQRCode-C__ZY16C.js"),__vite__mapDeps([15,16,2,3,17,1,18]),import.meta.url)),_=V(()=>J(()=>import("./peerConfigurationFile-DTynkmv7.js"),__vite__mapDeps([19,2,3,1,16,17,20]),import.meta.url)),g=V(()=>J(()=>import("./peerSettings-CpaVm-0X.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(j(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(j(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(j(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(j(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(j(_),{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(j(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},A6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},N6={__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",A6))}},E6={class:"d-flex gap-1 flex-column"},F6=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",E6,[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:L([[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:{}},z6=ue.exports,ye;function H6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(z6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var Y6=H6();const Ee=Ce(Y6);var fe={exports:{}},G6=fe.exports,xe;function V6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(G6,(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(T){return T instanceof te},S=function(T,P,h){return new te(T,h,P.$l)},b=function(T){return s.p(T)+"s"},y=function(T){return T<0},C=function(T){return y(T)?Math.ceil(T):Math.floor(T)},M=function(T){return Math.abs(T)},z=function(T,P){return T?y(T)?{negative:!0,format:""+M(T)+P}:{negative:!1,format:""+T+P}:{negative:!1,format:""}},te=(function(){function T(h,B,A){var R=this;if(this.$d={},this.$l=A,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),B)return S(h*w[b(B)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){R.$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=T.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(B,A){return B+(h.$d[A]||0)*w[A]}),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"),B=z(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var R=z(A,"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||B.negative||R.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+B.format+R.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 B=h||"YYYY-MM-DDTHH:mm:ss",A={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 B.replace(g,(function(R,k){return k||String(A[R])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var B=this.$ms,A=b(h);return A==="milliseconds"?B%=1e3:B=A==="weeks"?C(B/w[A]):this.$d[A],B||0},P.add=function(h,B,A){var R;return R=B?h*w[b(B)]:$(h)?h.$ms:S(h,this).$ms,S(this.$ms+R*(A?-1:1),this)},P.subtract=function(h,B){return this.add(h,B,!0)},P.locale=function(h){var B=this.clone();return B.$l=h,B},P.clone=function(){return S(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")},T})(),ce=function(T,P,h){return T.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(T,P,h){a=h,s=h().$utils(),h.duration=function(R,k){var i=h.locale();return S(R,{$l:i},k)},h.isDuration=$;var B=P.prototype.add,A=P.prototype.subtract;P.prototype.add=function(R,k){return $(R)?ce(this,R,1):B.bind(this)(R,k)},P.prototype.subtract=function(R,k){return $(R)?ce(this,R,-1):A.bind(this)(R,k)}}}))})(fe)),fe.exports}var J6=V6();const U6=Ce(J6),W6={key:0,class:"sessions-label"},Q6={class:"d-flex flex-wrap gap-1 session-dot"},K6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},Z6={class:"p-1 badge text-bg-warning text-start session-badge-list"},X6={class:"mt-1"},eu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(U6);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",W6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Q6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",K6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",Z6,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",X6,[n(x,{t:"Duration:"}),E(" "+D(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),tu=K(eu,[["__scopeId","data-v-88c196a1"]]),lu={class:"card rounded-3 bg-transparent"},su={class:"card-header d-flex align-items-center"},ou={class:"mx-auto mb-0 text-center"},iu={class:"text-muted",style:{"font-size":"0.9rem"}},au={class:"card-body p-0 position-relative"},nu={class:"calendar-grid"},ru=["onClick"],du={class:"d-flex day-label"},cu={key:0,class:"bi bi-check-circle-fill ms-auto"},uu={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"}},fu={class:"d-flex mb-3"},pu={class:"mb-0"},mu={class:"d-flex flex-column gap-2"},gu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},hu={class:"ms-auto"},bu=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 S=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",lu,[e("div",su,[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",ou,[e("small",iu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+D(_.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",au,[e("div",nu,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:L(["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",du,[E(D(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",cu)):O("",!0)]),(o(),I(tu,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},S.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,ru))),128))]),n(ae,{name:"zoom"},{default:W(()=>[S.value?(o(),c("div",uu,[e("div",fu,[e("h5",pu,D(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>S.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",mu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",gu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",hu,[n(x,{t:"Duration:"}),E(" "+D(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),vu=K(bu,[["__scopeId","data-v-7319c64d"]]),ku={class:"card rounded-3 bg-transparent"},wu={class:"card-body"},yu={class:"text-muted"},xu={class:"d-flex flex-column gap-3"},$u=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",ku,[e("div",wu,[e("h6",yu,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",xu,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(j(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(j(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),_u={class:"card rounded-3 bg-transparent"},Pu={class:"card-header text-muted"},Cu={class:"card-body"},Su={class:"bg-body-tertiary p-3 d-flex rounded-3"},Du={key:0,class:"m-auto"},Ou={key:1,class:"m-auto"},qu={key:2,class:"w-100 d-flex flex-column gap-3"},Mu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Iu={key:0,class:"m-auto"},Tu={key:0},ju={key:1,class:"text-muted"},Bu={class:"table table-hover"},Lu={key:0},Ru=["onClick"],Au={key:0},Nu=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",_u,[e("div",Pu,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Cu,[e("div",Su,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Ou,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",qu,[e("div",Mu,[m.value?O("",!0):(o(),c("div",Iu,[m.value===void 0?(o(),c("div",Tu,[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",ju,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Bu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Lu,[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,D(v.endpoint),1),s.value.geolocation?(o(),c("td",Au,D(_(v.endpoint)),1)):O("",!0)],8,Ru))),256))])])])):O("",!0):(o(),c("div",Du,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),Eu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Fu={class:"d-flex h-100 w-100 pb-2"},zu={class:"m-auto w-100 p-2"},Hu={class:"card rounded-3 shadow h-100"},Yu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Gu={class:"mb-0 fw-normal"},Vu={class:"card-body px-4"},Ju={class:"mb-0 text-muted"},Uu={class:"row mt-3 gy-2 gx-2 mb-2"},Wu={class:"col-12 col-lg-3"},Qu={class:"card rounded-3 bg-transparent h-100"},Ku={class:"card-body py-2 d-flex flex-column justify-content-center"},Zu={class:"mb-0 text-muted"},Xu={class:"d-flex align-items-center"},e2={class:"col-12 col-lg-3"},t2={class:"card rounded-3 bg-transparent h-100"},l2={class:"card-body py-2 d-flex flex-column justify-content-center"},s2={class:"mb-0 text-muted"},o2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},i2={class:"card rounded-3 bg-transparent h-100"},a2={class:"card-body py-2 d-flex flex-column justify-content-center"},n2={class:"mb-0 text-muted"},r2={class:"col-12 col-lg-3"},d2={class:"card rounded-3 bg-transparent h-100"},c2={class:"card-body d-flex"},u2={class:"mb-0 text-muted"},f2={class:"h4"},p2={class:"col-12 col-lg-3"},m2={class:"card rounded-3 bg-transparent h-100"},g2={class:"card-body d-flex"},h2={class:"mb-0 text-muted"},b2={class:"h4 text-warning"},v2={class:"col-12 col-lg-3"},k2={class:"card rounded-3 bg-transparent h-100"},w2={class:"card-body d-flex"},y2={class:"mb-0 text-muted"},x2={class:"h4 text-primary"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},C2={class:"mb-0 text-muted"},S2={class:"h4 text-success"},D2={class:"col-12"},O2={class:"col-12"},q2={class:"col-12"},M2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=q(void 0);return(a,s)=>(o(),c("div",Eu,[e("div",Fu,[e("div",zu,[e("div",Hu,[e("div",Yu,[e("h4",Gu,[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",Vu,[e("div",null,[e("p",Ju,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",null,D(l.selectedPeer.name),1)]),e("div",Uu,[e("div",Wu,[e("div",Qu,[e("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Status"})])]),e("div",Xu,[e("span",{class:L(["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",e2,[e("div",t2,[e("div",l2,[e("p",s2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+D(l.selectedPeer.allowed_ip),1)])])]),e("div",o2,[e("div",i2,[e("div",a2,[e("p",n2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(l.selectedPeer.id),1)])])]),e("div",r2,[e("div",d2,[e("div",c2,[e("div",null,[e("p",u2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",f2,[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",p2,[e("div",m2,[e("div",g2,[e("div",null,[e("p",h2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",b2,D((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",v2,[e("div",k2,[e("div",w2,[e("div",null,[e("p",y2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",x2,D((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",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",C2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",S2,D((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",D2,[n($u,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",O2,[n(vu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",q2,[n(Nu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),I2={class:"container-fluid"},T2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},j2={class:"text-muted d-flex align-items-center gap-2"},B2={class:"mb-0"},L2={class:"d-flex align-items-center gap-3"},R2={class:"mb-0 display-4"},A2={class:"ms-sm-auto d-flex gap-2 flex-column"},N2={class:"card rounded-3 bg-transparent"},E2={class:"card-body py-2 d-flex align-items-center"},F2={class:"text-muted"},z2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},H2=["for"],Y2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},G2=["disabled","id"],V2={class:"d-flex gap-2"},J2={class:"row mt-3 gy-2 gx-2 mb-2"},U2={class:"col-12 col-lg-3"},W2={class:"card rounded-3 bg-transparent h-100"},Q2={class:"card-body py-2 d-flex flex-column justify-content-center"},K2={class:"mb-0 text-muted"},Z2={class:"col-12 col-lg-3"},X2={class:"card rounded-3 bg-transparent h-100"},ef={class:"card-body py-2 d-flex flex-column justify-content-center"},tf={class:"mb-0 text-muted"},lf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},sf={class:"card rounded-3 bg-transparent h-100"},of={class:"card-body py-2 d-flex flex-column justify-content-center"},af={class:"mb-0 text-muted"},nf={class:"row gx-2 gy-2 mb-2"},rf={class:"col-12 col-lg-3"},df={class:"card rounded-3 bg-transparent h-100"},cf={class:"card-body d-flex"},uf={class:"mb-0 text-muted"},ff={class:"h4"},pf={class:"col-12 col-lg-3"},mf={class:"card rounded-3 bg-transparent h-100"},gf={class:"card-body d-flex"},hf={class:"mb-0 text-muted"},bf={class:"h4"},vf={class:"col-12 col-lg-3"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body d-flex"},yf={class:"mb-0 text-muted"},xf={class:"h4 text-primary"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Cf={class:"mb-0 text-muted"},Sf={class:"h4 text-success"},Df={style:{"margin-bottom":"10rem"}},Of=20,qf={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-DX5UbN8_.js"),__vite__mapDeps([23,2,3,24]),import.meta.url)),m=V(()=>J(()=>import("./peerJobsAllModal-DN8qZ_0G.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]),import.meta.url)),r=V(()=>J(()=>import("./peerJobsLogsModal-X_ZBEpPB.js"),__vite__mapDeps([26,7,2,3,1]),import.meta.url)),u=V(()=>J(()=>import("./editConfiguration-yEq0V4Ob.js"),__vite__mapDeps([27,2,3,1,7,28]),import.meta.url)),_=V(()=>J(()=>import("./selectPeers-BI9asnI7.js"),__vite__mapDeps([29,2,3,1,30]),import.meta.url)),g=V(()=>J(()=>import("./peerAddModal-77JMVb9c.js"),__vite__mapDeps([31,2,3,1,32]),import.meta.url)),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),S=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()=>{S.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,S.value=!1})},T=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()),B=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),A=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},R=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&&B.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.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)=>A(p[d.Configuration.Server.dashboard_sort])A(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",I2,[e("div",T2,[e("div",null,[e("div",j2,[e("h5",B2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",L2,[e("h1",R2,[e("samp",null,D(w.value.Name),1)])])]),e("div",A2,[e("div",N2,[e("div",E2,[e("small",F2,[n(x,{t:"Status"})]),e("div",{class:L(["dot ms-2",{active:w.value.Status}])},null,2),e("div",z2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!S.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!S.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),S.value?(o(),c("span",Y2)):O("",!0)],8,H2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:S.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,G2),[[Pe,w.value.Status]])])])]),e("div",V2,[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(F6,{configuration:w.value},null,8,["configuration"]),e("div",J2,[e("div",U2,[e("div",W2,[e("div",Q2,[e("p",K2,[e("small",null,[n(x,{t:"Address"})])]),E(" "+D(w.value.Address),1)])])]),e("div",Z2,[e("div",X2,[e("div",ef,[e("p",tf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+D(w.value.ListenPort),1)])])]),e("div",lf,[e("div",sf,[e("div",of,[e("p",af,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(w.value.PublicKey),1)])])])]),e("div",nf,[e("div",rf,[e("div",df,[e("div",cf,[e("div",null,[e("p",uf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",ff,D(T.value.connectedPeers)+" / "+D($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",null,[e("p",hf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",bf,D(T.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",vf,[e("div",kf,[e("div",wf,[e("div",null,[e("p",yf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",xf,D(T.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Cf,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Sf,D(T.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",Df,[$.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(R.value,(p,Y)=>(o(),c("div",{class:L(["col-12",{"col-lg-6 col-xl-4":j(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(L6,{Peer:p,searchPeersLength:R.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(j(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(R6,{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(j(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(j(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(j(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(j(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(j(_),{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(M2,{key:"PeerDetailsModal",selectedPeer:R.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(N6,{showPeersCount:P.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Of)},null,8,["showPeersCount","peerListLength"])]))}},Nf=K(qf,[["__scopeId","data-v-11792ae0"]]);export{Nf as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerList-Ch1hvsh1.css b/src/static/dist/WGDashboardAdmin/assets/peerList-Ch1hvsh1.css deleted file mode 100644 index 6bc1735f..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerList-Ch1hvsh1.css +++ /dev/null @@ -1 +0,0 @@ -.icon[data-v-3c48f50e]{flex:1;min-width:30px;max-width:30px;width:30px;aspect-ratio:1 / 1}.icon[data-v-accdf15e]{flex:1;aspect-ratio:1 / 1}#peerTag[data-v-ab3e5c4e]{width:300px;position:absolute;right:0;z-index:9999;margin-top:2px}.animation__fadeInDropdown[data-v-71502547]{animation-name:fadeInDropdown-71502547;animation-duration:.2s;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}@keyframes fadeInDropdown-71502547{0%{opacity:0;filter:blur(3px);transform:translateY(-60px)}to{opacity:1;filter:blur(0px);transform:translateY(-40px)}}.displayModal .dashboardModal[data-v-71502547]{width:400px!important}@media screen and (max-width: 992px){.peerSearchContainer[data-v-71502547]{flex-direction:column}.peerSettingContainer .dashboardModal[data-v-71502547]{width:100%!important}}.peerSearchContainer>button[data-v-71502547],.peerSearchContainer .dropdown>button[data-v-71502547]{text-align:left;display:flex;align-items:center}span[data-v-d4e41a56]{top:-34px;left:0}.dropdown-menu[data-v-18549c26]{right:0;min-width:200px}.dropdown-menu.dropup[data-v-18549c26]{bottom:100%}.dropdown-item.disabled[data-v-18549c26],.dropdown-item[data-v-18549c26]:disabled{opacity:.7}.confirmDelete[data-v-18549c26]{padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.subMenuBtn.active[data-v-06609b08]{background-color:#ffffff20}.peerCard[data-v-06609b08]{transition:box-shadow .1s cubic-bezier(.82,.58,.17,.9)}.peerCard[data-v-06609b08]:hover{box-shadow:var(--bs-box-shadow)!important}@media screen and (max-width: 992px){.calendar-day .session-badge-list[data-v-5178a57b],.sessions-label[data-v-5178a57b]{display:none}}.session-list[data-v-5178a57b]{aspect-ratio:1 / 1}@media screen and (min-width: 992px){.session-dot[data-v-5178a57b]{display:none!important}.session-list[data-v-5178a57b]{height:12.5vh;overflow:scroll;aspect-ratio:auto!important}}.calendar-grid[data-v-3b03c7a5]{display:grid;grid-template-areas:"sun mon tue wed thu fri sat";grid-template-columns:repeat(7,1fr)}.calendar-day.day-6[data-v-3b03c7a5]{border-right:none!important}.calendar-day[data-v-3b03c7a5]{min-height:150px}@media screen and (max-width: 992px){.calendar-day[data-v-3b03c7a5]{min-height:100px!important}}@media screen and (min-width: 992px){.dayDetail[data-v-3b03c7a5]{display:none}}.extra-day .day-label[data-v-3b03c7a5]{opacity:.5}.peerNav .nav-link{&.active[data-v-b4fba9bc]{background-color:#efefef}}th[data-v-b4fba9bc],td[data-v-b4fba9bc]{background-color:transparent!important}@media screen and (max-width: 576px){.titleBtn[data-v-b4fba9bc]{flex-basis:100%}} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerList-DLvqVl-7.css b/src/static/dist/WGDashboardAdmin/assets/peerList-DLvqVl-7.css new file mode 100644 index 00000000..99ee5f93 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerList-DLvqVl-7.css @@ -0,0 +1 @@ +.icon[data-v-f9f25c87]{flex:1;min-width:30px;max-width:30px;width:30px;aspect-ratio:1 / 1}.icon[data-v-8b38629d]{flex:1;aspect-ratio:1 / 1}#peerTag[data-v-a25386a7]{width:300px;position:absolute;right:0;z-index:9999;margin-top:2px}.animation__fadeInDropdown[data-v-a106655f]{animation-name:fadeInDropdown-a106655f;animation-duration:.2s;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}@keyframes fadeInDropdown-a106655f{0%{opacity:0;filter:blur(3px);transform:translateY(-60px)}to{opacity:1;filter:blur(0px);transform:translateY(-40px)}}.displayModal .dashboardModal[data-v-a106655f]{width:400px!important}@media screen and (max-width: 992px){.peerSearchContainer[data-v-a106655f]{flex-direction:column}.peerSettingContainer .dashboardModal[data-v-a106655f]{width:100%!important}}.peerSearchContainer>button[data-v-a106655f],.peerSearchContainer .dropdown>button[data-v-a106655f]{text-align:left;display:flex;align-items:center}span[data-v-bba4e34b]{top:-34px;left:0}.dropdown-menu[data-v-bde7a674]{right:0;min-width:200px}.dropdown-menu.dropup[data-v-bde7a674]{bottom:100%}.dropdown-item.disabled[data-v-bde7a674],.dropdown-item[data-v-bde7a674]:disabled{opacity:.7}.confirmDelete[data-v-bde7a674]{padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.subMenuBtn.active[data-v-ded10d62]{background-color:#ffffff20}.peerCard[data-v-ded10d62]{transition:box-shadow .1s cubic-bezier(.82,.58,.17,.9)}.peerCard[data-v-ded10d62]:hover{box-shadow:var(--bs-box-shadow)!important}@media screen and (max-width: 992px){.calendar-day .session-badge-list[data-v-88c196a1],.sessions-label[data-v-88c196a1]{display:none}}.session-list[data-v-88c196a1]{aspect-ratio:1 / 1}@media screen and (min-width: 992px){.session-dot[data-v-88c196a1]{display:none!important}.session-list[data-v-88c196a1]{height:12.5vh;overflow:scroll;aspect-ratio:auto!important}}.calendar-grid[data-v-7319c64d]{display:grid;grid-template-areas:"sun mon tue wed thu fri sat";grid-template-columns:repeat(7,1fr)}.calendar-day.day-6[data-v-7319c64d]{border-right:none!important}.calendar-day[data-v-7319c64d]{min-height:150px}@media screen and (max-width: 992px){.calendar-day[data-v-7319c64d]{min-height:100px!important}}@media screen and (min-width: 992px){.dayDetail[data-v-7319c64d]{display:none}}.extra-day .day-label[data-v-7319c64d]{opacity:.5}.peerNav .nav-link{&.active[data-v-11792ae0]{background-color:#efefef}}th[data-v-11792ae0],td[data-v-11792ae0]{background-color:transparent!important}@media screen and (max-width: 576px){.titleBtn[data-v-11792ae0]{flex-basis:100%}} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-BmkCjxyX.css b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-BmkCjxyX.css deleted file mode 100644 index 8044026e..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-BmkCjxyX.css +++ /dev/null @@ -1 +0,0 @@ -@media screen and (max-width: 768px){.qrcode[data-v-02f2240d]{width:100%!important;height:auto!important;aspect-ratio:1/1}}.qrcode[data-v-02f2240d]{width:200px!important;height:200px!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-C__ZY16C.js similarity index 80% rename from src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js rename to src/static/dist/WGDashboardAdmin/assets/peerQRCode-C__ZY16C.js index f96b9a5f..926125d4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-C__ZY16C.js @@ -1 +1 @@ -import{Q as l}from"./browser-LdOMKRZX.js";import{L as _}from"./localeText-Cd7vLnRM.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-DYYtDSji.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-CPfGuul0.js";import{L as _}from"./localeText-DncIFq-d.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 b}from"./index-Daf9JYJW.js";import"./galois-field-I2lBzzs-.js";const v={name:"peerQRCode",components:{LocaleText:_},props:{selectedPeer:Object},setup(){return{dashboardStore:b()}},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")})}},w={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",w,[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(v,[["render",z],["__scopeId","data-v-b8b56fde"]]);export{$ as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-oDWlUP4N.css b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-oDWlUP4N.css new file mode 100644 index 00000000..7f044b88 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-oDWlUP4N.css @@ -0,0 +1 @@ +@media screen and (max-width: 768px){.qrcode[data-v-b8b56fde]{width:100%!important;height:auto!important;aspect-ratio:1/1}}.qrcode[data-v-b8b56fde]{width:200px!important;height:200px!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DX5UbN8_.js similarity index 87% rename from src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js rename to src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DX5UbN8_.js index b04174c9..f46b39f7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DX5UbN8_.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-DYYtDSji.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-Daf9JYJW.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-96236a54"]]);export{K as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Dtpovmxo.css b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DuEz85Td.css similarity index 53% rename from src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Dtpovmxo.css rename to src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DuEz85Td.css index 098e3e9e..ee9f78c1 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-Dtpovmxo.css +++ b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DuEz85Td.css @@ -1 +1 @@ -.searchPeersContainer[data-v-576347d8]{backdrop-filter:blur(8px);width:100%;background:linear-gradient(var(--degree),rgba(45,173,255,.4),rgba(255,108,109,.4),var(--brandColor2) 100%)}#searchPeers[data-v-576347d8]::placeholder{color:#fff} +.searchPeersContainer[data-v-96236a54]{backdrop-filter:blur(8px);width:100%;background:linear-gradient(var(--degree),rgba(45,173,255,.4),rgba(255,108,109,.4),var(--brandColor2) 100%)}#searchPeers[data-v-96236a54]::placeholder{color:#fff} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-CSjO_Okh.css b/src/static/dist/WGDashboardAdmin/assets/peerSettings-CSjO_Okh.css deleted file mode 100644 index c5a0968a..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerSettings-CSjO_Okh.css +++ /dev/null @@ -1 +0,0 @@ -.toggleShowKey[data-v-12b3ae8e]{position:absolute;top:35px;right:12px} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js b/src/static/dist/WGDashboardAdmin/assets/peerSettings-CpaVm-0X.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js rename to src/static/dist/WGDashboardAdmin/assets/peerSettings-CpaVm-0X.js index 1d2dbe07..d3a984c2 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSettings-CpaVm-0X.js @@ -1 +1 @@ -import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,$ as _,z as p,D as f}from"./index-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.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,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},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(l=>{l.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"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("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",K,[e("small",U,[a(o,{t:"Name"})])]),i(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("div",A,[e("label",R,[e("small",O,[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[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),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[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=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[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=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[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-12b3ae8e"]]);export{xe as default}; +import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,$ as _,z as p,D as f}from"./index-Daf9JYJW.js";import{L as g}from"./localeText-DncIFq-d.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,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},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(l=>{l.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"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("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",K,[e("small",U,[a(o,{t:"Name"})])]),i(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("div",A,[e("label",R,[e("small",O,[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[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),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[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=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[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=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[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-3a908939"]]);export{xe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-WzFVoYjE.css b/src/static/dist/WGDashboardAdmin/assets/peerSettings-WzFVoYjE.css new file mode 100644 index 00000000..7dcf6693 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerSettings-WzFVoYjE.css @@ -0,0 +1 @@ +.toggleShowKey[data-v-3a908939]{position:absolute;top:35px;right:12px} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxieDg3w.css b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxieDg3w.css new file mode 100644 index 00000000..6042bfb5 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DxieDg3w.css @@ -0,0 +1 @@ +.card[data-v-9c7f1c6d]{border-color:var(--bs-border-color)!important}textarea[data-v-af640a8e]:focus,input[data-v-af640a8e]:focus{box-shadow:none;border-color:var(--bs-border-color)!important}textarea[data-v-af640a8e]{padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-GoWqB_pD.css b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-GoWqB_pD.css deleted file mode 100644 index 8460dd7b..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-GoWqB_pD.css +++ /dev/null @@ -1 +0,0 @@ -.card[data-v-1a7765d4]{border-color:var(--bs-border-color)!important}textarea[data-v-01e380d2]:focus,input[data-v-01e380d2]:focus{box-shadow:none;border-color:var(--bs-border-color)!important}textarea[data-v-01e380d2]{padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)} diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-b6QUwlV3.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js rename to src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-b6QUwlV3.js index 50d37900..7fb1d006 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-b6QUwlV3.js @@ -1 +1 @@ -import{_ as T,r as y,E as N,I 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 Y,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as H,w as B,s as R,j as x,S as A}from"./index-DYYtDSji.js";import{d as D}from"./dayjs.min-WRW_FTL4.js";import{Z as J}from"./vue-datepicker-Cw5Y4tvU.js";import{L as h}from"./localeText-Cd7vLnRM.js";import"./index-DPa-4xgI.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=T(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(()=>Y("/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})},V=t;return W(c,()=>{V("fullscreen",c.value)}),(g,a)=>{const I=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=>V("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),[[H,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),[[H,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(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=T(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},Te={class:"d-flex gap-2 mb-4"},Ve=["href"],He={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 Ie(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",Te,[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,Ve)]),e("div",He,[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=T(xe,[["render",Ie]]);export{Oe as default}; +import{_ as T,r as y,E as N,I 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 Y,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as H,w as B,s as R,j as x,S as A}from"./index-Daf9JYJW.js";import{d as D}from"./dayjs.min-XUWsRRMk.js";import{Z as J}from"./vue-datepicker-DL0jaW0X.js";import{L as h}from"./localeText-DncIFq-d.js";import"./index-Jsj98gIE.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=T(K,[["__scopeId","data-v-9c7f1c6d"]]),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(()=>Y("/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})},V=t;return W(c,()=>{V("fullscreen",c.value)}),(g,a)=>{const I=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=>V("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),[[H,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),[[H,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(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=T(ge,[["__scopeId","data-v-af640a8e"]]),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},Te={class:"d-flex gap-2 mb-4"},Ve=["href"],He={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 Ie(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",Te,[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,Ve)]),e("div",He,[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=T(xe,[["render",Ie]]);export{Oe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BttAzz3w.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js rename to src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BttAzz3w.js index 79fd1d27..00f3118d 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js +++ b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BttAzz3w.js @@ -1 +1 @@ -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-DYYtDSji.js";import{L as _}from"./localeText-Cd7vLnRM.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}; +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-Daf9JYJW.js";import{L as _}from"./localeText-DncIFq-d.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/ping-C_DjxRQC.css b/src/static/dist/WGDashboardAdmin/assets/ping-C_DjxRQC.css new file mode 100644 index 00000000..a5ca0c9a --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/ping-C_DjxRQC.css @@ -0,0 +1 @@ +.pingPlaceholder[data-v-7cbbb4dc]{width:100%;height:79.98px}.ping-move[data-v-7cbbb4dc],.ping-enter-active[data-v-7cbbb4dc],.ping-leave-active[data-v-7cbbb4dc]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-7cbbb4dc]{position:absolute;width:100%}.ping-enter-from[data-v-7cbbb4dc],.ping-leave-to[data-v-7cbbb4dc]{opacity:0;filter:blur(3px)} diff --git a/src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js b/src/static/dist/WGDashboardAdmin/assets/ping-DbksCFxr.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js rename to src/static/dist/WGDashboardAdmin/assets/ping-DbksCFxr.js index ea4ae5d1..50a8e4a9 100644 --- a/src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js +++ b/src/static/dist/WGDashboardAdmin/assets/ping-DbksCFxr.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-DYYtDSji.js";import{L as w}from"./localeText-Cd7vLnRM.js";import{O as A}from"./osmap-BtV_4HvJ.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-Daf9JYJW.js";import{L as w}from"./localeText-DncIFq-d.js";import{O as A}from"./osmap-W1gBCfhu.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-7cbbb4dc"]]);export{Ie as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/ping-DgbK5UF9.css b/src/static/dist/WGDashboardAdmin/assets/ping-DgbK5UF9.css deleted file mode 100644 index 89e427ee..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/ping-DgbK5UF9.css +++ /dev/null @@ -1 +0,0 @@ -.pingPlaceholder[data-v-a08ce97e]{width:100%;height:79.98px}.ping-move[data-v-a08ce97e],.ping-enter-active[data-v-a08ce97e],.ping-leave-active[data-v-a08ce97e]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-a08ce97e]{position:absolute;width:100%}.ping-enter-from[data-v-a08ce97e],.ping-leave-to[data-v-a08ce97e]{opacity:0;filter:blur(3px)} diff --git a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbebmkCa.js similarity index 79% rename from src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js rename to src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbebmkCa.js index 721db27c..025f4020 100644 --- a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js +++ b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbebmkCa.js @@ -1 +1 @@ -import{L as n}from"./localeText-Cd7vLnRM.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-DYYtDSji.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-DncIFq-d.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-Daf9JYJW.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-Dz1O-iX5.js b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-C4m664Ac.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dz1O-iX5.js rename to src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-C4m664Ac.js index 15a935b7..ee03db1a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dz1O-iX5.js +++ b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-C4m664Ac.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,I 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-DYYtDSji.js";import{L as o}from"./localeText-Cd7vLnRM.js";import{d as X}from"./dayjs.min-WRW_FTL4.js";import{_ as E}from"./protocolBadge-DbN6X1oX.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"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={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,I 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-Daf9JYJW.js";import{L as o}from"./localeText-DncIFq-d.js";import{d as X}from"./dayjs.min-XUWsRRMk.js";import{_ as E}from"./protocolBadge-DbebmkCa.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-3dbfe454"]]),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"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={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}),I=C(()=>t.ListenPort>0&&t.ListenPort<=65353&&Number.isInteger(t.ListenPort)&&!c.Configurations.find(i=>parseInt(i.ListenPort)===t.ListenPort)),L=C(()=>{try{return O(t.Address),!0}catch{return!1}}),S=C(()=>L.value&&I.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 U=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()=>{S.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",[I.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",[U.value>0?"text-success":"text-danger"]])},[l(o,{t:U.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[L.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",Ie,[p.value?(n(),r("div",Le,y(a.value),1)):(n(),r("div",Se,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ue,[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:!S.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}; +`).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),j=q(),M=H(),Y=async()=>{S.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",[I.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",[U.value>0?"text-success":"text-danger"]])},[l(o,{t:U.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[L.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",Ie,[p.value?(n(),r("div",Le,y(a.value),1)):(n(),r("div",Se,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ue,[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:!S.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-a7094e82"]]);export{Dt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Go8Q_2zy.css b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Go8Q_2zy.css deleted file mode 100644 index 33e1043a..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Go8Q_2zy.css +++ /dev/null @@ -1 +0,0 @@ -.dropdownIcon[data-v-ccf48ac7]{transition:all .2s ease-in-out}.dropdownIcon.active[data-v-ccf48ac7]{transform:rotate(180deg)}.steps{&[data-v-324df2b1]{transition:all .3s ease-in-out;opacity:.3}&.active[data-v-324df2b1]{opacity:1}} diff --git a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-WP1Q7x3P.css b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-WP1Q7x3P.css new file mode 100644 index 00000000..debf3ee9 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-WP1Q7x3P.css @@ -0,0 +1 @@ +.dropdownIcon[data-v-3dbfe454]{transition:all .2s ease-in-out}.dropdownIcon.active[data-v-3dbfe454]{transform:rotate(180deg)}.steps{&[data-v-a7094e82]{transition:all .3s ease-in-out;opacity:.3}&.active[data-v-a7094e82]{opacity:1}} diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-B6zxTk2F.css b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-B6zxTk2F.css new file mode 100644 index 00000000..c686ae3b --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-B6zxTk2F.css @@ -0,0 +1 @@ +.btn.disabled[data-v-60334c96]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-15049fba]{font-size:.875rem}input[data-v-15049fba]{padding:.1rem .4rem}input[data-v-15049fba]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.dp__main[data-v-15049fba]{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-u2PLfoyV.js b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-C_9yNs2s.js similarity index 85% rename from src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-u2PLfoyV.js rename to src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-C_9yNs2s.js index e95c1cfb..9fb264d4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-u2PLfoyV.js +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-C_9yNs2s.js @@ -1 +1 @@ -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-DYYtDSji.js";import{Z as J}from"./vue-datepicker-Cw5Y4tvU.js";import{d as C}from"./dayjs.min-WRW_FTL4.js";import{L as V}from"./localeText-Cd7vLnRM.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}; +import{_,c as r,f as d,a as s,t as m,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-Daf9JYJW.js";import{Z as J}from"./vue-datepicker-DL0jaW0X.js";import{d as C}from"./dayjs.min-XUWsRRMk.js";import{L as V}from"./localeText-DncIFq-d.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,c,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,m(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,m(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-60334c96"]]),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 c=k();return{job:e,edit:l,newJob:o,store:c}},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,c,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,m(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,m(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-15049fba"]]);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/selectPeers-B8ftlcSH.css b/src/static/dist/WGDashboardAdmin/assets/selectPeers-B8ftlcSH.css new file mode 100644 index 00000000..722606fd --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/selectPeers-B8ftlcSH.css @@ -0,0 +1 @@ +.card[data-v-f47a96b8]{height:100%}.dashboardModal[data-v-f47a96b8]{height:calc(100% - 1rem)!important}@media screen and (min-height: 700px){.card[data-v-f47a96b8]{height:700px}}.peerBtn[data-v-f47a96b8]{border:var(--bs-border-width) solid var(--bs-border-color)}.peerBtn.active[data-v-f47a96b8]{border:var(--bs-border-width) solid var(--bs-body-color)} diff --git a/src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js b/src/static/dist/WGDashboardAdmin/assets/selectPeers-BI9asnI7.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js rename to src/static/dist/WGDashboardAdmin/assets/selectPeers-BI9asnI7.js index f97871b9..94c033ae 100644 --- a/src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js +++ b/src/static/dist/WGDashboardAdmin/assets/selectPeers-BI9asnI7.js @@ -1 +1 @@ -import{_ as j,r as g,q as A,I 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 J,z as Y}from"./index-DYYtDSji.js";import{L as d}from"./localeText-Cd7vLnRM.js";const H={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,Y(`/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"),I=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:I.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await J("/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)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",H,[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=>U())},[...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=>V()),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,I 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 J,z as Y}from"./index-Daf9JYJW.js";import{L as d}from"./localeText-DncIFq-d.js";const H={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,Y(`/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"),I=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:I.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await J("/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)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",H,[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=>U())},[...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=>V()),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-f47a96b8"]]);export{we as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/selectPeers-ChWyERy7.css b/src/static/dist/WGDashboardAdmin/assets/selectPeers-ChWyERy7.css deleted file mode 100644 index 7ab76002..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/selectPeers-ChWyERy7.css +++ /dev/null @@ -1 +0,0 @@ -.card[data-v-177407c1]{height:100%}.dashboardModal[data-v-177407c1]{height:calc(100% - 1rem)!important}@media screen and (min-height: 700px){.card[data-v-177407c1]{height:700px}}.peerBtn[data-v-177407c1]{border:var(--bs-border-width) solid var(--bs-border-color)}.peerBtn.active[data-v-177407c1]{border:var(--bs-border-width) solid var(--bs-body-color)} diff --git a/src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js b/src/static/dist/WGDashboardAdmin/assets/settings-Bh_1QgUe.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js rename to src/static/dist/WGDashboardAdmin/assets/settings-Bh_1QgUe.js index e97e4361..a5d4f1d8 100644 --- a/src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js +++ b/src/static/dist/WGDashboardAdmin/assets/settings-Bh_1QgUe.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-DYYtDSji.js";import{P}from"./peersDefaultSettingsInput-BuZeDfeq.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-BLi3ez-N.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js";import{L as U}from"./localeText-Cd7vLnRM.js";import"./dayjs.min-WRW_FTL4.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.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-Daf9JYJW.js";import{P}from"./peersDefaultSettingsInput-BttAzz3w.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-C04_SG7Y.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js";import{L as U}from"./localeText-DncIFq-d.js";import"./dayjs.min-XUWsRRMk.js";import"./vue-datepicker-DL0jaW0X.js";import"./index-Jsj98gIE.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-DwS6cNkc.js b/src/static/dist/WGDashboardAdmin/assets/setup-Isfvgm26.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/setup-DwS6cNkc.js rename to src/static/dist/WGDashboardAdmin/assets/setup-Isfvgm26.js index cde030d5..e063cafc 100644 --- a/src/static/dist/WGDashboardAdmin/assets/setup-DwS6cNkc.js +++ b/src/static/dist/WGDashboardAdmin/assets/setup-Isfvgm26.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-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.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-Daf9JYJW.js";import{L as g}from"./localeText-DncIFq-d.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-e5E8P3Ro.css b/src/static/dist/WGDashboardAdmin/assets/share-e5E8P3Ro.css deleted file mode 100644 index 586f8529..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/share-e5E8P3Ro.css +++ /dev/null @@ -1 +0,0 @@ -.animate__fadeInUp[data-v-1b44aacd]{animation-timing-function:cubic-bezier(.42,0,.22,1)} diff --git a/src/static/dist/WGDashboardAdmin/assets/share-pZwqdyDh.css b/src/static/dist/WGDashboardAdmin/assets/share-pZwqdyDh.css new file mode 100644 index 00000000..9fc2fd79 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/share-pZwqdyDh.css @@ -0,0 +1 @@ +.animate__fadeInUp[data-v-0c1806f1]{animation-timing-function:cubic-bezier(.42,0,.22,1)} diff --git a/src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js b/src/static/dist/WGDashboardAdmin/assets/share-uzofzGvX.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js rename to src/static/dist/WGDashboardAdmin/assets/share-uzofzGvX.js index 44058728..8bdc988b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js +++ b/src/static/dist/WGDashboardAdmin/assets/share-uzofzGvX.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-DYYtDSji.js";import{Q as v}from"./browser-LdOMKRZX.js";import{L as y}from"./localeText-Cd7vLnRM.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-Daf9JYJW.js";import{Q as v}from"./browser-CPfGuul0.js";import{L as y}from"./localeText-DncIFq-d.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-0c1806f1"]]);export{O as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js b/src/static/dist/WGDashboardAdmin/assets/signin-B6a6pmoL.js similarity index 86% rename from src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js rename to src/static/dist/WGDashboardAdmin/assets/signin-B6a6pmoL.js index 5f93410e..0ed7a9fb 100644 --- a/src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js +++ b/src/static/dist/WGDashboardAdmin/assets/signin-B6a6pmoL.js @@ -1 +1 @@ -import{_ as v,G as p,A as I,c as a,a as t,t as T,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 L,j as $,$ as E,v as M,e as D,w as A,T as U,z as B,g as y}from"./index-DYYtDSji.js";import{M as R}from"./message-BaA47ykS.js";import{d as _}from"./dayjs.min-WRW_FTL4.js";import{L as S}from"./localeText-Cd7vLnRM.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[I().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"},H={class:"card-body"},G={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"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["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,T(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",H,[t("div",G,[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",z,[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",W,[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",Z,[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,Q),[[c,n.key]])]),t("div",X,[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,Y),[[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:L()}},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:V=>this.store.setActiveCrossServer(o),onDelete:V=>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)),[[E,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=L();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"},De=["disabled"],Ae={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:"text-muted pb-3 d-block w-100 text-center mt-3"},qe={class:"messageCentre text-body position-absolute d-flex"};function He(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",Ae,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,De)],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),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",je,[D(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",qe,[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:A(()=>[(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 We=v(xe,[["render",He],["__scopeId","data-v-80e20da4"]]);export{We as default}; +import{_ as v,G as p,A as I,c as a,a as t,t as T,n as C,m as u,y as m,b as l,h as g,d as x,F as k,i as w,f as i,D as L,j as $,$ as E,v as M,e as D,w as A,T as U,z as B,g as y}from"./index-Daf9JYJW.js";import{M as R}from"./message-CNwYSWIg.js";import{d as _}from"./dayjs.min-XUWsRRMk.js";import{L as S}from"./localeText-DncIFq-d.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[I().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"},H={class:"card-body"},G={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"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,c,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,T(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",H,[t("div",G,[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),[[m,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),[[m,this.server.apiKey]])]),t("div",z,[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",W,[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",Z,[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,Q),[[m,n.key]])]),t("div",X,[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,Y),[[m,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-c6974a9c"]]),oe={name:"RemoteServerList",setup(){return{store:L()}},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,c,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:V=>this.store.setActiveCrossServer(o),onDelete:V=>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]]),ce={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},me=["type","id","name","placeholder"];function he(s,e,c,h,d,f){return u((i(),a("input",{type:c.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,me)),[[E,this.data[this.id]]])}const pe=v(ce,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,c,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)),[[m,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=L();let e="dark",c=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{c=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:c,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"},De=["disabled"],Ae={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:"text-muted pb-3 d-block w-100 text-center mt-3"},qe={class:"messageCentre text-body position-absolute d-flex"};function He(s,e,c,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),[[m,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),[[m,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),[[m,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",Ae,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,De)],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),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",je,[D(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",qe,[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:A(()=>[(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 We=v(xe,[["render",He],["__scopeId","data-v-1d57186d"]]);export{We as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-Dutj8UcP.css b/src/static/dist/WGDashboardAdmin/assets/signin-Dutj8UcP.css new file mode 100644 index 00000000..ab58d38c --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/signin-Dutj8UcP.css @@ -0,0 +1 @@ +.card-header[data-v-c6974a9c]{transition:all .2s ease-in-out}.dot.inactive[data-v-c6974a9c]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-c6974a9c]{animation:spin-c6974a9c 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-c6974a9c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-c6974a9c]{flex-direction:column}.remoteServerContainer .button-group button[data-v-c6974a9c]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-1d57186d]{width:100%!important}.login-box div[data-v-1d57186d]{width:auto!important}} diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css b/src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css deleted file mode 100644 index 76da2863..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css +++ /dev/null @@ -1 +0,0 @@ -.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-80e20da4]{width:100%!important}.login-box div[data-v-80e20da4]{width:auto!important}} diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount-Cdjv5NCI.css b/src/static/dist/WGDashboardAdmin/assets/storageMount-Cdjv5NCI.css new file mode 100644 index 00000000..a8324ea7 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/storageMount-Cdjv5NCI.css @@ -0,0 +1 @@ +.square[data-v-184c557e]{height:var(--cf1e7544);transition:background-color .5s cubic-bezier(.42,0,.22,1)}.square[data-v-0a44dc90]{height:var(--v788e3a3e);transition:background-color .5s cubic-bezier(.42,0,.22,1)} diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount-wWOSNV8e.css b/src/static/dist/WGDashboardAdmin/assets/storageMount-wWOSNV8e.css deleted file mode 100644 index 6eaa5474..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/storageMount-wWOSNV8e.css +++ /dev/null @@ -1 +0,0 @@ -.square[data-v-f8963858]{height:var(--v60cb52de);transition:background-color .5s cubic-bezier(.42,0,.22,1)}.square[data-v-9509d7a0]{height:var(--v2dc8ab7e);transition:background-color .5s cubic-bezier(.42,0,.22,1)} diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.js b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.js new file mode 100644 index 00000000..713d14a3 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.js @@ -0,0 +1 @@ +import{_ as p,r as b,q as f,c as t,f as r,b as n,w as x,d as v,n as g,s as l,a as c,e as C,t as u,k as w,p as y}from"./index-Daf9JYJW.js";import{L as _}from"./localeText-DncIFq-d.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=>({cf1e7544:s.value}));const d=e,o=b(!1),s=f(()=>d.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:x(()=>[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(" #"+u(e.core_number+1),1)]),c("small",N,u(e.percentage)+"% ",1)],6)):v("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-184c557e"]]);export{h as C}; diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js deleted file mode 100644 index 73ed138e..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as p,r as b,q as f,c as t,f as r,b as n,w as v,d as x,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-DYYtDSji.js";import{L as _}from"./localeText-Cd7vLnRM.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=>({v60cb52de:s.value}));const u=e,o=b(!1),s=f(()=>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:v(()=>[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)):x("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-f8963858"]]);export{h as C}; diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-BNFi5VXv.css b/src/static/dist/WGDashboardAdmin/assets/systemStatus-BNFi5VXv.css new file mode 100644 index 00000000..b3fb199f --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/systemStatus-BNFi5VXv.css @@ -0,0 +1 @@ +.title[data-v-fc4b2338]{height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.process-move[data-v-476a32d0],.process-enter-active[data-v-476a32d0],.process-leave-active[data-v-476a32d0]{transition:all .5s cubic-bezier(.42,0,.22,1)}.process-enter-from[data-v-476a32d0],.process-leave-to[data-v-476a32d0]{opacity:0;transform:scale(.9)}.process-leave-active[data-v-476a32d0]{position:absolute;width:100%}.progress-bar[data-v-476a32d0]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.fadeIn[data-v-476a32d0]{opacity:0;animation:fadeIn-476a32d0 .5s forwards cubic-bezier(.42,0,.22,1)}@keyframes fadeIn-476a32d0{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}} diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js b/src/static/dist/WGDashboardAdmin/assets/systemStatus-CRYFZ6K4.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js rename to src/static/dist/WGDashboardAdmin/assets/systemStatus-CRYFZ6K4.js index dd7bec9f..92aa1162 100644 --- a/src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js +++ b/src/static/dist/WGDashboardAdmin/assets/systemStatus-CRYFZ6K4.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-DYYtDSji.js";import{L as c}from"./localeText-Cd7vLnRM.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.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-CV5Q0a3C.js";import{d as oe}from"./dayjs.min-WRW_FTL4.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:{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-flex gap-1"},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-d762a6a8"]]);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-Daf9JYJW.js";import{L as c}from"./localeText-DncIFq-d.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_0a44dc90_lang-BnXKTDTG.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-Cd3Eji6d.js";import{d as oe}from"./dayjs.min-XUWsRRMk.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-fc4b2338"]]),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:{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-flex gap-1"},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-476a32d0"]]);export{Ds as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-DdUpBwt2.css b/src/static/dist/WGDashboardAdmin/assets/systemStatus-DdUpBwt2.css deleted file mode 100644 index 5cd82110..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/systemStatus-DdUpBwt2.css +++ /dev/null @@ -1 +0,0 @@ -.title[data-v-ffe5ad8f]{height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.process-move[data-v-d762a6a8],.process-enter-active[data-v-d762a6a8],.process-leave-active[data-v-d762a6a8]{transition:all .5s cubic-bezier(.42,0,.22,1)}.process-enter-from[data-v-d762a6a8],.process-leave-to[data-v-d762a6a8]{opacity:0;transform:scale(.9)}.process-leave-active[data-v-d762a6a8]{position:absolute;width:100%}.progress-bar[data-v-d762a6a8]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.fadeIn[data-v-d762a6a8]{opacity:0;animation:fadeIn-d762a6a8 .5s forwards cubic-bezier(.42,0,.22,1)}@keyframes fadeIn-d762a6a8{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}} diff --git a/src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js b/src/static/dist/WGDashboardAdmin/assets/totp-B9bSTMsn.js similarity index 94% rename from src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js rename to src/static/dist/WGDashboardAdmin/assets/totp-B9bSTMsn.js index 1752767d..752a31bd 100644 --- a/src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js +++ b/src/static/dist/WGDashboardAdmin/assets/totp-B9bSTMsn.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-DYYtDSji.js";import{Q as x}from"./browser-LdOMKRZX.js";import{L as y}from"./localeText-Cd7vLnRM.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-Daf9JYJW.js";import{Q as x}from"./browser-CPfGuul0.js";import{L as y}from"./localeText-DncIFq-d.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-CBvjmB4l.css b/src/static/dist/WGDashboardAdmin/assets/traceroute-CBvjmB4l.css new file mode 100644 index 00000000..7548fa30 --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-CBvjmB4l.css @@ -0,0 +1 @@ +.pingPlaceholder[data-v-67fc47e6]{width:100%;height:40px}.ping-move[data-v-67fc47e6],.ping-enter-active[data-v-67fc47e6],.ping-leave-active[data-v-67fc47e6]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-67fc47e6]{position:absolute;width:100%}.ping-enter-from[data-v-67fc47e6],.ping-leave-to[data-v-67fc47e6]{opacity:0;filter:blur(3px)}.ping-leave-active[data-v-67fc47e6]{position:absolute}table th[data-v-67fc47e6],table td[data-v-67fc47e6]{padding:.5rem}.table[data-v-67fc47e6]>:not(caption)>*>*{background-color:transparent!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js b/src/static/dist/WGDashboardAdmin/assets/traceroute-CZjxAWIt.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js rename to src/static/dist/WGDashboardAdmin/assets/traceroute-CZjxAWIt.js index ec67eaab..f4719377 100644 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-CZjxAWIt.js @@ -1 +1 @@ -import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,H 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-DYYtDSji.js";import{O as A}from"./osmap-BtV_4HvJ.js";import{L as w}from"./localeText-Cd7vLnRM.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"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},H={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},E={class:"table table-sm rounded-3 w-100"},F={scope:"col"},G={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,O),[[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",H,[...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",B,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",E,[t("thead",null,[t("tr",null,[t("th",F,[n(a,{t:"Hop"})]),t("th",G,[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",N,[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,H 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-Daf9JYJW.js";import{O as A}from"./osmap-W1gBCfhu.js";import{L as w}from"./localeText-DncIFq-d.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"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},H={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},E={class:"table table-sm rounded-3 w-100"},F={scope:"col"},G={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,O),[[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",H,[...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",B,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",E,[t("thead",null,[t("tr",null,[t("th",F,[n(a,{t:"Hop"})]),t("th",G,[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",N,[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-67fc47e6"]]);export{at as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css b/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css deleted file mode 100644 index 268a1abf..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css +++ /dev/null @@ -1 +0,0 @@ -.pingPlaceholder[data-v-125b538b]{width:100%;height:40px}.ping-move[data-v-125b538b],.ping-enter-active[data-v-125b538b],.ping-leave-active[data-v-125b538b]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-125b538b]{position:absolute;width:100%}.ping-enter-from[data-v-125b538b],.ping-leave-to[data-v-125b538b]{opacity:0;filter:blur(3px)}.ping-leave-active[data-v-125b538b]{position:absolute}table th[data-v-125b538b],table td[data-v-125b538b]{padding:.5rem}.table[data-v-125b538b]>:not(caption)>*>*{background-color:transparent!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DL0jaW0X.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js rename to src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DL0jaW0X.js index 39514b04..26d89422 100644 --- a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js +++ b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DL0jaW0X.js @@ -1 +1 @@ -import{q as V,r as ie,Q as fo,I 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,H as ko}from"./index-DYYtDSji.js";import{o as _o,u as Yt,a as Do}from"./index-DPa-4xgI.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,I 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,H as ko}from"./index-Daf9JYJW.js";import{o as _o,u as Yt,a as Do}from"./index-Jsj98gIE.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-b-VSP6t-.js b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-mVKFs9Ke.js similarity index 80% rename from src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-b-VSP6t-.js rename to src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-mVKFs9Ke.js index 0591eaf5..beec8e77 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-b-VSP6t-.js +++ b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-mVKFs9Ke.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-DYYtDSji.js";import{L as a}from"./localeText-Cd7vLnRM.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-BLi3ez-N.js";import"./dayjs.min-WRW_FTL4.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.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-Daf9JYJW.js";import{L as a}from"./localeText-DncIFq-d.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-C04_SG7Y.js";import"./dayjs.min-XUWsRRMk.js";import"./vue-datepicker-DL0jaW0X.js";import"./index-Jsj98gIE.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-Bz2BaANg.js b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-C4k8ZNPY.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-Bz2BaANg.js rename to src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-C4k8ZNPY.js index 473db694..dd0b5f17 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-Bz2BaANg.js +++ b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-C4k8ZNPY.js @@ -1 +1 @@ -import{D as R,a as V}from"./dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js";import{L as u}from"./localeText-Cd7vLnRM.js";import{r as m,E as B,o as L,g as D,D as O,c as o,f as s,a,t as k,m as P,v as S,d as H,e as d,b as l,n as b,z as E,W,F as j,i as A,j as M,u as U,B as F}from"./index-DYYtDSji.js";const Y={class:"card"},G={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"},le=["disabled","id"],re=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={key:0,class:"placeholder animate__animated animate__flash animate__infinite animate__slower w-100 mb-0"},ue={key:1,class:"mb-0"},fe={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},me={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},be={__name:"configurationTracking",props:["configuration"],async setup(n){let T,p;const c=n,v=m({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0}),w=m(!1),x=m(!1);[T,p]=B(async()=>L(async()=>{await y()})),await T,p();const y=async()=>{w.value=!1,await D("/api/getPeerTrackingTableCounts",{configurationName:c.configuration.Name},i=>{v.value=i.data,w.value=!0})},_=async i=>{x.value=!0,await E("/api/updateWireguardConfigurationInfo",{Name:c.configuration.Name,Key:i,Value:c.configuration.Info[i]},e=>{console.log(e),x.value=!1})},f=m(void 0),C=async i=>{f.value=i,await D("/api/downloadPeerTrackingTable",{configurationName:c.configuration.Name,table:i},e=>{if(e.status){const t=JSON.stringify(e.data,null,2),z=new Blob([t],{type:"application/json"}),I=URL.createObjectURL(z),h=document.createElement("a");h.href=I,h.download=`${c.configuration.Name}_${i}.json`,h.click(),f.value=void 0}})},r=m(""),g=m(void 0),N=O(),$=async i=>{g.value=!0,await E("/api/deletePeerTrackingTable",{configurationName:c.configuration.Name,table:i},async e=>{e.status?N.newMessage("Server","Record deleted","success"):N.newMessage("Server","Record delete failed","danger"),await y(),g.value=!1,r.value=""})};return(i,e)=>(s(),o("div",Y,[a("div",G,k(n.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,[P(a("input",{class:"form-check-input",type:"checkbox",disabled:x.value,onChange:e[0]||(e[0]=t=>_("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=t=>n.configuration.Info.PeerTrafficTracking=t),id:n.configuration.Name+"_traffic_tracking"},null,40,X),[[S,n.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_traffic_tracking"},k(n.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[d(k(v.value.TrafficTrackingTableSize)+" ",1),a("span",te,[l(u,{t:"Records"})])]),r.value!=="TrafficTrackingTable"?(s(),o("div",ne,[a("button",{class:b(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:f.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=t=>C("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.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]=t=>r.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="TrafficTrackingTable"?(s(),o("div",ie,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[4]||(e[4]=t=>$("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=t=>r.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[P(a("input",{class:"form-check-input",disabled:x.value,onChange:e[6]||(e[6]=t=>_("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>n.configuration.Info.PeerHistoricalEndpointTracking=t),id:n.configuration.Name+"_historicalEndpoint_tracking"},null,40,le),[[S,n.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_historicalEndpoint_tracking"},k(n.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,re)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[w.value?(s(),o("h6",ue,[d(k(v.value.HistoricalTrackingTableSize)+" ",1),a("span",fe,[l(u,{t:"Records"})])])):(s(),o("h6",ce))]),r.value!=="HistoricalTrackingTable"?(s(),o("div",ge,[a("button",{onClick:e[8]||(e[8]=t=>C("HistoricalTrackingTable")),class:b([{disabled:f.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)),l(u,{t:f.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]=t=>r.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="HistoricalTrackingTable"?(s(),o("div",me,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[10]||(e[10]=t=>$("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=t=>r.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])])])])]))}},Te={class:"card"},ve={class:"card-header"},ke={class:"my-2"},pe={class:"card-body d-flex flex-column gap-3"},xe={__name:"dashboardWireguardConfigurationTracking",setup(n){const T=W();return(p,c)=>(s(),o("div",Te,[a("div",ve,[a("h6",ke,[l(u,{t:"Peer Tracking"})])]),a("div",pe,[(s(!0),o(j,null,A(U(T).Configurations,v=>(s(),M(be,{configuration:v},null,8,["configuration"]))),256))])]))}},we={class:"d-flex gap-3 flex-column"},Ce=F({__name:"wireguardConfigurationSettings",setup(n){return(T,p)=>(s(),o("div",we,[l(R,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),l(V),l(xe)]))}});export{Ce as default}; +import{D as R,a as V}from"./dashboardSettingsWireguardConfigurationAutostart-DQorUl25.js";import{L as u}from"./localeText-DncIFq-d.js";import{r as m,E as B,o as L,g as D,D as O,c as o,f as s,a,t as k,m as P,v as S,d as H,e as d,b as l,n as b,z as E,W,F as j,i as A,j as M,u as U,B as F}from"./index-Daf9JYJW.js";const Y={class:"card"},G={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"},le=["disabled","id"],re=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={key:0,class:"placeholder animate__animated animate__flash animate__infinite animate__slower w-100 mb-0"},ue={key:1,class:"mb-0"},fe={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},me={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},be={__name:"configurationTracking",props:["configuration"],async setup(n){let T,p;const c=n,v=m({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0}),w=m(!1),x=m(!1);[T,p]=B(async()=>L(async()=>{await y()})),await T,p();const y=async()=>{w.value=!1,await D("/api/getPeerTrackingTableCounts",{configurationName:c.configuration.Name},i=>{v.value=i.data,w.value=!0})},_=async i=>{x.value=!0,await E("/api/updateWireguardConfigurationInfo",{Name:c.configuration.Name,Key:i,Value:c.configuration.Info[i]},e=>{console.log(e),x.value=!1})},f=m(void 0),C=async i=>{f.value=i,await D("/api/downloadPeerTrackingTable",{configurationName:c.configuration.Name,table:i},e=>{if(e.status){const t=JSON.stringify(e.data,null,2),z=new Blob([t],{type:"application/json"}),I=URL.createObjectURL(z),h=document.createElement("a");h.href=I,h.download=`${c.configuration.Name}_${i}.json`,h.click(),f.value=void 0}})},r=m(""),g=m(void 0),N=O(),$=async i=>{g.value=!0,await E("/api/deletePeerTrackingTable",{configurationName:c.configuration.Name,table:i},async e=>{e.status?N.newMessage("Server","Record deleted","success"):N.newMessage("Server","Record delete failed","danger"),await y(),g.value=!1,r.value=""})};return(i,e)=>(s(),o("div",Y,[a("div",G,k(n.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,[P(a("input",{class:"form-check-input",type:"checkbox",disabled:x.value,onChange:e[0]||(e[0]=t=>_("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=t=>n.configuration.Info.PeerTrafficTracking=t),id:n.configuration.Name+"_traffic_tracking"},null,40,X),[[S,n.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_traffic_tracking"},k(n.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[d(k(v.value.TrafficTrackingTableSize)+" ",1),a("span",te,[l(u,{t:"Records"})])]),r.value!=="TrafficTrackingTable"?(s(),o("div",ne,[a("button",{class:b(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:f.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=t=>C("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.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]=t=>r.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="TrafficTrackingTable"?(s(),o("div",ie,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[4]||(e[4]=t=>$("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=t=>r.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[P(a("input",{class:"form-check-input",disabled:x.value,onChange:e[6]||(e[6]=t=>_("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>n.configuration.Info.PeerHistoricalEndpointTracking=t),id:n.configuration.Name+"_historicalEndpoint_tracking"},null,40,le),[[S,n.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_historicalEndpoint_tracking"},k(n.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,re)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[w.value?(s(),o("h6",ue,[d(k(v.value.HistoricalTrackingTableSize)+" ",1),a("span",fe,[l(u,{t:"Records"})])])):(s(),o("h6",ce))]),r.value!=="HistoricalTrackingTable"?(s(),o("div",ge,[a("button",{onClick:e[8]||(e[8]=t=>C("HistoricalTrackingTable")),class:b([{disabled:f.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)),l(u,{t:f.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]=t=>r.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="HistoricalTrackingTable"?(s(),o("div",me,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[10]||(e[10]=t=>$("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=t=>r.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])])])])]))}},Te={class:"card"},ve={class:"card-header"},ke={class:"my-2"},pe={class:"card-body d-flex flex-column gap-3"},xe={__name:"dashboardWireguardConfigurationTracking",setup(n){const T=W();return(p,c)=>(s(),o("div",Te,[a("div",ve,[a("h6",ke,[l(u,{t:"Peer Tracking"})])]),a("div",pe,[(s(!0),o(j,null,A(U(T).Configurations,v=>(s(),M(be,{configuration:v},null,8,["configuration"]))),256))])]))}},we={class:"d-flex gap-3 flex-column"},Ce=F({__name:"wireguardConfigurationSettings",setup(n){return(T,p)=>(s(),o("div",we,[l(R,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),l(V),l(xe)]))}});export{Ce as default}; diff --git a/src/static/dist/WGDashboardAdmin/index.html b/src/static/dist/WGDashboardAdmin/index.html index c3f9e4ae..b5ec8b76 100644 --- a/src/static/dist/WGDashboardAdmin/index.html +++ b/src/static/dist/WGDashboardAdmin/index.html @@ -1,20 +1,35 @@ - - - - - - - - - - - - WGDashboard - - - - -
- - - + + + + + + + + + + + + WGDashboard + + + + + +
+ + + diff --git a/src/static/dist/WGDashboardClient/assets/index-C_FweDYM.js b/src/static/dist/WGDashboardClient/assets/index-Cvh_c-yQ.js similarity index 95% rename from src/static/dist/WGDashboardClient/assets/index-C_FweDYM.js rename to src/static/dist/WGDashboardClient/assets/index-Cvh_c-yQ.js index 81a54b64..579380e7 100644 --- a/src/static/dist/WGDashboardClient/assets/index-C_FweDYM.js +++ b/src/static/dist/WGDashboardClient/assets/index-Cvh_c-yQ.js @@ -27,14 +27,14 @@ * 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 N0(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]=en(r)?r.map(e):e(r)}return n}const Pr=()=>{},en=Array.isArray,Ap=/#/g,$0=/&/g,P0=/\//g,D0=/=/g,L0=/\?/g,Sp=/\+/g,I0=/%5B/g,M0=/%5D/g,Cp=/%5E/g,k0=/%60/g,Op=/%7B/g,B0=/%7C/g,xp=/%7D/g,F0=/%20/g;function ql(e){return encodeURI(""+e).replace(B0,"|").replace(I0,"[").replace(M0,"]")}function V0(e){return ql(e).replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function fl(e){return ql(e).replace(Sp,"%2B").replace(F0,"+").replace(Ap,"%23").replace($0,"%26").replace(k0,"`").replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function H0(e){return fl(e).replace(D0,"%3D")}function U0(e){return ql(e).replace(Ap,"%23").replace(L0,"%3F")}function j0(e){return e==null?"":U0(e).replace(P0,"%2F")}function jr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const q0=/\/$/,K0=e=>e.replace(q0,"");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=G0(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:r,hash:jr(a)}}function W0(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 Y0(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(!z0(e[n],t[n]))return!1;return!0}function z0(e,t){return en(e)?Cf(e,t):en(t)?Cf(t,e):e===t}function Cf(e,t){return en(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function G0(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 qr;(function(e){e.pop="pop",e.push="push"})(qr||(qr={}));var Dr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Dr||(Dr={}));function J0(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),K0(e)}const Q0=/^[^#]+#/;function X0(e,t){return e.replace(Q0,"#")+t}function Z0(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 e1(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=Z0(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 t1(e,t){dl.set(e,t)}function n1(e){const t=dl.get(e);return dl.delete(e),t}let s1=()=>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 r1(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:qr.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 i1(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:s1()+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 o1(e){e=J0(e);const t=i1(e),n=r1(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:X0.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 a1(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),o1(e)}function l1(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="[^/]+?",c1={sensitive:!1,strict:!1,start:!0,end:!0},u1=/[.+*?^${}()[\]/\\]/g;function f1(e,t){const n=Ie({},c1,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 h1={type:0,value:""},p1=/[a-zA-Z0-9_]/;function m1(e){if(!e)return[[]];if(e==="/")return[[h1]];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=y1(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:b1(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:v1(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 v1(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 b1(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 y1(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=E1(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function E1(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 w1(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 T1(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=en(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 A1(e,t,n){const s=()=>{e[t].delete(n)};Pl(s),lh(s),ah(()=>{e[t].add(n)}),e[t].add(n)}function S1(e){const t=Mt(Ip,{}).value;t&&A1(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):l1(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=N0(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=Qt(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&&N1(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(R1(u)){const d=t[Qt(e.replace)?"replace":"push"](Qt(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 C1(e){return e.length===1?e[0]:e}const O1=$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&&C1(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)}}}),x1=O1;function R1(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 N1(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(!en(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,$1=$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=Qt(o);const{matched:f}=r.value;let p;for(;(p=f[d])&&!p.components;)d++;return d}),l=Ue(()=>r.value.matched[a.value]);Ci(kf,Ue(()=>a.value+1)),Ci(Ip,l),Ci(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 P1=$1;function D1(e){const t=_1(e.routes,e),n=e.parseQuery||w1,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,j0),g=_a.bind(null,jr);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:jr(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=W0(s,Ie({},j,{hash:V0(Te),path:ie.path})),b=r.createHref(v);return Ie({fullPath:v,hash:Te,query:s===Mf?T1(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&&Y0(s,ie,te)&&(G=nr(16,{to:K,from:ie}),_e(ie,ie,!0,!1)),(G?Promise.resolve(G):k(K,ie)).catch($=>bn($)?bn($,2)?$:ue($):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]=L1(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(en(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,_e(j,S,te,b),ue()}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&&t1(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===qr.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===qr.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){ue(j);const ie=Y.list();return ie.length?ie.forEach(Te=>Te(j,S,te)):console.error(j),Promise.reject(j)}function ce(){return Q&&u.value!==Ln?Promise.resolve():new Promise((j,S)=>{X.add([j,S])})}function ue(j){return Q||(Q=!j,q(),X.list().forEach(([S,te])=>j?te(j):S()),X.reset()),j}function _e(j,S,te,ie){const{scrollBehavior:Te}=e;if(!Ws||!Te)return Promise.resolve();const v=!te&&n1(Of(j.fullPath,0))||(ie||!te)&&history.state&&history.state.scroll||null;return eo().then(()=>Te(j,S,v)).then(b=>b&&e1(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:ce,install(j){const S=this;j.component("RouterLink",x1),j.component("RouterView",P1),j.config.globalProperties.$router=S,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>Qt(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 L1(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 I1(e){return Mt(Kl)}const ar=e=>`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`,vs=async(e,t={})=>{try{return(await qe.post(ar(e),t)).data}catch(n){console.log(n);return}},Yi=async(e,t={})=>{try{return(await qe.get(ar(e),t)).data}catch(n){console.log(n);return}},pn=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 Yi("/api/settings/getClientProfile");e?this.clientProfile=e.data:this.newNotification("Failed to fetch client profile","danger")},async getConfigurations(){const e=await Yi("/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},M1={class:"card-body"},k1={class:"d-flex align-items-center mb-2"},B1={class:"ms-auto"},F1={class:"fw-medium"},V1={__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)=>(de(),be("div",{onMouseenter:l[1]||(l[1]=u=>r()),onMouseleave:l[2]||(l[2]=u=>e.notificationData.show?s():void 0),class:Gt([{"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",M1,[T("div",k1,[T("small",null,mt(e.notificationData.time.format("hh:mm A")),1),T("small",B1,[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",F1,mt(e.notificationData.content),1)])],34))}},H1=Yn(V1,[["__scopeId","data-v-3303bfcd"]]),U1={class:"messageCentre text-body position-absolute d-flex"},j1={__name:"notificationList",setup(e){const t=pn(),n=Ue(()=>t.notifications.filter(s=>s.show).slice().reverse());return(s,r)=>(de(),be("div",U1,[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(()=>[(de(!0),be(St,null,Dl(n.value,o=>(de(),Zt(H1,{notificationData:o,key:o.id},null,8,["notificationData"]))),128))]),_:1})]))}},q1=Yn(j1,[["__scopeId","data-v-e4fed80c"]]),K1={"data-bs-theme":"dark",class:"text-body bg-body vw-100 vh-100 bg-body"},W1={class:"d-flex vw-100 p-sm-4 overflow-y-scroll innerContainer d-flex flex-column"},Y1={class:"mx-auto my-sm-auto position-relative",id:"listContainer"},z1={__name:"App",setup(e){const t=pn();return fetch("/client/api/serverInformation").then(n=>n.json()).then(n=>t.serverInformation=n.data),(n,s)=>{const r=rr("RouterView");return de(),be("div",K1,[T("div",W1,[T("div",Y1,[(de(),Zt(Ph,null,{default:it(()=>[Ne(r,null,{default:it(({Component:o})=>[Ne(Hr,{name:"app",type:"transition",mode:"out-in"},{default:it(()=>[(de(),Zt(ay(o)))]),_:2},1024)]),_:1})]),_:1}))]),s[0]||(s[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(q1)])}}},G1=Yn(z1,[["__scopeId","data-v-7a527e8d"]]);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 an={},td;function Bp(){if(td)return an;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 + */const Ws=typeof document<"u";function Tp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function N0(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]=en(r)?r.map(e):e(r)}return n}const Pr=()=>{},en=Array.isArray,Ap=/#/g,$0=/&/g,P0=/\//g,D0=/=/g,L0=/\?/g,Sp=/\+/g,I0=/%5B/g,M0=/%5D/g,Cp=/%5E/g,k0=/%60/g,Op=/%7B/g,B0=/%7C/g,xp=/%7D/g,F0=/%20/g;function ql(e){return encodeURI(""+e).replace(B0,"|").replace(I0,"[").replace(M0,"]")}function V0(e){return ql(e).replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function fl(e){return ql(e).replace(Sp,"%2B").replace(F0,"+").replace(Ap,"%23").replace($0,"%26").replace(k0,"`").replace(Op,"{").replace(xp,"}").replace(Cp,"^")}function H0(e){return fl(e).replace(D0,"%3D")}function U0(e){return ql(e).replace(Ap,"%23").replace(L0,"%3F")}function j0(e){return e==null?"":U0(e).replace(P0,"%2F")}function jr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const q0=/\/$/,K0=e=>e.replace(q0,"");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=G0(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:r,hash:jr(a)}}function W0(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 Y0(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(!z0(e[n],t[n]))return!1;return!0}function z0(e,t){return en(e)?Cf(e,t):en(t)?Cf(t,e):e===t}function Cf(e,t){return en(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function G0(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 qr;(function(e){e.pop="pop",e.push="push"})(qr||(qr={}));var Dr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Dr||(Dr={}));function J0(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),K0(e)}const Q0=/^[^#]+#/;function X0(e,t){return e.replace(Q0,"#")+t}function Z0(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 e1(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=Z0(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 t1(e,t){dl.set(e,t)}function n1(e){const t=dl.get(e);return dl.delete(e),t}let s1=()=>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 r1(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:qr.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 i1(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:s1()+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 o1(e){e=J0(e);const t=i1(e),n=r1(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:X0.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 a1(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),o1(e)}function l1(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="[^/]+?",c1={sensitive:!1,strict:!1,start:!0,end:!0},u1=/[.+*?^${}()[\]/\\]/g;function f1(e,t){const n=Ie({},c1,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 h1={type:0,value:""},p1=/[a-zA-Z0-9_]/;function m1(e){if(!e)return[[]];if(e==="/")return[[h1]];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=y1(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:b1(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:v1(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 v1(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 b1(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 y1(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=E1(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function E1(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 w1(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 T1(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=en(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 A1(e,t,n){const s=()=>{e[t].delete(n)};Pl(s),lh(s),ah(()=>{e[t].add(n)}),e[t].add(n)}function S1(e){const t=Mt(Ip,{}).value;t&&A1(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):l1(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=N0(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=Qt(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&&N1(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(R1(u)){const d=t[Qt(e.replace)?"replace":"push"](Qt(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 C1(e){return e.length===1?e[0]:e}const O1=$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&&C1(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)}}}),x1=O1;function R1(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 N1(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(!en(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,$1=$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=Qt(o);const{matched:f}=r.value;let p;for(;(p=f[d])&&!p.components;)d++;return d}),l=Ue(()=>r.value.matched[a.value]);Ci(kf,Ue(()=>a.value+1)),Ci(Ip,l),Ci(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 P1=$1;function D1(e){const t=_1(e.routes,e),n=e.parseQuery||w1,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,j0),g=_a.bind(null,jr);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:jr(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=W0(s,Ie({},j,{hash:V0(Te),path:ie.path})),b=r.createHref(v);return Ie({fullPath:v,hash:Te,query:s===Mf?T1(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&&Y0(s,ie,te)&&(G=nr(16,{to:K,from:ie}),_e(ie,ie,!0,!1)),(G?Promise.resolve(G):k(K,ie)).catch($=>bn($)?bn($,2)?$:ue($):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]=L1(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(en(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,_e(j,S,te,b),ue()}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&&t1(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===qr.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===qr.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){ue(j);const ie=Y.list();return ie.length?ie.forEach(Te=>Te(j,S,te)):console.error(j),Promise.reject(j)}function ce(){return Q&&u.value!==Ln?Promise.resolve():new Promise((j,S)=>{X.add([j,S])})}function ue(j){return Q||(Q=!j,q(),X.list().forEach(([S,te])=>j?te(j):S()),X.reset()),j}function _e(j,S,te,ie){const{scrollBehavior:Te}=e;if(!Ws||!Te)return Promise.resolve();const v=!te&&n1(Of(j.fullPath,0))||(ie||!te)&&history.state&&history.state.scroll||null;return eo().then(()=>Te(j,S,v)).then(b=>b&&e1(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:ce,install(j){const S=this;j.component("RouterLink",x1),j.component("RouterView",P1),j.config.globalProperties.$router=S,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>Qt(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 L1(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 I1(e){return Mt(Kl)}const ar=e=>{const t=window.APP_PREFIX||"";return`${window.location.protocol}//${window.location.host}${t}/client${e}`},vs=async(e,t={})=>{try{return(await qe.post(ar(e),t)).data}catch(n){console.log(n);return}},Yi=async(e,t={})=>{try{return(await qe.get(ar(e),t)).data}catch(n){console.log(n);return}},pn=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 Yi("/api/settings/getClientProfile");e?this.clientProfile=e.data:this.newNotification("Failed to fetch client profile","danger")},async getConfigurations(){const e=await Yi("/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},M1={class:"card-body"},k1={class:"d-flex align-items-center mb-2"},B1={class:"ms-auto"},F1={class:"fw-medium"},V1={__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)=>(de(),be("div",{onMouseenter:l[1]||(l[1]=u=>r()),onMouseleave:l[2]||(l[2]=u=>e.notificationData.show?s():void 0),class:Gt([{"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",M1,[T("div",k1,[T("small",null,mt(e.notificationData.time.format("hh:mm A")),1),T("small",B1,[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",F1,mt(e.notificationData.content),1)])],34))}},H1=Yn(V1,[["__scopeId","data-v-070924ce"]]),U1={class:"messageCentre text-body position-absolute d-flex"},j1={__name:"notificationList",setup(e){const t=pn(),n=Ue(()=>t.notifications.filter(s=>s.show).slice().reverse());return(s,r)=>(de(),be("div",U1,[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(()=>[(de(!0),be(St,null,Dl(n.value,o=>(de(),Zt(H1,{notificationData:o,key:o.id},null,8,["notificationData"]))),128))]),_:1})]))}},q1=Yn(j1,[["__scopeId","data-v-0b7c19cc"]]),K1={"data-bs-theme":"dark",class:"text-body bg-body vw-100 vh-100 bg-body"},W1={class:"d-flex vw-100 p-sm-4 overflow-y-scroll innerContainer d-flex flex-column"},Y1={class:"mx-auto my-sm-auto position-relative",id:"listContainer"},z1={__name:"App",setup(e){const t=pn();return fetch("/client/api/serverInformation").then(n=>n.json()).then(n=>t.serverInformation=n.data),(n,s)=>{const r=rr("RouterView");return de(),be("div",K1,[T("div",W1,[T("div",Y1,[(de(),Zt(Ph,null,{default:it(()=>[Ne(r,null,{default:it(({Component:o})=>[Ne(Hr,{name:"app",type:"transition",mode:"out-in"},{default:it(()=>[(de(),Zt(ay(o)))]),_:2},1024)]),_:1})]),_:1}))]),s[0]||(s[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(q1)])}}},G1=Yn(z1,[["__scopeId","data-v-13107071"]]);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 an={},td;function Bp(){if(td)return an;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 ]))+`;an.KANJI=new RegExp(n,"g"),an.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),an.BYTE=new RegExp(s,"g"),an.NUMERIC=new RegExp(e,"g"),an.ALPHANUMERIC=new RegExp(t,"g");const r=new RegExp("^"+n+"$"),o=new RegExp("^"+e+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return an.testKanji=function(u){return r.test(u)},an.testNumeric=function(u){return o.test(u)},an.testAlphanumeric=function(u){return a.test(u)},an}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)=>(de(),be("div",bT,[T("canvas",{id:"qrcode_"+Qt(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)=>(de(),be("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?(de(),be("div",ST,[Ne(pl,{content:r.value},null,8,["content"]),l[2]||(l[2]=T("small",null," Scan with AmneziaVPN App ",-1))])):hn("",!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 Di={exports:{}},RT=Di.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)}}})}(Di)),Di.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)=>(de(),be("div",DT,[T("div",LT,[T("small",IT,mt(n.config.name),1),T("span",{class:Gt(["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-44ace136"]]),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=pn(),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)}),S1(()=>{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 de(),be("div",qT,[T("div",KT,[T("a",WT,[T("strong",null," Hi, "+mt(Qt(s).clientProfile.Profile.Name?Qt(s).clientProfile.Profile.Name:Qt(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:Gt(["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?(de(),be("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)]))):(de(),be("div",zT,[o.value.length>0?(de(),be("div",GT,[(de(!0),be(St,null,Dl(o.value,E=>(de(),Zt(jT,{onSelect:C=>f.value=E,config:E},null,8,["onSelect","config"]))),256))])):(de(),be("div",JT,g[4]||(g[4]=[T("small",null,"No configuration available",-1)])))]))]),_:1}),Ne(Hr,{name:"app"},{default:it(()=>[f.value!==void 0?(de(),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"])):hn("",!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?(de(),be("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)):hn("",!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(()=>Yi("/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?(de(),be("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,[(de(),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(()=>[(de(!0),be(St,null,Dl(r.value,(u,d)=>(de(),Zt(tA,{provider:u,name:d},null,8,["provider","name"]))),256))]),_:1}))]),l[3]||(l[3]=T("hr",null,null,-1))])):hn("",!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={class:"d-flex align-items-center"},pA={__name:"signInForm",emits:["totpToken"],setup(e,{emit:t}){const n=De(!1),s=Cn({Email:"",Password:""}),r=t;De("");const o=pn(),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=I1();return u.query.Email&&(s.Email=u.query.Email),(d,f)=>{const p=rr("RouterLink");return de(),be("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?(de(),be("span",dA,f[6]||(f[6]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",fA," Sign In "))],8,uA)],32),T("div",null,[f[9]||(f[9]=T("hr",{class:"my-4"},null,-1)),T("div",hA,[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]})])])])}}},mA={key:0,class:"card rounded-3 text-center"},gA={class:"card-body d-flex gap-3 flex-column align-items-center"},_A={class:"card rounded-3 w-100"},vA={class:"card-body"},bA=["href"],yA={key:0},EA={class:"d-flex flex-column gap-3 text-center"},wA=["disabled"],TA=["disabled"],AA={key:0,class:"d-block"},SA={key:1,class:"d-block"},CA={__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=pn(),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,_)=>(de(),be("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?(de(),be("div",mA,[T("div",gA,[_[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",_A,[T("div",vA,[T("a",{href:s.value,style:{"text-wrap":"auto"}},mt(s.value),9,bA)])]),_[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))])])):hn("",!0)]),s.value?(de(),be("hr",yA)):hn("",!0),T("div",EA,[_[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,wA),[[Ht,r.TOTP]]),T("button",{disabled:!l.value||o.value,class:"btn btn-body rounded-3 px-3 py-2 fw-bold"},[o.value?(de(),be("span",SA,_[11]||(_[11]=[we(" Loading... "),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",AA,_[10]||(_[10]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,TA)])],32))}},OA=Yn(CA,[["__scopeId","data-v-c81aa653"]]),xA={class:"p-3 p-sm-5"},RA={__name:"signin",setup(e){const t=De("");return(n,s)=>(de(),be("div",xA,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[t.value?(de(),Zt(OA,{key:1,onClearToken:s[1]||(s[1]=r=>t.value=""),"totp-token":t.value},null,8,["totp-token"])):(de(),Zt(pA,{key:0,onTotpToken:s[0]||(s[0]=r=>{t.value=r})}))]),_:1})]))}},NA={class:"p-3 p-sm-5"},$A={class:"form-floating"},PA=["disabled"],DA={class:"row gx-3"},LA={class:"col-6"},IA={class:"form-floating"},MA=["disabled"],kA={class:"col-6"},BA={class:"form-floating"},FA=["disabled"],VA=["disabled"],HA={key:0,class:"d-block"},UA={key:1,class:"d-block"},jA={class:"d-flex align-items-center"},qA={__name:"signup",setup(e){const t=pn(),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 de(),be("div",NA,[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",$A,[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,PA),[[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",DA,[T("div",LA,[T("div",IA,[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,MA),[[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",kA,[T("div",BA,[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,FA),[[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?(de(),be("span",UA,d[9]||(d[9]=[we(" Loading... "),T("i",{class:"spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",HA,d[8]||(d[8]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,VA)],32),T("div",null,[d[12]||(d[12]=T("hr",{class:"my-4"},null,-1)),T("div",jA,[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]})])])])}}},KA={class:"d-flex align-items-start"},WA={key:0,class:"alert alert-danger rounded-3 mt-3"},YA={class:"row g-2 mb-3"},zA={class:"col-sm-12"},GA=["type"],JA={class:"col-sm-6"},QA=["type"],XA={class:"col-sm-6"},ZA=["type"],eS={__name:"updatePassword",setup(e){const t=Cn({CurrentPassword:"",NewPassword:"",ConfirmNewPassword:""}),n=()=>{t.CurrentPassword="",t.NewPassword="",t.ConfirmNewPassword=""},s=pn(),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)=>(de(),be("form",{onSubmit:d[4]||(d[4]=f=>r(f)),id:"updatePasswordForm",onReset:d[5]||(d[5]=f=>n()),class:"p-3"},[T("div",KA,[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:Gt([[o.value?"bi-eye-slash-fill":"bi-eye-fill"],"bi me-2"])},null,2),we(mt(o.value?"Hide":"Show")+" Password ",1)])])]),a.value?(de(),be("div",WA,mt(l.value),1)):hn("",!0),T("div",YA,[T("div",zA,[d[7]||(d[7]=T("label",{class:"text-muted form-label",for:"CurrentPassword"},[T("small",null,"Current Password")],-1)),It(T("input",{class:Gt(["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,GA),[[fa,t.CurrentPassword]])]),T("div",JA,[d[8]||(d[8]=T("label",{class:"text-muted form-label",for:"NewPassword"},[T("small",null,"New Password")],-1)),It(T("input",{class:Gt(["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,QA),[[fa,t.NewPassword]])]),T("div",XA,[d[9]||(d[9]=T("label",{class:"text-muted form-label",for:"ConfirmNewPassword"},[T("small",null,"Confirm New Password")],-1)),It(T("input",{class:Gt(["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,ZA),[[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))}},tS={class:"p-sm-3"},nS={class:"w-100 d-flex align-items-center p-3"},sS={__name:"settings",async setup(e){let t,n;const s=pn();return[t,n]=so(()=>s.getClientProfile()),await t,n(),(r,o)=>{const a=rr("RouterLink");return de(),be("div",tS,[T("div",nS,[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))]),Qt(s).clientProfile.SignInMethod==="local"?(de(),Zt(eS,{key:0})):hn("",!0)])}}},rS={class:"p-3 p-sm-5"},iS={key:0},oS={class:"form-floating"},aS=["disabled"],lS=["disabled"],cS={key:0,class:"d-block"},uS={key:1,class:"d-block"},fS={key:1},dS={class:"text-center"},hS={key:0,class:"text-muted"},pS={class:"form-floating"},mS=["disabled"],gS=["disabled"],_S={key:0,class:"d-block"},vS={key:1,class:"d-block"},bS={key:2},yS={class:"form-floating"},ES=["disabled"],wS={class:"form-floating"},TS=["disabled"],AS=["disabled"],SS={key:0,class:"d-block"},CS={key:1,class:"d-block"},OS={class:"d-flex align-items-center"},xS=$l({__name:"forgotPassword",setup(e){const t=De(""),n=De(!1),s=De(!1),r=pn(),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 de(),be("div",rS,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[s.value?s.value&&!p.value?(de(),be("div",fS,[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",dS,[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?(de(),be("p",hS,"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?(de(),be("a",{key:1,role:"button",class:Gt({disabled:n.value}),onClick:w[3]||(w[3]=B=>l())},"Resend",2)):hn("",!0)]),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:w[6]||(w[6]=B=>g(B))},[T("div",pS,[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,mS),[[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?(de(),be("span",vS,w[21]||(w[21]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",_S,w[20]||(w[20]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,gS)],32)])):s.value&&p.value?(de(),be("div",bS,[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",yS,[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,ES),[[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",wS,[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,TS),[[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?(de(),be("span",CS,w[27]||(w[27]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",SS,w[26]||(w[26]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,AS)],32)])):hn("",!0):(de(),be("div",iS,[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",oS,[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,aS),[[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?(de(),be("span",uS,w[14]||(w[14]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",cS,w[13]||(w[13]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,lS)],32)]))]),_:1}),T("div",null,[w[31]||(w[31]=T("hr",{class:"my-4"},null,-1)),T("div",OS,[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=D1({history:a1(),routes:[{path:"/",component:ZT,meta:{auth:!0},name:"Home"},{path:"/settings",component:sS,meta:{auth:!0},name:"Settings"},{path:"/signin",component:RA,name:"Sign In"},{path:"/signup",component:qA,name:"Sign Up"},{path:"/signout",name:"Sign Out"},{path:"/forgotPassword",name:"Forgot Password",component:xS}]});Yl.beforeEach(async(e,t,n)=>{const s=pn();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 Yi("/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 Li={exports:{}};/*! +`;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)=>(de(),be("div",bT,[T("canvas",{id:"qrcode_"+Qt(n),class:"rounded-3"},null,8,yT)]))}},pl=Yn(ET,[["__scopeId","data-v-bfbe35a1"]]),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)=>(de(),be("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?(de(),be("div",ST,[Ne(pl,{content:r.value},null,8,["content"]),l[2]||(l[2]=T("small",null," Scan with AmneziaVPN App ",-1))])):hn("",!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-0aa8d434"]]);var Di={exports:{}},RT=Di.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)}}})}(Di)),Di.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)=>(de(),be("div",DT,[T("div",LT,[T("small",IT,mt(n.config.name),1),T("span",{class:Gt(["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-d41b1911"]]),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=pn(),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)}),S1(()=>{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 de(),be("div",qT,[T("div",KT,[T("a",WT,[T("strong",null," Hi, "+mt(Qt(s).clientProfile.Profile.Name?Qt(s).clientProfile.Profile.Name:Qt(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:Gt(["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?(de(),be("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)]))):(de(),be("div",zT,[o.value.length>0?(de(),be("div",GT,[(de(!0),be(St,null,Dl(o.value,E=>(de(),Zt(jT,{onSelect:C=>f.value=E,config:E},null,8,["onSelect","config"]))),256))])):(de(),be("div",JT,g[4]||(g[4]=[T("small",null,"No configuration available",-1)])))]))]),_:1}),Ne(Hr,{name:"app"},{default:it(()=>[f.value!==void 0?(de(),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"])):hn("",!0)]),_:1})])}}},ZT=Yn(XT,[["__scopeId","data-v-3c22691b"]]),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?(de(),be("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)):hn("",!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(()=>Yi("/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?(de(),be("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,[(de(),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(()=>[(de(!0),be(St,null,Dl(r.value,(u,d)=>(de(),Zt(tA,{provider:u,name:d},null,8,["provider","name"]))),256))]),_:1}))]),l[3]||(l[3]=T("hr",null,null,-1))])):hn("",!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={class:"d-flex align-items-center"},pA={__name:"signInForm",emits:["totpToken"],setup(e,{emit:t}){const n=De(!1),s=Cn({Email:"",Password:""}),r=t;De("");const o=pn(),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=I1();return u.query.Email&&(s.Email=u.query.Email),(d,f)=>{const p=rr("RouterLink");return de(),be("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?(de(),be("span",dA,f[6]||(f[6]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",fA," Sign In "))],8,uA)],32),T("div",null,[f[9]||(f[9]=T("hr",{class:"my-4"},null,-1)),T("div",hA,[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]})])])])}}},mA={key:0,class:"card rounded-3 text-center"},gA={class:"card-body d-flex gap-3 flex-column align-items-center"},_A={class:"card rounded-3 w-100"},vA={class:"card-body"},bA=["href"],yA={key:0},EA={class:"d-flex flex-column gap-3 text-center"},wA=["disabled"],TA=["disabled"],AA={key:0,class:"d-block"},SA={key:1,class:"d-block"},CA={__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=pn(),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,_)=>(de(),be("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?(de(),be("div",mA,[T("div",gA,[_[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",_A,[T("div",vA,[T("a",{href:s.value,style:{"text-wrap":"auto"}},mt(s.value),9,bA)])]),_[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))])])):hn("",!0)]),s.value?(de(),be("hr",yA)):hn("",!0),T("div",EA,[_[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,wA),[[Ht,r.TOTP]]),T("button",{disabled:!l.value||o.value,class:"btn btn-body rounded-3 px-3 py-2 fw-bold"},[o.value?(de(),be("span",SA,_[11]||(_[11]=[we(" Loading... "),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",AA,_[10]||(_[10]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,TA)])],32))}},OA=Yn(CA,[["__scopeId","data-v-31589bfb"]]),xA={class:"p-3 p-sm-5"},RA={__name:"signin",setup(e){const t=De("");return(n,s)=>(de(),be("div",xA,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[t.value?(de(),Zt(OA,{key:1,onClearToken:s[1]||(s[1]=r=>t.value=""),"totp-token":t.value},null,8,["totp-token"])):(de(),Zt(pA,{key:0,onTotpToken:s[0]||(s[0]=r=>{t.value=r})}))]),_:1})]))}},NA={class:"p-3 p-sm-5"},$A={class:"form-floating"},PA=["disabled"],DA={class:"row gx-3"},LA={class:"col-6"},IA={class:"form-floating"},MA=["disabled"],kA={class:"col-6"},BA={class:"form-floating"},FA=["disabled"],VA=["disabled"],HA={key:0,class:"d-block"},UA={key:1,class:"d-block"},jA={class:"d-flex align-items-center"},qA={__name:"signup",setup(e){const t=pn(),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 de(),be("div",NA,[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",$A,[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,PA),[[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",DA,[T("div",LA,[T("div",IA,[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,MA),[[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",kA,[T("div",BA,[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,FA),[[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?(de(),be("span",UA,d[9]||(d[9]=[we(" Loading... "),T("i",{class:"spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",HA,d[8]||(d[8]=[we(" Continue "),T("i",{class:"ms-2 bi bi-arrow-right"},null,-1)])))],8,VA)],32),T("div",null,[d[12]||(d[12]=T("hr",{class:"my-4"},null,-1)),T("div",jA,[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]})])])])}}},KA={class:"d-flex align-items-start"},WA={key:0,class:"alert alert-danger rounded-3 mt-3"},YA={class:"row g-2 mb-3"},zA={class:"col-sm-12"},GA=["type"],JA={class:"col-sm-6"},QA=["type"],XA={class:"col-sm-6"},ZA=["type"],eS={__name:"updatePassword",setup(e){const t=Cn({CurrentPassword:"",NewPassword:"",ConfirmNewPassword:""}),n=()=>{t.CurrentPassword="",t.NewPassword="",t.ConfirmNewPassword=""},s=pn(),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)=>(de(),be("form",{onSubmit:d[4]||(d[4]=f=>r(f)),id:"updatePasswordForm",onReset:d[5]||(d[5]=f=>n()),class:"p-3"},[T("div",KA,[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:Gt([[o.value?"bi-eye-slash-fill":"bi-eye-fill"],"bi me-2"])},null,2),we(mt(o.value?"Hide":"Show")+" Password ",1)])])]),a.value?(de(),be("div",WA,mt(l.value),1)):hn("",!0),T("div",YA,[T("div",zA,[d[7]||(d[7]=T("label",{class:"text-muted form-label",for:"CurrentPassword"},[T("small",null,"Current Password")],-1)),It(T("input",{class:Gt(["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,GA),[[fa,t.CurrentPassword]])]),T("div",JA,[d[8]||(d[8]=T("label",{class:"text-muted form-label",for:"NewPassword"},[T("small",null,"New Password")],-1)),It(T("input",{class:Gt(["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,QA),[[fa,t.NewPassword]])]),T("div",XA,[d[9]||(d[9]=T("label",{class:"text-muted form-label",for:"ConfirmNewPassword"},[T("small",null,"Confirm New Password")],-1)),It(T("input",{class:Gt(["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,ZA),[[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))}},tS={class:"p-sm-3"},nS={class:"w-100 d-flex align-items-center p-3"},sS={__name:"settings",async setup(e){let t,n;const s=pn();return[t,n]=so(()=>s.getClientProfile()),await t,n(),(r,o)=>{const a=rr("RouterLink");return de(),be("div",tS,[T("div",nS,[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))]),Qt(s).clientProfile.SignInMethod==="local"?(de(),Zt(eS,{key:0})):hn("",!0)])}}},rS={class:"p-3 p-sm-5"},iS={key:0},oS={class:"form-floating"},aS=["disabled"],lS=["disabled"],cS={key:0,class:"d-block"},uS={key:1,class:"d-block"},fS={key:1},dS={class:"text-center"},hS={key:0,class:"text-muted"},pS={class:"form-floating"},mS=["disabled"],gS=["disabled"],_S={key:0,class:"d-block"},vS={key:1,class:"d-block"},bS={key:2},yS={class:"form-floating"},ES=["disabled"],wS={class:"form-floating"},TS=["disabled"],AS=["disabled"],SS={key:0,class:"d-block"},CS={key:1,class:"d-block"},OS={class:"d-flex align-items-center"},xS=$l({__name:"forgotPassword",setup(e){const t=De(""),n=De(!1),s=De(!1),r=pn(),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 de(),be("div",rS,[Ne(Hr,{name:"app",mode:"out-in"},{default:it(()=>[s.value?s.value&&!p.value?(de(),be("div",fS,[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",dS,[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?(de(),be("p",hS,"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?(de(),be("a",{key:1,role:"button",class:Gt({disabled:n.value}),onClick:w[3]||(w[3]=B=>l())},"Resend",2)):hn("",!0)]),T("form",{class:"mt-4 d-flex flex-column gap-3",onSubmit:w[6]||(w[6]=B=>g(B))},[T("div",pS,[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,mS),[[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?(de(),be("span",vS,w[21]||(w[21]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",_S,w[20]||(w[20]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,gS)],32)])):s.value&&p.value?(de(),be("div",bS,[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",yS,[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,ES),[[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",wS,[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,TS),[[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?(de(),be("span",CS,w[27]||(w[27]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",SS,w[26]||(w[26]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,AS)],32)])):hn("",!0):(de(),be("div",iS,[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",oS,[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,aS),[[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?(de(),be("span",uS,w[14]||(w[14]=[we(" Loading..."),T("i",{class:"ms-2 spinner-border spinner-border-sm"},null,-1)]))):(de(),be("span",cS,w[13]||(w[13]=[we(" Continue "),T("i",{class:"bi bi-arrow-right ms-2"},null,-1)])))],8,lS)],32)]))]),_:1}),T("div",null,[w[31]||(w[31]=T("hr",{class:"my-4"},null,-1)),T("div",OS,[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=D1({history:a1(),routes:[{path:"/",component:ZT,meta:{auth:!0},name:"Home"},{path:"/settings",component:sS,meta:{auth:!0},name:"Settings"},{path:"/signin",component:RA,name:"Sign In"},{path:"/signup",component:qA,name:"Sign Up"},{path:"/signout",name:"Sign Out"},{path:"/forgotPassword",name:"Forgot Password",component:xS}]});Yl.beforeEach(async(e,t,n)=>{const s=pn();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 Yi("/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 Li={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) diff --git a/src/static/dist/WGDashboardClient/assets/index-CyU4Qwd1.css b/src/static/dist/WGDashboardClient/assets/index-TPmsOMhK.css similarity index 73% rename from src/static/dist/WGDashboardClient/assets/index-CyU4Qwd1.css rename to src/static/dist/WGDashboardClient/assets/index-TPmsOMhK.css index db9c62d9..04a088ad 100644 --- a/src/static/dist/WGDashboardClient/assets/index-CyU4Qwd1.css +++ b/src/static/dist/WGDashboardClient/assets/index-TPmsOMhK.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(/static/dist/WGDashboardClient/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(/static/dist/WGDashboardClient/assets/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(/static/dist/WGDashboardClient/assets/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(/static/dist/WGDashboardClient/assets/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-7a527e8d]{width:100%}@media screen and (min-width: 992px){#listContainer[data-v-7a527e8d]{width:700px}}.innerContainer[data-v-7a527e8d]{height:100vh}@supports (height: 100dvh){.innerContainer[data-v-7a527e8d]{height:100dvh}}.bg-body[data-bs-theme=dark][data-v-7a527e8d]{background:linear-gradient(#30303080,#00000080),url(/static/dist/WGDashboardClient/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-44ace136]:hover{background-color:#ffffff20}.dot[data-v-44ace136]{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active[data-v-44ace136]{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-070924ce]{width:100%;word-break:break-word}@media screen and (min-width: 576px){.notification[data-v-070924ce]{width:400px}}.message-move[data-v-0b7c19cc],.message-enter-active[data-v-0b7c19cc],.message-leave-active[data-v-0b7c19cc]{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from[data-v-0b7c19cc],.message-leave-to[data-v-0b7c19cc]{filter:blur(2px);opacity:0}.message-enter-from[data-v-0b7c19cc]{transform:translateY(-30px)}.message-leave-to[data-v-0b7c19cc]{transform:translateY(30px)}.messageCentre[data-v-0b7c19cc]{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre[data-v-0b7c19cc]{width:calc(100% - 2rem)}}#listContainer[data-v-13107071]{width:100%}@media screen and (min-width: 992px){#listContainer[data-v-13107071]{width:700px}}.innerContainer[data-v-13107071]{height:100vh}@supports (height: 100dvh){.innerContainer[data-v-13107071]{height:100dvh}}.bg-body[data-bs-theme=dark][data-v-13107071]{background:linear-gradient(#30303080,#00000080),url(../img/fabrizio-conti-aExT3y92x5o-unsplash.jpg) fixed;background-size:cover;background-position:top}canvas[data-v-bfbe35a1]{width:250px!important;height:250px!important}.qrcodeContainer[data-v-0aa8d434]{background-color:#00000050;backdrop-filter:blur(8px) brightness(.7);z-index:9999}.button-group a[data-v-d41b1911]:hover{background-color:#ffffff20}.dot[data-v-d41b1911]{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active[data-v-d41b1911]{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.nav-link[data-v-3c22691b]{padding:1rem}@media screen and (max-width: 576px){.nav-links a span[data-v-3c22691b]{display:none}}.card[data-v-3c22691b],.card[data-v-31589bfb]{background-color:#00000040;backdrop-filter:blur(8px)} diff --git a/src/static/dist/WGDashboardClient/client.html b/src/static/dist/WGDashboardClient/client.html index bfd9c5c2..cd4f4d6c 100644 --- a/src/static/dist/WGDashboardClient/client.html +++ b/src/static/dist/WGDashboardClient/client.html @@ -1,10 +1,10 @@ - - - - - - - WGDashboard Client + + + + + + + WGDashboard Client - - - - -
-
-
- WGDashboard Client -
-
-
- - + + + + + + +
+
+
+ WGDashboard Client +
+
+
+ +