From 6825d728c2416c4b4620f27170157d70c52a8a05 Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Sat, 3 Aug 2024 17:03:39 -0400 Subject: [PATCH] Log function is completed --- README.md | 4 +-- docs/api-documents.md | 8 +++++ docs/changelogs.md | 0 src/dashboard.py | 49 ++++++++++++++++++++++++++-- src/static/app/dist/assets/index.css | 2 +- src/static/app/dist/assets/index.js | 40 +++++++++++------------ src/wgd.sh | 2 +- 7 files changed, 77 insertions(+), 28 deletions(-) create mode 100644 docs/api-documents.md create mode 100644 docs/changelogs.md diff --git a/README.md b/README.md index e48313a..8f8540e 100644 --- a/README.md +++ b/README.md @@ -106,9 +106,7 @@ # Must have for each peer ``` -- Python 3.7+ & Pip3 - -- Browser support CSS3 and ES6 +- **Python 3.10** for v4.0+, **Python 3.7 - 3.9** for v2.0 - v3.0.6.2 ## 🛠 Install 1. Download WGDashboard diff --git a/docs/api-documents.md b/docs/api-documents.md new file mode 100644 index 0000000..677a641 --- /dev/null +++ b/docs/api-documents.md @@ -0,0 +1,8 @@ +# API Documents for WGDashboard + +**Version: v4.0** + +**Created by: Donald Zou** + +
+ diff --git a/docs/changelogs.md b/docs/changelogs.md new file mode 100644 index 0000000..e69de29 diff --git a/src/dashboard.py b/src/dashboard.py index 96ef5c4..0c081f3 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -104,7 +104,34 @@ class Log: def __dict__(self): return self.toJson() -class Logger: +class DashboardLogger: + def __init__(self): + self.loggerdb = sqlite3.connect(os.path.join(CONFIGURATION_PATH, 'db', 'wgdashboard_log.db'), + check_same_thread=False) + self.loggerdb.row_factory = sqlite3.Row + self.loggerdbCursor = self.loggerdb.cursor() + self.__createLogDatabase() + self.log(Message="WGDashboard started") + def __createLogDatabase(self): + existingTable = self.loggerdbCursor.execute("SELECT name from sqlite_master where type='table'").fetchall() + existingTable = [t['name'] for t in existingTable] + + if "DashboardLog" not in existingTable: + self.loggerdbCursor.execute("CREATE TABLE DashboardLog (LogID VARCHAR NOT NULL, LogDate DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S','now', 'localtime')), URL VARCHAR, IP VARCHAR, Status VARCHAR, Message VARCHAR, PRIMARY KEY (LogID))") + self.loggerdb.commit() + + def log(self, URL: str = "", IP: str = "", Status: str = "true", Message: str = "") -> bool: + try: + self.loggerdbCursor.execute("INSERT INTO DashboardLog (LogID, URL, IP, Status, Message) VALUES (?, ?, ?, ?, ?)", (str(uuid.uuid4()), URL, IP, Status, Message,)) + self.loggerdb.commit() + return True + except Exception as e: + print(e) + return False + + + +class PeerJobLogger: def __init__(self): self.loggerdb = sqlite3.connect(os.path.join(CONFIGURATION_PATH, 'db', 'wgdashboard_log.db'), check_same_thread=False) @@ -1208,6 +1235,13 @@ API Routes @app.before_request def auth_req(): + if "api" in request.path: + if str(request.method) == "GET": + DashboardLogger.log(str(request.url), str(request.remote_addr), Message=str(request.args)) + elif str(request.method) == "POST": + DashboardLogger.log(str(request.url), str(request.remote_addr), Message=f"Request Args: {str(request.args)} Body:{str(request.get_json())}") + + authenticationRequired = DashboardConfig.GetConfig("Server", "auth_req")[1] d = request.headers if authenticationRequired: @@ -1215,6 +1249,7 @@ def auth_req(): apiKeyEnabled = DashboardConfig.GetConfig("Server", "dashboard_api_key")[1] if apiKey is not None and len(apiKey) > 0 and apiKeyEnabled: apiKeyExist = len(list(filter(lambda x : x.Key == apiKey, DashboardConfig.DashboardAPIKeys))) == 1 + DashboardLogger.log(str(request.url), str(request.remote_addr), Message=f"API Key Access: {('true' if apiKeyExist else 'false')} - Key: {apiKey}") if not apiKeyExist: response = Flask.make_response(app, { "status": False, @@ -1268,8 +1303,10 @@ def API_AuthenticateLogin(): resp = ResponseObject(True, DashboardConfig.GetConfig("Other", "welcome_session")[1]) resp.set_cookie("authToken", authToken) session.permanent = True + DashboardLogger.log(str(request.url), str(request.remote_addr), Message=f"Login success: {data['username']}") return resp + DashboardLogger.log(str(request.url), str(request.remote_addr), Message=f"Login failed: {data['username']}") if totpEnabled: return ResponseObject(False, "Sorry, your username, password or OTP is incorrect.") else: @@ -1839,7 +1876,11 @@ def gunicornConfig(): _, app_port = DashboardConfig.GetConfig("Server", "app_port") return app_ip, app_port - +import sys +if sys.version_info < (3, 10): + from typing_extensions import ParamSpec +else: + from typing import ParamSpec sqldb = sqlite3.connect(os.path.join(CONFIGURATION_PATH, 'db', 'wgdashboard.db'), check_same_thread=False) sqldb.row_factory = sqlite3.Row @@ -1847,7 +1888,8 @@ cursor = sqldb.cursor() DashboardConfig = DashboardConfig() AllPeerJobs: PeerJobs = PeerJobs() -JobLogger: Logger = Logger() +JobLogger: PeerJobLogger = PeerJobLogger() +DashboardLogger: DashboardLogger = DashboardLogger() _, app_ip = DashboardConfig.GetConfig("Server", "app_ip") _, app_port = DashboardConfig.GetConfig("Server", "app_port") _, WG_CONF_PATH = DashboardConfig.GetConfig("Server", "wg_conf_path") @@ -1862,5 +1904,6 @@ scheduleJobThread = threading.Thread(target=peerJobScheduleBackgroundThread) scheduleJobThread.daemon = True scheduleJobThread.start() + if __name__ == "__main__": app.run(host=app_ip, debug=False, port=app_port) diff --git a/src/static/app/dist/assets/index.css b/src/static/app/dist/assets/index.css index 96f5833..9905510 100644 --- a/src/static/app/dist/assets/index.css +++ b/src/static/app/dist/assets/index.css @@ -12,4 +12,4 @@ * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2020 Animate.css - */: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}.dropdown-menu[data-v-efcc2294]{right:1rem;min-width:200px}.dropdown-item.disabled[data-v-efcc2294],.dropdown-item[data-v-efcc2294]:disabled{opacity:.7}.slide-fade-leave-active[data-v-f0f04ed4],.slide-fade-enter-active[data-v-f0f04ed4]{transition:all .2s cubic-bezier(.82,.58,.17,.9)}.slide-fade-enter-from[data-v-f0f04ed4],.slide-fade-leave-to[data-v-f0f04ed4]{transform:translateY(20px);opacity:0;filter:blur(3px)}.subMenuBtn.active[data-v-f0f04ed4]{background-color:#ffffff20}.peerCard[data-v-f0f04ed4]{transition:box-shadow .1s cubic-bezier(.82,.58,.17,.9)}.peerCard[data-v-f0f04ed4]:hover{box-shadow:var(--bs-box-shadow)!important}.list-move[data-v-99ae26e7],.list-enter-active[data-v-99ae26e7],.list-leave-active[data-v-99ae26e7]{transition:all .3s ease}.list-enter-from[data-v-99ae26e7],.list-leave-to[data-v-99ae26e7]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-99ae26e7]{position:absolute}.peerSettingContainer[data-v-c3292318]{background-color:#00000060;z-index:9998}div[data-v-c3292318]{transition:.2s ease-in-out}.inactiveField[data-v-c3292318]{opacity:.4}.card[data-v-c3292318]{max-height:100%}.btn.disabled[data-v-6a5aba2a]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-decfcc69]{font-size:.875rem}input[data-v-decfcc69]{padding:.1rem .4rem}input[data-v-decfcc69]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.schedulePeerJobTransition-move[data-v-31a1606a],.schedulePeerJobTransition-enter-active[data-v-31a1606a],.schedulePeerJobTransition-leave-active[data-v-31a1606a]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.schedulePeerJobTransition-enter-from[data-v-31a1606a],.schedulePeerJobTransition-leave-to[data-v-31a1606a]{opacity:0;transform:scale(.9)}.schedulePeerJobTransition-leave-active[data-v-31a1606a]{position:absolute;width:100%}.peerNav .nav-link[data-v-b8355e17].active[data-v-b8355e17]{//background: linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);//color: white;background-color:#efefef}.pingPlaceholder[data-v-875f5a3c]{width:100%;height:79.98px}.ping-move[data-v-875f5a3c],.ping-enter-active[data-v-875f5a3c],.ping-leave-active[data-v-875f5a3c]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-enter-from[data-v-875f5a3c],.ping-leave-to[data-v-875f5a3c]{opacity:0;//transform: scale(.9)}.ping-leave-active[data-v-875f5a3c]{position:absolute}.pingPlaceholder[data-v-dda37ccf]{width:100%;height:40px}.ping-move[data-v-dda37ccf],.ping-enter-active[data-v-dda37ccf],.ping-leave-active[data-v-dda37ccf]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-enter-from[data-v-dda37ccf],.ping-leave-to[data-v-dda37ccf]{opacity:0;//transform: scale(.9)}.ping-leave-active[data-v-dda37ccf]{position:absolute}table th[data-v-dda37ccf],table td[data-v-dda37ccf]{padding:.9rem}table tbody[data-v-dda37ccf]{border-top:1em solid transparent}.table[data-v-dda37ccf]>:not(caption)>*>*{background-color:transparent!important} + */: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}.dropdown-menu[data-v-efcc2294]{right:1rem;min-width:200px}.dropdown-item.disabled[data-v-efcc2294],.dropdown-item[data-v-efcc2294]:disabled{opacity:.7}.slide-fade-leave-active[data-v-f0f04ed4],.slide-fade-enter-active[data-v-f0f04ed4]{transition:all .2s cubic-bezier(.82,.58,.17,.9)}.slide-fade-enter-from[data-v-f0f04ed4],.slide-fade-leave-to[data-v-f0f04ed4]{transform:translateY(20px);opacity:0;filter:blur(3px)}.subMenuBtn.active[data-v-f0f04ed4]{background-color:#ffffff20}.peerCard[data-v-f0f04ed4]{transition:box-shadow .1s cubic-bezier(.82,.58,.17,.9)}.peerCard[data-v-f0f04ed4]:hover{box-shadow:var(--bs-box-shadow)!important}.list-move[data-v-99ae26e7],.list-enter-active[data-v-99ae26e7],.list-leave-active[data-v-99ae26e7]{transition:all .3s ease}.list-enter-from[data-v-99ae26e7],.list-leave-to[data-v-99ae26e7]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-99ae26e7]{position:absolute}.peerSettingContainer[data-v-c3292318]{background-color:#00000060;z-index:9998}div[data-v-c3292318]{transition:.2s ease-in-out}.inactiveField[data-v-c3292318]{opacity:.4}.card[data-v-c3292318]{max-height:100%}.btn.disabled[data-v-6a5aba2a]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-decfcc69]{font-size:.875rem}input[data-v-decfcc69]{padding:.1rem .4rem}input[data-v-decfcc69]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.schedulePeerJobTransition-move[data-v-31a1606a],.schedulePeerJobTransition-enter-active[data-v-31a1606a],.schedulePeerJobTransition-leave-active[data-v-31a1606a]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.schedulePeerJobTransition-enter-from[data-v-31a1606a],.schedulePeerJobTransition-leave-to[data-v-31a1606a]{opacity:0;transform:scale(.9)}.schedulePeerJobTransition-leave-active[data-v-31a1606a]{position:absolute;width:100%}.peerNav .nav-link[data-v-4f6e612a].active[data-v-4f6e612a]{//background: linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);//color: white;background-color:#efefef}.pingPlaceholder[data-v-875f5a3c]{width:100%;height:79.98px}.ping-move[data-v-875f5a3c],.ping-enter-active[data-v-875f5a3c],.ping-leave-active[data-v-875f5a3c]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-enter-from[data-v-875f5a3c],.ping-leave-to[data-v-875f5a3c]{opacity:0;//transform: scale(.9)}.ping-leave-active[data-v-875f5a3c]{position:absolute}.pingPlaceholder[data-v-dda37ccf]{width:100%;height:40px}.ping-move[data-v-dda37ccf],.ping-enter-active[data-v-dda37ccf],.ping-leave-active[data-v-dda37ccf]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-enter-from[data-v-dda37ccf],.ping-leave-to[data-v-dda37ccf]{opacity:0;//transform: scale(.9)}.ping-leave-active[data-v-dda37ccf]{position:absolute}table th[data-v-dda37ccf],table td[data-v-dda37ccf]{padding:.9rem}table tbody[data-v-dda37ccf]{border-top:1em solid transparent}.table[data-v-dda37ccf]>:not(caption)>*>*{background-color:transparent!important} diff --git a/src/static/app/dist/assets/index.js b/src/static/app/dist/assets/index.js index 244b224..67fe9b7 100644 --- a/src/static/app/dist/assets/index.js +++ b/src/static/app/dist/assets/index.js @@ -1,32 +1,32 @@ -var _1=Object.defineProperty;var b1=(e,t,s)=>t in e?_1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ot=(e,t,s)=>(b1(e,typeof t!="symbol"?t+"":t,s),s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();var Zp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function v1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function y1(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),s}var x1={exports:{}},Se="top",Ne="bottom",Fe="right",Ae="left",Fa="auto",Xi=[Se,Ne,Fe,Ae],ti="start",Mi="end",tg="clippingParents",sd="viewport",xi="popper",eg="reference",dc=Xi.reduce(function(e,t){return e.concat([t+"-"+ti,t+"-"+Mi])},[]),nd=[].concat(Xi,[Fa]).reduce(function(e,t){return e.concat([t,t+"-"+ti,t+"-"+Mi])},[]),sg="beforeRead",ng="read",ig="afterRead",og="beforeMain",rg="main",ag="afterMain",lg="beforeWrite",cg="write",dg="afterWrite",ug=[sg,ng,ig,og,rg,ag,lg,cg,dg];function xs(e){return e?(e.nodeName||"").toLowerCase():null}function Be(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ei(e){var t=Be(e).Element;return e instanceof t||e instanceof Element}function Ze(e){var t=Be(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function id(e){if(typeof ShadowRoot>"u")return!1;var t=Be(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function w1(e){var t=e.state;Object.keys(t.elements).forEach(function(s){var n=t.styles[s]||{},i=t.attributes[s]||{},o=t.elements[s];!Ze(o)||!xs(o)||(Object.assign(o.style,n),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function E1(e){var t=e.state,s={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,s.popper),t.styles=s,t.elements.arrow&&Object.assign(t.elements.arrow.style,s.arrow),function(){Object.keys(t.elements).forEach(function(n){var i=t.elements[n],o=t.attributes[n]||{},r=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:s[n]),a=r.reduce(function(l,c){return l[c]="",l},{});!Ze(i)||!xs(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const od={name:"applyStyles",enabled:!0,phase:"write",fn:w1,effect:E1,requires:["computeStyles"]};function bs(e){return e.split("-")[0]}var Yn=Math.max,_a=Math.min,Di=Math.round;function uc(){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 hg(){return!/^((?!chrome|android).)*safari/i.test(uc())}function Ii(e,t,s){t===void 0&&(t=!1),s===void 0&&(s=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&Ze(e)&&(i=e.offsetWidth>0&&Di(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Di(n.height)/e.offsetHeight||1);var r=ei(e)?Be(e):window,a=r.visualViewport,l=!hg()&&s,c=(n.left+(l&&a?a.offsetLeft:0))/i,d=(n.top+(l&&a?a.offsetTop:0))/o,u=n.width/i,p=n.height/o;return{width:u,height:p,top:d,right:c+u,bottom:d+p,left:c,x:c,y:d}}function rd(e){var t=Ii(e),s=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-s)<=1&&(s=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:s,height:n}}function fg(e,t){var s=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(s&&id(s)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vs(e){return Be(e).getComputedStyle(e)}function S1(e){return["table","td","th"].indexOf(xs(e))>=0}function xn(e){return((ei(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ba(e){return xs(e)==="html"?e:e.assignedSlot||e.parentNode||(id(e)?e.host:null)||xn(e)}function nh(e){return!Ze(e)||Vs(e).position==="fixed"?null:e.offsetParent}function A1(e){var t=/firefox/i.test(uc()),s=/Trident/i.test(uc());if(s&&Ze(e)){var n=Vs(e);if(n.position==="fixed")return null}var i=Ba(e);for(id(i)&&(i=i.host);Ze(i)&&["html","body"].indexOf(xs(i))<0;){var o=Vs(i);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 i;i=i.parentNode}return null}function sr(e){for(var t=Be(e),s=nh(e);s&&S1(s)&&Vs(s).position==="static";)s=nh(s);return s&&(xs(s)==="html"||xs(s)==="body"&&Vs(s).position==="static")?t:s||A1(e)||t}function ad(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ao(e,t,s){return Yn(e,_a(t,s))}function C1(e,t,s){var n=Ao(e,t,s);return n>s?s:n}function pg(){return{top:0,right:0,bottom:0,left:0}}function gg(e){return Object.assign({},pg(),e)}function mg(e,t){return t.reduce(function(s,n){return s[n]=e,s},{})}var $1=function(t,s){return t=typeof t=="function"?t(Object.assign({},s.rects,{placement:s.placement})):t,gg(typeof t!="number"?t:mg(t,Xi))};function P1(e){var t,s=e.state,n=e.name,i=e.options,o=s.elements.arrow,r=s.modifiersData.popperOffsets,a=bs(s.placement),l=ad(a),c=[Ae,Fe].indexOf(a)>=0,d=c?"height":"width";if(!(!o||!r)){var u=$1(i.padding,s),p=rd(o),g=l==="y"?Se:Ae,m=l==="y"?Ne:Fe,_=s.rects.reference[d]+s.rects.reference[l]-r[l]-s.rects.popper[d],v=r[l]-s.rects.reference[l],w=sr(o),E=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,$=_/2-v/2,T=u[g],y=E-p[d]-u[m],x=E/2-p[d]/2+$,C=Ao(T,x,y),S=l;s.modifiersData[n]=(t={},t[S]=C,t.centerOffset=C-x,t)}}function k1(e){var t=e.state,s=e.options,n=s.element,i=n===void 0?"[data-popper-arrow]":n;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||fg(t.elements.popper,i)&&(t.elements.arrow=i))}const _g={name:"arrow",enabled:!0,phase:"main",fn:P1,effect:k1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Oi(e){return e.split("-")[1]}var T1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function M1(e,t){var s=e.x,n=e.y,i=t.devicePixelRatio||1;return{x:Di(s*i)/i||0,y:Di(n*i)/i||0}}function ih(e){var t,s=e.popper,n=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,p=r.x,g=p===void 0?0:p,m=r.y,_=m===void 0?0:m,v=typeof d=="function"?d({x:g,y:_}):{x:g,y:_};g=v.x,_=v.y;var w=r.hasOwnProperty("x"),E=r.hasOwnProperty("y"),$=Ae,T=Se,y=window;if(c){var x=sr(s),C="clientHeight",S="clientWidth";if(x===Be(s)&&(x=xn(s),Vs(x).position!=="static"&&a==="absolute"&&(C="scrollHeight",S="scrollWidth")),x=x,i===Se||(i===Ae||i===Fe)&&o===Mi){T=Ne;var P=u&&x===y&&y.visualViewport?y.visualViewport.height:x[C];_-=P-n.height,_*=l?1:-1}if(i===Ae||(i===Se||i===Ne)&&o===Mi){$=Fe;var M=u&&x===y&&y.visualViewport?y.visualViewport.width:x[S];g-=M-n.width,g*=l?1:-1}}var O=Object.assign({position:a},c&&T1),F=d===!0?M1({x:g,y:_},Be(s)):{x:g,y:_};if(g=F.x,_=F.y,l){var Q;return Object.assign({},O,(Q={},Q[T]=E?"0":"",Q[$]=w?"0":"",Q.transform=(y.devicePixelRatio||1)<=1?"translate("+g+"px, "+_+"px)":"translate3d("+g+"px, "+_+"px, 0)",Q))}return Object.assign({},O,(t={},t[T]=E?_+"px":"",t[$]=w?g+"px":"",t.transform="",t))}function D1(e){var t=e.state,s=e.options,n=s.gpuAcceleration,i=n===void 0?!0:n,o=s.adaptive,r=o===void 0?!0:o,a=s.roundOffsets,l=a===void 0?!0:a,c={placement:bs(t.placement),variation:Oi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ih(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ih(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const ld={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:D1,data:{}};var $r={passive:!0};function I1(e){var t=e.state,s=e.instance,n=e.options,i=n.scroll,o=i===void 0?!0:i,r=n.resize,a=r===void 0?!0:r,l=Be(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(d){d.addEventListener("scroll",s.update,$r)}),a&&l.addEventListener("resize",s.update,$r),function(){o&&c.forEach(function(d){d.removeEventListener("scroll",s.update,$r)}),a&&l.removeEventListener("resize",s.update,$r)}}const cd={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:I1,data:{}};var O1={left:"right",right:"left",bottom:"top",top:"bottom"};function ta(e){return e.replace(/left|right|bottom|top/g,function(t){return O1[t]})}var L1={start:"end",end:"start"};function oh(e){return e.replace(/start|end/g,function(t){return L1[t]})}function dd(e){var t=Be(e),s=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:s,scrollTop:n}}function ud(e){return Ii(xn(e)).left+dd(e).scrollLeft}function R1(e,t){var s=Be(e),n=xn(e),i=s.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=hg();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+ud(e),y:l}}function N1(e){var t,s=xn(e),n=dd(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Yn(s.scrollWidth,s.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Yn(s.scrollHeight,s.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-n.scrollLeft+ud(e),l=-n.scrollTop;return Vs(i||s).direction==="rtl"&&(a+=Yn(s.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function hd(e){var t=Vs(e),s=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(s+i+n)}function bg(e){return["html","body","#document"].indexOf(xs(e))>=0?e.ownerDocument.body:Ze(e)&&hd(e)?e:bg(Ba(e))}function Co(e,t){var s;t===void 0&&(t=[]);var n=bg(e),i=n===((s=e.ownerDocument)==null?void 0:s.body),o=Be(n),r=i?[o].concat(o.visualViewport||[],hd(n)?n:[]):n,a=t.concat(r);return i?a:a.concat(Co(Ba(r)))}function hc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function F1(e,t){var s=Ii(e,!1,t==="fixed");return s.top=s.top+e.clientTop,s.left=s.left+e.clientLeft,s.bottom=s.top+e.clientHeight,s.right=s.left+e.clientWidth,s.width=e.clientWidth,s.height=e.clientHeight,s.x=s.left,s.y=s.top,s}function rh(e,t,s){return t===sd?hc(R1(e,s)):ei(t)?F1(t,s):hc(N1(xn(e)))}function B1(e){var t=Co(Ba(e)),s=["absolute","fixed"].indexOf(Vs(e).position)>=0,n=s&&Ze(e)?sr(e):e;return ei(n)?t.filter(function(i){return ei(i)&&fg(i,n)&&xs(i)!=="body"}):[]}function V1(e,t,s,n){var i=t==="clippingParents"?B1(e):[].concat(t),o=[].concat(i,[s]),r=o[0],a=o.reduce(function(l,c){var d=rh(e,c,n);return l.top=Yn(d.top,l.top),l.right=_a(d.right,l.right),l.bottom=_a(d.bottom,l.bottom),l.left=Yn(d.left,l.left),l},rh(e,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function vg(e){var t=e.reference,s=e.element,n=e.placement,i=n?bs(n):null,o=n?Oi(n):null,r=t.x+t.width/2-s.width/2,a=t.y+t.height/2-s.height/2,l;switch(i){case Se:l={x:r,y:t.y-s.height};break;case Ne:l={x:r,y:t.y+t.height};break;case Fe:l={x:t.x+t.width,y:a};break;case Ae:l={x:t.x-s.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?ad(i):null;if(c!=null){var d=c==="y"?"height":"width";switch(o){case ti:l[c]=l[c]-(t[d]/2-s[d]/2);break;case Mi:l[c]=l[c]+(t[d]/2-s[d]/2);break}}return l}function Li(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=n===void 0?e.placement:n,o=s.strategy,r=o===void 0?e.strategy:o,a=s.boundary,l=a===void 0?tg:a,c=s.rootBoundary,d=c===void 0?sd:c,u=s.elementContext,p=u===void 0?xi:u,g=s.altBoundary,m=g===void 0?!1:g,_=s.padding,v=_===void 0?0:_,w=gg(typeof v!="number"?v:mg(v,Xi)),E=p===xi?eg:xi,$=e.rects.popper,T=e.elements[m?E:p],y=V1(ei(T)?T:T.contextElement||xn(e.elements.popper),l,d,r),x=Ii(e.elements.reference),C=vg({reference:x,element:$,strategy:"absolute",placement:i}),S=hc(Object.assign({},$,C)),P=p===xi?S:x,M={top:y.top-P.top+w.top,bottom:P.bottom-y.bottom+w.bottom,left:y.left-P.left+w.left,right:P.right-y.right+w.right},O=e.modifiersData.offset;if(p===xi&&O){var F=O[i];Object.keys(M).forEach(function(Q){var G=[Fe,Ne].indexOf(Q)>=0?1:-1,H=[Se,Ne].indexOf(Q)>=0?"y":"x";M[Q]+=F[H]*G})}return M}function j1(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=s.boundary,o=s.rootBoundary,r=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,c=l===void 0?nd:l,d=Oi(n),u=d?a?dc:dc.filter(function(m){return Oi(m)===d}):Xi,p=u.filter(function(m){return c.indexOf(m)>=0});p.length===0&&(p=u);var g=p.reduce(function(m,_){return m[_]=Li(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[bs(_)],m},{});return Object.keys(g).sort(function(m,_){return g[m]-g[_]})}function H1(e){if(bs(e)===Fa)return[];var t=ta(e);return[oh(e),t,oh(t)]}function W1(e){var t=e.state,s=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!0:r,l=s.fallbackPlacements,c=s.padding,d=s.boundary,u=s.rootBoundary,p=s.altBoundary,g=s.flipVariations,m=g===void 0?!0:g,_=s.allowedAutoPlacements,v=t.options.placement,w=bs(v),E=w===v,$=l||(E||!m?[ta(v)]:H1(v)),T=[v].concat($).reduce(function(Pt,Ft){return Pt.concat(bs(Ft)===Fa?j1(t,{placement:Ft,boundary:d,rootBoundary:u,padding:c,flipVariations:m,allowedAutoPlacements:_}):Ft)},[]),y=t.rects.reference,x=t.rects.popper,C=new Map,S=!0,P=T[0],M=0;M=0,H=G?"width":"height",R=Li(t,{placement:O,boundary:d,rootBoundary:u,altBoundary:p,padding:c}),z=G?Q?Fe:Ae:Q?Ne:Se;y[H]>x[H]&&(z=ta(z));var Y=ta(z),rt=[];if(o&&rt.push(R[F]<=0),a&&rt.push(R[z]<=0,R[Y]<=0),rt.every(function(Pt){return Pt})){P=O,S=!1;break}C.set(O,rt)}if(S)for(var ht=m?3:1,vt=function(Ft){var kt=T.find(function(W){var st=C.get(W);if(st)return st.slice(0,Ft).every(function(tt){return tt})});if(kt)return P=kt,"break"},_t=ht;_t>0;_t--){var Dt=vt(_t);if(Dt==="break")break}t.placement!==P&&(t.modifiersData[n]._skip=!0,t.placement=P,t.reset=!0)}}const yg={name:"flip",enabled:!0,phase:"main",fn:W1,requiresIfExists:["offset"],data:{_skip:!1}};function ah(e,t,s){return s===void 0&&(s={x:0,y:0}),{top:e.top-t.height-s.y,right:e.right-t.width+s.x,bottom:e.bottom-t.height+s.y,left:e.left-t.width-s.x}}function lh(e){return[Se,Fe,Ne,Ae].some(function(t){return e[t]>=0})}function z1(e){var t=e.state,s=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Li(t,{elementContext:"reference"}),a=Li(t,{altBoundary:!0}),l=ah(r,n),c=ah(a,i,o),d=lh(l),u=lh(c);t.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}const xg={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:z1};function K1(e,t,s){var n=bs(e),i=[Ae,Se].indexOf(n)>=0?-1:1,o=typeof s=="function"?s(Object.assign({},t,{placement:e})):s,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[Ae,Fe].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}function U1(e){var t=e.state,s=e.options,n=e.name,i=s.offset,o=i===void 0?[0,0]:i,r=nd.reduce(function(d,u){return d[u]=K1(u,t.rects,o),d},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=r}const wg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:U1};function Y1(e){var t=e.state,s=e.name;t.modifiersData[s]=vg({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const fd={name:"popperOffsets",enabled:!0,phase:"read",fn:Y1,data:{}};function q1(e){return e==="x"?"y":"x"}function G1(e){var t=e.state,s=e.options,n=e.name,i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!1:r,l=s.boundary,c=s.rootBoundary,d=s.altBoundary,u=s.padding,p=s.tether,g=p===void 0?!0:p,m=s.tetherOffset,_=m===void 0?0:m,v=Li(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),w=bs(t.placement),E=Oi(t.placement),$=!E,T=ad(w),y=q1(T),x=t.modifiersData.popperOffsets,C=t.rects.reference,S=t.rects.popper,P=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,M=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,F={x:0,y:0};if(x){if(o){var Q,G=T==="y"?Se:Ae,H=T==="y"?Ne:Fe,R=T==="y"?"height":"width",z=x[T],Y=z+v[G],rt=z-v[H],ht=g?-S[R]/2:0,vt=E===ti?C[R]:S[R],_t=E===ti?-S[R]:-C[R],Dt=t.elements.arrow,Pt=g&&Dt?rd(Dt):{width:0,height:0},Ft=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:pg(),kt=Ft[G],W=Ft[H],st=Ao(0,C[R],Pt[R]),tt=$?C[R]/2-ht-st-kt-M.mainAxis:vt-st-kt-M.mainAxis,lt=$?-C[R]/2+ht+st+W+M.mainAxis:_t+st+W+M.mainAxis,j=t.elements.arrow&&sr(t.elements.arrow),Lt=j?T==="y"?j.clientTop||0:j.clientLeft||0:0,A=(Q=O==null?void 0:O[T])!=null?Q:0,I=z+tt-A-Lt,N=z+lt-A,q=Ao(g?_a(Y,I):Y,z,g?Yn(rt,N):rt);x[T]=q,F[T]=q-z}if(a){var K,X=T==="x"?Se:Ae,at=T==="x"?Ne:Fe,B=x[y],Z=y==="y"?"height":"width",J=B+v[X],ut=B-v[at],gt=[Se,Ae].indexOf(w)!==-1,pt=(K=O==null?void 0:O[y])!=null?K:0,yt=gt?J:B-C[Z]-S[Z]-pt+M.altAxis,At=gt?B+C[Z]+S[Z]-pt-M.altAxis:ut,Ht=g&>?C1(yt,B,At):Ao(g?yt:J,B,g?At:ut);x[y]=Ht,F[y]=Ht-B}t.modifiersData[n]=F}}const Eg={name:"preventOverflow",enabled:!0,phase:"main",fn:G1,requiresIfExists:["offset"]};function J1(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function X1(e){return e===Be(e)||!Ze(e)?dd(e):J1(e)}function Q1(e){var t=e.getBoundingClientRect(),s=Di(t.width)/e.offsetWidth||1,n=Di(t.height)/e.offsetHeight||1;return s!==1||n!==1}function Z1(e,t,s){s===void 0&&(s=!1);var n=Ze(t),i=Ze(t)&&Q1(t),o=xn(t),r=Ii(e,i,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!s)&&((xs(t)!=="body"||hd(o))&&(a=X1(t)),Ze(t)?(l=Ii(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=ud(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function tx(e){var t=new Map,s=new Set,n=[];e.forEach(function(o){t.set(o.name,o)});function i(o){s.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!s.has(a)){var l=t.get(a);l&&i(l)}}),n.push(o)}return e.forEach(function(o){s.has(o.name)||i(o)}),n}function ex(e){var t=tx(e);return ug.reduce(function(s,n){return s.concat(t.filter(function(i){return i.phase===n}))},[])}function sx(e){var t;return function(){return t||(t=new Promise(function(s){Promise.resolve().then(function(){t=void 0,s(e())})})),t}}function nx(e){var t=e.reduce(function(s,n){var i=s[n.name];return s[n.name]=i?Object.assign({},i,n,{options:Object.assign({},i.options,n.options),data:Object.assign({},i.data,n.data)}):n,s},{});return Object.keys(t).map(function(s){return t[s]})}var ch={placement:"bottom",modifiers:[],strategy:"absolute"};function dh(){for(var e=arguments.length,t=new Array(e),s=0;st in e?_1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ot=(e,t,s)=>(b1(e,typeof t!="symbol"?t+"":t,s),s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();var Zp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function v1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function y1(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),s}var x1={exports:{}},Ee="top",Ne="bottom",Fe="right",Ae="left",Fa="auto",Xi=[Ee,Ne,Fe,Ae],ti="start",Mi="end",tg="clippingParents",sd="viewport",xi="popper",eg="reference",dc=Xi.reduce(function(e,t){return e.concat([t+"-"+ti,t+"-"+Mi])},[]),nd=[].concat(Xi,[Fa]).reduce(function(e,t){return e.concat([t,t+"-"+ti,t+"-"+Mi])},[]),sg="beforeRead",ng="read",ig="afterRead",og="beforeMain",rg="main",ag="afterMain",lg="beforeWrite",cg="write",dg="afterWrite",ug=[sg,ng,ig,og,rg,ag,lg,cg,dg];function ws(e){return e?(e.nodeName||"").toLowerCase():null}function Be(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ei(e){var t=Be(e).Element;return e instanceof t||e instanceof Element}function Ze(e){var t=Be(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function id(e){if(typeof ShadowRoot>"u")return!1;var t=Be(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function w1(e){var t=e.state;Object.keys(t.elements).forEach(function(s){var n=t.styles[s]||{},i=t.attributes[s]||{},o=t.elements[s];!Ze(o)||!ws(o)||(Object.assign(o.style,n),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function S1(e){var t=e.state,s={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,s.popper),t.styles=s,t.elements.arrow&&Object.assign(t.elements.arrow.style,s.arrow),function(){Object.keys(t.elements).forEach(function(n){var i=t.elements[n],o=t.attributes[n]||{},r=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:s[n]),a=r.reduce(function(l,c){return l[c]="",l},{});!Ze(i)||!ws(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const od={name:"applyStyles",enabled:!0,phase:"write",fn:w1,effect:S1,requires:["computeStyles"]};function bs(e){return e.split("-")[0]}var Yn=Math.max,_a=Math.min,Di=Math.round;function uc(){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 hg(){return!/^((?!chrome|android).)*safari/i.test(uc())}function Ii(e,t,s){t===void 0&&(t=!1),s===void 0&&(s=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&Ze(e)&&(i=e.offsetWidth>0&&Di(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Di(n.height)/e.offsetHeight||1);var r=ei(e)?Be(e):window,a=r.visualViewport,l=!hg()&&s,c=(n.left+(l&&a?a.offsetLeft:0))/i,d=(n.top+(l&&a?a.offsetTop:0))/o,u=n.width/i,p=n.height/o;return{width:u,height:p,top:d,right:c+u,bottom:d+p,left:c,x:c,y:d}}function rd(e){var t=Ii(e),s=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-s)<=1&&(s=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:s,height:n}}function fg(e,t){var s=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(s&&id(s)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vs(e){return Be(e).getComputedStyle(e)}function E1(e){return["table","td","th"].indexOf(ws(e))>=0}function xn(e){return((ei(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ba(e){return ws(e)==="html"?e:e.assignedSlot||e.parentNode||(id(e)?e.host:null)||xn(e)}function nh(e){return!Ze(e)||Vs(e).position==="fixed"?null:e.offsetParent}function A1(e){var t=/firefox/i.test(uc()),s=/Trident/i.test(uc());if(s&&Ze(e)){var n=Vs(e);if(n.position==="fixed")return null}var i=Ba(e);for(id(i)&&(i=i.host);Ze(i)&&["html","body"].indexOf(ws(i))<0;){var o=Vs(i);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 i;i=i.parentNode}return null}function sr(e){for(var t=Be(e),s=nh(e);s&&E1(s)&&Vs(s).position==="static";)s=nh(s);return s&&(ws(s)==="html"||ws(s)==="body"&&Vs(s).position==="static")?t:s||A1(e)||t}function ad(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ao(e,t,s){return Yn(e,_a(t,s))}function C1(e,t,s){var n=Ao(e,t,s);return n>s?s:n}function pg(){return{top:0,right:0,bottom:0,left:0}}function gg(e){return Object.assign({},pg(),e)}function mg(e,t){return t.reduce(function(s,n){return s[n]=e,s},{})}var $1=function(t,s){return t=typeof t=="function"?t(Object.assign({},s.rects,{placement:s.placement})):t,gg(typeof t!="number"?t:mg(t,Xi))};function P1(e){var t,s=e.state,n=e.name,i=e.options,o=s.elements.arrow,r=s.modifiersData.popperOffsets,a=bs(s.placement),l=ad(a),c=[Ae,Fe].indexOf(a)>=0,d=c?"height":"width";if(!(!o||!r)){var u=$1(i.padding,s),p=rd(o),g=l==="y"?Ee:Ae,m=l==="y"?Ne:Fe,_=s.rects.reference[d]+s.rects.reference[l]-r[l]-s.rects.popper[d],v=r[l]-s.rects.reference[l],w=sr(o),S=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,$=_/2-v/2,T=u[g],y=S-p[d]-u[m],x=S/2-p[d]/2+$,C=Ao(T,x,y),E=l;s.modifiersData[n]=(t={},t[E]=C,t.centerOffset=C-x,t)}}function k1(e){var t=e.state,s=e.options,n=s.element,i=n===void 0?"[data-popper-arrow]":n;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||fg(t.elements.popper,i)&&(t.elements.arrow=i))}const _g={name:"arrow",enabled:!0,phase:"main",fn:P1,effect:k1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Oi(e){return e.split("-")[1]}var T1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function M1(e,t){var s=e.x,n=e.y,i=t.devicePixelRatio||1;return{x:Di(s*i)/i||0,y:Di(n*i)/i||0}}function ih(e){var t,s=e.popper,n=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,p=r.x,g=p===void 0?0:p,m=r.y,_=m===void 0?0:m,v=typeof d=="function"?d({x:g,y:_}):{x:g,y:_};g=v.x,_=v.y;var w=r.hasOwnProperty("x"),S=r.hasOwnProperty("y"),$=Ae,T=Ee,y=window;if(c){var x=sr(s),C="clientHeight",E="clientWidth";if(x===Be(s)&&(x=xn(s),Vs(x).position!=="static"&&a==="absolute"&&(C="scrollHeight",E="scrollWidth")),x=x,i===Ee||(i===Ae||i===Fe)&&o===Mi){T=Ne;var P=u&&x===y&&y.visualViewport?y.visualViewport.height:x[C];_-=P-n.height,_*=l?1:-1}if(i===Ae||(i===Ee||i===Ne)&&o===Mi){$=Fe;var M=u&&x===y&&y.visualViewport?y.visualViewport.width:x[E];g-=M-n.width,g*=l?1:-1}}var O=Object.assign({position:a},c&&T1),F=d===!0?M1({x:g,y:_},Be(s)):{x:g,y:_};if(g=F.x,_=F.y,l){var Q;return Object.assign({},O,(Q={},Q[T]=S?"0":"",Q[$]=w?"0":"",Q.transform=(y.devicePixelRatio||1)<=1?"translate("+g+"px, "+_+"px)":"translate3d("+g+"px, "+_+"px, 0)",Q))}return Object.assign({},O,(t={},t[T]=S?_+"px":"",t[$]=w?g+"px":"",t.transform="",t))}function D1(e){var t=e.state,s=e.options,n=s.gpuAcceleration,i=n===void 0?!0:n,o=s.adaptive,r=o===void 0?!0:o,a=s.roundOffsets,l=a===void 0?!0:a,c={placement:bs(t.placement),variation:Oi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ih(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ih(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const ld={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:D1,data:{}};var $r={passive:!0};function I1(e){var t=e.state,s=e.instance,n=e.options,i=n.scroll,o=i===void 0?!0:i,r=n.resize,a=r===void 0?!0:r,l=Be(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(d){d.addEventListener("scroll",s.update,$r)}),a&&l.addEventListener("resize",s.update,$r),function(){o&&c.forEach(function(d){d.removeEventListener("scroll",s.update,$r)}),a&&l.removeEventListener("resize",s.update,$r)}}const cd={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:I1,data:{}};var O1={left:"right",right:"left",bottom:"top",top:"bottom"};function ta(e){return e.replace(/left|right|bottom|top/g,function(t){return O1[t]})}var L1={start:"end",end:"start"};function oh(e){return e.replace(/start|end/g,function(t){return L1[t]})}function dd(e){var t=Be(e),s=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:s,scrollTop:n}}function ud(e){return Ii(xn(e)).left+dd(e).scrollLeft}function R1(e,t){var s=Be(e),n=xn(e),i=s.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=hg();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+ud(e),y:l}}function N1(e){var t,s=xn(e),n=dd(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Yn(s.scrollWidth,s.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Yn(s.scrollHeight,s.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-n.scrollLeft+ud(e),l=-n.scrollTop;return Vs(i||s).direction==="rtl"&&(a+=Yn(s.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function hd(e){var t=Vs(e),s=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(s+i+n)}function bg(e){return["html","body","#document"].indexOf(ws(e))>=0?e.ownerDocument.body:Ze(e)&&hd(e)?e:bg(Ba(e))}function Co(e,t){var s;t===void 0&&(t=[]);var n=bg(e),i=n===((s=e.ownerDocument)==null?void 0:s.body),o=Be(n),r=i?[o].concat(o.visualViewport||[],hd(n)?n:[]):n,a=t.concat(r);return i?a:a.concat(Co(Ba(r)))}function hc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function F1(e,t){var s=Ii(e,!1,t==="fixed");return s.top=s.top+e.clientTop,s.left=s.left+e.clientLeft,s.bottom=s.top+e.clientHeight,s.right=s.left+e.clientWidth,s.width=e.clientWidth,s.height=e.clientHeight,s.x=s.left,s.y=s.top,s}function rh(e,t,s){return t===sd?hc(R1(e,s)):ei(t)?F1(t,s):hc(N1(xn(e)))}function B1(e){var t=Co(Ba(e)),s=["absolute","fixed"].indexOf(Vs(e).position)>=0,n=s&&Ze(e)?sr(e):e;return ei(n)?t.filter(function(i){return ei(i)&&fg(i,n)&&ws(i)!=="body"}):[]}function V1(e,t,s,n){var i=t==="clippingParents"?B1(e):[].concat(t),o=[].concat(i,[s]),r=o[0],a=o.reduce(function(l,c){var d=rh(e,c,n);return l.top=Yn(d.top,l.top),l.right=_a(d.right,l.right),l.bottom=_a(d.bottom,l.bottom),l.left=Yn(d.left,l.left),l},rh(e,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function vg(e){var t=e.reference,s=e.element,n=e.placement,i=n?bs(n):null,o=n?Oi(n):null,r=t.x+t.width/2-s.width/2,a=t.y+t.height/2-s.height/2,l;switch(i){case Ee:l={x:r,y:t.y-s.height};break;case Ne:l={x:r,y:t.y+t.height};break;case Fe:l={x:t.x+t.width,y:a};break;case Ae:l={x:t.x-s.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?ad(i):null;if(c!=null){var d=c==="y"?"height":"width";switch(o){case ti:l[c]=l[c]-(t[d]/2-s[d]/2);break;case Mi:l[c]=l[c]+(t[d]/2-s[d]/2);break}}return l}function Li(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=n===void 0?e.placement:n,o=s.strategy,r=o===void 0?e.strategy:o,a=s.boundary,l=a===void 0?tg:a,c=s.rootBoundary,d=c===void 0?sd:c,u=s.elementContext,p=u===void 0?xi:u,g=s.altBoundary,m=g===void 0?!1:g,_=s.padding,v=_===void 0?0:_,w=gg(typeof v!="number"?v:mg(v,Xi)),S=p===xi?eg:xi,$=e.rects.popper,T=e.elements[m?S:p],y=V1(ei(T)?T:T.contextElement||xn(e.elements.popper),l,d,r),x=Ii(e.elements.reference),C=vg({reference:x,element:$,strategy:"absolute",placement:i}),E=hc(Object.assign({},$,C)),P=p===xi?E:x,M={top:y.top-P.top+w.top,bottom:P.bottom-y.bottom+w.bottom,left:y.left-P.left+w.left,right:P.right-y.right+w.right},O=e.modifiersData.offset;if(p===xi&&O){var F=O[i];Object.keys(M).forEach(function(Q){var G=[Fe,Ne].indexOf(Q)>=0?1:-1,H=[Ee,Ne].indexOf(Q)>=0?"y":"x";M[Q]+=F[H]*G})}return M}function j1(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=s.boundary,o=s.rootBoundary,r=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,c=l===void 0?nd:l,d=Oi(n),u=d?a?dc:dc.filter(function(m){return Oi(m)===d}):Xi,p=u.filter(function(m){return c.indexOf(m)>=0});p.length===0&&(p=u);var g=p.reduce(function(m,_){return m[_]=Li(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[bs(_)],m},{});return Object.keys(g).sort(function(m,_){return g[m]-g[_]})}function H1(e){if(bs(e)===Fa)return[];var t=ta(e);return[oh(e),t,oh(t)]}function W1(e){var t=e.state,s=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!0:r,l=s.fallbackPlacements,c=s.padding,d=s.boundary,u=s.rootBoundary,p=s.altBoundary,g=s.flipVariations,m=g===void 0?!0:g,_=s.allowedAutoPlacements,v=t.options.placement,w=bs(v),S=w===v,$=l||(S||!m?[ta(v)]:H1(v)),T=[v].concat($).reduce(function(Pt,Ft){return Pt.concat(bs(Ft)===Fa?j1(t,{placement:Ft,boundary:d,rootBoundary:u,padding:c,flipVariations:m,allowedAutoPlacements:_}):Ft)},[]),y=t.rects.reference,x=t.rects.popper,C=new Map,E=!0,P=T[0],M=0;M=0,H=G?"width":"height",R=Li(t,{placement:O,boundary:d,rootBoundary:u,altBoundary:p,padding:c}),z=G?Q?Fe:Ae:Q?Ne:Ee;y[H]>x[H]&&(z=ta(z));var Y=ta(z),rt=[];if(o&&rt.push(R[F]<=0),a&&rt.push(R[z]<=0,R[Y]<=0),rt.every(function(Pt){return Pt})){P=O,E=!1;break}C.set(O,rt)}if(E)for(var ht=m?3:1,vt=function(Ft){var kt=T.find(function(W){var st=C.get(W);if(st)return st.slice(0,Ft).every(function(tt){return tt})});if(kt)return P=kt,"break"},_t=ht;_t>0;_t--){var Dt=vt(_t);if(Dt==="break")break}t.placement!==P&&(t.modifiersData[n]._skip=!0,t.placement=P,t.reset=!0)}}const yg={name:"flip",enabled:!0,phase:"main",fn:W1,requiresIfExists:["offset"],data:{_skip:!1}};function ah(e,t,s){return s===void 0&&(s={x:0,y:0}),{top:e.top-t.height-s.y,right:e.right-t.width+s.x,bottom:e.bottom-t.height+s.y,left:e.left-t.width-s.x}}function lh(e){return[Ee,Fe,Ne,Ae].some(function(t){return e[t]>=0})}function z1(e){var t=e.state,s=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Li(t,{elementContext:"reference"}),a=Li(t,{altBoundary:!0}),l=ah(r,n),c=ah(a,i,o),d=lh(l),u=lh(c);t.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}const xg={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:z1};function K1(e,t,s){var n=bs(e),i=[Ae,Ee].indexOf(n)>=0?-1:1,o=typeof s=="function"?s(Object.assign({},t,{placement:e})):s,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[Ae,Fe].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}function U1(e){var t=e.state,s=e.options,n=e.name,i=s.offset,o=i===void 0?[0,0]:i,r=nd.reduce(function(d,u){return d[u]=K1(u,t.rects,o),d},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=r}const wg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:U1};function Y1(e){var t=e.state,s=e.name;t.modifiersData[s]=vg({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const fd={name:"popperOffsets",enabled:!0,phase:"read",fn:Y1,data:{}};function q1(e){return e==="x"?"y":"x"}function G1(e){var t=e.state,s=e.options,n=e.name,i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!1:r,l=s.boundary,c=s.rootBoundary,d=s.altBoundary,u=s.padding,p=s.tether,g=p===void 0?!0:p,m=s.tetherOffset,_=m===void 0?0:m,v=Li(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),w=bs(t.placement),S=Oi(t.placement),$=!S,T=ad(w),y=q1(T),x=t.modifiersData.popperOffsets,C=t.rects.reference,E=t.rects.popper,P=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,M=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,F={x:0,y:0};if(x){if(o){var Q,G=T==="y"?Ee:Ae,H=T==="y"?Ne:Fe,R=T==="y"?"height":"width",z=x[T],Y=z+v[G],rt=z-v[H],ht=g?-E[R]/2:0,vt=S===ti?C[R]:E[R],_t=S===ti?-E[R]:-C[R],Dt=t.elements.arrow,Pt=g&&Dt?rd(Dt):{width:0,height:0},Ft=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:pg(),kt=Ft[G],W=Ft[H],st=Ao(0,C[R],Pt[R]),tt=$?C[R]/2-ht-st-kt-M.mainAxis:vt-st-kt-M.mainAxis,lt=$?-C[R]/2+ht+st+W+M.mainAxis:_t+st+W+M.mainAxis,j=t.elements.arrow&&sr(t.elements.arrow),Lt=j?T==="y"?j.clientTop||0:j.clientLeft||0:0,A=(Q=O==null?void 0:O[T])!=null?Q:0,I=z+tt-A-Lt,N=z+lt-A,q=Ao(g?_a(Y,I):Y,z,g?Yn(rt,N):rt);x[T]=q,F[T]=q-z}if(a){var K,X=T==="x"?Ee:Ae,at=T==="x"?Ne:Fe,B=x[y],Z=y==="y"?"height":"width",J=B+v[X],ut=B-v[at],gt=[Ee,Ae].indexOf(w)!==-1,pt=(K=O==null?void 0:O[y])!=null?K:0,yt=gt?J:B-C[Z]-E[Z]-pt+M.altAxis,At=gt?B+C[Z]+E[Z]-pt-M.altAxis:ut,Ht=g&>?C1(yt,B,At):Ao(g?yt:J,B,g?At:ut);x[y]=Ht,F[y]=Ht-B}t.modifiersData[n]=F}}const Sg={name:"preventOverflow",enabled:!0,phase:"main",fn:G1,requiresIfExists:["offset"]};function J1(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function X1(e){return e===Be(e)||!Ze(e)?dd(e):J1(e)}function Q1(e){var t=e.getBoundingClientRect(),s=Di(t.width)/e.offsetWidth||1,n=Di(t.height)/e.offsetHeight||1;return s!==1||n!==1}function Z1(e,t,s){s===void 0&&(s=!1);var n=Ze(t),i=Ze(t)&&Q1(t),o=xn(t),r=Ii(e,i,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!s)&&((ws(t)!=="body"||hd(o))&&(a=X1(t)),Ze(t)?(l=Ii(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=ud(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function tx(e){var t=new Map,s=new Set,n=[];e.forEach(function(o){t.set(o.name,o)});function i(o){s.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!s.has(a)){var l=t.get(a);l&&i(l)}}),n.push(o)}return e.forEach(function(o){s.has(o.name)||i(o)}),n}function ex(e){var t=tx(e);return ug.reduce(function(s,n){return s.concat(t.filter(function(i){return i.phase===n}))},[])}function sx(e){var t;return function(){return t||(t=new Promise(function(s){Promise.resolve().then(function(){t=void 0,s(e())})})),t}}function nx(e){var t=e.reduce(function(s,n){var i=s[n.name];return s[n.name]=i?Object.assign({},i,n,{options:Object.assign({},i.options,n.options),data:Object.assign({},i.data,n.data)}):n,s},{});return Object.keys(t).map(function(s){return t[s]})}var ch={placement:"bottom",modifiers:[],strategy:"absolute"};function dh(){for(var e=arguments.length,t=new Array(e),s=0;sk[b]})}}return f.default=k,Object.freeze(f)}const i=n(s),o=new Map,r={set(k,f,b){o.has(k)||o.set(k,new Map);const D=o.get(k);if(!D.has(f)&&D.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(D.keys())[0]}.`);return}D.set(f,b)},get(k,f){return o.has(k)&&o.get(k).get(f)||null},remove(k,f){if(!o.has(k))return;const b=o.get(k);b.delete(f),b.size===0&&o.delete(k)}},a=1e6,l=1e3,c="transitionend",d=k=>(k&&window.CSS&&window.CSS.escape&&(k=k.replace(/#([^\s"#']+)/g,(f,b)=>`#${CSS.escape(b)}`)),k),u=k=>k==null?`${k}`:Object.prototype.toString.call(k).match(/\s([a-z]+)/i)[1].toLowerCase(),p=k=>{do k+=Math.floor(Math.random()*a);while(document.getElementById(k));return k},g=k=>{if(!k)return 0;let{transitionDuration:f,transitionDelay:b}=window.getComputedStyle(k);const D=Number.parseFloat(f),U=Number.parseFloat(b);return!D&&!U?0:(f=f.split(",")[0],b=b.split(",")[0],(Number.parseFloat(f)+Number.parseFloat(b))*l)},m=k=>{k.dispatchEvent(new Event(c))},_=k=>!k||typeof k!="object"?!1:(typeof k.jquery<"u"&&(k=k[0]),typeof k.nodeType<"u"),v=k=>_(k)?k.jquery?k[0]:k:typeof k=="string"&&k.length>0?document.querySelector(d(k)):null,w=k=>{if(!_(k)||k.getClientRects().length===0)return!1;const f=getComputedStyle(k).getPropertyValue("visibility")==="visible",b=k.closest("details:not([open])");if(!b)return f;if(b!==k){const D=k.closest("summary");if(D&&D.parentNode!==b||D===null)return!1}return f},E=k=>!k||k.nodeType!==Node.ELEMENT_NODE||k.classList.contains("disabled")?!0:typeof k.disabled<"u"?k.disabled:k.hasAttribute("disabled")&&k.getAttribute("disabled")!=="false",$=k=>{if(!document.documentElement.attachShadow)return null;if(typeof k.getRootNode=="function"){const f=k.getRootNode();return f instanceof ShadowRoot?f:null}return k instanceof ShadowRoot?k:k.parentNode?$(k.parentNode):null},T=()=>{},y=k=>{k.offsetHeight},x=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,C=[],S=k=>{document.readyState==="loading"?(C.length||document.addEventListener("DOMContentLoaded",()=>{for(const f of C)f()}),C.push(k)):k()},P=()=>document.documentElement.dir==="rtl",M=k=>{S(()=>{const f=x();if(f){const b=k.NAME,D=f.fn[b];f.fn[b]=k.jQueryInterface,f.fn[b].Constructor=k,f.fn[b].noConflict=()=>(f.fn[b]=D,k.jQueryInterface)}})},O=(k,f=[],b=k)=>typeof k=="function"?k(...f):b,F=(k,f,b=!0)=>{if(!b){O(k);return}const U=g(f)+5;let it=!1;const et=({target:Tt})=>{Tt===f&&(it=!0,f.removeEventListener(c,et),O(k))};f.addEventListener(c,et),setTimeout(()=>{it||m(f)},U)},Q=(k,f,b,D)=>{const U=k.length;let it=k.indexOf(f);return it===-1?!b&&D?k[U-1]:k[0]:(it+=b?1:-1,D&&(it=(it+U)%U),k[Math.max(0,Math.min(it,U-1))])},G=/[^.]*(?=\..*)\.|.*/,H=/\..*/,R=/::\d+$/,z={};let Y=1;const rt={mouseenter:"mouseover",mouseleave:"mouseout"},ht=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 vt(k,f){return f&&`${f}::${Y++}`||k.uidEvent||Y++}function _t(k){const f=vt(k);return k.uidEvent=f,z[f]=z[f]||{},z[f]}function Dt(k,f){return function b(D){return Lt(D,{delegateTarget:k}),b.oneOff&&j.off(k,D.type,f),f.apply(k,[D])}}function Pt(k,f,b){return function D(U){const it=k.querySelectorAll(f);for(let{target:et}=U;et&&et!==this;et=et.parentNode)for(const Tt of it)if(Tt===et)return Lt(U,{delegateTarget:et}),D.oneOff&&j.off(k,U.type,f,b),b.apply(et,[U])}}function Ft(k,f,b=null){return Object.values(k).find(D=>D.callable===f&&D.delegationSelector===b)}function kt(k,f,b){const D=typeof f=="string",U=D?b:f||b;let it=lt(k);return ht.has(it)||(it=k),[D,U,it]}function W(k,f,b,D,U){if(typeof f!="string"||!k)return;let[it,et,Tt]=kt(f,b,D);f in rt&&(et=(m1=>function(mi){if(!mi.relatedTarget||mi.relatedTarget!==mi.delegateTarget&&!mi.delegateTarget.contains(mi.relatedTarget))return m1.call(this,mi)})(et));const $e=_t(k),Ke=$e[Tt]||($e[Tt]={}),ue=Ft(Ke,et,it?b:null);if(ue){ue.oneOff=ue.oneOff&&U;return}const us=vt(et,f.replace(G,"")),os=it?Pt(k,b,et):Dt(k,et);os.delegationSelector=it?b:null,os.callable=et,os.oneOff=U,os.uidEvent=us,Ke[us]=os,k.addEventListener(Tt,os,it)}function st(k,f,b,D,U){const it=Ft(f[b],D,U);it&&(k.removeEventListener(b,it,!!U),delete f[b][it.uidEvent])}function tt(k,f,b,D){const U=f[b]||{};for(const[it,et]of Object.entries(U))it.includes(D)&&st(k,f,b,et.callable,et.delegationSelector)}function lt(k){return k=k.replace(H,""),rt[k]||k}const j={on(k,f,b,D){W(k,f,b,D,!1)},one(k,f,b,D){W(k,f,b,D,!0)},off(k,f,b,D){if(typeof f!="string"||!k)return;const[U,it,et]=kt(f,b,D),Tt=et!==f,$e=_t(k),Ke=$e[et]||{},ue=f.startsWith(".");if(typeof it<"u"){if(!Object.keys(Ke).length)return;st(k,$e,et,it,U?b:null);return}if(ue)for(const us of Object.keys($e))tt(k,$e,us,f.slice(1));for(const[us,os]of Object.entries(Ke)){const Cr=us.replace(R,"");(!Tt||f.includes(Cr))&&st(k,$e,et,os.callable,os.delegationSelector)}},trigger(k,f,b){if(typeof f!="string"||!k)return null;const D=x(),U=lt(f),it=f!==U;let et=null,Tt=!0,$e=!0,Ke=!1;it&&D&&(et=D.Event(f,b),D(k).trigger(et),Tt=!et.isPropagationStopped(),$e=!et.isImmediatePropagationStopped(),Ke=et.isDefaultPrevented());const ue=Lt(new Event(f,{bubbles:Tt,cancelable:!0}),b);return Ke&&ue.preventDefault(),$e&&k.dispatchEvent(ue),ue.defaultPrevented&&et&&et.preventDefault(),ue}};function Lt(k,f={}){for(const[b,D]of Object.entries(f))try{k[b]=D}catch{Object.defineProperty(k,b,{configurable:!0,get(){return D}})}return k}function A(k){if(k==="true")return!0;if(k==="false")return!1;if(k===Number(k).toString())return Number(k);if(k===""||k==="null")return null;if(typeof k!="string")return k;try{return JSON.parse(decodeURIComponent(k))}catch{return k}}function I(k){return k.replace(/[A-Z]/g,f=>`-${f.toLowerCase()}`)}const N={setDataAttribute(k,f,b){k.setAttribute(`data-bs-${I(f)}`,b)},removeDataAttribute(k,f){k.removeAttribute(`data-bs-${I(f)}`)},getDataAttributes(k){if(!k)return{};const f={},b=Object.keys(k.dataset).filter(D=>D.startsWith("bs")&&!D.startsWith("bsConfig"));for(const D of b){let U=D.replace(/^bs/,"");U=U.charAt(0).toLowerCase()+U.slice(1,U.length),f[U]=A(k.dataset[D])}return f},getDataAttribute(k,f){return A(k.getAttribute(`data-bs-${I(f)}`))}};class q{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(f){return f=this._mergeConfigObj(f),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}_configAfterMerge(f){return f}_mergeConfigObj(f,b){const D=_(b)?N.getDataAttribute(b,"config"):{};return{...this.constructor.Default,...typeof D=="object"?D:{},..._(b)?N.getDataAttributes(b):{},...typeof f=="object"?f:{}}}_typeCheckConfig(f,b=this.constructor.DefaultType){for(const[D,U]of Object.entries(b)){const it=f[D],et=_(it)?"element":u(it);if(!new RegExp(U).test(et))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${D}" provided type "${et}" but expected type "${U}".`)}}}const K="5.3.2";class X extends q{constructor(f,b){super(),f=v(f),f&&(this._element=f,this._config=this._getConfig(b),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const f of Object.getOwnPropertyNames(this))this[f]=null}_queueCallback(f,b,D=!0){F(f,b,D)}_getConfig(f){return f=this._mergeConfigObj(f,this._element),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}static getInstance(f){return r.get(v(f),this.DATA_KEY)}static getOrCreateInstance(f,b={}){return this.getInstance(f)||new this(f,typeof b=="object"?b:null)}static get VERSION(){return K}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(f){return`${f}${this.EVENT_KEY}`}}const at=k=>{let f=k.getAttribute("data-bs-target");if(!f||f==="#"){let b=k.getAttribute("href");if(!b||!b.includes("#")&&!b.startsWith("."))return null;b.includes("#")&&!b.startsWith("#")&&(b=`#${b.split("#")[1]}`),f=b&&b!=="#"?d(b.trim()):null}return f},B={find(k,f=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(f,k))},findOne(k,f=document.documentElement){return Element.prototype.querySelector.call(f,k)},children(k,f){return[].concat(...k.children).filter(b=>b.matches(f))},parents(k,f){const b=[];let D=k.parentNode.closest(f);for(;D;)b.push(D),D=D.parentNode.closest(f);return b},prev(k,f){let b=k.previousElementSibling;for(;b;){if(b.matches(f))return[b];b=b.previousElementSibling}return[]},next(k,f){let b=k.nextElementSibling;for(;b;){if(b.matches(f))return[b];b=b.nextElementSibling}return[]},focusableChildren(k){const f=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(b=>`${b}:not([tabindex^="-"])`).join(",");return this.find(f,k).filter(b=>!E(b)&&w(b))},getSelectorFromElement(k){const f=at(k);return f&&B.findOne(f)?f:null},getElementFromSelector(k){const f=at(k);return f?B.findOne(f):null},getMultipleElementsFromSelector(k){const f=at(k);return f?B.find(f):[]}},Z=(k,f="hide")=>{const b=`click.dismiss${k.EVENT_KEY}`,D=k.NAME;j.on(document,b,`[data-bs-dismiss="${D}"]`,function(U){if(["A","AREA"].includes(this.tagName)&&U.preventDefault(),E(this))return;const it=B.getElementFromSelector(this)||this.closest(`.${D}`);k.getOrCreateInstance(it)[f]()})},J="alert",gt=".bs.alert",pt=`close${gt}`,yt=`closed${gt}`,At="fade",Ht="show";class Rt extends X{static get NAME(){return J}close(){if(j.trigger(this._element,pt).defaultPrevented)return;this._element.classList.remove(Ht);const b=this._element.classList.contains(At);this._queueCallback(()=>this._destroyElement(),this._element,b)}_destroyElement(){this._element.remove(),j.trigger(this._element,yt),this.dispose()}static jQueryInterface(f){return this.each(function(){const b=Rt.getOrCreateInstance(this);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}Z(Rt,"close"),M(Rt);const oe="button",Ks=".bs.button",fr=".data-api",Pn="active",no='[data-bs-toggle="button"]',ye=`click${Ks}${fr}`;class ge extends X{static get NAME(){return oe}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Pn))}static jQueryInterface(f){return this.each(function(){const b=ge.getOrCreateInstance(this);f==="toggle"&&b[f]()})}}j.on(document,ye,no,k=>{k.preventDefault();const f=k.target.closest(no);ge.getOrCreateInstance(f).toggle()}),M(ge);const pr="swipe",li=".bs.swipe",jb=`touchstart${li}`,Hb=`touchmove${li}`,Wb=`touchend${li}`,zb=`pointerdown${li}`,Kb=`pointerup${li}`,Ub="touch",Yb="pen",qb="pointer-event",Gb=40,Jb={endCallback:null,leftCallback:null,rightCallback:null},Xb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class gr extends q{constructor(f,b){super(),this._element=f,!(!f||!gr.isSupported())&&(this._config=this._getConfig(b),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Jb}static get DefaultType(){return Xb}static get NAME(){return pr}dispose(){j.off(this._element,li)}_start(f){if(!this._supportPointerEvents){this._deltaX=f.touches[0].clientX;return}this._eventIsPointerPenTouch(f)&&(this._deltaX=f.clientX)}_end(f){this._eventIsPointerPenTouch(f)&&(this._deltaX=f.clientX-this._deltaX),this._handleSwipe(),O(this._config.endCallback)}_move(f){this._deltaX=f.touches&&f.touches.length>1?0:f.touches[0].clientX-this._deltaX}_handleSwipe(){const f=Math.abs(this._deltaX);if(f<=Gb)return;const b=f/this._deltaX;this._deltaX=0,b&&O(b>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,zb,f=>this._start(f)),j.on(this._element,Kb,f=>this._end(f)),this._element.classList.add(qb)):(j.on(this._element,jb,f=>this._start(f)),j.on(this._element,Hb,f=>this._move(f)),j.on(this._element,Wb,f=>this._end(f)))}_eventIsPointerPenTouch(f){return this._supportPointerEvents&&(f.pointerType===Yb||f.pointerType===Ub)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Qb="carousel",Us=".bs.carousel",mu=".data-api",Zb="ArrowLeft",tv="ArrowRight",ev=500,io="next",ci="prev",di="left",mr="right",sv=`slide${Us}`,bl=`slid${Us}`,nv=`keydown${Us}`,iv=`mouseenter${Us}`,ov=`mouseleave${Us}`,rv=`dragstart${Us}`,av=`load${Us}${mu}`,lv=`click${Us}${mu}`,_u="carousel",_r="active",cv="slide",dv="carousel-item-end",uv="carousel-item-start",hv="carousel-item-next",fv="carousel-item-prev",bu=".active",vu=".carousel-item",pv=bu+vu,gv=".carousel-item img",mv=".carousel-indicators",_v="[data-bs-slide], [data-bs-slide-to]",bv='[data-bs-ride="carousel"]',vv={[Zb]:mr,[tv]:di},yv={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},xv={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ui extends X{constructor(f,b){super(f,b),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=B.findOne(mv,this._element),this._addEventListeners(),this._config.ride===_u&&this.cycle()}static get Default(){return yv}static get DefaultType(){return xv}static get NAME(){return Qb}next(){this._slide(io)}nextWhenVisible(){!document.hidden&&w(this._element)&&this.next()}prev(){this._slide(ci)}pause(){this._isSliding&&m(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){j.one(this._element,bl,()=>this.cycle());return}this.cycle()}}to(f){const b=this._getItems();if(f>b.length-1||f<0)return;if(this._isSliding){j.one(this._element,bl,()=>this.to(f));return}const D=this._getItemIndex(this._getActive());if(D===f)return;const U=f>D?io:ci;this._slide(U,b[f])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(f){return f.defaultInterval=f.interval,f}_addEventListeners(){this._config.keyboard&&j.on(this._element,nv,f=>this._keydown(f)),this._config.pause==="hover"&&(j.on(this._element,iv,()=>this.pause()),j.on(this._element,ov,()=>this._maybeEnableCycle())),this._config.touch&&gr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const D of B.find(gv,this._element))j.on(D,rv,U=>U.preventDefault());const b={leftCallback:()=>this._slide(this._directionToOrder(di)),rightCallback:()=>this._slide(this._directionToOrder(mr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),ev+this._config.interval))}};this._swipeHelper=new gr(this._element,b)}_keydown(f){if(/input|textarea/i.test(f.target.tagName))return;const b=vv[f.key];b&&(f.preventDefault(),this._slide(this._directionToOrder(b)))}_getItemIndex(f){return this._getItems().indexOf(f)}_setActiveIndicatorElement(f){if(!this._indicatorsElement)return;const b=B.findOne(bu,this._indicatorsElement);b.classList.remove(_r),b.removeAttribute("aria-current");const D=B.findOne(`[data-bs-slide-to="${f}"]`,this._indicatorsElement);D&&(D.classList.add(_r),D.setAttribute("aria-current","true"))}_updateInterval(){const f=this._activeElement||this._getActive();if(!f)return;const b=Number.parseInt(f.getAttribute("data-bs-interval"),10);this._config.interval=b||this._config.defaultInterval}_slide(f,b=null){if(this._isSliding)return;const D=this._getActive(),U=f===io,it=b||Q(this._getItems(),D,U,this._config.wrap);if(it===D)return;const et=this._getItemIndex(it),Tt=Cr=>j.trigger(this._element,Cr,{relatedTarget:it,direction:this._orderToDirection(f),from:this._getItemIndex(D),to:et});if(Tt(sv).defaultPrevented||!D||!it)return;const Ke=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(et),this._activeElement=it;const ue=U?uv:dv,us=U?hv:fv;it.classList.add(us),y(it),D.classList.add(ue),it.classList.add(ue);const os=()=>{it.classList.remove(ue,us),it.classList.add(_r),D.classList.remove(_r,us,ue),this._isSliding=!1,Tt(bl)};this._queueCallback(os,D,this._isAnimated()),Ke&&this.cycle()}_isAnimated(){return this._element.classList.contains(cv)}_getActive(){return B.findOne(pv,this._element)}_getItems(){return B.find(vu,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(f){return P()?f===di?ci:io:f===di?io:ci}_orderToDirection(f){return P()?f===ci?di:mr:f===ci?mr:di}static jQueryInterface(f){return this.each(function(){const b=ui.getOrCreateInstance(this,f);if(typeof f=="number"){b.to(f);return}if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(document,lv,_v,function(k){const f=B.getElementFromSelector(this);if(!f||!f.classList.contains(_u))return;k.preventDefault();const b=ui.getOrCreateInstance(f),D=this.getAttribute("data-bs-slide-to");if(D){b.to(D),b._maybeEnableCycle();return}if(N.getDataAttribute(this,"slide")==="next"){b.next(),b._maybeEnableCycle();return}b.prev(),b._maybeEnableCycle()}),j.on(window,av,()=>{const k=B.find(bv);for(const f of k)ui.getOrCreateInstance(f)}),M(ui);const wv="collapse",oo=".bs.collapse",Ev=".data-api",Sv=`show${oo}`,Av=`shown${oo}`,Cv=`hide${oo}`,$v=`hidden${oo}`,Pv=`click${oo}${Ev}`,vl="show",hi="collapse",br="collapsing",kv="collapsed",Tv=`:scope .${hi} .${hi}`,Mv="collapse-horizontal",Dv="width",Iv="height",Ov=".collapse.show, .collapse.collapsing",yl='[data-bs-toggle="collapse"]',Lv={parent:null,toggle:!0},Rv={parent:"(null|element)",toggle:"boolean"};class fi extends X{constructor(f,b){super(f,b),this._isTransitioning=!1,this._triggerArray=[];const D=B.find(yl);for(const U of D){const it=B.getSelectorFromElement(U),et=B.find(it).filter(Tt=>Tt===this._element);it!==null&&et.length&&this._triggerArray.push(U)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Lv}static get DefaultType(){return Rv}static get NAME(){return wv}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let f=[];if(this._config.parent&&(f=this._getFirstLevelChildren(Ov).filter(Tt=>Tt!==this._element).map(Tt=>fi.getOrCreateInstance(Tt,{toggle:!1}))),f.length&&f[0]._isTransitioning||j.trigger(this._element,Sv).defaultPrevented)return;for(const Tt of f)Tt.hide();const D=this._getDimension();this._element.classList.remove(hi),this._element.classList.add(br),this._element.style[D]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const U=()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(hi,vl),this._element.style[D]="",j.trigger(this._element,Av)},et=`scroll${D[0].toUpperCase()+D.slice(1)}`;this._queueCallback(U,this._element,!0),this._element.style[D]=`${this._element[et]}px`}hide(){if(this._isTransitioning||!this._isShown()||j.trigger(this._element,Cv).defaultPrevented)return;const b=this._getDimension();this._element.style[b]=`${this._element.getBoundingClientRect()[b]}px`,y(this._element),this._element.classList.add(br),this._element.classList.remove(hi,vl);for(const U of this._triggerArray){const it=B.getElementFromSelector(U);it&&!this._isShown(it)&&this._addAriaAndCollapsedClass([U],!1)}this._isTransitioning=!0;const D=()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(hi),j.trigger(this._element,$v)};this._element.style[b]="",this._queueCallback(D,this._element,!0)}_isShown(f=this._element){return f.classList.contains(vl)}_configAfterMerge(f){return f.toggle=!!f.toggle,f.parent=v(f.parent),f}_getDimension(){return this._element.classList.contains(Mv)?Dv:Iv}_initializeChildren(){if(!this._config.parent)return;const f=this._getFirstLevelChildren(yl);for(const b of f){const D=B.getElementFromSelector(b);D&&this._addAriaAndCollapsedClass([b],this._isShown(D))}}_getFirstLevelChildren(f){const b=B.find(Tv,this._config.parent);return B.find(f,this._config.parent).filter(D=>!b.includes(D))}_addAriaAndCollapsedClass(f,b){if(f.length)for(const D of f)D.classList.toggle(kv,!b),D.setAttribute("aria-expanded",b)}static jQueryInterface(f){const b={};return typeof f=="string"&&/show|hide/.test(f)&&(b.toggle=!1),this.each(function(){const D=fi.getOrCreateInstance(this,b);if(typeof f=="string"){if(typeof D[f]>"u")throw new TypeError(`No method named "${f}"`);D[f]()}})}}j.on(document,Pv,yl,function(k){(k.target.tagName==="A"||k.delegateTarget&&k.delegateTarget.tagName==="A")&&k.preventDefault();for(const f of B.getMultipleElementsFromSelector(this))fi.getOrCreateInstance(f,{toggle:!1}).toggle()}),M(fi);const yu="dropdown",kn=".bs.dropdown",xl=".data-api",Nv="Escape",xu="Tab",Fv="ArrowUp",wu="ArrowDown",Bv=2,Vv=`hide${kn}`,jv=`hidden${kn}`,Hv=`show${kn}`,Wv=`shown${kn}`,Eu=`click${kn}${xl}`,Su=`keydown${kn}${xl}`,zv=`keyup${kn}${xl}`,pi="show",Kv="dropup",Uv="dropend",Yv="dropstart",qv="dropup-center",Gv="dropdown-center",Tn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Jv=`${Tn}.${pi}`,vr=".dropdown-menu",Xv=".navbar",Qv=".navbar-nav",Zv=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",ty=P()?"top-end":"top-start",ey=P()?"top-start":"top-end",sy=P()?"bottom-end":"bottom-start",ny=P()?"bottom-start":"bottom-end",iy=P()?"left-start":"right-start",oy=P()?"right-start":"left-start",ry="top",ay="bottom",ly={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},cy={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class is extends X{constructor(f,b){super(f,b),this._popper=null,this._parent=this._element.parentNode,this._menu=B.next(this._element,vr)[0]||B.prev(this._element,vr)[0]||B.findOne(vr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ly}static get DefaultType(){return cy}static get NAME(){return yu}toggle(){return this._isShown()?this.hide():this.show()}show(){if(E(this._element)||this._isShown())return;const f={relatedTarget:this._element};if(!j.trigger(this._element,Hv,f).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Qv))for(const D of[].concat(...document.body.children))j.on(D,"mouseover",T);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(pi),this._element.classList.add(pi),j.trigger(this._element,Wv,f)}}hide(){if(E(this._element)||!this._isShown())return;const f={relatedTarget:this._element};this._completeHide(f)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(f){if(!j.trigger(this._element,Vv,f).defaultPrevented){if("ontouchstart"in document.documentElement)for(const D of[].concat(...document.body.children))j.off(D,"mouseover",T);this._popper&&this._popper.destroy(),this._menu.classList.remove(pi),this._element.classList.remove(pi),this._element.setAttribute("aria-expanded","false"),N.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,jv,f)}}_getConfig(f){if(f=super._getConfig(f),typeof f.reference=="object"&&!_(f.reference)&&typeof f.reference.getBoundingClientRect!="function")throw new TypeError(`${yu.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return f}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let f=this._element;this._config.reference==="parent"?f=this._parent:_(this._config.reference)?f=v(this._config.reference):typeof this._config.reference=="object"&&(f=this._config.reference);const b=this._getPopperConfig();this._popper=i.createPopper(f,this._menu,b)}_isShown(){return this._menu.classList.contains(pi)}_getPlacement(){const f=this._parent;if(f.classList.contains(Uv))return iy;if(f.classList.contains(Yv))return oy;if(f.classList.contains(qv))return ry;if(f.classList.contains(Gv))return ay;const b=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return f.classList.contains(Kv)?b?ey:ty:b?ny:sy}_detectNavbar(){return this._element.closest(Xv)!==null}_getOffset(){const{offset:f}=this._config;return typeof f=="string"?f.split(",").map(b=>Number.parseInt(b,10)):typeof f=="function"?b=>f(b,this._element):f}_getPopperConfig(){const f={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(N.setDataAttribute(this._menu,"popper","static"),f.modifiers=[{name:"applyStyles",enabled:!1}]),{...f,...O(this._config.popperConfig,[f])}}_selectMenuItem({key:f,target:b}){const D=B.find(Zv,this._menu).filter(U=>w(U));D.length&&Q(D,b,f===wu,!D.includes(b)).focus()}static jQueryInterface(f){return this.each(function(){const b=is.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}static clearMenus(f){if(f.button===Bv||f.type==="keyup"&&f.key!==xu)return;const b=B.find(Jv);for(const D of b){const U=is.getInstance(D);if(!U||U._config.autoClose===!1)continue;const it=f.composedPath(),et=it.includes(U._menu);if(it.includes(U._element)||U._config.autoClose==="inside"&&!et||U._config.autoClose==="outside"&&et||U._menu.contains(f.target)&&(f.type==="keyup"&&f.key===xu||/input|select|option|textarea|form/i.test(f.target.tagName)))continue;const Tt={relatedTarget:U._element};f.type==="click"&&(Tt.clickEvent=f),U._completeHide(Tt)}}static dataApiKeydownHandler(f){const b=/input|textarea/i.test(f.target.tagName),D=f.key===Nv,U=[Fv,wu].includes(f.key);if(!U&&!D||b&&!D)return;f.preventDefault();const it=this.matches(Tn)?this:B.prev(this,Tn)[0]||B.next(this,Tn)[0]||B.findOne(Tn,f.delegateTarget.parentNode),et=is.getOrCreateInstance(it);if(U){f.stopPropagation(),et.show(),et._selectMenuItem(f);return}et._isShown()&&(f.stopPropagation(),et.hide(),it.focus())}}j.on(document,Su,Tn,is.dataApiKeydownHandler),j.on(document,Su,vr,is.dataApiKeydownHandler),j.on(document,Eu,is.clearMenus),j.on(document,zv,is.clearMenus),j.on(document,Eu,Tn,function(k){k.preventDefault(),is.getOrCreateInstance(this).toggle()}),M(is);const Au="backdrop",dy="fade",Cu="show",$u=`mousedown.bs.${Au}`,uy={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},hy={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Pu extends q{constructor(f){super(),this._config=this._getConfig(f),this._isAppended=!1,this._element=null}static get Default(){return uy}static get DefaultType(){return hy}static get NAME(){return Au}show(f){if(!this._config.isVisible){O(f);return}this._append();const b=this._getElement();this._config.isAnimated&&y(b),b.classList.add(Cu),this._emulateAnimation(()=>{O(f)})}hide(f){if(!this._config.isVisible){O(f);return}this._getElement().classList.remove(Cu),this._emulateAnimation(()=>{this.dispose(),O(f)})}dispose(){this._isAppended&&(j.off(this._element,$u),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const f=document.createElement("div");f.className=this._config.className,this._config.isAnimated&&f.classList.add(dy),this._element=f}return this._element}_configAfterMerge(f){return f.rootElement=v(f.rootElement),f}_append(){if(this._isAppended)return;const f=this._getElement();this._config.rootElement.append(f),j.on(f,$u,()=>{O(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(f){F(f,this._getElement(),this._config.isAnimated)}}const fy="focustrap",yr=".bs.focustrap",py=`focusin${yr}`,gy=`keydown.tab${yr}`,my="Tab",_y="forward",ku="backward",by={autofocus:!0,trapElement:null},vy={autofocus:"boolean",trapElement:"element"};class Tu extends q{constructor(f){super(),this._config=this._getConfig(f),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return by}static get DefaultType(){return vy}static get NAME(){return fy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,yr),j.on(document,py,f=>this._handleFocusin(f)),j.on(document,gy,f=>this._handleKeydown(f)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,yr))}_handleFocusin(f){const{trapElement:b}=this._config;if(f.target===document||f.target===b||b.contains(f.target))return;const D=B.focusableChildren(b);D.length===0?b.focus():this._lastTabNavDirection===ku?D[D.length-1].focus():D[0].focus()}_handleKeydown(f){f.key===my&&(this._lastTabNavDirection=f.shiftKey?ku:_y)}}const Mu=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Du=".sticky-top",xr="padding-right",Iu="margin-right";class wl{constructor(){this._element=document.body}getWidth(){const f=document.documentElement.clientWidth;return Math.abs(window.innerWidth-f)}hide(){const f=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,xr,b=>b+f),this._setElementAttributes(Mu,xr,b=>b+f),this._setElementAttributes(Du,Iu,b=>b-f)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,xr),this._resetElementAttributes(Mu,xr),this._resetElementAttributes(Du,Iu)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(f,b,D){const U=this.getWidth(),it=et=>{if(et!==this._element&&window.innerWidth>et.clientWidth+U)return;this._saveInitialAttribute(et,b);const Tt=window.getComputedStyle(et).getPropertyValue(b);et.style.setProperty(b,`${D(Number.parseFloat(Tt))}px`)};this._applyManipulationCallback(f,it)}_saveInitialAttribute(f,b){const D=f.style.getPropertyValue(b);D&&N.setDataAttribute(f,b,D)}_resetElementAttributes(f,b){const D=U=>{const it=N.getDataAttribute(U,b);if(it===null){U.style.removeProperty(b);return}N.removeDataAttribute(U,b),U.style.setProperty(b,it)};this._applyManipulationCallback(f,D)}_applyManipulationCallback(f,b){if(_(f)){b(f);return}for(const D of B.find(f,this._element))b(D)}}const yy="modal",ze=".bs.modal",xy=".data-api",wy="Escape",Ey=`hide${ze}`,Sy=`hidePrevented${ze}`,Ou=`hidden${ze}`,Lu=`show${ze}`,Ay=`shown${ze}`,Cy=`resize${ze}`,$y=`click.dismiss${ze}`,Py=`mousedown.dismiss${ze}`,ky=`keydown.dismiss${ze}`,Ty=`click${ze}${xy}`,Ru="modal-open",My="fade",Nu="show",El="modal-static",Dy=".modal.show",Iy=".modal-dialog",Oy=".modal-body",Ly='[data-bs-toggle="modal"]',Ry={backdrop:!0,focus:!0,keyboard:!0},Ny={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Mn extends X{constructor(f,b){super(f,b),this._dialog=B.findOne(Iy,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new wl,this._addEventListeners()}static get Default(){return Ry}static get DefaultType(){return Ny}static get NAME(){return yy}toggle(f){return this._isShown?this.hide():this.show(f)}show(f){this._isShown||this._isTransitioning||j.trigger(this._element,Lu,{relatedTarget:f}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ru),this._adjustDialog(),this._backdrop.show(()=>this._showElement(f)))}hide(){!this._isShown||this._isTransitioning||j.trigger(this._element,Ey).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Nu),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){j.off(window,ze),j.off(this._dialog,ze),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Pu({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Tu({trapElement:this._element})}_showElement(f){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 b=B.findOne(Oy,this._dialog);b&&(b.scrollTop=0),y(this._element),this._element.classList.add(Nu);const D=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,Ay,{relatedTarget:f})};this._queueCallback(D,this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,ky,f=>{if(f.key===wy){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),j.on(window,Cy,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),j.on(this._element,Py,f=>{j.one(this._element,$y,b=>{if(!(this._element!==f.target||this._element!==b.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(Ru),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Ou)})}_isAnimated(){return this._element.classList.contains(My)}_triggerBackdropTransition(){if(j.trigger(this._element,Sy).defaultPrevented)return;const b=this._element.scrollHeight>document.documentElement.clientHeight,D=this._element.style.overflowY;D==="hidden"||this._element.classList.contains(El)||(b||(this._element.style.overflowY="hidden"),this._element.classList.add(El),this._queueCallback(()=>{this._element.classList.remove(El),this._queueCallback(()=>{this._element.style.overflowY=D},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const f=this._element.scrollHeight>document.documentElement.clientHeight,b=this._scrollBar.getWidth(),D=b>0;if(D&&!f){const U=P()?"paddingLeft":"paddingRight";this._element.style[U]=`${b}px`}if(!D&&f){const U=P()?"paddingRight":"paddingLeft";this._element.style[U]=`${b}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(f,b){return this.each(function(){const D=Mn.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof D[f]>"u")throw new TypeError(`No method named "${f}"`);D[f](b)}})}}j.on(document,Ty,Ly,function(k){const f=B.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&k.preventDefault(),j.one(f,Lu,U=>{U.defaultPrevented||j.one(f,Ou,()=>{w(this)&&this.focus()})});const b=B.findOne(Dy);b&&Mn.getInstance(b).hide(),Mn.getOrCreateInstance(f).toggle(this)}),Z(Mn),M(Mn);const Fy="offcanvas",As=".bs.offcanvas",Fu=".data-api",By=`load${As}${Fu}`,Vy="Escape",Bu="show",Vu="showing",ju="hiding",jy="offcanvas-backdrop",Hu=".offcanvas.show",Hy=`show${As}`,Wy=`shown${As}`,zy=`hide${As}`,Wu=`hidePrevented${As}`,zu=`hidden${As}`,Ky=`resize${As}`,Uy=`click${As}${Fu}`,Yy=`keydown.dismiss${As}`,qy='[data-bs-toggle="offcanvas"]',Gy={backdrop:!0,keyboard:!0,scroll:!1},Jy={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Cs extends X{constructor(f,b){super(f,b),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Gy}static get DefaultType(){return Jy}static get NAME(){return Fy}toggle(f){return this._isShown?this.hide():this.show(f)}show(f){if(this._isShown||j.trigger(this._element,Hy,{relatedTarget:f}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new wl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Vu);const D=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Bu),this._element.classList.remove(Vu),j.trigger(this._element,Wy,{relatedTarget:f})};this._queueCallback(D,this._element,!0)}hide(){if(!this._isShown||j.trigger(this._element,zy).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ju),this._backdrop.hide();const b=()=>{this._element.classList.remove(Bu,ju),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new wl().reset(),j.trigger(this._element,zu)};this._queueCallback(b,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const f=()=>{if(this._config.backdrop==="static"){j.trigger(this._element,Wu);return}this.hide()},b=!!this._config.backdrop;return new Pu({className:jy,isVisible:b,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:b?f:null})}_initializeFocusTrap(){return new Tu({trapElement:this._element})}_addEventListeners(){j.on(this._element,Yy,f=>{if(f.key===Vy){if(this._config.keyboard){this.hide();return}j.trigger(this._element,Wu)}})}static jQueryInterface(f){return this.each(function(){const b=Cs.getOrCreateInstance(this,f);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}j.on(document,Uy,qy,function(k){const f=B.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),E(this))return;j.one(f,zu,()=>{w(this)&&this.focus()});const b=B.findOne(Hu);b&&b!==f&&Cs.getInstance(b).hide(),Cs.getOrCreateInstance(f).toggle(this)}),j.on(window,By,()=>{for(const k of B.find(Hu))Cs.getOrCreateInstance(k).show()}),j.on(window,Ky,()=>{for(const k of B.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(k).position!=="fixed"&&Cs.getOrCreateInstance(k).hide()}),Z(Cs),M(Cs);const Ku={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]},Xy=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qy=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Zy=(k,f)=>{const b=k.nodeName.toLowerCase();return f.includes(b)?Xy.has(b)?!!Qy.test(k.nodeValue):!0:f.filter(D=>D instanceof RegExp).some(D=>D.test(b))};function t0(k,f,b){if(!k.length)return k;if(b&&typeof b=="function")return b(k);const U=new window.DOMParser().parseFromString(k,"text/html"),it=[].concat(...U.body.querySelectorAll("*"));for(const et of it){const Tt=et.nodeName.toLowerCase();if(!Object.keys(f).includes(Tt)){et.remove();continue}const $e=[].concat(...et.attributes),Ke=[].concat(f["*"]||[],f[Tt]||[]);for(const ue of $e)Zy(ue,Ke)||et.removeAttribute(ue.nodeName)}return U.body.innerHTML}const e0="TemplateFactory",s0={allowList:Ku,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},n0={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},i0={entry:"(string|element|function|null)",selector:"(string|element)"};class o0 extends q{constructor(f){super(),this._config=this._getConfig(f)}static get Default(){return s0}static get DefaultType(){return n0}static get NAME(){return e0}getContent(){return Object.values(this._config.content).map(f=>this._resolvePossibleFunction(f)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(f){return this._checkContent(f),this._config.content={...this._config.content,...f},this}toHtml(){const f=document.createElement("div");f.innerHTML=this._maybeSanitize(this._config.template);for(const[U,it]of Object.entries(this._config.content))this._setContent(f,it,U);const b=f.children[0],D=this._resolvePossibleFunction(this._config.extraClass);return D&&b.classList.add(...D.split(" ")),b}_typeCheckConfig(f){super._typeCheckConfig(f),this._checkContent(f.content)}_checkContent(f){for(const[b,D]of Object.entries(f))super._typeCheckConfig({selector:b,entry:D},i0)}_setContent(f,b,D){const U=B.findOne(D,f);if(U){if(b=this._resolvePossibleFunction(b),!b){U.remove();return}if(_(b)){this._putElementInTemplate(v(b),U);return}if(this._config.html){U.innerHTML=this._maybeSanitize(b);return}U.textContent=b}}_maybeSanitize(f){return this._config.sanitize?t0(f,this._config.allowList,this._config.sanitizeFn):f}_resolvePossibleFunction(f){return O(f,[this])}_putElementInTemplate(f,b){if(this._config.html){b.innerHTML="",b.append(f);return}b.textContent=f.textContent}}const r0="tooltip",a0=new Set(["sanitize","allowList","sanitizeFn"]),Sl="fade",l0="modal",wr="show",c0=".tooltip-inner",Uu=`.${l0}`,Yu="hide.bs.modal",ro="hover",Al="focus",d0="click",u0="manual",h0="hide",f0="hidden",p0="show",g0="shown",m0="inserted",_0="click",b0="focusin",v0="focusout",y0="mouseenter",x0="mouseleave",w0={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},E0={allowList:Ku,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"},S0={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 Dn extends X{constructor(f,b){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(f,b),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 E0}static get DefaultType(){return S0}static get NAME(){return r0}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(Uu),Yu,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 f=j.trigger(this._element,this.constructor.eventName(p0)),D=($(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(f.defaultPrevented||!D)return;this._disposePopper();const U=this._getTipElement();this._element.setAttribute("aria-describedby",U.getAttribute("id"));const{container:it}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(it.append(U),j.trigger(this._element,this.constructor.eventName(m0))),this._popper=this._createPopper(U),U.classList.add(wr),"ontouchstart"in document.documentElement)for(const Tt of[].concat(...document.body.children))j.on(Tt,"mouseover",T);const et=()=>{j.trigger(this._element,this.constructor.eventName(g0)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(et,this.tip,this._isAnimated())}hide(){if(!this._isShown()||j.trigger(this._element,this.constructor.eventName(h0)).defaultPrevented)return;if(this._getTipElement().classList.remove(wr),"ontouchstart"in document.documentElement)for(const U of[].concat(...document.body.children))j.off(U,"mouseover",T);this._activeTrigger[d0]=!1,this._activeTrigger[Al]=!1,this._activeTrigger[ro]=!1,this._isHovered=null;const D=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName(f0)))};this._queueCallback(D,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(f){const b=this._getTemplateFactory(f).toHtml();if(!b)return null;b.classList.remove(Sl,wr),b.classList.add(`bs-${this.constructor.NAME}-auto`);const D=p(this.constructor.NAME).toString();return b.setAttribute("id",D),this._isAnimated()&&b.classList.add(Sl),b}setContent(f){this._newContent=f,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(f){return this._templateFactory?this._templateFactory.changeContent(f):this._templateFactory=new o0({...this._config,content:f,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[c0]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(f){return this.constructor.getOrCreateInstance(f.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Sl)}_isShown(){return this.tip&&this.tip.classList.contains(wr)}_createPopper(f){const b=O(this._config.placement,[this,f,this._element]),D=w0[b.toUpperCase()];return i.createPopper(this._element,f,this._getPopperConfig(D))}_getOffset(){const{offset:f}=this._config;return typeof f=="string"?f.split(",").map(b=>Number.parseInt(b,10)):typeof f=="function"?b=>f(b,this._element):f}_resolvePossibleFunction(f){return O(f,[this._element])}_getPopperConfig(f){const b={placement:f,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:D=>{this._getTipElement().setAttribute("data-popper-placement",D.state.placement)}}]};return{...b,...O(this._config.popperConfig,[b])}}_setListeners(){const f=this._config.trigger.split(" ");for(const b of f)if(b==="click")j.on(this._element,this.constructor.eventName(_0),this._config.selector,D=>{this._initializeOnDelegatedTarget(D).toggle()});else if(b!==u0){const D=b===ro?this.constructor.eventName(y0):this.constructor.eventName(b0),U=b===ro?this.constructor.eventName(x0):this.constructor.eventName(v0);j.on(this._element,D,this._config.selector,it=>{const et=this._initializeOnDelegatedTarget(it);et._activeTrigger[it.type==="focusin"?Al:ro]=!0,et._enter()}),j.on(this._element,U,this._config.selector,it=>{const et=this._initializeOnDelegatedTarget(it);et._activeTrigger[it.type==="focusout"?Al:ro]=et._element.contains(it.relatedTarget),et._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(Uu),Yu,this._hideModalHandler)}_fixTitle(){const f=this._element.getAttribute("title");f&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",f),this._element.setAttribute("data-bs-original-title",f),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(f,b){clearTimeout(this._timeout),this._timeout=setTimeout(f,b)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(f){const b=N.getDataAttributes(this._element);for(const D of Object.keys(b))a0.has(D)&&delete b[D];return f={...b,...typeof f=="object"&&f?f:{}},f=this._mergeConfigObj(f),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}_configAfterMerge(f){return f.container=f.container===!1?document.body:v(f.container),typeof f.delay=="number"&&(f.delay={show:f.delay,hide:f.delay}),typeof f.title=="number"&&(f.title=f.title.toString()),typeof f.content=="number"&&(f.content=f.content.toString()),f}_getDelegateConfig(){const f={};for(const[b,D]of Object.entries(this._config))this.constructor.Default[b]!==D&&(f[b]=D);return f.selector=!1,f.trigger="manual",f}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(f){return this.each(function(){const b=Dn.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}}M(Dn);const A0="popover",C0=".popover-header",$0=".popover-body",P0={...Dn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},k0={...Dn.DefaultType,content:"(null|string|element|function)"};class Er extends Dn{static get Default(){return P0}static get DefaultType(){return k0}static get NAME(){return A0}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[C0]:this._getTitle(),[$0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(f){return this.each(function(){const b=Er.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}}M(Er);const T0="scrollspy",Cl=".bs.scrollspy",M0=".data-api",D0=`activate${Cl}`,qu=`click${Cl}`,I0=`load${Cl}${M0}`,O0="dropdown-item",gi="active",L0='[data-bs-spy="scroll"]',$l="[href]",R0=".nav, .list-group",Gu=".nav-link",N0=`${Gu}, .nav-item > ${Gu}, .list-group-item`,F0=".dropdown",B0=".dropdown-toggle",V0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},j0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ao extends X{constructor(f,b){super(f,b),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 V0}static get DefaultType(){return j0}static get NAME(){return T0}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const f of this._observableSections.values())this._observer.observe(f)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(f){return f.target=v(f.target)||document.body,f.rootMargin=f.offset?`${f.offset}px 0px -30%`:f.rootMargin,typeof f.threshold=="string"&&(f.threshold=f.threshold.split(",").map(b=>Number.parseFloat(b))),f}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,qu),j.on(this._config.target,qu,$l,f=>{const b=this._observableSections.get(f.target.hash);if(b){f.preventDefault();const D=this._rootElement||window,U=b.offsetTop-this._element.offsetTop;if(D.scrollTo){D.scrollTo({top:U,behavior:"smooth"});return}D.scrollTop=U}}))}_getNewObserver(){const f={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(b=>this._observerCallback(b),f)}_observerCallback(f){const b=et=>this._targetLinks.get(`#${et.target.id}`),D=et=>{this._previousScrollData.visibleEntryTop=et.target.offsetTop,this._process(b(et))},U=(this._rootElement||document.documentElement).scrollTop,it=U>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=U;for(const et of f){if(!et.isIntersecting){this._activeTarget=null,this._clearActiveClass(b(et));continue}const Tt=et.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(it&&Tt){if(D(et),!U)return;continue}!it&&!Tt&&D(et)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const f=B.find($l,this._config.target);for(const b of f){if(!b.hash||E(b))continue;const D=B.findOne(decodeURI(b.hash),this._element);w(D)&&(this._targetLinks.set(decodeURI(b.hash),b),this._observableSections.set(b.hash,D))}}_process(f){this._activeTarget!==f&&(this._clearActiveClass(this._config.target),this._activeTarget=f,f.classList.add(gi),this._activateParents(f),j.trigger(this._element,D0,{relatedTarget:f}))}_activateParents(f){if(f.classList.contains(O0)){B.findOne(B0,f.closest(F0)).classList.add(gi);return}for(const b of B.parents(f,R0))for(const D of B.prev(b,N0))D.classList.add(gi)}_clearActiveClass(f){f.classList.remove(gi);const b=B.find(`${$l}.${gi}`,f);for(const D of b)D.classList.remove(gi)}static jQueryInterface(f){return this.each(function(){const b=ao.getOrCreateInstance(this,f);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(window,I0,()=>{for(const k of B.find(L0))ao.getOrCreateInstance(k)}),M(ao);const H0="tab",In=".bs.tab",W0=`hide${In}`,z0=`hidden${In}`,K0=`show${In}`,U0=`shown${In}`,Y0=`click${In}`,q0=`keydown${In}`,G0=`load${In}`,J0="ArrowLeft",Ju="ArrowRight",X0="ArrowUp",Xu="ArrowDown",Pl="Home",Qu="End",On="active",Zu="fade",kl="show",Q0="dropdown",th=".dropdown-toggle",Z0=".dropdown-menu",Tl=`:not(${th})`,t1='.list-group, .nav, [role="tablist"]',e1=".nav-item, .list-group-item",s1=`.nav-link${Tl}, .list-group-item${Tl}, [role="tab"]${Tl}`,eh='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ml=`${s1}, ${eh}`,n1=`.${On}[data-bs-toggle="tab"], .${On}[data-bs-toggle="pill"], .${On}[data-bs-toggle="list"]`;class Ln extends X{constructor(f){super(f),this._parent=this._element.closest(t1),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,q0,b=>this._keydown(b)))}static get NAME(){return H0}show(){const f=this._element;if(this._elemIsActive(f))return;const b=this._getActiveElem(),D=b?j.trigger(b,W0,{relatedTarget:f}):null;j.trigger(f,K0,{relatedTarget:b}).defaultPrevented||D&&D.defaultPrevented||(this._deactivate(b,f),this._activate(f,b))}_activate(f,b){if(!f)return;f.classList.add(On),this._activate(B.getElementFromSelector(f));const D=()=>{if(f.getAttribute("role")!=="tab"){f.classList.add(kl);return}f.removeAttribute("tabindex"),f.setAttribute("aria-selected",!0),this._toggleDropDown(f,!0),j.trigger(f,U0,{relatedTarget:b})};this._queueCallback(D,f,f.classList.contains(Zu))}_deactivate(f,b){if(!f)return;f.classList.remove(On),f.blur(),this._deactivate(B.getElementFromSelector(f));const D=()=>{if(f.getAttribute("role")!=="tab"){f.classList.remove(kl);return}f.setAttribute("aria-selected",!1),f.setAttribute("tabindex","-1"),this._toggleDropDown(f,!1),j.trigger(f,z0,{relatedTarget:b})};this._queueCallback(D,f,f.classList.contains(Zu))}_keydown(f){if(![J0,Ju,X0,Xu,Pl,Qu].includes(f.key))return;f.stopPropagation(),f.preventDefault();const b=this._getChildren().filter(U=>!E(U));let D;if([Pl,Qu].includes(f.key))D=b[f.key===Pl?0:b.length-1];else{const U=[Ju,Xu].includes(f.key);D=Q(b,f.target,U,!0)}D&&(D.focus({preventScroll:!0}),Ln.getOrCreateInstance(D).show())}_getChildren(){return B.find(Ml,this._parent)}_getActiveElem(){return this._getChildren().find(f=>this._elemIsActive(f))||null}_setInitialAttributes(f,b){this._setAttributeIfNotExists(f,"role","tablist");for(const D of b)this._setInitialAttributesOnChild(D)}_setInitialAttributesOnChild(f){f=this._getInnerElement(f);const b=this._elemIsActive(f),D=this._getOuterElement(f);f.setAttribute("aria-selected",b),D!==f&&this._setAttributeIfNotExists(D,"role","presentation"),b||f.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(f,"role","tab"),this._setInitialAttributesOnTargetPanel(f)}_setInitialAttributesOnTargetPanel(f){const b=B.getElementFromSelector(f);b&&(this._setAttributeIfNotExists(b,"role","tabpanel"),f.id&&this._setAttributeIfNotExists(b,"aria-labelledby",`${f.id}`))}_toggleDropDown(f,b){const D=this._getOuterElement(f);if(!D.classList.contains(Q0))return;const U=(it,et)=>{const Tt=B.findOne(it,D);Tt&&Tt.classList.toggle(et,b)};U(th,On),U(Z0,kl),D.setAttribute("aria-expanded",b)}_setAttributeIfNotExists(f,b,D){f.hasAttribute(b)||f.setAttribute(b,D)}_elemIsActive(f){return f.classList.contains(On)}_getInnerElement(f){return f.matches(Ml)?f:B.findOne(Ml,f)}_getOuterElement(f){return f.closest(e1)||f}static jQueryInterface(f){return this.each(function(){const b=Ln.getOrCreateInstance(this);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(document,Y0,eh,function(k){["A","AREA"].includes(this.tagName)&&k.preventDefault(),!E(this)&&Ln.getOrCreateInstance(this).show()}),j.on(window,G0,()=>{for(const k of B.find(n1))Ln.getOrCreateInstance(k)}),M(Ln);const i1="toast",Ys=".bs.toast",o1=`mouseover${Ys}`,r1=`mouseout${Ys}`,a1=`focusin${Ys}`,l1=`focusout${Ys}`,c1=`hide${Ys}`,d1=`hidden${Ys}`,u1=`show${Ys}`,h1=`shown${Ys}`,f1="fade",sh="hide",Sr="show",Ar="showing",p1={animation:"boolean",autohide:"boolean",delay:"number"},g1={animation:!0,autohide:!0,delay:5e3};class lo extends X{constructor(f,b){super(f,b),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return g1}static get DefaultType(){return p1}static get NAME(){return i1}show(){if(j.trigger(this._element,u1).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(f1);const b=()=>{this._element.classList.remove(Ar),j.trigger(this._element,h1),this._maybeScheduleHide()};this._element.classList.remove(sh),y(this._element),this._element.classList.add(Sr,Ar),this._queueCallback(b,this._element,this._config.animation)}hide(){if(!this.isShown()||j.trigger(this._element,c1).defaultPrevented)return;const b=()=>{this._element.classList.add(sh),this._element.classList.remove(Ar,Sr),j.trigger(this._element,d1)};this._element.classList.add(Ar),this._queueCallback(b,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Sr),super.dispose()}isShown(){return this._element.classList.contains(Sr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(f,b){switch(f.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=b;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=b;break}}if(b){this._clearTimeout();return}const D=f.relatedTarget;this._element===D||this._element.contains(D)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,o1,f=>this._onInteraction(f,!0)),j.on(this._element,r1,f=>this._onInteraction(f,!1)),j.on(this._element,a1,f=>this._onInteraction(f,!0)),j.on(this._element,l1,f=>this._onInteraction(f,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(f){return this.each(function(){const b=lo.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}return Z(lo),M(lo),{Alert:Rt,Button:ge,Carousel:ui,Collapse:fi,Dropdown:is,Modal:Mn,Offcanvas:Cs,Popover:Er,ScrollSpy:ao,Tab:Ln,Toast:lo,Tooltip:Dn}})})(x1);/** + */(function(e,t){(function(s,n){e.exports=n(dx)})(Zp,function(s){function n(k){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const b in k)if(b!=="default"){const D=Object.getOwnPropertyDescriptor(k,b);Object.defineProperty(f,b,D.get?D:{enumerable:!0,get:()=>k[b]})}}return f.default=k,Object.freeze(f)}const i=n(s),o=new Map,r={set(k,f,b){o.has(k)||o.set(k,new Map);const D=o.get(k);if(!D.has(f)&&D.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(D.keys())[0]}.`);return}D.set(f,b)},get(k,f){return o.has(k)&&o.get(k).get(f)||null},remove(k,f){if(!o.has(k))return;const b=o.get(k);b.delete(f),b.size===0&&o.delete(k)}},a=1e6,l=1e3,c="transitionend",d=k=>(k&&window.CSS&&window.CSS.escape&&(k=k.replace(/#([^\s"#']+)/g,(f,b)=>`#${CSS.escape(b)}`)),k),u=k=>k==null?`${k}`:Object.prototype.toString.call(k).match(/\s([a-z]+)/i)[1].toLowerCase(),p=k=>{do k+=Math.floor(Math.random()*a);while(document.getElementById(k));return k},g=k=>{if(!k)return 0;let{transitionDuration:f,transitionDelay:b}=window.getComputedStyle(k);const D=Number.parseFloat(f),U=Number.parseFloat(b);return!D&&!U?0:(f=f.split(",")[0],b=b.split(",")[0],(Number.parseFloat(f)+Number.parseFloat(b))*l)},m=k=>{k.dispatchEvent(new Event(c))},_=k=>!k||typeof k!="object"?!1:(typeof k.jquery<"u"&&(k=k[0]),typeof k.nodeType<"u"),v=k=>_(k)?k.jquery?k[0]:k:typeof k=="string"&&k.length>0?document.querySelector(d(k)):null,w=k=>{if(!_(k)||k.getClientRects().length===0)return!1;const f=getComputedStyle(k).getPropertyValue("visibility")==="visible",b=k.closest("details:not([open])");if(!b)return f;if(b!==k){const D=k.closest("summary");if(D&&D.parentNode!==b||D===null)return!1}return f},S=k=>!k||k.nodeType!==Node.ELEMENT_NODE||k.classList.contains("disabled")?!0:typeof k.disabled<"u"?k.disabled:k.hasAttribute("disabled")&&k.getAttribute("disabled")!=="false",$=k=>{if(!document.documentElement.attachShadow)return null;if(typeof k.getRootNode=="function"){const f=k.getRootNode();return f instanceof ShadowRoot?f:null}return k instanceof ShadowRoot?k:k.parentNode?$(k.parentNode):null},T=()=>{},y=k=>{k.offsetHeight},x=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,C=[],E=k=>{document.readyState==="loading"?(C.length||document.addEventListener("DOMContentLoaded",()=>{for(const f of C)f()}),C.push(k)):k()},P=()=>document.documentElement.dir==="rtl",M=k=>{E(()=>{const f=x();if(f){const b=k.NAME,D=f.fn[b];f.fn[b]=k.jQueryInterface,f.fn[b].Constructor=k,f.fn[b].noConflict=()=>(f.fn[b]=D,k.jQueryInterface)}})},O=(k,f=[],b=k)=>typeof k=="function"?k(...f):b,F=(k,f,b=!0)=>{if(!b){O(k);return}const U=g(f)+5;let it=!1;const et=({target:Tt})=>{Tt===f&&(it=!0,f.removeEventListener(c,et),O(k))};f.addEventListener(c,et),setTimeout(()=>{it||m(f)},U)},Q=(k,f,b,D)=>{const U=k.length;let it=k.indexOf(f);return it===-1?!b&&D?k[U-1]:k[0]:(it+=b?1:-1,D&&(it=(it+U)%U),k[Math.max(0,Math.min(it,U-1))])},G=/[^.]*(?=\..*)\.|.*/,H=/\..*/,R=/::\d+$/,z={};let Y=1;const rt={mouseenter:"mouseover",mouseleave:"mouseout"},ht=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 vt(k,f){return f&&`${f}::${Y++}`||k.uidEvent||Y++}function _t(k){const f=vt(k);return k.uidEvent=f,z[f]=z[f]||{},z[f]}function Dt(k,f){return function b(D){return Lt(D,{delegateTarget:k}),b.oneOff&&j.off(k,D.type,f),f.apply(k,[D])}}function Pt(k,f,b){return function D(U){const it=k.querySelectorAll(f);for(let{target:et}=U;et&&et!==this;et=et.parentNode)for(const Tt of it)if(Tt===et)return Lt(U,{delegateTarget:et}),D.oneOff&&j.off(k,U.type,f,b),b.apply(et,[U])}}function Ft(k,f,b=null){return Object.values(k).find(D=>D.callable===f&&D.delegationSelector===b)}function kt(k,f,b){const D=typeof f=="string",U=D?b:f||b;let it=lt(k);return ht.has(it)||(it=k),[D,U,it]}function W(k,f,b,D,U){if(typeof f!="string"||!k)return;let[it,et,Tt]=kt(f,b,D);f in rt&&(et=(m1=>function(mi){if(!mi.relatedTarget||mi.relatedTarget!==mi.delegateTarget&&!mi.delegateTarget.contains(mi.relatedTarget))return m1.call(this,mi)})(et));const $e=_t(k),Ke=$e[Tt]||($e[Tt]={}),ue=Ft(Ke,et,it?b:null);if(ue){ue.oneOff=ue.oneOff&&U;return}const us=vt(et,f.replace(G,"")),os=it?Pt(k,b,et):Dt(k,et);os.delegationSelector=it?b:null,os.callable=et,os.oneOff=U,os.uidEvent=us,Ke[us]=os,k.addEventListener(Tt,os,it)}function st(k,f,b,D,U){const it=Ft(f[b],D,U);it&&(k.removeEventListener(b,it,!!U),delete f[b][it.uidEvent])}function tt(k,f,b,D){const U=f[b]||{};for(const[it,et]of Object.entries(U))it.includes(D)&&st(k,f,b,et.callable,et.delegationSelector)}function lt(k){return k=k.replace(H,""),rt[k]||k}const j={on(k,f,b,D){W(k,f,b,D,!1)},one(k,f,b,D){W(k,f,b,D,!0)},off(k,f,b,D){if(typeof f!="string"||!k)return;const[U,it,et]=kt(f,b,D),Tt=et!==f,$e=_t(k),Ke=$e[et]||{},ue=f.startsWith(".");if(typeof it<"u"){if(!Object.keys(Ke).length)return;st(k,$e,et,it,U?b:null);return}if(ue)for(const us of Object.keys($e))tt(k,$e,us,f.slice(1));for(const[us,os]of Object.entries(Ke)){const Cr=us.replace(R,"");(!Tt||f.includes(Cr))&&st(k,$e,et,os.callable,os.delegationSelector)}},trigger(k,f,b){if(typeof f!="string"||!k)return null;const D=x(),U=lt(f),it=f!==U;let et=null,Tt=!0,$e=!0,Ke=!1;it&&D&&(et=D.Event(f,b),D(k).trigger(et),Tt=!et.isPropagationStopped(),$e=!et.isImmediatePropagationStopped(),Ke=et.isDefaultPrevented());const ue=Lt(new Event(f,{bubbles:Tt,cancelable:!0}),b);return Ke&&ue.preventDefault(),$e&&k.dispatchEvent(ue),ue.defaultPrevented&&et&&et.preventDefault(),ue}};function Lt(k,f={}){for(const[b,D]of Object.entries(f))try{k[b]=D}catch{Object.defineProperty(k,b,{configurable:!0,get(){return D}})}return k}function A(k){if(k==="true")return!0;if(k==="false")return!1;if(k===Number(k).toString())return Number(k);if(k===""||k==="null")return null;if(typeof k!="string")return k;try{return JSON.parse(decodeURIComponent(k))}catch{return k}}function I(k){return k.replace(/[A-Z]/g,f=>`-${f.toLowerCase()}`)}const N={setDataAttribute(k,f,b){k.setAttribute(`data-bs-${I(f)}`,b)},removeDataAttribute(k,f){k.removeAttribute(`data-bs-${I(f)}`)},getDataAttributes(k){if(!k)return{};const f={},b=Object.keys(k.dataset).filter(D=>D.startsWith("bs")&&!D.startsWith("bsConfig"));for(const D of b){let U=D.replace(/^bs/,"");U=U.charAt(0).toLowerCase()+U.slice(1,U.length),f[U]=A(k.dataset[D])}return f},getDataAttribute(k,f){return A(k.getAttribute(`data-bs-${I(f)}`))}};class q{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(f){return f=this._mergeConfigObj(f),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}_configAfterMerge(f){return f}_mergeConfigObj(f,b){const D=_(b)?N.getDataAttribute(b,"config"):{};return{...this.constructor.Default,...typeof D=="object"?D:{},..._(b)?N.getDataAttributes(b):{},...typeof f=="object"?f:{}}}_typeCheckConfig(f,b=this.constructor.DefaultType){for(const[D,U]of Object.entries(b)){const it=f[D],et=_(it)?"element":u(it);if(!new RegExp(U).test(et))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${D}" provided type "${et}" but expected type "${U}".`)}}}const K="5.3.2";class X extends q{constructor(f,b){super(),f=v(f),f&&(this._element=f,this._config=this._getConfig(b),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const f of Object.getOwnPropertyNames(this))this[f]=null}_queueCallback(f,b,D=!0){F(f,b,D)}_getConfig(f){return f=this._mergeConfigObj(f,this._element),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}static getInstance(f){return r.get(v(f),this.DATA_KEY)}static getOrCreateInstance(f,b={}){return this.getInstance(f)||new this(f,typeof b=="object"?b:null)}static get VERSION(){return K}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(f){return`${f}${this.EVENT_KEY}`}}const at=k=>{let f=k.getAttribute("data-bs-target");if(!f||f==="#"){let b=k.getAttribute("href");if(!b||!b.includes("#")&&!b.startsWith("."))return null;b.includes("#")&&!b.startsWith("#")&&(b=`#${b.split("#")[1]}`),f=b&&b!=="#"?d(b.trim()):null}return f},B={find(k,f=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(f,k))},findOne(k,f=document.documentElement){return Element.prototype.querySelector.call(f,k)},children(k,f){return[].concat(...k.children).filter(b=>b.matches(f))},parents(k,f){const b=[];let D=k.parentNode.closest(f);for(;D;)b.push(D),D=D.parentNode.closest(f);return b},prev(k,f){let b=k.previousElementSibling;for(;b;){if(b.matches(f))return[b];b=b.previousElementSibling}return[]},next(k,f){let b=k.nextElementSibling;for(;b;){if(b.matches(f))return[b];b=b.nextElementSibling}return[]},focusableChildren(k){const f=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(b=>`${b}:not([tabindex^="-"])`).join(",");return this.find(f,k).filter(b=>!S(b)&&w(b))},getSelectorFromElement(k){const f=at(k);return f&&B.findOne(f)?f:null},getElementFromSelector(k){const f=at(k);return f?B.findOne(f):null},getMultipleElementsFromSelector(k){const f=at(k);return f?B.find(f):[]}},Z=(k,f="hide")=>{const b=`click.dismiss${k.EVENT_KEY}`,D=k.NAME;j.on(document,b,`[data-bs-dismiss="${D}"]`,function(U){if(["A","AREA"].includes(this.tagName)&&U.preventDefault(),S(this))return;const it=B.getElementFromSelector(this)||this.closest(`.${D}`);k.getOrCreateInstance(it)[f]()})},J="alert",gt=".bs.alert",pt=`close${gt}`,yt=`closed${gt}`,At="fade",Ht="show";class Rt extends X{static get NAME(){return J}close(){if(j.trigger(this._element,pt).defaultPrevented)return;this._element.classList.remove(Ht);const b=this._element.classList.contains(At);this._queueCallback(()=>this._destroyElement(),this._element,b)}_destroyElement(){this._element.remove(),j.trigger(this._element,yt),this.dispose()}static jQueryInterface(f){return this.each(function(){const b=Rt.getOrCreateInstance(this);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}Z(Rt,"close"),M(Rt);const oe="button",Ks=".bs.button",fr=".data-api",Pn="active",no='[data-bs-toggle="button"]',ye=`click${Ks}${fr}`;class ge extends X{static get NAME(){return oe}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Pn))}static jQueryInterface(f){return this.each(function(){const b=ge.getOrCreateInstance(this);f==="toggle"&&b[f]()})}}j.on(document,ye,no,k=>{k.preventDefault();const f=k.target.closest(no);ge.getOrCreateInstance(f).toggle()}),M(ge);const pr="swipe",li=".bs.swipe",jb=`touchstart${li}`,Hb=`touchmove${li}`,Wb=`touchend${li}`,zb=`pointerdown${li}`,Kb=`pointerup${li}`,Ub="touch",Yb="pen",qb="pointer-event",Gb=40,Jb={endCallback:null,leftCallback:null,rightCallback:null},Xb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class gr extends q{constructor(f,b){super(),this._element=f,!(!f||!gr.isSupported())&&(this._config=this._getConfig(b),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Jb}static get DefaultType(){return Xb}static get NAME(){return pr}dispose(){j.off(this._element,li)}_start(f){if(!this._supportPointerEvents){this._deltaX=f.touches[0].clientX;return}this._eventIsPointerPenTouch(f)&&(this._deltaX=f.clientX)}_end(f){this._eventIsPointerPenTouch(f)&&(this._deltaX=f.clientX-this._deltaX),this._handleSwipe(),O(this._config.endCallback)}_move(f){this._deltaX=f.touches&&f.touches.length>1?0:f.touches[0].clientX-this._deltaX}_handleSwipe(){const f=Math.abs(this._deltaX);if(f<=Gb)return;const b=f/this._deltaX;this._deltaX=0,b&&O(b>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,zb,f=>this._start(f)),j.on(this._element,Kb,f=>this._end(f)),this._element.classList.add(qb)):(j.on(this._element,jb,f=>this._start(f)),j.on(this._element,Hb,f=>this._move(f)),j.on(this._element,Wb,f=>this._end(f)))}_eventIsPointerPenTouch(f){return this._supportPointerEvents&&(f.pointerType===Yb||f.pointerType===Ub)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Qb="carousel",Us=".bs.carousel",mu=".data-api",Zb="ArrowLeft",tv="ArrowRight",ev=500,io="next",ci="prev",di="left",mr="right",sv=`slide${Us}`,bl=`slid${Us}`,nv=`keydown${Us}`,iv=`mouseenter${Us}`,ov=`mouseleave${Us}`,rv=`dragstart${Us}`,av=`load${Us}${mu}`,lv=`click${Us}${mu}`,_u="carousel",_r="active",cv="slide",dv="carousel-item-end",uv="carousel-item-start",hv="carousel-item-next",fv="carousel-item-prev",bu=".active",vu=".carousel-item",pv=bu+vu,gv=".carousel-item img",mv=".carousel-indicators",_v="[data-bs-slide], [data-bs-slide-to]",bv='[data-bs-ride="carousel"]',vv={[Zb]:mr,[tv]:di},yv={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},xv={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ui extends X{constructor(f,b){super(f,b),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=B.findOne(mv,this._element),this._addEventListeners(),this._config.ride===_u&&this.cycle()}static get Default(){return yv}static get DefaultType(){return xv}static get NAME(){return Qb}next(){this._slide(io)}nextWhenVisible(){!document.hidden&&w(this._element)&&this.next()}prev(){this._slide(ci)}pause(){this._isSliding&&m(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){j.one(this._element,bl,()=>this.cycle());return}this.cycle()}}to(f){const b=this._getItems();if(f>b.length-1||f<0)return;if(this._isSliding){j.one(this._element,bl,()=>this.to(f));return}const D=this._getItemIndex(this._getActive());if(D===f)return;const U=f>D?io:ci;this._slide(U,b[f])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(f){return f.defaultInterval=f.interval,f}_addEventListeners(){this._config.keyboard&&j.on(this._element,nv,f=>this._keydown(f)),this._config.pause==="hover"&&(j.on(this._element,iv,()=>this.pause()),j.on(this._element,ov,()=>this._maybeEnableCycle())),this._config.touch&&gr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const D of B.find(gv,this._element))j.on(D,rv,U=>U.preventDefault());const b={leftCallback:()=>this._slide(this._directionToOrder(di)),rightCallback:()=>this._slide(this._directionToOrder(mr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),ev+this._config.interval))}};this._swipeHelper=new gr(this._element,b)}_keydown(f){if(/input|textarea/i.test(f.target.tagName))return;const b=vv[f.key];b&&(f.preventDefault(),this._slide(this._directionToOrder(b)))}_getItemIndex(f){return this._getItems().indexOf(f)}_setActiveIndicatorElement(f){if(!this._indicatorsElement)return;const b=B.findOne(bu,this._indicatorsElement);b.classList.remove(_r),b.removeAttribute("aria-current");const D=B.findOne(`[data-bs-slide-to="${f}"]`,this._indicatorsElement);D&&(D.classList.add(_r),D.setAttribute("aria-current","true"))}_updateInterval(){const f=this._activeElement||this._getActive();if(!f)return;const b=Number.parseInt(f.getAttribute("data-bs-interval"),10);this._config.interval=b||this._config.defaultInterval}_slide(f,b=null){if(this._isSliding)return;const D=this._getActive(),U=f===io,it=b||Q(this._getItems(),D,U,this._config.wrap);if(it===D)return;const et=this._getItemIndex(it),Tt=Cr=>j.trigger(this._element,Cr,{relatedTarget:it,direction:this._orderToDirection(f),from:this._getItemIndex(D),to:et});if(Tt(sv).defaultPrevented||!D||!it)return;const Ke=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(et),this._activeElement=it;const ue=U?uv:dv,us=U?hv:fv;it.classList.add(us),y(it),D.classList.add(ue),it.classList.add(ue);const os=()=>{it.classList.remove(ue,us),it.classList.add(_r),D.classList.remove(_r,us,ue),this._isSliding=!1,Tt(bl)};this._queueCallback(os,D,this._isAnimated()),Ke&&this.cycle()}_isAnimated(){return this._element.classList.contains(cv)}_getActive(){return B.findOne(pv,this._element)}_getItems(){return B.find(vu,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(f){return P()?f===di?ci:io:f===di?io:ci}_orderToDirection(f){return P()?f===ci?di:mr:f===ci?mr:di}static jQueryInterface(f){return this.each(function(){const b=ui.getOrCreateInstance(this,f);if(typeof f=="number"){b.to(f);return}if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(document,lv,_v,function(k){const f=B.getElementFromSelector(this);if(!f||!f.classList.contains(_u))return;k.preventDefault();const b=ui.getOrCreateInstance(f),D=this.getAttribute("data-bs-slide-to");if(D){b.to(D),b._maybeEnableCycle();return}if(N.getDataAttribute(this,"slide")==="next"){b.next(),b._maybeEnableCycle();return}b.prev(),b._maybeEnableCycle()}),j.on(window,av,()=>{const k=B.find(bv);for(const f of k)ui.getOrCreateInstance(f)}),M(ui);const wv="collapse",oo=".bs.collapse",Sv=".data-api",Ev=`show${oo}`,Av=`shown${oo}`,Cv=`hide${oo}`,$v=`hidden${oo}`,Pv=`click${oo}${Sv}`,vl="show",hi="collapse",br="collapsing",kv="collapsed",Tv=`:scope .${hi} .${hi}`,Mv="collapse-horizontal",Dv="width",Iv="height",Ov=".collapse.show, .collapse.collapsing",yl='[data-bs-toggle="collapse"]',Lv={parent:null,toggle:!0},Rv={parent:"(null|element)",toggle:"boolean"};class fi extends X{constructor(f,b){super(f,b),this._isTransitioning=!1,this._triggerArray=[];const D=B.find(yl);for(const U of D){const it=B.getSelectorFromElement(U),et=B.find(it).filter(Tt=>Tt===this._element);it!==null&&et.length&&this._triggerArray.push(U)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Lv}static get DefaultType(){return Rv}static get NAME(){return wv}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let f=[];if(this._config.parent&&(f=this._getFirstLevelChildren(Ov).filter(Tt=>Tt!==this._element).map(Tt=>fi.getOrCreateInstance(Tt,{toggle:!1}))),f.length&&f[0]._isTransitioning||j.trigger(this._element,Ev).defaultPrevented)return;for(const Tt of f)Tt.hide();const D=this._getDimension();this._element.classList.remove(hi),this._element.classList.add(br),this._element.style[D]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const U=()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(hi,vl),this._element.style[D]="",j.trigger(this._element,Av)},et=`scroll${D[0].toUpperCase()+D.slice(1)}`;this._queueCallback(U,this._element,!0),this._element.style[D]=`${this._element[et]}px`}hide(){if(this._isTransitioning||!this._isShown()||j.trigger(this._element,Cv).defaultPrevented)return;const b=this._getDimension();this._element.style[b]=`${this._element.getBoundingClientRect()[b]}px`,y(this._element),this._element.classList.add(br),this._element.classList.remove(hi,vl);for(const U of this._triggerArray){const it=B.getElementFromSelector(U);it&&!this._isShown(it)&&this._addAriaAndCollapsedClass([U],!1)}this._isTransitioning=!0;const D=()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(hi),j.trigger(this._element,$v)};this._element.style[b]="",this._queueCallback(D,this._element,!0)}_isShown(f=this._element){return f.classList.contains(vl)}_configAfterMerge(f){return f.toggle=!!f.toggle,f.parent=v(f.parent),f}_getDimension(){return this._element.classList.contains(Mv)?Dv:Iv}_initializeChildren(){if(!this._config.parent)return;const f=this._getFirstLevelChildren(yl);for(const b of f){const D=B.getElementFromSelector(b);D&&this._addAriaAndCollapsedClass([b],this._isShown(D))}}_getFirstLevelChildren(f){const b=B.find(Tv,this._config.parent);return B.find(f,this._config.parent).filter(D=>!b.includes(D))}_addAriaAndCollapsedClass(f,b){if(f.length)for(const D of f)D.classList.toggle(kv,!b),D.setAttribute("aria-expanded",b)}static jQueryInterface(f){const b={};return typeof f=="string"&&/show|hide/.test(f)&&(b.toggle=!1),this.each(function(){const D=fi.getOrCreateInstance(this,b);if(typeof f=="string"){if(typeof D[f]>"u")throw new TypeError(`No method named "${f}"`);D[f]()}})}}j.on(document,Pv,yl,function(k){(k.target.tagName==="A"||k.delegateTarget&&k.delegateTarget.tagName==="A")&&k.preventDefault();for(const f of B.getMultipleElementsFromSelector(this))fi.getOrCreateInstance(f,{toggle:!1}).toggle()}),M(fi);const yu="dropdown",kn=".bs.dropdown",xl=".data-api",Nv="Escape",xu="Tab",Fv="ArrowUp",wu="ArrowDown",Bv=2,Vv=`hide${kn}`,jv=`hidden${kn}`,Hv=`show${kn}`,Wv=`shown${kn}`,Su=`click${kn}${xl}`,Eu=`keydown${kn}${xl}`,zv=`keyup${kn}${xl}`,pi="show",Kv="dropup",Uv="dropend",Yv="dropstart",qv="dropup-center",Gv="dropdown-center",Tn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Jv=`${Tn}.${pi}`,vr=".dropdown-menu",Xv=".navbar",Qv=".navbar-nav",Zv=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",ty=P()?"top-end":"top-start",ey=P()?"top-start":"top-end",sy=P()?"bottom-end":"bottom-start",ny=P()?"bottom-start":"bottom-end",iy=P()?"left-start":"right-start",oy=P()?"right-start":"left-start",ry="top",ay="bottom",ly={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},cy={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class is extends X{constructor(f,b){super(f,b),this._popper=null,this._parent=this._element.parentNode,this._menu=B.next(this._element,vr)[0]||B.prev(this._element,vr)[0]||B.findOne(vr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ly}static get DefaultType(){return cy}static get NAME(){return yu}toggle(){return this._isShown()?this.hide():this.show()}show(){if(S(this._element)||this._isShown())return;const f={relatedTarget:this._element};if(!j.trigger(this._element,Hv,f).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Qv))for(const D of[].concat(...document.body.children))j.on(D,"mouseover",T);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(pi),this._element.classList.add(pi),j.trigger(this._element,Wv,f)}}hide(){if(S(this._element)||!this._isShown())return;const f={relatedTarget:this._element};this._completeHide(f)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(f){if(!j.trigger(this._element,Vv,f).defaultPrevented){if("ontouchstart"in document.documentElement)for(const D of[].concat(...document.body.children))j.off(D,"mouseover",T);this._popper&&this._popper.destroy(),this._menu.classList.remove(pi),this._element.classList.remove(pi),this._element.setAttribute("aria-expanded","false"),N.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,jv,f)}}_getConfig(f){if(f=super._getConfig(f),typeof f.reference=="object"&&!_(f.reference)&&typeof f.reference.getBoundingClientRect!="function")throw new TypeError(`${yu.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return f}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let f=this._element;this._config.reference==="parent"?f=this._parent:_(this._config.reference)?f=v(this._config.reference):typeof this._config.reference=="object"&&(f=this._config.reference);const b=this._getPopperConfig();this._popper=i.createPopper(f,this._menu,b)}_isShown(){return this._menu.classList.contains(pi)}_getPlacement(){const f=this._parent;if(f.classList.contains(Uv))return iy;if(f.classList.contains(Yv))return oy;if(f.classList.contains(qv))return ry;if(f.classList.contains(Gv))return ay;const b=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return f.classList.contains(Kv)?b?ey:ty:b?ny:sy}_detectNavbar(){return this._element.closest(Xv)!==null}_getOffset(){const{offset:f}=this._config;return typeof f=="string"?f.split(",").map(b=>Number.parseInt(b,10)):typeof f=="function"?b=>f(b,this._element):f}_getPopperConfig(){const f={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(N.setDataAttribute(this._menu,"popper","static"),f.modifiers=[{name:"applyStyles",enabled:!1}]),{...f,...O(this._config.popperConfig,[f])}}_selectMenuItem({key:f,target:b}){const D=B.find(Zv,this._menu).filter(U=>w(U));D.length&&Q(D,b,f===wu,!D.includes(b)).focus()}static jQueryInterface(f){return this.each(function(){const b=is.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}static clearMenus(f){if(f.button===Bv||f.type==="keyup"&&f.key!==xu)return;const b=B.find(Jv);for(const D of b){const U=is.getInstance(D);if(!U||U._config.autoClose===!1)continue;const it=f.composedPath(),et=it.includes(U._menu);if(it.includes(U._element)||U._config.autoClose==="inside"&&!et||U._config.autoClose==="outside"&&et||U._menu.contains(f.target)&&(f.type==="keyup"&&f.key===xu||/input|select|option|textarea|form/i.test(f.target.tagName)))continue;const Tt={relatedTarget:U._element};f.type==="click"&&(Tt.clickEvent=f),U._completeHide(Tt)}}static dataApiKeydownHandler(f){const b=/input|textarea/i.test(f.target.tagName),D=f.key===Nv,U=[Fv,wu].includes(f.key);if(!U&&!D||b&&!D)return;f.preventDefault();const it=this.matches(Tn)?this:B.prev(this,Tn)[0]||B.next(this,Tn)[0]||B.findOne(Tn,f.delegateTarget.parentNode),et=is.getOrCreateInstance(it);if(U){f.stopPropagation(),et.show(),et._selectMenuItem(f);return}et._isShown()&&(f.stopPropagation(),et.hide(),it.focus())}}j.on(document,Eu,Tn,is.dataApiKeydownHandler),j.on(document,Eu,vr,is.dataApiKeydownHandler),j.on(document,Su,is.clearMenus),j.on(document,zv,is.clearMenus),j.on(document,Su,Tn,function(k){k.preventDefault(),is.getOrCreateInstance(this).toggle()}),M(is);const Au="backdrop",dy="fade",Cu="show",$u=`mousedown.bs.${Au}`,uy={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},hy={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Pu extends q{constructor(f){super(),this._config=this._getConfig(f),this._isAppended=!1,this._element=null}static get Default(){return uy}static get DefaultType(){return hy}static get NAME(){return Au}show(f){if(!this._config.isVisible){O(f);return}this._append();const b=this._getElement();this._config.isAnimated&&y(b),b.classList.add(Cu),this._emulateAnimation(()=>{O(f)})}hide(f){if(!this._config.isVisible){O(f);return}this._getElement().classList.remove(Cu),this._emulateAnimation(()=>{this.dispose(),O(f)})}dispose(){this._isAppended&&(j.off(this._element,$u),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const f=document.createElement("div");f.className=this._config.className,this._config.isAnimated&&f.classList.add(dy),this._element=f}return this._element}_configAfterMerge(f){return f.rootElement=v(f.rootElement),f}_append(){if(this._isAppended)return;const f=this._getElement();this._config.rootElement.append(f),j.on(f,$u,()=>{O(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(f){F(f,this._getElement(),this._config.isAnimated)}}const fy="focustrap",yr=".bs.focustrap",py=`focusin${yr}`,gy=`keydown.tab${yr}`,my="Tab",_y="forward",ku="backward",by={autofocus:!0,trapElement:null},vy={autofocus:"boolean",trapElement:"element"};class Tu extends q{constructor(f){super(),this._config=this._getConfig(f),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return by}static get DefaultType(){return vy}static get NAME(){return fy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,yr),j.on(document,py,f=>this._handleFocusin(f)),j.on(document,gy,f=>this._handleKeydown(f)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,yr))}_handleFocusin(f){const{trapElement:b}=this._config;if(f.target===document||f.target===b||b.contains(f.target))return;const D=B.focusableChildren(b);D.length===0?b.focus():this._lastTabNavDirection===ku?D[D.length-1].focus():D[0].focus()}_handleKeydown(f){f.key===my&&(this._lastTabNavDirection=f.shiftKey?ku:_y)}}const Mu=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Du=".sticky-top",xr="padding-right",Iu="margin-right";class wl{constructor(){this._element=document.body}getWidth(){const f=document.documentElement.clientWidth;return Math.abs(window.innerWidth-f)}hide(){const f=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,xr,b=>b+f),this._setElementAttributes(Mu,xr,b=>b+f),this._setElementAttributes(Du,Iu,b=>b-f)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,xr),this._resetElementAttributes(Mu,xr),this._resetElementAttributes(Du,Iu)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(f,b,D){const U=this.getWidth(),it=et=>{if(et!==this._element&&window.innerWidth>et.clientWidth+U)return;this._saveInitialAttribute(et,b);const Tt=window.getComputedStyle(et).getPropertyValue(b);et.style.setProperty(b,`${D(Number.parseFloat(Tt))}px`)};this._applyManipulationCallback(f,it)}_saveInitialAttribute(f,b){const D=f.style.getPropertyValue(b);D&&N.setDataAttribute(f,b,D)}_resetElementAttributes(f,b){const D=U=>{const it=N.getDataAttribute(U,b);if(it===null){U.style.removeProperty(b);return}N.removeDataAttribute(U,b),U.style.setProperty(b,it)};this._applyManipulationCallback(f,D)}_applyManipulationCallback(f,b){if(_(f)){b(f);return}for(const D of B.find(f,this._element))b(D)}}const yy="modal",ze=".bs.modal",xy=".data-api",wy="Escape",Sy=`hide${ze}`,Ey=`hidePrevented${ze}`,Ou=`hidden${ze}`,Lu=`show${ze}`,Ay=`shown${ze}`,Cy=`resize${ze}`,$y=`click.dismiss${ze}`,Py=`mousedown.dismiss${ze}`,ky=`keydown.dismiss${ze}`,Ty=`click${ze}${xy}`,Ru="modal-open",My="fade",Nu="show",Sl="modal-static",Dy=".modal.show",Iy=".modal-dialog",Oy=".modal-body",Ly='[data-bs-toggle="modal"]',Ry={backdrop:!0,focus:!0,keyboard:!0},Ny={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Mn extends X{constructor(f,b){super(f,b),this._dialog=B.findOne(Iy,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new wl,this._addEventListeners()}static get Default(){return Ry}static get DefaultType(){return Ny}static get NAME(){return yy}toggle(f){return this._isShown?this.hide():this.show(f)}show(f){this._isShown||this._isTransitioning||j.trigger(this._element,Lu,{relatedTarget:f}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ru),this._adjustDialog(),this._backdrop.show(()=>this._showElement(f)))}hide(){!this._isShown||this._isTransitioning||j.trigger(this._element,Sy).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Nu),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){j.off(window,ze),j.off(this._dialog,ze),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Pu({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Tu({trapElement:this._element})}_showElement(f){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 b=B.findOne(Oy,this._dialog);b&&(b.scrollTop=0),y(this._element),this._element.classList.add(Nu);const D=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,Ay,{relatedTarget:f})};this._queueCallback(D,this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,ky,f=>{if(f.key===wy){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),j.on(window,Cy,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),j.on(this._element,Py,f=>{j.one(this._element,$y,b=>{if(!(this._element!==f.target||this._element!==b.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(Ru),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Ou)})}_isAnimated(){return this._element.classList.contains(My)}_triggerBackdropTransition(){if(j.trigger(this._element,Ey).defaultPrevented)return;const b=this._element.scrollHeight>document.documentElement.clientHeight,D=this._element.style.overflowY;D==="hidden"||this._element.classList.contains(Sl)||(b||(this._element.style.overflowY="hidden"),this._element.classList.add(Sl),this._queueCallback(()=>{this._element.classList.remove(Sl),this._queueCallback(()=>{this._element.style.overflowY=D},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const f=this._element.scrollHeight>document.documentElement.clientHeight,b=this._scrollBar.getWidth(),D=b>0;if(D&&!f){const U=P()?"paddingLeft":"paddingRight";this._element.style[U]=`${b}px`}if(!D&&f){const U=P()?"paddingRight":"paddingLeft";this._element.style[U]=`${b}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(f,b){return this.each(function(){const D=Mn.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof D[f]>"u")throw new TypeError(`No method named "${f}"`);D[f](b)}})}}j.on(document,Ty,Ly,function(k){const f=B.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&k.preventDefault(),j.one(f,Lu,U=>{U.defaultPrevented||j.one(f,Ou,()=>{w(this)&&this.focus()})});const b=B.findOne(Dy);b&&Mn.getInstance(b).hide(),Mn.getOrCreateInstance(f).toggle(this)}),Z(Mn),M(Mn);const Fy="offcanvas",Cs=".bs.offcanvas",Fu=".data-api",By=`load${Cs}${Fu}`,Vy="Escape",Bu="show",Vu="showing",ju="hiding",jy="offcanvas-backdrop",Hu=".offcanvas.show",Hy=`show${Cs}`,Wy=`shown${Cs}`,zy=`hide${Cs}`,Wu=`hidePrevented${Cs}`,zu=`hidden${Cs}`,Ky=`resize${Cs}`,Uy=`click${Cs}${Fu}`,Yy=`keydown.dismiss${Cs}`,qy='[data-bs-toggle="offcanvas"]',Gy={backdrop:!0,keyboard:!0,scroll:!1},Jy={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class $s extends X{constructor(f,b){super(f,b),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Gy}static get DefaultType(){return Jy}static get NAME(){return Fy}toggle(f){return this._isShown?this.hide():this.show(f)}show(f){if(this._isShown||j.trigger(this._element,Hy,{relatedTarget:f}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new wl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Vu);const D=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Bu),this._element.classList.remove(Vu),j.trigger(this._element,Wy,{relatedTarget:f})};this._queueCallback(D,this._element,!0)}hide(){if(!this._isShown||j.trigger(this._element,zy).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ju),this._backdrop.hide();const b=()=>{this._element.classList.remove(Bu,ju),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new wl().reset(),j.trigger(this._element,zu)};this._queueCallback(b,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const f=()=>{if(this._config.backdrop==="static"){j.trigger(this._element,Wu);return}this.hide()},b=!!this._config.backdrop;return new Pu({className:jy,isVisible:b,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:b?f:null})}_initializeFocusTrap(){return new Tu({trapElement:this._element})}_addEventListeners(){j.on(this._element,Yy,f=>{if(f.key===Vy){if(this._config.keyboard){this.hide();return}j.trigger(this._element,Wu)}})}static jQueryInterface(f){return this.each(function(){const b=$s.getOrCreateInstance(this,f);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}j.on(document,Uy,qy,function(k){const f=B.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),S(this))return;j.one(f,zu,()=>{w(this)&&this.focus()});const b=B.findOne(Hu);b&&b!==f&&$s.getInstance(b).hide(),$s.getOrCreateInstance(f).toggle(this)}),j.on(window,By,()=>{for(const k of B.find(Hu))$s.getOrCreateInstance(k).show()}),j.on(window,Ky,()=>{for(const k of B.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(k).position!=="fixed"&&$s.getOrCreateInstance(k).hide()}),Z($s),M($s);const Ku={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]},Xy=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qy=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Zy=(k,f)=>{const b=k.nodeName.toLowerCase();return f.includes(b)?Xy.has(b)?!!Qy.test(k.nodeValue):!0:f.filter(D=>D instanceof RegExp).some(D=>D.test(b))};function t0(k,f,b){if(!k.length)return k;if(b&&typeof b=="function")return b(k);const U=new window.DOMParser().parseFromString(k,"text/html"),it=[].concat(...U.body.querySelectorAll("*"));for(const et of it){const Tt=et.nodeName.toLowerCase();if(!Object.keys(f).includes(Tt)){et.remove();continue}const $e=[].concat(...et.attributes),Ke=[].concat(f["*"]||[],f[Tt]||[]);for(const ue of $e)Zy(ue,Ke)||et.removeAttribute(ue.nodeName)}return U.body.innerHTML}const e0="TemplateFactory",s0={allowList:Ku,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},n0={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},i0={entry:"(string|element|function|null)",selector:"(string|element)"};class o0 extends q{constructor(f){super(),this._config=this._getConfig(f)}static get Default(){return s0}static get DefaultType(){return n0}static get NAME(){return e0}getContent(){return Object.values(this._config.content).map(f=>this._resolvePossibleFunction(f)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(f){return this._checkContent(f),this._config.content={...this._config.content,...f},this}toHtml(){const f=document.createElement("div");f.innerHTML=this._maybeSanitize(this._config.template);for(const[U,it]of Object.entries(this._config.content))this._setContent(f,it,U);const b=f.children[0],D=this._resolvePossibleFunction(this._config.extraClass);return D&&b.classList.add(...D.split(" ")),b}_typeCheckConfig(f){super._typeCheckConfig(f),this._checkContent(f.content)}_checkContent(f){for(const[b,D]of Object.entries(f))super._typeCheckConfig({selector:b,entry:D},i0)}_setContent(f,b,D){const U=B.findOne(D,f);if(U){if(b=this._resolvePossibleFunction(b),!b){U.remove();return}if(_(b)){this._putElementInTemplate(v(b),U);return}if(this._config.html){U.innerHTML=this._maybeSanitize(b);return}U.textContent=b}}_maybeSanitize(f){return this._config.sanitize?t0(f,this._config.allowList,this._config.sanitizeFn):f}_resolvePossibleFunction(f){return O(f,[this])}_putElementInTemplate(f,b){if(this._config.html){b.innerHTML="",b.append(f);return}b.textContent=f.textContent}}const r0="tooltip",a0=new Set(["sanitize","allowList","sanitizeFn"]),El="fade",l0="modal",wr="show",c0=".tooltip-inner",Uu=`.${l0}`,Yu="hide.bs.modal",ro="hover",Al="focus",d0="click",u0="manual",h0="hide",f0="hidden",p0="show",g0="shown",m0="inserted",_0="click",b0="focusin",v0="focusout",y0="mouseenter",x0="mouseleave",w0={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},S0={allowList:Ku,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"},E0={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 Dn extends X{constructor(f,b){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(f,b),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 S0}static get DefaultType(){return E0}static get NAME(){return r0}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(Uu),Yu,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 f=j.trigger(this._element,this.constructor.eventName(p0)),D=($(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(f.defaultPrevented||!D)return;this._disposePopper();const U=this._getTipElement();this._element.setAttribute("aria-describedby",U.getAttribute("id"));const{container:it}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(it.append(U),j.trigger(this._element,this.constructor.eventName(m0))),this._popper=this._createPopper(U),U.classList.add(wr),"ontouchstart"in document.documentElement)for(const Tt of[].concat(...document.body.children))j.on(Tt,"mouseover",T);const et=()=>{j.trigger(this._element,this.constructor.eventName(g0)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(et,this.tip,this._isAnimated())}hide(){if(!this._isShown()||j.trigger(this._element,this.constructor.eventName(h0)).defaultPrevented)return;if(this._getTipElement().classList.remove(wr),"ontouchstart"in document.documentElement)for(const U of[].concat(...document.body.children))j.off(U,"mouseover",T);this._activeTrigger[d0]=!1,this._activeTrigger[Al]=!1,this._activeTrigger[ro]=!1,this._isHovered=null;const D=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName(f0)))};this._queueCallback(D,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(f){const b=this._getTemplateFactory(f).toHtml();if(!b)return null;b.classList.remove(El,wr),b.classList.add(`bs-${this.constructor.NAME}-auto`);const D=p(this.constructor.NAME).toString();return b.setAttribute("id",D),this._isAnimated()&&b.classList.add(El),b}setContent(f){this._newContent=f,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(f){return this._templateFactory?this._templateFactory.changeContent(f):this._templateFactory=new o0({...this._config,content:f,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[c0]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(f){return this.constructor.getOrCreateInstance(f.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(El)}_isShown(){return this.tip&&this.tip.classList.contains(wr)}_createPopper(f){const b=O(this._config.placement,[this,f,this._element]),D=w0[b.toUpperCase()];return i.createPopper(this._element,f,this._getPopperConfig(D))}_getOffset(){const{offset:f}=this._config;return typeof f=="string"?f.split(",").map(b=>Number.parseInt(b,10)):typeof f=="function"?b=>f(b,this._element):f}_resolvePossibleFunction(f){return O(f,[this._element])}_getPopperConfig(f){const b={placement:f,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:D=>{this._getTipElement().setAttribute("data-popper-placement",D.state.placement)}}]};return{...b,...O(this._config.popperConfig,[b])}}_setListeners(){const f=this._config.trigger.split(" ");for(const b of f)if(b==="click")j.on(this._element,this.constructor.eventName(_0),this._config.selector,D=>{this._initializeOnDelegatedTarget(D).toggle()});else if(b!==u0){const D=b===ro?this.constructor.eventName(y0):this.constructor.eventName(b0),U=b===ro?this.constructor.eventName(x0):this.constructor.eventName(v0);j.on(this._element,D,this._config.selector,it=>{const et=this._initializeOnDelegatedTarget(it);et._activeTrigger[it.type==="focusin"?Al:ro]=!0,et._enter()}),j.on(this._element,U,this._config.selector,it=>{const et=this._initializeOnDelegatedTarget(it);et._activeTrigger[it.type==="focusout"?Al:ro]=et._element.contains(it.relatedTarget),et._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(Uu),Yu,this._hideModalHandler)}_fixTitle(){const f=this._element.getAttribute("title");f&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",f),this._element.setAttribute("data-bs-original-title",f),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(f,b){clearTimeout(this._timeout),this._timeout=setTimeout(f,b)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(f){const b=N.getDataAttributes(this._element);for(const D of Object.keys(b))a0.has(D)&&delete b[D];return f={...b,...typeof f=="object"&&f?f:{}},f=this._mergeConfigObj(f),f=this._configAfterMerge(f),this._typeCheckConfig(f),f}_configAfterMerge(f){return f.container=f.container===!1?document.body:v(f.container),typeof f.delay=="number"&&(f.delay={show:f.delay,hide:f.delay}),typeof f.title=="number"&&(f.title=f.title.toString()),typeof f.content=="number"&&(f.content=f.content.toString()),f}_getDelegateConfig(){const f={};for(const[b,D]of Object.entries(this._config))this.constructor.Default[b]!==D&&(f[b]=D);return f.selector=!1,f.trigger="manual",f}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(f){return this.each(function(){const b=Dn.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}}M(Dn);const A0="popover",C0=".popover-header",$0=".popover-body",P0={...Dn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},k0={...Dn.DefaultType,content:"(null|string|element|function)"};class Sr extends Dn{static get Default(){return P0}static get DefaultType(){return k0}static get NAME(){return A0}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[C0]:this._getTitle(),[$0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(f){return this.each(function(){const b=Sr.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f]()}})}}M(Sr);const T0="scrollspy",Cl=".bs.scrollspy",M0=".data-api",D0=`activate${Cl}`,qu=`click${Cl}`,I0=`load${Cl}${M0}`,O0="dropdown-item",gi="active",L0='[data-bs-spy="scroll"]',$l="[href]",R0=".nav, .list-group",Gu=".nav-link",N0=`${Gu}, .nav-item > ${Gu}, .list-group-item`,F0=".dropdown",B0=".dropdown-toggle",V0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},j0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ao extends X{constructor(f,b){super(f,b),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 V0}static get DefaultType(){return j0}static get NAME(){return T0}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const f of this._observableSections.values())this._observer.observe(f)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(f){return f.target=v(f.target)||document.body,f.rootMargin=f.offset?`${f.offset}px 0px -30%`:f.rootMargin,typeof f.threshold=="string"&&(f.threshold=f.threshold.split(",").map(b=>Number.parseFloat(b))),f}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,qu),j.on(this._config.target,qu,$l,f=>{const b=this._observableSections.get(f.target.hash);if(b){f.preventDefault();const D=this._rootElement||window,U=b.offsetTop-this._element.offsetTop;if(D.scrollTo){D.scrollTo({top:U,behavior:"smooth"});return}D.scrollTop=U}}))}_getNewObserver(){const f={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(b=>this._observerCallback(b),f)}_observerCallback(f){const b=et=>this._targetLinks.get(`#${et.target.id}`),D=et=>{this._previousScrollData.visibleEntryTop=et.target.offsetTop,this._process(b(et))},U=(this._rootElement||document.documentElement).scrollTop,it=U>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=U;for(const et of f){if(!et.isIntersecting){this._activeTarget=null,this._clearActiveClass(b(et));continue}const Tt=et.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(it&&Tt){if(D(et),!U)return;continue}!it&&!Tt&&D(et)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const f=B.find($l,this._config.target);for(const b of f){if(!b.hash||S(b))continue;const D=B.findOne(decodeURI(b.hash),this._element);w(D)&&(this._targetLinks.set(decodeURI(b.hash),b),this._observableSections.set(b.hash,D))}}_process(f){this._activeTarget!==f&&(this._clearActiveClass(this._config.target),this._activeTarget=f,f.classList.add(gi),this._activateParents(f),j.trigger(this._element,D0,{relatedTarget:f}))}_activateParents(f){if(f.classList.contains(O0)){B.findOne(B0,f.closest(F0)).classList.add(gi);return}for(const b of B.parents(f,R0))for(const D of B.prev(b,N0))D.classList.add(gi)}_clearActiveClass(f){f.classList.remove(gi);const b=B.find(`${$l}.${gi}`,f);for(const D of b)D.classList.remove(gi)}static jQueryInterface(f){return this.each(function(){const b=ao.getOrCreateInstance(this,f);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(window,I0,()=>{for(const k of B.find(L0))ao.getOrCreateInstance(k)}),M(ao);const H0="tab",In=".bs.tab",W0=`hide${In}`,z0=`hidden${In}`,K0=`show${In}`,U0=`shown${In}`,Y0=`click${In}`,q0=`keydown${In}`,G0=`load${In}`,J0="ArrowLeft",Ju="ArrowRight",X0="ArrowUp",Xu="ArrowDown",Pl="Home",Qu="End",On="active",Zu="fade",kl="show",Q0="dropdown",th=".dropdown-toggle",Z0=".dropdown-menu",Tl=`:not(${th})`,t1='.list-group, .nav, [role="tablist"]',e1=".nav-item, .list-group-item",s1=`.nav-link${Tl}, .list-group-item${Tl}, [role="tab"]${Tl}`,eh='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ml=`${s1}, ${eh}`,n1=`.${On}[data-bs-toggle="tab"], .${On}[data-bs-toggle="pill"], .${On}[data-bs-toggle="list"]`;class Ln extends X{constructor(f){super(f),this._parent=this._element.closest(t1),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,q0,b=>this._keydown(b)))}static get NAME(){return H0}show(){const f=this._element;if(this._elemIsActive(f))return;const b=this._getActiveElem(),D=b?j.trigger(b,W0,{relatedTarget:f}):null;j.trigger(f,K0,{relatedTarget:b}).defaultPrevented||D&&D.defaultPrevented||(this._deactivate(b,f),this._activate(f,b))}_activate(f,b){if(!f)return;f.classList.add(On),this._activate(B.getElementFromSelector(f));const D=()=>{if(f.getAttribute("role")!=="tab"){f.classList.add(kl);return}f.removeAttribute("tabindex"),f.setAttribute("aria-selected",!0),this._toggleDropDown(f,!0),j.trigger(f,U0,{relatedTarget:b})};this._queueCallback(D,f,f.classList.contains(Zu))}_deactivate(f,b){if(!f)return;f.classList.remove(On),f.blur(),this._deactivate(B.getElementFromSelector(f));const D=()=>{if(f.getAttribute("role")!=="tab"){f.classList.remove(kl);return}f.setAttribute("aria-selected",!1),f.setAttribute("tabindex","-1"),this._toggleDropDown(f,!1),j.trigger(f,z0,{relatedTarget:b})};this._queueCallback(D,f,f.classList.contains(Zu))}_keydown(f){if(![J0,Ju,X0,Xu,Pl,Qu].includes(f.key))return;f.stopPropagation(),f.preventDefault();const b=this._getChildren().filter(U=>!S(U));let D;if([Pl,Qu].includes(f.key))D=b[f.key===Pl?0:b.length-1];else{const U=[Ju,Xu].includes(f.key);D=Q(b,f.target,U,!0)}D&&(D.focus({preventScroll:!0}),Ln.getOrCreateInstance(D).show())}_getChildren(){return B.find(Ml,this._parent)}_getActiveElem(){return this._getChildren().find(f=>this._elemIsActive(f))||null}_setInitialAttributes(f,b){this._setAttributeIfNotExists(f,"role","tablist");for(const D of b)this._setInitialAttributesOnChild(D)}_setInitialAttributesOnChild(f){f=this._getInnerElement(f);const b=this._elemIsActive(f),D=this._getOuterElement(f);f.setAttribute("aria-selected",b),D!==f&&this._setAttributeIfNotExists(D,"role","presentation"),b||f.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(f,"role","tab"),this._setInitialAttributesOnTargetPanel(f)}_setInitialAttributesOnTargetPanel(f){const b=B.getElementFromSelector(f);b&&(this._setAttributeIfNotExists(b,"role","tabpanel"),f.id&&this._setAttributeIfNotExists(b,"aria-labelledby",`${f.id}`))}_toggleDropDown(f,b){const D=this._getOuterElement(f);if(!D.classList.contains(Q0))return;const U=(it,et)=>{const Tt=B.findOne(it,D);Tt&&Tt.classList.toggle(et,b)};U(th,On),U(Z0,kl),D.setAttribute("aria-expanded",b)}_setAttributeIfNotExists(f,b,D){f.hasAttribute(b)||f.setAttribute(b,D)}_elemIsActive(f){return f.classList.contains(On)}_getInnerElement(f){return f.matches(Ml)?f:B.findOne(Ml,f)}_getOuterElement(f){return f.closest(e1)||f}static jQueryInterface(f){return this.each(function(){const b=Ln.getOrCreateInstance(this);if(typeof f=="string"){if(b[f]===void 0||f.startsWith("_")||f==="constructor")throw new TypeError(`No method named "${f}"`);b[f]()}})}}j.on(document,Y0,eh,function(k){["A","AREA"].includes(this.tagName)&&k.preventDefault(),!S(this)&&Ln.getOrCreateInstance(this).show()}),j.on(window,G0,()=>{for(const k of B.find(n1))Ln.getOrCreateInstance(k)}),M(Ln);const i1="toast",Ys=".bs.toast",o1=`mouseover${Ys}`,r1=`mouseout${Ys}`,a1=`focusin${Ys}`,l1=`focusout${Ys}`,c1=`hide${Ys}`,d1=`hidden${Ys}`,u1=`show${Ys}`,h1=`shown${Ys}`,f1="fade",sh="hide",Er="show",Ar="showing",p1={animation:"boolean",autohide:"boolean",delay:"number"},g1={animation:!0,autohide:!0,delay:5e3};class lo extends X{constructor(f,b){super(f,b),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return g1}static get DefaultType(){return p1}static get NAME(){return i1}show(){if(j.trigger(this._element,u1).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(f1);const b=()=>{this._element.classList.remove(Ar),j.trigger(this._element,h1),this._maybeScheduleHide()};this._element.classList.remove(sh),y(this._element),this._element.classList.add(Er,Ar),this._queueCallback(b,this._element,this._config.animation)}hide(){if(!this.isShown()||j.trigger(this._element,c1).defaultPrevented)return;const b=()=>{this._element.classList.add(sh),this._element.classList.remove(Ar,Er),j.trigger(this._element,d1)};this._element.classList.add(Ar),this._queueCallback(b,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Er),super.dispose()}isShown(){return this._element.classList.contains(Er)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(f,b){switch(f.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=b;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=b;break}}if(b){this._clearTimeout();return}const D=f.relatedTarget;this._element===D||this._element.contains(D)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,o1,f=>this._onInteraction(f,!0)),j.on(this._element,r1,f=>this._onInteraction(f,!1)),j.on(this._element,a1,f=>this._onInteraction(f,!0)),j.on(this._element,l1,f=>this._onInteraction(f,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(f){return this.each(function(){const b=lo.getOrCreateInstance(this,f);if(typeof f=="string"){if(typeof b[f]>"u")throw new TypeError(`No method named "${f}"`);b[f](this)}})}}return Z(lo),M(lo),{Alert:Rt,Button:ge,Carousel:ui,Collapse:fi,Dropdown:is,Modal:Mn,Offcanvas:$s,Popover:Sr,ScrollSpy:ao,Tab:Ln,Toast:lo,Tooltip:Dn}})})(x1);/** * @vue/shared v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function pd(e,t){const s=new Set(e.split(","));return t?n=>s.has(n.toLowerCase()):n=>s.has(n)}const qt={},Si=[],Ge=()=>{},ux=()=>!1,ja=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gd=e=>e.startsWith("onUpdate:"),ne=Object.assign,md=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},hx=Object.prototype.hasOwnProperty,Vt=(e,t)=>hx.call(e,t),mt=Array.isArray,Ai=e=>nr(e)==="[object Map]",Qi=e=>nr(e)==="[object Set]",uh=e=>nr(e)==="[object Date]",Et=e=>typeof e=="function",ie=e=>typeof e=="string",js=e=>typeof e=="symbol",Ut=e=>e!==null&&typeof e=="object",Sg=e=>(Ut(e)||Et(e))&&Et(e.then)&&Et(e.catch),Ag=Object.prototype.toString,nr=e=>Ag.call(e),fx=e=>nr(e).slice(8,-1),Cg=e=>nr(e)==="[object Object]",_d=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$o=pd(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ha=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},px=/-(\w)/g,ws=Ha(e=>e.replace(px,(t,s)=>s?s.toUpperCase():"")),gx=/\B([A-Z])/g,Zi=Ha(e=>e.replace(gx,"-$1").toLowerCase()),Wa=Ha(e=>e.charAt(0).toUpperCase()+e.slice(1)),Dl=Ha(e=>e?`on${Wa(e)}`:""),mn=(e,t)=>!Object.is(e,t),ea=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},ba=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Pg=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let hh;const kg=()=>hh||(hh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ri(e){if(mt(e)){const t={};for(let s=0;s{if(s){const n=s.split(_x);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Mt(e){let t="";if(ie(e))t=e;else if(mt(e))for(let s=0;ssi(s,t))}const nt=e=>ie(e)?e:e==null?"":mt(e)||Ut(e)&&(e.toString===Ag||!Et(e.toString))?JSON.stringify(e,Mg,2):String(e),Mg=(e,t)=>t&&t.__v_isRef?Mg(e,t.value):Ai(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[Il(n,o)+" =>"]=i,s),{})}:Qi(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Il(s))}:js(t)?Il(t):Ut(t)&&!mt(t)&&!Cg(t)?String(t):t,Il=(e,t="")=>{var s;return js(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +**//*! #__NO_SIDE_EFFECTS__ */function pd(e,t){const s=new Set(e.split(","));return t?n=>s.has(n.toLowerCase()):n=>s.has(n)}const qt={},Ei=[],Ge=()=>{},ux=()=>!1,ja=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gd=e=>e.startsWith("onUpdate:"),ne=Object.assign,md=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},hx=Object.prototype.hasOwnProperty,Vt=(e,t)=>hx.call(e,t),mt=Array.isArray,Ai=e=>nr(e)==="[object Map]",Qi=e=>nr(e)==="[object Set]",uh=e=>nr(e)==="[object Date]",St=e=>typeof e=="function",ie=e=>typeof e=="string",js=e=>typeof e=="symbol",Ut=e=>e!==null&&typeof e=="object",Eg=e=>(Ut(e)||St(e))&&St(e.then)&&St(e.catch),Ag=Object.prototype.toString,nr=e=>Ag.call(e),fx=e=>nr(e).slice(8,-1),Cg=e=>nr(e)==="[object Object]",_d=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$o=pd(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ha=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},px=/-(\w)/g,Ss=Ha(e=>e.replace(px,(t,s)=>s?s.toUpperCase():"")),gx=/\B([A-Z])/g,Zi=Ha(e=>e.replace(gx,"-$1").toLowerCase()),Wa=Ha(e=>e.charAt(0).toUpperCase()+e.slice(1)),Dl=Ha(e=>e?`on${Wa(e)}`:""),mn=(e,t)=>!Object.is(e,t),ea=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},ba=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Pg=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let hh;const kg=()=>hh||(hh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ri(e){if(mt(e)){const t={};for(let s=0;s{if(s){const n=s.split(_x);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Mt(e){let t="";if(ie(e))t=e;else if(mt(e))for(let s=0;ssi(s,t))}const nt=e=>ie(e)?e:e==null?"":mt(e)||Ut(e)&&(e.toString===Ag||!St(e.toString))?JSON.stringify(e,Mg,2):String(e),Mg=(e,t)=>t&&t.__v_isRef?Mg(e,t.value):Ai(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[Il(n,o)+" =>"]=i,s),{})}:Qi(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Il(s))}:js(t)?Il(t):Ut(t)&&!mt(t)&&!Cg(t)?String(t):t,Il=(e,t="")=>{var s;return js(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** * @vue/reactivity v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Oe;class Dg{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Oe,!t&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const s=Oe;try{return Oe=this,t()}finally{Oe=s}}}on(){Oe=this}off(){Oe=this.parent}stop(t){if(this._active){let s,n;for(s=0,n=this.effects.length;s=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),En()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=hn,s=qn;try{return hn=!0,qn=this,this._runnings++,fh(this),this.fn()}finally{ph(this),this._runnings--,qn=s,hn=t}}stop(){this.active&&(fh(this),ph(this),this.onStop&&this.onStop(),this.active=!1)}}function Sx(e){return e.value}function fh(e){e._trackId++,e._depsLength=0}function ph(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){n._dirtyLevel=2;continue}let i;n._dirtyLevel{const s=new Map;return s.cleanup=e,s.computed=t,s},va=new WeakMap,Gn=Symbol(""),gc=Symbol("");function De(e,t,s){if(hn&&qn){let n=va.get(e);n||va.set(e,n=new Map);let i=n.get(s);i||n.set(s,i=Bg(()=>n.delete(s))),Ng(qn,i)}}function Fs(e,t,s,n,i,o){const r=va.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(s==="length"&&mt(e)){const l=Number(n);r.forEach((c,d)=>{(d==="length"||!js(d)&&d>=l)&&a.push(c)})}else switch(s!==void 0&&a.push(r.get(s)),t){case"add":mt(e)?_d(s)&&a.push(r.get("length")):(a.push(r.get(Gn)),Ai(e)&&a.push(r.get(gc)));break;case"delete":mt(e)||(a.push(r.get(Gn)),Ai(e)&&a.push(r.get(gc)));break;case"set":Ai(e)&&a.push(r.get(Gn));break}xd();for(const l of a)l&&Fg(l,5);wd()}function Ax(e,t){const s=va.get(e);return s&&s.get(t)}const Cx=pd("__proto__,__v_isRef,__isVue"),Vg=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(js)),gh=$x();function $x(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...s){const n=Ot(this);for(let o=0,r=this.length;o{e[t]=function(...s){wn(),xd();const n=Ot(this)[t].apply(this,s);return wd(),En(),n}}),e}function Px(e){js(e)||(e=String(e));const t=Ot(this);return De(t,"has",e),t.hasOwnProperty(e)}class jg{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?jx:Kg:o?zg:Wg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=mt(t);if(!i){if(r&&Vt(gh,s))return Reflect.get(gh,s,n);if(s==="hasOwnProperty")return Px}const a=Reflect.get(t,s,n);return(js(s)?Vg.has(s):Cx(s))||(i||De(t,"get",s),o)?a:de(a)?r&&_d(s)?a:a.value:Ut(a)?i?Yg(a):ir(a):a}}class Hg extends jg{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];if(!this._isShallow){const l=Vo(o);if(!ya(n)&&!Vo(n)&&(o=Ot(o),n=Ot(n)),!mt(t)&&de(o)&&!de(n))return l?!1:(o.value=n,!0)}const r=mt(t)&&_d(s)?Number(s)e,za=e=>Reflect.getPrototypeOf(e);function Pr(e,t,s=!1,n=!1){e=e.__v_raw;const i=Ot(e),o=Ot(t);s||(mn(t,o)&&De(i,"get",t),De(i,"get",o));const{has:r}=za(i),a=n?Ed:s?Cd:jo;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function kr(e,t=!1){const s=this.__v_raw,n=Ot(s),i=Ot(e);return t||(mn(e,i)&&De(n,"has",e),De(n,"has",i)),e===i?s.has(e):s.has(e)||s.has(i)}function Tr(e,t=!1){return e=e.__v_raw,!t&&De(Ot(e),"iterate",Gn),Reflect.get(e,"size",e)}function mh(e){e=Ot(e);const t=Ot(this);return za(t).has.call(t,e)||(t.add(e),Fs(t,"add",e,e)),this}function _h(e,t){t=Ot(t);const s=Ot(this),{has:n,get:i}=za(s);let o=n.call(s,e);o||(e=Ot(e),o=n.call(s,e));const r=i.call(s,e);return s.set(e,t),o?mn(t,r)&&Fs(s,"set",e,t):Fs(s,"add",e,t),this}function bh(e){const t=Ot(this),{has:s,get:n}=za(t);let i=s.call(t,e);i||(e=Ot(e),i=s.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return i&&Fs(t,"delete",e,void 0),o}function vh(){const e=Ot(this),t=e.size!==0,s=e.clear();return t&&Fs(e,"clear",void 0,void 0),s}function Mr(e,t){return function(n,i){const o=this,r=o.__v_raw,a=Ot(r),l=t?Ed:e?Cd:jo;return!e&&De(a,"iterate",Gn),r.forEach((c,d)=>n.call(i,l(c),l(d),o))}}function Dr(e,t,s){return function(...n){const i=this.__v_raw,o=Ot(i),r=Ai(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...n),d=s?Ed:t?Cd:jo;return!t&&De(o,"iterate",l?gc:Gn),{next(){const{value:u,done:p}=c.next();return p?{value:u,done:p}:{value:a?[d(u[0]),d(u[1])]:d(u),done:p}},[Symbol.iterator](){return this}}}}function qs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ix(){const e={get(o){return Pr(this,o)},get size(){return Tr(this)},has:kr,add:mh,set:_h,delete:bh,clear:vh,forEach:Mr(!1,!1)},t={get(o){return Pr(this,o,!1,!0)},get size(){return Tr(this)},has:kr,add:mh,set:_h,delete:bh,clear:vh,forEach:Mr(!1,!0)},s={get(o){return Pr(this,o,!0)},get size(){return Tr(this,!0)},has(o){return kr.call(this,o,!0)},add:qs("add"),set:qs("set"),delete:qs("delete"),clear:qs("clear"),forEach:Mr(!0,!1)},n={get(o){return Pr(this,o,!0,!0)},get size(){return Tr(this,!0)},has(o){return kr.call(this,o,!0)},add:qs("add"),set:qs("set"),delete:qs("delete"),clear:qs("clear"),forEach:Mr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Dr(o,!1,!1),s[o]=Dr(o,!0,!1),t[o]=Dr(o,!1,!0),n[o]=Dr(o,!0,!0)}),[e,s,t,n]}const[Ox,Lx,Rx,Nx]=Ix();function Sd(e,t){const s=t?e?Nx:Rx:e?Lx:Ox;return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(Vt(s,i)&&i in n?s:n,i,o)}const Fx={get:Sd(!1,!1)},Bx={get:Sd(!1,!0)},Vx={get:Sd(!0,!1)};const Wg=new WeakMap,zg=new WeakMap,Kg=new WeakMap,jx=new WeakMap;function Hx(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wx(e){return e.__v_skip||!Object.isExtensible(e)?0:Hx(fx(e))}function ir(e){return Vo(e)?e:Ad(e,!1,Tx,Fx,Wg)}function Ug(e){return Ad(e,!1,Dx,Bx,zg)}function Yg(e){return Ad(e,!0,Mx,Vx,Kg)}function Ad(e,t,s,n,i){if(!Ut(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Wx(e);if(r===0)return e;const a=new Proxy(e,r===2?n:s);return i.set(e,a),a}function Jn(e){return Vo(e)?Jn(e.__v_raw):!!(e&&e.__v_isReactive)}function Vo(e){return!!(e&&e.__v_isReadonly)}function ya(e){return!!(e&&e.__v_isShallow)}function Ka(e){return e?!!e.__v_raw:!1}function Ot(e){const t=e&&e.__v_raw;return t?Ot(t):e}function Ua(e){return Object.isExtensible(e)&&$g(e,"__v_skip",!0),e}const jo=e=>Ut(e)?ir(e):e,Cd=e=>Ut(e)?Yg(e):e;class qg{constructor(t,s,n,i){this.getter=t,this._setter=s,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new yd(()=>t(this._value),()=>sa(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=Ot(this);return(!t._cacheable||t.effect.dirty)&&mn(t._value,t._value=t.effect.run())&&sa(t,5),Gg(t),t.effect._dirtyLevel>=2&&sa(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function zx(e,t,s=!1){let n,i;const o=Et(e);return o?(n=e,i=Ge):(n=e.get,i=e.set),new qg(n,i,o||!i,s)}function Gg(e){var t;hn&&qn&&(e=Ot(e),Ng(qn,(t=e.dep)!=null?t:e.dep=Bg(()=>e.dep=void 0,e instanceof qg?e:void 0)))}function sa(e,t=5,s,n){e=Ot(e);const i=e.dep;i&&Fg(i,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function Bs(e){return Jg(e,!1)}function $d(e){return Jg(e,!0)}function Jg(e,t){return de(e)?e:new Kx(e,t)}class Kx{constructor(t,s){this.__v_isShallow=s,this.dep=void 0,this.__v_isRef=!0,this._rawValue=s?t:Ot(t),this._value=s?t:jo(t)}get value(){return Gg(this),this._value}set value(t){const s=this.__v_isShallow||ya(t)||Vo(t);t=s?t:Ot(t),mn(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=s?t:jo(t),sa(this,5))}}function fn(e){return de(e)?e.value:e}const Ux={get:(e,t,s)=>fn(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return de(i)&&!de(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Xg(e){return Jn(e)?e:new Proxy(e,Ux)}function Yx(e){const t=mt(e)?new Array(e.length):{};for(const s in e)t[s]=Gx(e,s);return t}class qx{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ax(Ot(this._object),this._key)}}function Gx(e,t,s){const n=e[t];return de(n)?n:new qx(e,t,s)}/** +**/let Oe;class Dg{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Oe,!t&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const s=Oe;try{return Oe=this,t()}finally{Oe=s}}}on(){Oe=this}off(){Oe=this.parent}stop(t){if(this._active){let s,n;for(s=0,n=this.effects.length;s=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),Sn()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=hn,s=qn;try{return hn=!0,qn=this,this._runnings++,fh(this),this.fn()}finally{ph(this),this._runnings--,qn=s,hn=t}}stop(){this.active&&(fh(this),ph(this),this.onStop&&this.onStop(),this.active=!1)}}function Ex(e){return e.value}function fh(e){e._trackId++,e._depsLength=0}function ph(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){n._dirtyLevel=2;continue}let i;n._dirtyLevel{const s=new Map;return s.cleanup=e,s.computed=t,s},va=new WeakMap,Gn=Symbol(""),gc=Symbol("");function De(e,t,s){if(hn&&qn){let n=va.get(e);n||va.set(e,n=new Map);let i=n.get(s);i||n.set(s,i=Bg(()=>n.delete(s))),Ng(qn,i)}}function Bs(e,t,s,n,i,o){const r=va.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(s==="length"&&mt(e)){const l=Number(n);r.forEach((c,d)=>{(d==="length"||!js(d)&&d>=l)&&a.push(c)})}else switch(s!==void 0&&a.push(r.get(s)),t){case"add":mt(e)?_d(s)&&a.push(r.get("length")):(a.push(r.get(Gn)),Ai(e)&&a.push(r.get(gc)));break;case"delete":mt(e)||(a.push(r.get(Gn)),Ai(e)&&a.push(r.get(gc)));break;case"set":Ai(e)&&a.push(r.get(Gn));break}xd();for(const l of a)l&&Fg(l,5);wd()}function Ax(e,t){const s=va.get(e);return s&&s.get(t)}const Cx=pd("__proto__,__v_isRef,__isVue"),Vg=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(js)),gh=$x();function $x(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...s){const n=Ot(this);for(let o=0,r=this.length;o{e[t]=function(...s){wn(),xd();const n=Ot(this)[t].apply(this,s);return wd(),Sn(),n}}),e}function Px(e){js(e)||(e=String(e));const t=Ot(this);return De(t,"has",e),t.hasOwnProperty(e)}class jg{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?jx:Kg:o?zg:Wg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=mt(t);if(!i){if(r&&Vt(gh,s))return Reflect.get(gh,s,n);if(s==="hasOwnProperty")return Px}const a=Reflect.get(t,s,n);return(js(s)?Vg.has(s):Cx(s))||(i||De(t,"get",s),o)?a:de(a)?r&&_d(s)?a:a.value:Ut(a)?i?Yg(a):ir(a):a}}class Hg extends jg{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];if(!this._isShallow){const l=Vo(o);if(!ya(n)&&!Vo(n)&&(o=Ot(o),n=Ot(n)),!mt(t)&&de(o)&&!de(n))return l?!1:(o.value=n,!0)}const r=mt(t)&&_d(s)?Number(s)e,za=e=>Reflect.getPrototypeOf(e);function Pr(e,t,s=!1,n=!1){e=e.__v_raw;const i=Ot(e),o=Ot(t);s||(mn(t,o)&&De(i,"get",t),De(i,"get",o));const{has:r}=za(i),a=n?Sd:s?Cd:jo;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function kr(e,t=!1){const s=this.__v_raw,n=Ot(s),i=Ot(e);return t||(mn(e,i)&&De(n,"has",e),De(n,"has",i)),e===i?s.has(e):s.has(e)||s.has(i)}function Tr(e,t=!1){return e=e.__v_raw,!t&&De(Ot(e),"iterate",Gn),Reflect.get(e,"size",e)}function mh(e){e=Ot(e);const t=Ot(this);return za(t).has.call(t,e)||(t.add(e),Bs(t,"add",e,e)),this}function _h(e,t){t=Ot(t);const s=Ot(this),{has:n,get:i}=za(s);let o=n.call(s,e);o||(e=Ot(e),o=n.call(s,e));const r=i.call(s,e);return s.set(e,t),o?mn(t,r)&&Bs(s,"set",e,t):Bs(s,"add",e,t),this}function bh(e){const t=Ot(this),{has:s,get:n}=za(t);let i=s.call(t,e);i||(e=Ot(e),i=s.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return i&&Bs(t,"delete",e,void 0),o}function vh(){const e=Ot(this),t=e.size!==0,s=e.clear();return t&&Bs(e,"clear",void 0,void 0),s}function Mr(e,t){return function(n,i){const o=this,r=o.__v_raw,a=Ot(r),l=t?Sd:e?Cd:jo;return!e&&De(a,"iterate",Gn),r.forEach((c,d)=>n.call(i,l(c),l(d),o))}}function Dr(e,t,s){return function(...n){const i=this.__v_raw,o=Ot(i),r=Ai(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...n),d=s?Sd:t?Cd:jo;return!t&&De(o,"iterate",l?gc:Gn),{next(){const{value:u,done:p}=c.next();return p?{value:u,done:p}:{value:a?[d(u[0]),d(u[1])]:d(u),done:p}},[Symbol.iterator](){return this}}}}function qs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ix(){const e={get(o){return Pr(this,o)},get size(){return Tr(this)},has:kr,add:mh,set:_h,delete:bh,clear:vh,forEach:Mr(!1,!1)},t={get(o){return Pr(this,o,!1,!0)},get size(){return Tr(this)},has:kr,add:mh,set:_h,delete:bh,clear:vh,forEach:Mr(!1,!0)},s={get(o){return Pr(this,o,!0)},get size(){return Tr(this,!0)},has(o){return kr.call(this,o,!0)},add:qs("add"),set:qs("set"),delete:qs("delete"),clear:qs("clear"),forEach:Mr(!0,!1)},n={get(o){return Pr(this,o,!0,!0)},get size(){return Tr(this,!0)},has(o){return kr.call(this,o,!0)},add:qs("add"),set:qs("set"),delete:qs("delete"),clear:qs("clear"),forEach:Mr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Dr(o,!1,!1),s[o]=Dr(o,!0,!1),t[o]=Dr(o,!1,!0),n[o]=Dr(o,!0,!0)}),[e,s,t,n]}const[Ox,Lx,Rx,Nx]=Ix();function Ed(e,t){const s=t?e?Nx:Rx:e?Lx:Ox;return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(Vt(s,i)&&i in n?s:n,i,o)}const Fx={get:Ed(!1,!1)},Bx={get:Ed(!1,!0)},Vx={get:Ed(!0,!1)};const Wg=new WeakMap,zg=new WeakMap,Kg=new WeakMap,jx=new WeakMap;function Hx(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wx(e){return e.__v_skip||!Object.isExtensible(e)?0:Hx(fx(e))}function ir(e){return Vo(e)?e:Ad(e,!1,Tx,Fx,Wg)}function Ug(e){return Ad(e,!1,Dx,Bx,zg)}function Yg(e){return Ad(e,!0,Mx,Vx,Kg)}function Ad(e,t,s,n,i){if(!Ut(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Wx(e);if(r===0)return e;const a=new Proxy(e,r===2?n:s);return i.set(e,a),a}function Jn(e){return Vo(e)?Jn(e.__v_raw):!!(e&&e.__v_isReactive)}function Vo(e){return!!(e&&e.__v_isReadonly)}function ya(e){return!!(e&&e.__v_isShallow)}function Ka(e){return e?!!e.__v_raw:!1}function Ot(e){const t=e&&e.__v_raw;return t?Ot(t):e}function Ua(e){return Object.isExtensible(e)&&$g(e,"__v_skip",!0),e}const jo=e=>Ut(e)?ir(e):e,Cd=e=>Ut(e)?Yg(e):e;class qg{constructor(t,s,n,i){this.getter=t,this._setter=s,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new yd(()=>t(this._value),()=>sa(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=Ot(this);return(!t._cacheable||t.effect.dirty)&&mn(t._value,t._value=t.effect.run())&&sa(t,5),Gg(t),t.effect._dirtyLevel>=2&&sa(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function zx(e,t,s=!1){let n,i;const o=St(e);return o?(n=e,i=Ge):(n=e.get,i=e.set),new qg(n,i,o||!i,s)}function Gg(e){var t;hn&&qn&&(e=Ot(e),Ng(qn,(t=e.dep)!=null?t:e.dep=Bg(()=>e.dep=void 0,e instanceof qg?e:void 0)))}function sa(e,t=5,s,n){e=Ot(e);const i=e.dep;i&&Fg(i,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function vs(e){return Jg(e,!1)}function $d(e){return Jg(e,!0)}function Jg(e,t){return de(e)?e:new Kx(e,t)}class Kx{constructor(t,s){this.__v_isShallow=s,this.dep=void 0,this.__v_isRef=!0,this._rawValue=s?t:Ot(t),this._value=s?t:jo(t)}get value(){return Gg(this),this._value}set value(t){const s=this.__v_isShallow||ya(t)||Vo(t);t=s?t:Ot(t),mn(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=s?t:jo(t),sa(this,5))}}function fn(e){return de(e)?e.value:e}const Ux={get:(e,t,s)=>fn(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return de(i)&&!de(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Xg(e){return Jn(e)?e:new Proxy(e,Ux)}function Yx(e){const t=mt(e)?new Array(e.length):{};for(const s in e)t[s]=Gx(e,s);return t}class qx{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ax(Ot(this._object),this._key)}}function Gx(e,t,s){const n=e[t];return de(n)?n:new qx(e,t,s)}/** * @vue/runtime-core v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function pn(e,t,s,n){try{return n?e(...n):e()}catch(i){or(i,t,s)}}function ts(e,t,s,n){if(Et(e)){const i=pn(e,t,s,n);return i&&Sg(i)&&i.catch(o=>{or(o,t,s)}),i}if(mt(e)){const i=[];for(let o=0;o>>1,i=_e[n],o=Wo(i);ogs&&_e.splice(t,1)}function _c(e){mt(e)?Ci.push(...e):(!tn||!tn.includes(e,e.allowRecurse?Kn+1:Kn))&&Ci.push(e),Zg()}function yh(e,t,s=Ho?gs+1:0){for(;s<_e.length;s++){const n=_e[s];if(n&&n.pre){if(e&&n.id!==e.uid)continue;_e.splice(s,1),s--,n()}}}function tm(e){if(Ci.length){const t=[...new Set(Ci)].sort((s,n)=>Wo(s)-Wo(n));if(Ci.length=0,tn){tn.push(...t);return}for(tn=t,Kn=0;Kne.id==null?1/0:e.id,Zx=(e,t)=>{const s=Wo(e)-Wo(t);if(s===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return s};function em(e){mc=!1,Ho=!0,_e.sort(Zx);try{for(gs=0;gs<_e.length;gs++){const t=_e[gs];t&&t.active!==!1&&pn(t,null,14)}}finally{gs=0,_e.length=0,tm(),Ho=!1,Pd=null,(_e.length||Ci.length)&&em()}}function tw(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||qt;let i=s;const o=t.startsWith("update:"),r=o&&t.slice(7);if(r&&r in n){const d=`${r==="modelValue"?"model":r}Modifiers`,{number:u,trim:p}=n[d]||qt;p&&(i=s.map(g=>ie(g)?g.trim():g)),u&&(i=s.map(ba))}let a,l=n[a=Dl(t)]||n[a=Dl(ws(t))];!l&&o&&(l=n[a=Dl(Zi(t))]),l&&ts(l,e,6,i);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ts(c,e,6,i)}}function sm(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!Et(e)){const l=c=>{const d=sm(c,t,!0);d&&(a=!0,ne(r,d))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(Ut(e)&&n.set(e,null),null):(mt(o)?o.forEach(l=>r[l]=null):ne(r,o),Ut(e)&&n.set(e,r),r)}function Ya(e,t){return!e||!ja(t)?!1:(t=t.slice(2).replace(/Once$/,""),Vt(e,t[0].toLowerCase()+t.slice(1))||Vt(e,Zi(t))||Vt(e,t))}let Ee=null,qa=null;function xa(e){const t=Ee;return Ee=e,qa=e&&e.type.__scopeId||null,t}function ss(e){qa=e}function ns(){qa=null}function It(e,t=Ee,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Oh(-1);const o=xa(t);let r;try{r=e(...i)}finally{xa(o),n._d&&Oh(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Ol(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:d,props:u,data:p,setupState:g,ctx:m,inheritAttrs:_}=e,v=xa(e);let w,E;try{if(s.shapeFlag&4){const T=i||n,y=T;w=as(c.call(y,T,d,u,g,p,m)),E=a}else{const T=t;w=as(T.length>1?T(u,{attrs:a,slots:r,emit:l}):T(u,null)),E=t.props?a:sw(a)}}catch(T){ko.length=0,or(T,e,1),w=dt(we)}let $=w;if(E&&_!==!1){const T=Object.keys(E),{shapeFlag:y}=$;T.length&&y&7&&(o&&T.some(gd)&&(E=nw(E,o)),$=_n($,E,!1,!0))}return s.dirs&&($=_n($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(s.dirs):s.dirs),s.transition&&($.transition=s.transition),w=$,xa(v),w}function ew(e,t=!0){let s;for(let n=0;n{let t;for(const s in e)(s==="class"||s==="style"||ja(s))&&((t||(t={}))[s]=e[s]);return t},nw=(e,t)=>{const s={};for(const n in e)(!gd(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function iw(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return n?xh(n,r,c):!!r;if(l&8){const d=t.dynamicProps;for(let u=0;ue.__isSuspense;let bc=0;const rw={name:"Suspense",__isSuspense:!0,process(e,t,s,n,i,o,r,a,l,c){if(e==null)aw(t,s,n,i,o,r,a,l,c);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}lw(e,t,s,n,i,r,a,l,c)}},hydrate:cw,create:Id,normalize:dw},Ga=rw;function zo(e,t){const s=e.props&&e.props[t];Et(s)&&s()}function aw(e,t,s,n,i,o,r,a,l){const{p:c,o:{createElement:d}}=l,u=d("div"),p=e.suspense=Id(e,i,n,t,u,s,o,r,a,l);c(null,p.pendingBranch=e.ssContent,u,null,n,p,o,r),p.deps>0?(zo(e,"onPending"),zo(e,"onFallback"),c(null,e.ssFallback,t,s,n,null,o,r),$i(p,e.ssFallback)):p.resolve(!1,!0)}function lw(e,t,s,n,i,o,r,a,{p:l,um:c,o:{createElement:d}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const p=t.ssContent,g=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:v,isHydrating:w}=u;if(_)u.pendingBranch=p,ms(p,_)?(l(_,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():v&&(w||(l(m,g,s,n,i,null,o,r,a),$i(u,g)))):(u.pendingId=bc++,w?(u.isHydrating=!1,u.activeBranch=_):c(_,i,u),u.deps=0,u.effects.length=0,u.hiddenContainer=d("div"),v?(l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():(l(m,g,s,n,i,null,o,r,a),$i(u,g))):m&&ms(p,m)?(l(m,p,s,n,i,u,o,r,a),u.resolve(!0)):(l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0&&u.resolve()));else if(m&&ms(p,m))l(m,p,s,n,i,u,o,r,a),$i(u,p);else if(zo(t,"onPending"),u.pendingBranch=p,p.shapeFlag&512?u.pendingId=p.component.suspenseId:u.pendingId=bc++,l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0)u.resolve();else{const{timeout:E,pendingId:$}=u;E>0?setTimeout(()=>{u.pendingId===$&&u.fallback(g)},E):E===0&&u.fallback(g)}}function Id(e,t,s,n,i,o,r,a,l,c,d=!1){const{p:u,m:p,um:g,n:m,o:{parentNode:_,remove:v}}=c;let w;const E=hw(e);E&&t&&t.pendingBranch&&(w=t.pendingId,t.deps++);const $=e.props?Pg(e.props.timeout):void 0,T=o,y={vnode:e,parent:t,parentComponent:s,namespace:r,container:n,hiddenContainer:i,deps:0,pendingId:bc++,timeout:typeof $=="number"?$:-1,activeBranch:null,pendingBranch:null,isInFallback:!d,isHydrating:d,isUnmounted:!1,effects:[],resolve(x=!1,C=!1){const{vnode:S,activeBranch:P,pendingBranch:M,pendingId:O,effects:F,parentComponent:Q,container:G}=y;let H=!1;y.isHydrating?y.isHydrating=!1:x||(H=P&&M.transition&&M.transition.mode==="out-in",H&&(P.transition.afterLeave=()=>{O===y.pendingId&&(p(M,G,o===T?m(P):o,0),_c(F))}),P&&(_(P.el)!==y.hiddenContainer&&(o=m(P)),g(P,Q,y,!0)),H||p(M,G,o,0)),$i(y,M),y.pendingBranch=null,y.isInFallback=!1;let R=y.parent,z=!1;for(;R;){if(R.pendingBranch){R.effects.push(...F),z=!0;break}R=R.parent}!z&&!H&&_c(F),y.effects=[],E&&t&&t.pendingBranch&&w===t.pendingId&&(t.deps--,t.deps===0&&!C&&t.resolve()),zo(S,"onResolve")},fallback(x){if(!y.pendingBranch)return;const{vnode:C,activeBranch:S,parentComponent:P,container:M,namespace:O}=y;zo(C,"onFallback");const F=m(S),Q=()=>{y.isInFallback&&(u(null,x,M,F,P,null,O,a,l),$i(y,x))},G=x.transition&&x.transition.mode==="out-in";G&&(S.transition.afterLeave=Q),y.isInFallback=!0,g(S,P,null,!0),G||Q()},move(x,C,S){y.activeBranch&&p(y.activeBranch,x,C,S),y.container=x},next(){return y.activeBranch&&m(y.activeBranch)},registerDep(x,C,S){const P=!!y.pendingBranch;P&&y.deps++;const M=x.vnode.el;x.asyncDep.catch(O=>{or(O,x,0)}).then(O=>{if(x.isUnmounted||y.isUnmounted||y.pendingId!==x.suspenseId)return;x.asyncResolved=!0;const{vnode:F}=x;Ac(x,O,!1),M&&(F.el=M);const Q=!M&&x.subTree.el;C(x,F,_(M||x.subTree.el),M?null:m(x.subTree),y,r,S),Q&&v(Q),Td(x,F.el),P&&--y.deps===0&&y.resolve()})},unmount(x,C){y.isUnmounted=!0,y.activeBranch&&g(y.activeBranch,s,x,C),y.pendingBranch&&g(y.pendingBranch,s,x,C)}};return y}function cw(e,t,s,n,i,o,r,a,l){const c=t.suspense=Id(t,n,s,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),d=l(e,c.pendingBranch=t.ssContent,s,c,o,r);return c.deps===0&&c.resolve(!1,!0),d}function dw(e){const{shapeFlag:t,children:s}=e,n=t&32;e.ssContent=Eh(n?s.default:s),e.ssFallback=n?Eh(s.fallback):dt(we)}function Eh(e){let t;if(Et(e)){const s=Fi&&e._c;s&&(e._d=!1,L()),e=e(),s&&(e._d=!0,t=Je,Cm())}return mt(e)&&(e=ew(e)),e=as(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(s=>s!==e)),e}function uw(e,t){t&&t.pendingBranch?mt(e)?t.effects.push(...e):t.effects.push(e):_c(e)}function $i(e,t){e.activeBranch=t;const{vnode:s,parentComponent:n}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;s.el=i,n&&n.subTree===s&&(n.vnode.el=i,Td(n,i))}function hw(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function Ja(e,t,s=he,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{wn();const a=ar(s),l=ts(t,s,e,r);return a(),En(),l});return n?i.unshift(o):i.push(o),o}}const Ws=e=>(t,s=he)=>{(!tl||e==="sp")&&Ja(e,(...n)=>t(...n),s)},fw=Ws("bm"),Od=Ws("m"),pw=Ws("bu"),om=Ws("u"),Ld=Ws("bum"),rm=Ws("um"),gw=Ws("sp"),mw=Ws("rtg"),_w=Ws("rtc");function bw(e,t=he){Ja("ec",e,t)}function ft(e,t){if(Ee===null)return e;const s=el(Ee),n=e.dirs||(e.dirs=[]);for(let i=0;it(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,l=r.length;a!!e.type.__asyncLoader,vc=e=>e?Tm(e)?el(e):vc(e.parent):null,Po=ne(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=>vc(e.parent),$root:e=>vc(e.root),$emit:e=>e.emit,$options:e=>Rd(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,kd(e.update)}),$nextTick:e=>e.n||(e.n=rr.bind(e.proxy)),$watch:e=>Bw.bind(e)}),Ll=(e,t)=>e!==qt&&!e.__isScriptSetup&&Vt(e,t),vw={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(Ll(n,t))return r[t]=1,n[t];if(i!==qt&&Vt(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Vt(c,t))return r[t]=3,o[t];if(s!==qt&&Vt(s,t))return r[t]=4,s[t];yc&&(r[t]=0)}}const d=Po[t];let u,p;if(d)return t==="$attrs"&&De(e.attrs,"get",""),d(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(s!==qt&&Vt(s,t))return r[t]=4,s[t];if(p=l.config.globalProperties,Vt(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return Ll(i,t)?(i[t]=s,!0):n!==qt&&Vt(n,t)?(n[t]=s,!0):Vt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:o}},r){let a;return!!s[r]||e!==qt&&Vt(e,r)||Ll(t,r)||(a=o[0])&&Vt(a,r)||Vt(n,r)||Vt(Po,r)||Vt(i.config.globalProperties,r)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Vt(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Sh(e){return mt(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let yc=!0;function yw(e){const t=Rd(e),s=e.proxy,n=e.ctx;yc=!1,t.beforeCreate&&Ah(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:d,beforeMount:u,mounted:p,beforeUpdate:g,updated:m,activated:_,deactivated:v,beforeDestroy:w,beforeUnmount:E,destroyed:$,unmounted:T,render:y,renderTracked:x,renderTriggered:C,errorCaptured:S,serverPrefetch:P,expose:M,inheritAttrs:O,components:F,directives:Q,filters:G}=t;if(c&&xw(c,n,null),r)for(const z in r){const Y=r[z];Et(Y)&&(n[z]=Y.bind(s))}if(i){const z=i.call(s,s);Ut(z)&&(e.data=ir(z))}if(yc=!0,o)for(const z in o){const Y=o[z],rt=Et(Y)?Y.bind(s,s):Et(Y.get)?Y.get.bind(s,s):Ge,ht=!Et(Y)&&Et(Y.set)?Y.set.bind(s):Ge,vt=qe({get:rt,set:ht});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>vt.value,set:_t=>vt.value=_t})}if(a)for(const z in a)am(a[z],n,s,z);if(l){const z=Et(l)?l.call(s):l;Reflect.ownKeys(z).forEach(Y=>{ia(Y,z[Y])})}d&&Ah(d,e,"c");function R(z,Y){mt(Y)?Y.forEach(rt=>z(rt.bind(s))):Y&&z(Y.bind(s))}if(R(fw,u),R(Od,p),R(pw,g),R(om,m),R(Vw,_),R(jw,v),R(bw,S),R(_w,x),R(mw,C),R(Ld,E),R(rm,T),R(gw,P),mt(M))if(M.length){const z=e.exposed||(e.exposed={});M.forEach(Y=>{Object.defineProperty(z,Y,{get:()=>s[Y],set:rt=>s[Y]=rt})})}else e.exposed||(e.exposed={});y&&e.render===Ge&&(e.render=y),O!=null&&(e.inheritAttrs=O),F&&(e.components=F),Q&&(e.directives=Q)}function xw(e,t,s=Ge){mt(e)&&(e=xc(e));for(const n in e){const i=e[n];let o;Ut(i)?"default"in i?o=vs(i.from||n,i.default,!0):o=vs(i.from||n):o=vs(i),de(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function Ah(e,t,s){ts(mt(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function am(e,t,s,n){const i=n.includes(".")?ym(s,n):()=>s[n];if(ie(e)){const o=t[e];Et(o)&&Xn(i,o)}else if(Et(e))Xn(i,e.bind(s));else if(Ut(e))if(mt(e))e.forEach(o=>am(o,t,s,n));else{const o=Et(e.handler)?e.handler.bind(s):t[e.handler];Et(o)&&Xn(i,o,e)}}function Rd(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!s&&!n?l=t:(l={},i.length&&i.forEach(c=>wa(l,c,r,!0)),wa(l,t,r)),Ut(t)&&o.set(t,l),l}function wa(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&wa(e,o,s,!0),i&&i.forEach(r=>wa(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=ww[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const ww={data:Ch,props:$h,emits:$h,methods:_o,computed:_o,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:_o,directives:_o,watch:Sw,provide:Ch,inject:Ew};function Ch(e,t){return t?e?function(){return ne(Et(e)?e.call(this,this):e,Et(t)?t.call(this,this):t)}:t:e}function Ew(e,t){return _o(xc(e),xc(t))}function xc(e){if(mt(e)){const t={};for(let s=0;s1)return s&&Et(t)?t.call(n&&n.proxy):t}}function $w(){return!!(he||Ee||Pi)}const cm={},dm=()=>Object.create(cm),um=e=>Object.getPrototypeOf(e)===cm;function Pw(e,t,s,n=!1){const i={},o=dm();e.propsDefaults=Object.create(null),hm(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:Ug(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function kw(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Ot(i),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[p,g]=fm(u,t,!0);ne(r,p),g&&a.push(...g)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!l)return Ut(e)&&n.set(e,Si),Si;if(mt(o))for(let d=0;d-1,g[1]=_<0||m<_,(m>-1||Vt(g,"default"))&&a.push(u)}}}const c=[r,a];return Ut(e)&&n.set(e,c),c}function Ph(e){return e[0]!=="$"&&!$o(e)}function kh(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Th(e,t){return kh(e)===kh(t)}function Mh(e,t){return mt(t)?t.findIndex(s=>Th(s,e)):Et(t)&&Th(t,e)?0:-1}const pm=e=>e[0]==="_"||e==="$stable",Nd=e=>mt(e)?e.map(as):[as(e)],Tw=(e,t,s)=>{if(t._n)return t;const n=It((...i)=>Nd(t(...i)),s);return n._c=!1,n},gm=(e,t,s)=>{const n=e._ctx;for(const i in e){if(pm(i))continue;const o=e[i];if(Et(o))t[i]=Tw(i,o,n);else if(o!=null){const r=Nd(o);t[i]=()=>r}}},mm=(e,t)=>{const s=Nd(t);e.slots.default=()=>s},Mw=(e,t)=>{const s=e.slots=dm();if(e.vnode.shapeFlag&32){const n=t._;n?(ne(s,t),$g(s,"_",n,!0)):gm(t,s)}else t&&mm(e,t)},Dw=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=qt;if(n.shapeFlag&32){const a=t._;a?s&&a===1?o=!1:(ne(i,t),!s&&a===1&&delete i._):(o=!t.$stable,gm(t,i)),r=t}else t&&(mm(e,t),r={default:1});if(o)for(const a in i)!pm(a)&&r[a]==null&&delete i[a]};function Ec(e,t,s,n,i=!1){if(mt(e)){e.forEach((p,g)=>Ec(p,t&&(mt(t)?t[g]:t),s,n,i));return}if(na(n)&&!i)return;const o=n.shapeFlag&4?el(n.component):n.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,d=a.refs===qt?a.refs={}:a.refs,u=a.setupState;if(c!=null&&c!==l&&(ie(c)?(d[c]=null,Vt(u,c)&&(u[c]=null)):de(c)&&(c.value=null)),Et(l))pn(l,a,12,[r,d]);else{const p=ie(l),g=de(l);if(p||g){const m=()=>{if(e.f){const _=p?Vt(u,l)?u[l]:d[l]:l.value;i?mt(_)&&md(_,o):mt(_)?_.includes(o)||_.push(o):p?(d[l]=[o],Vt(u,l)&&(u[l]=d[l])):(l.value=[o],e.k&&(d[e.k]=l.value))}else p?(d[l]=r,Vt(u,l)&&(u[l]=r)):g&&(l.value=r,e.k&&(d[e.k]=r))};r?(m.id=-1,ke(m,s)):m()}}}const ke=uw;function Iw(e){return Ow(e)}function Ow(e,t){const s=kg();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:d,parentNode:u,nextSibling:p,setScopeId:g=Ge,insertStaticContent:m}=e,_=(A,I,N,q=null,K=null,X=null,at=void 0,B=null,Z=!!I.dynamicChildren)=>{if(A===I)return;A&&!ms(A,I)&&(q=W(A),_t(A,K,X,!0),A=null),I.patchFlag===-2&&(Z=!1,I.dynamicChildren=null);const{type:J,ref:ut,shapeFlag:gt}=I;switch(J){case Za:v(A,I,N,q);break;case we:w(A,I,N,q);break;case Fl:A==null&&E(I,N,q,at);break;case Bt:F(A,I,N,q,K,X,at,B,Z);break;default:gt&1?y(A,I,N,q,K,X,at,B,Z):gt&6?Q(A,I,N,q,K,X,at,B,Z):(gt&64||gt&128)&&J.process(A,I,N,q,K,X,at,B,Z,lt)}ut!=null&&K&&Ec(ut,A&&A.ref,X,I||A,!I)},v=(A,I,N,q)=>{if(A==null)n(I.el=a(I.children),N,q);else{const K=I.el=A.el;I.children!==A.children&&c(K,I.children)}},w=(A,I,N,q)=>{A==null?n(I.el=l(I.children||""),N,q):I.el=A.el},E=(A,I,N,q)=>{[A.el,A.anchor]=m(A.children,I,N,q,A.el,A.anchor)},$=({el:A,anchor:I},N,q)=>{let K;for(;A&&A!==I;)K=p(A),n(A,N,q),A=K;n(I,N,q)},T=({el:A,anchor:I})=>{let N;for(;A&&A!==I;)N=p(A),i(A),A=N;i(I)},y=(A,I,N,q,K,X,at,B,Z)=>{I.type==="svg"?at="svg":I.type==="math"&&(at="mathml"),A==null?x(I,N,q,K,X,at,B,Z):P(A,I,K,X,at,B,Z)},x=(A,I,N,q,K,X,at,B)=>{let Z,J;const{props:ut,shapeFlag:gt,transition:pt,dirs:yt}=A;if(Z=A.el=r(A.type,X,ut&&ut.is,ut),gt&8?d(Z,A.children):gt&16&&S(A.children,Z,null,q,K,Rl(A,X),at,B),yt&&Rn(A,null,q,"created"),C(Z,A,A.scopeId,at,q),ut){for(const Ht in ut)Ht!=="value"&&!$o(Ht)&&o(Z,Ht,null,ut[Ht],X,A.children,q,K,kt);"value"in ut&&o(Z,"value",null,ut.value,X),(J=ut.onVnodeBeforeMount)&&hs(J,q,A)}yt&&Rn(A,null,q,"beforeMount");const At=Lw(K,pt);At&&pt.beforeEnter(Z),n(Z,I,N),((J=ut&&ut.onVnodeMounted)||At||yt)&&ke(()=>{J&&hs(J,q,A),At&&pt.enter(Z),yt&&Rn(A,null,q,"mounted")},K)},C=(A,I,N,q,K)=>{if(N&&g(A,N),q)for(let X=0;X{for(let J=Z;J{const B=I.el=A.el;let{patchFlag:Z,dynamicChildren:J,dirs:ut}=I;Z|=A.patchFlag&16;const gt=A.props||qt,pt=I.props||qt;let yt;if(N&&Nn(N,!1),(yt=pt.onVnodeBeforeUpdate)&&hs(yt,N,I,A),ut&&Rn(I,A,N,"beforeUpdate"),N&&Nn(N,!0),J?M(A.dynamicChildren,J,B,N,q,Rl(I,K),X):at||Y(A,I,B,null,N,q,Rl(I,K),X,!1),Z>0){if(Z&16)O(B,I,gt,pt,N,q,K);else if(Z&2&>.class!==pt.class&&o(B,"class",null,pt.class,K),Z&4&&o(B,"style",gt.style,pt.style,K),Z&8){const At=I.dynamicProps;for(let Ht=0;Ht{yt&&hs(yt,N,I,A),ut&&Rn(I,A,N,"updated")},q)},M=(A,I,N,q,K,X,at)=>{for(let B=0;B{if(N!==q){if(N!==qt)for(const B in N)!$o(B)&&!(B in q)&&o(A,B,N[B],null,at,I.children,K,X,kt);for(const B in q){if($o(B))continue;const Z=q[B],J=N[B];Z!==J&&B!=="value"&&o(A,B,J,Z,at,I.children,K,X,kt)}"value"in q&&o(A,"value",N.value,q.value,at)}},F=(A,I,N,q,K,X,at,B,Z)=>{const J=I.el=A?A.el:a(""),ut=I.anchor=A?A.anchor:a("");let{patchFlag:gt,dynamicChildren:pt,slotScopeIds:yt}=I;yt&&(B=B?B.concat(yt):yt),A==null?(n(J,N,q),n(ut,N,q),S(I.children||[],N,ut,K,X,at,B,Z)):gt>0&>&64&&pt&&A.dynamicChildren?(M(A.dynamicChildren,pt,N,K,X,at,B),(I.key!=null||K&&I===K.subTree)&&_m(A,I,!0)):Y(A,I,N,ut,K,X,at,B,Z)},Q=(A,I,N,q,K,X,at,B,Z)=>{I.slotScopeIds=B,A==null?I.shapeFlag&512?K.ctx.activate(I,N,q,at,Z):G(I,N,q,K,X,at,Z):H(A,I,Z)},G=(A,I,N,q,K,X,at)=>{const B=A.component=Xw(A,q,K);if(Qa(A)&&(B.ctx.renderer=lt),Qw(B),B.asyncDep){if(K&&K.registerDep(B,R,at),!A.el){const Z=B.subTree=dt(we);w(null,Z,I,N)}}else R(B,A,I,N,K,X,at)},H=(A,I,N)=>{const q=I.component=A.component;if(iw(A,I,N))if(q.asyncDep&&!q.asyncResolved){z(q,I,N);return}else q.next=I,Qx(q.update),q.effect.dirty=!0,q.update();else I.el=A.el,q.vnode=I},R=(A,I,N,q,K,X,at)=>{const B=()=>{if(A.isMounted){let{next:ut,bu:gt,u:pt,parent:yt,vnode:At}=A;{const Ks=bm(A);if(Ks){ut&&(ut.el=At.el,z(A,ut,at)),Ks.asyncDep.then(()=>{A.isUnmounted||B()});return}}let Ht=ut,Rt;Nn(A,!1),ut?(ut.el=At.el,z(A,ut,at)):ut=At,gt&&ea(gt),(Rt=ut.props&&ut.props.onVnodeBeforeUpdate)&&hs(Rt,yt,ut,At),Nn(A,!0);const oe=Ol(A),We=A.subTree;A.subTree=oe,_(We,oe,u(We.el),W(We),A,K,X),ut.el=oe.el,Ht===null&&Td(A,oe.el),pt&&ke(pt,K),(Rt=ut.props&&ut.props.onVnodeUpdated)&&ke(()=>hs(Rt,yt,ut,At),K)}else{let ut;const{el:gt,props:pt}=I,{bm:yt,m:At,parent:Ht}=A,Rt=na(I);if(Nn(A,!1),yt&&ea(yt),!Rt&&(ut=pt&&pt.onVnodeBeforeMount)&&hs(ut,Ht,I),Nn(A,!0),gt&&Lt){const oe=()=>{A.subTree=Ol(A),Lt(gt,A.subTree,A,K,null)};Rt?I.type.__asyncLoader().then(()=>!A.isUnmounted&&oe()):oe()}else{const oe=A.subTree=Ol(A);_(null,oe,N,q,A,K,X),I.el=oe.el}if(At&&ke(At,K),!Rt&&(ut=pt&&pt.onVnodeMounted)){const oe=I;ke(()=>hs(ut,Ht,oe),K)}(I.shapeFlag&256||Ht&&na(Ht.vnode)&&Ht.vnode.shapeFlag&256)&&A.a&&ke(A.a,K),A.isMounted=!0,I=N=q=null}},Z=A.effect=new yd(B,Ge,()=>kd(J),A.scope),J=A.update=()=>{Z.dirty&&Z.run()};J.id=A.uid,Nn(A,!0),J()},z=(A,I,N)=>{I.component=A;const q=A.vnode.props;A.vnode=I,A.next=null,kw(A,I.props,q,N),Dw(A,I.children,N),wn(),yh(A),En()},Y=(A,I,N,q,K,X,at,B,Z=!1)=>{const J=A&&A.children,ut=A?A.shapeFlag:0,gt=I.children,{patchFlag:pt,shapeFlag:yt}=I;if(pt>0){if(pt&128){ht(J,gt,N,q,K,X,at,B,Z);return}else if(pt&256){rt(J,gt,N,q,K,X,at,B,Z);return}}yt&8?(ut&16&&kt(J,K,X),gt!==J&&d(N,gt)):ut&16?yt&16?ht(J,gt,N,q,K,X,at,B,Z):kt(J,K,X,!0):(ut&8&&d(N,""),yt&16&&S(gt,N,q,K,X,at,B,Z))},rt=(A,I,N,q,K,X,at,B,Z)=>{A=A||Si,I=I||Si;const J=A.length,ut=I.length,gt=Math.min(J,ut);let pt;for(pt=0;ptut?kt(A,K,X,!0,!1,gt):S(I,N,q,K,X,at,B,Z,gt)},ht=(A,I,N,q,K,X,at,B,Z)=>{let J=0;const ut=I.length;let gt=A.length-1,pt=ut-1;for(;J<=gt&&J<=pt;){const yt=A[J],At=I[J]=Z?sn(I[J]):as(I[J]);if(ms(yt,At))_(yt,At,N,null,K,X,at,B,Z);else break;J++}for(;J<=gt&&J<=pt;){const yt=A[gt],At=I[pt]=Z?sn(I[pt]):as(I[pt]);if(ms(yt,At))_(yt,At,N,null,K,X,at,B,Z);else break;gt--,pt--}if(J>gt){if(J<=pt){const yt=pt+1,At=ytpt)for(;J<=gt;)_t(A[J],K,X,!0),J++;else{const yt=J,At=J,Ht=new Map;for(J=At;J<=pt;J++){const ye=I[J]=Z?sn(I[J]):as(I[J]);ye.key!=null&&Ht.set(ye.key,J)}let Rt,oe=0;const We=pt-At+1;let Ks=!1,fr=0;const Pn=new Array(We);for(J=0;J=We){_t(ye,K,X,!0);continue}let ge;if(ye.key!=null)ge=Ht.get(ye.key);else for(Rt=At;Rt<=pt;Rt++)if(Pn[Rt-At]===0&&ms(ye,I[Rt])){ge=Rt;break}ge===void 0?_t(ye,K,X,!0):(Pn[ge-At]=J+1,ge>=fr?fr=ge:Ks=!0,_(ye,I[ge],N,null,K,X,at,B,Z),oe++)}const no=Ks?Rw(Pn):Si;for(Rt=no.length-1,J=We-1;J>=0;J--){const ye=At+J,ge=I[ye],pr=ye+1{const{el:X,type:at,transition:B,children:Z,shapeFlag:J}=A;if(J&6){vt(A.component.subTree,I,N,q);return}if(J&128){A.suspense.move(I,N,q);return}if(J&64){at.move(A,I,N,lt);return}if(at===Bt){n(X,I,N);for(let gt=0;gtB.enter(X),K);else{const{leave:gt,delayLeave:pt,afterLeave:yt}=B,At=()=>n(X,I,N),Ht=()=>{gt(X,()=>{At(),yt&&yt()})};pt?pt(X,At,Ht):Ht()}else n(X,I,N)},_t=(A,I,N,q=!1,K=!1)=>{const{type:X,props:at,ref:B,children:Z,dynamicChildren:J,shapeFlag:ut,patchFlag:gt,dirs:pt,memoIndex:yt}=A;if(B!=null&&Ec(B,null,N,A,!0),yt!=null&&(I.renderCache[yt]=void 0),ut&256){I.ctx.deactivate(A);return}const At=ut&1&&pt,Ht=!na(A);let Rt;if(Ht&&(Rt=at&&at.onVnodeBeforeUnmount)&&hs(Rt,I,A),ut&6)Ft(A.component,N,q);else{if(ut&128){A.suspense.unmount(N,q);return}At&&Rn(A,null,I,"beforeUnmount"),ut&64?A.type.remove(A,I,N,K,lt,q):J&&(X!==Bt||gt>0&>&64)?kt(J,I,N,!1,!0):(X===Bt&>&384||!K&&ut&16)&&kt(Z,I,N),q&&Dt(A)}(Ht&&(Rt=at&&at.onVnodeUnmounted)||At)&&ke(()=>{Rt&&hs(Rt,I,A),At&&Rn(A,null,I,"unmounted")},N)},Dt=A=>{const{type:I,el:N,anchor:q,transition:K}=A;if(I===Bt){Pt(N,q);return}if(I===Fl){T(A);return}const X=()=>{i(N),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(A.shapeFlag&1&&K&&!K.persisted){const{leave:at,delayLeave:B}=K,Z=()=>at(N,X);B?B(A.el,X,Z):Z()}else X()},Pt=(A,I)=>{let N;for(;A!==I;)N=p(A),i(A),A=N;i(I)},Ft=(A,I,N)=>{const{bum:q,scope:K,update:X,subTree:at,um:B,m:Z,a:J}=A;Dh(Z),Dh(J),q&&ea(q),K.stop(),X&&(X.active=!1,_t(at,A,I,N)),B&&ke(B,I),ke(()=>{A.isUnmounted=!0},I),I&&I.pendingBranch&&!I.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===I.pendingId&&(I.deps--,I.deps===0&&I.resolve())},kt=(A,I,N,q=!1,K=!1,X=0)=>{for(let at=X;atA.shapeFlag&6?W(A.component.subTree):A.shapeFlag&128?A.suspense.next():p(A.anchor||A.el);let st=!1;const tt=(A,I,N)=>{A==null?I._vnode&&_t(I._vnode,null,null,!0):_(I._vnode||null,A,I,null,null,null,N),st||(st=!0,yh(),tm(),st=!1),I._vnode=A},lt={p:_,um:_t,m:vt,r:Dt,mt:G,mc:S,pc:Y,pbc:M,n:W,o:e};let j,Lt;return t&&([j,Lt]=t(lt)),{render:tt,hydrate:j,createApp:Cw(tt,j)}}function Rl({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Nn({effect:e,update:t},s){e.allowRecurse=t.allowRecurse=s}function Lw(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _m(e,t,s=!1){const n=e.children,i=t.children;if(mt(n)&&mt(i))for(let o=0;o>1,e[s[a]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function bm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:bm(t)}function Dh(e){if(e)for(let t=0;tvs(Nw),Ir={};function Xn(e,t,s){return vm(e,t,s)}function vm(e,t,{immediate:s,deep:n,flush:i,once:o,onTrack:r,onTrigger:a}=qt){if(t&&o){const x=t;t=(...C)=>{x(...C),y()}}const l=he,c=x=>n===!0?x:on(x,n===!1?1:void 0);let d,u=!1,p=!1;if(de(e)?(d=()=>e.value,u=ya(e)):Jn(e)?(d=()=>c(e),u=!0):mt(e)?(p=!0,u=e.some(x=>Jn(x)||ya(x)),d=()=>e.map(x=>{if(de(x))return x.value;if(Jn(x))return c(x);if(Et(x))return pn(x,l,2)})):Et(e)?t?d=()=>pn(e,l,2):d=()=>(g&&g(),ts(e,l,3,[m])):d=Ge,t&&n){const x=d;d=()=>on(x())}let g,m=x=>{g=$.onStop=()=>{pn(x,l,4),g=$.onStop=void 0}},_;if(tl)if(m=Ge,t?s&&ts(t,l,3,[d(),p?[]:void 0,m]):d(),i==="sync"){const x=Fw();_=x.__watcherHandles||(x.__watcherHandles=[])}else return Ge;let v=p?new Array(e.length).fill(Ir):Ir;const w=()=>{if(!(!$.active||!$.dirty))if(t){const x=$.run();(n||u||(p?x.some((C,S)=>mn(C,v[S])):mn(x,v)))&&(g&&g(),ts(t,l,3,[x,v===Ir?void 0:p&&v[0]===Ir?[]:v,m]),v=x)}else $.run()};w.allowRecurse=!!t;let E;i==="sync"?E=w:i==="post"?E=()=>ke(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),E=()=>kd(w));const $=new yd(d,Ge,E),T=vd(),y=()=>{$.stop(),T&&md(T.effects,$)};return t?s?w():v=$.run():i==="post"?ke($.run.bind($),l&&l.suspense):$.run(),_&&_.push(y),y}function Bw(e,t,s){const n=this.proxy,i=ie(e)?e.includes(".")?ym(n,e):()=>n[e]:e.bind(n,n);let o;Et(t)?o=t:(o=t.handler,s=t);const r=ar(this),a=vm(i,o.bind(n),s);return r(),a}function ym(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i{on(n,t,s)});else if(Cg(e)){for(const n in e)on(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&on(e[n],t,s)}return e}const Qa=e=>e.type.__isKeepAlive;function Vw(e,t){xm(e,"a",t)}function jw(e,t){xm(e,"da",t)}function xm(e,t,s=he){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ja(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Qa(i.parent.vnode)&&Hw(n,t,s,i),i=i.parent}}function Hw(e,t,s,n){const i=Ja(t,e,n,!0);rm(()=>{md(n[t],i)},s)}const en=Symbol("_leaveCb"),Or=Symbol("_enterCb");function wm(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Od(()=>{e.isMounted=!0}),Ld(()=>{e.isUnmounting=!0}),e}const Ue=[Function,Array],Em={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ue,onEnter:Ue,onAfterEnter:Ue,onEnterCancelled:Ue,onBeforeLeave:Ue,onLeave:Ue,onAfterLeave:Ue,onLeaveCancelled:Ue,onBeforeAppear:Ue,onAppear:Ue,onAfterAppear:Ue,onAppearCancelled:Ue},Sm=e=>{const t=e.subTree;return t.component?Sm(t.component):t},Ww={name:"BaseTransition",props:Em,setup(e,{slots:t}){const s=km(),n=wm();return()=>{const i=t.default&&Fd(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const p of i)if(p.type!==we){o=p;break}}const r=Ot(e),{mode:a}=r;if(n.isLeaving)return Nl(o);const l=Ih(o);if(!l)return Nl(o);let c=Ko(l,r,n,s,p=>c=p);Ni(l,c);const d=s.subTree,u=d&&Ih(d);if(u&&u.type!==we&&!ms(l,u)&&Sm(s).type!==we){const p=Ko(u,r,n,s);if(Ni(u,p),a==="out-in"&&l.type!==we)return n.isLeaving=!0,p.afterLeave=()=>{n.isLeaving=!1,s.update.active!==!1&&(s.effect.dirty=!0,s.update())},Nl(o);a==="in-out"&&l.type!==we&&(p.delayLeave=(g,m,_)=>{const v=Am(n,u);v[String(u.key)]=u,g[en]=()=>{m(),g[en]=void 0,delete c.delayedLeave},c.delayedLeave=_})}return o}}},zw=Ww;function Am(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function Ko(e,t,s,n,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:p,onLeave:g,onAfterLeave:m,onLeaveCancelled:_,onBeforeAppear:v,onAppear:w,onAfterAppear:E,onAppearCancelled:$}=t,T=String(e.key),y=Am(s,e),x=(P,M)=>{P&&ts(P,n,9,M)},C=(P,M)=>{const O=M[1];x(P,M),mt(P)?P.every(F=>F.length<=1)&&O():P.length<=1&&O()},S={mode:r,persisted:a,beforeEnter(P){let M=l;if(!s.isMounted)if(o)M=v||l;else return;P[en]&&P[en](!0);const O=y[T];O&&ms(e,O)&&O.el[en]&&O.el[en](),x(M,[P])},enter(P){let M=c,O=d,F=u;if(!s.isMounted)if(o)M=w||c,O=E||d,F=$||u;else return;let Q=!1;const G=P[Or]=H=>{Q||(Q=!0,H?x(F,[P]):x(O,[P]),S.delayedLeave&&S.delayedLeave(),P[Or]=void 0)};M?C(M,[P,G]):G()},leave(P,M){const O=String(e.key);if(P[Or]&&P[Or](!0),s.isUnmounting)return M();x(p,[P]);let F=!1;const Q=P[en]=G=>{F||(F=!0,M(),G?x(_,[P]):x(m,[P]),P[en]=void 0,y[O]===e&&delete y[O])};y[O]=e,g?C(g,[P,Q]):Q()},clone(P){const M=Ko(P,t,s,n,i);return i&&i(M),M}};return S}function Nl(e){if(Qa(e))return e=_n(e),e.children=null,e}function Ih(e){if(!Qa(e))return e;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&Et(s.default))return s.default()}}function Ni(e,t){e.shapeFlag&6&&e.component?Ni(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 Fd(e,t=!1,s){let n=[],i=0;for(let o=0;o1)for(let o=0;oe.__isTeleport,Bt=Symbol.for("v-fgt"),Za=Symbol.for("v-txt"),we=Symbol.for("v-cmt"),Fl=Symbol.for("v-stc"),ko=[];let Je=null;function L(e=!1){ko.push(Je=e?null:[])}function Cm(){ko.pop(),Je=ko[ko.length-1]||null}let Fi=1;function Oh(e){Fi+=e}function $m(e){return e.dynamicChildren=Fi>0?Je||Si:null,Cm(),Fi>0&&Je&&Je.push(e),e}function V(e,t,s,n,i,o){return $m(h(e,t,s,n,i,o,!0))}function Gt(e,t,s,n,i){return $m(dt(e,t,s,n,i,!0))}function Ea(e){return e?e.__v_isVNode===!0:!1}function ms(e,t){return e.type===t.type&&e.key===t.key}const Pm=({key:e})=>e??null,oa=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||de(e)||Et(e)?{i:Ee,r:e,k:t,f:!!s}:e:null);function h(e,t=null,s=null,n=0,i=null,o=e===Bt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pm(t),ref:t&&oa(t),scopeId:qa,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return a?(Bd(l,s),o&128&&e.normalize(l)):s&&(l.shapeFlag|=ie(s)?8:16),Fi>0&&!r&&Je&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Je.push(l),l}const dt=Uw;function Uw(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===nm)&&(e=we),Ea(e)){const a=_n(e,t,!0);return s&&Bd(a,s),Fi>0&&!o&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(nE(e)&&(e=e.__vccOpts),t){t=Yw(t);let{class:a,style:l}=t;a&&!ie(a)&&(t.class=Mt(a)),Ut(l)&&(Ka(l)&&!mt(l)&&(l=ne({},l)),t.style=Ri(l))}const r=ie(e)?1:ow(e)?128:Kw(e)?64:Ut(e)?4:Et(e)?2:0;return h(e,t,s,n,i,r,o,!0)}function Yw(e){return e?Ka(e)||um(e)?ne({},e):e:null}function _n(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?qw(i||{},t):i,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Pm(c),ref:t&&t.ref?s&&o?mt(o)?o.concat(oa(t)):[o,oa(t)]:oa(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Bt?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_n(e.ssContent),ssFallback:e.ssFallback&&_n(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ni(d,l.clone(d)),d}function ct(e=" ",t=0){return dt(Za,null,e,t)}function xt(e="",t=!1){return t?(L(),Gt(we,null,e)):dt(we,null,e)}function as(e){return e==null||typeof e=="boolean"?dt(we):mt(e)?dt(Bt,null,e.slice()):typeof e=="object"?sn(e):dt(Za,null,String(e))}function sn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_n(e)}function Bd(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(mt(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Bd(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!um(t)?t._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Et(t)?(t={default:t,_ctx:Ee},s=32):(t=String(t),n&64?(s=16,t=[ct(t)]):s=8);e.children=t,e.shapeFlag|=s}function qw(...e){const t={};for(let s=0;she||Ee;let Sa,Sc;{const e=kg(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Sa=t("__VUE_INSTANCE_SETTERS__",s=>he=s),Sc=t("__VUE_SSR_SETTERS__",s=>tl=s)}const ar=e=>{const t=he;return Sa(e),e.scope.on(),()=>{e.scope.off(),Sa(t)}},Lh=()=>{he&&he.scope.off(),Sa(null)};function Tm(e){return e.vnode.shapeFlag&4}let tl=!1;function Qw(e,t=!1){t&&Sc(t);const{props:s,children:n}=e.vnode,i=Tm(e);Pw(e,s,i,t),Mw(e,n);const o=i?Zw(e,t):void 0;return t&&Sc(!1),o}function Zw(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,vw);const{setup:n}=s;if(n){const i=e.setupContext=n.length>1?eE(e):null,o=ar(e);wn();const r=pn(n,e,0,[e.props,i]);if(En(),o(),Sg(r)){if(r.then(Lh,Lh),t)return r.then(a=>{Ac(e,a,t)}).catch(a=>{or(a,e,0)});e.asyncDep=r}else Ac(e,r,t)}else Mm(e,t)}function Ac(e,t,s){Et(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ut(t)&&(e.setupState=Xg(t)),Mm(e,s)}let Rh;function Mm(e,t,s){const n=e.type;if(!e.render){if(!t&&Rh&&!n.render){const i=n.template||Rd(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=n,c=ne(ne({isCustomElement:o,delimiters:a},r),l);n.render=Rh(i,c)}}e.render=n.render||Ge}{const i=ar(e);wn();try{yw(e)}finally{En(),i()}}}const tE={get(e,t){return De(e,"get",""),e[t]}};function eE(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,tE),slots:e.slots,emit:e.emit,expose:t}}function el(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xg(Ua(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Po)return Po[s](e)},has(t,s){return s in t||s in Po}})):e.proxy}function sE(e,t=!0){return Et(e)?e.displayName||e.name:e.name||t&&e.__name}function nE(e){return Et(e)&&"__vccOpts"in e}const qe=(e,t)=>zx(e,t,tl);function Bi(e,t,s){const n=arguments.length;return n===2?Ut(t)&&!mt(t)?Ea(t)?dt(e,null,[t]):dt(e,t):dt(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Ea(s)&&(s=[s]),dt(e,t,s))}const Dm="3.4.29";/** +**/function pn(e,t,s,n){try{return n?e(...n):e()}catch(i){or(i,t,s)}}function ts(e,t,s,n){if(St(e)){const i=pn(e,t,s,n);return i&&Eg(i)&&i.catch(o=>{or(o,t,s)}),i}if(mt(e)){const i=[];for(let o=0;o>>1,i=_e[n],o=Wo(i);ogs&&_e.splice(t,1)}function _c(e){mt(e)?Ci.push(...e):(!tn||!tn.includes(e,e.allowRecurse?Kn+1:Kn))&&Ci.push(e),Zg()}function yh(e,t,s=Ho?gs+1:0){for(;s<_e.length;s++){const n=_e[s];if(n&&n.pre){if(e&&n.id!==e.uid)continue;_e.splice(s,1),s--,n()}}}function tm(e){if(Ci.length){const t=[...new Set(Ci)].sort((s,n)=>Wo(s)-Wo(n));if(Ci.length=0,tn){tn.push(...t);return}for(tn=t,Kn=0;Kne.id==null?1/0:e.id,Zx=(e,t)=>{const s=Wo(e)-Wo(t);if(s===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return s};function em(e){mc=!1,Ho=!0,_e.sort(Zx);try{for(gs=0;gs<_e.length;gs++){const t=_e[gs];t&&t.active!==!1&&pn(t,null,14)}}finally{gs=0,_e.length=0,tm(),Ho=!1,Pd=null,(_e.length||Ci.length)&&em()}}function tw(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||qt;let i=s;const o=t.startsWith("update:"),r=o&&t.slice(7);if(r&&r in n){const d=`${r==="modelValue"?"model":r}Modifiers`,{number:u,trim:p}=n[d]||qt;p&&(i=s.map(g=>ie(g)?g.trim():g)),u&&(i=s.map(ba))}let a,l=n[a=Dl(t)]||n[a=Dl(Ss(t))];!l&&o&&(l=n[a=Dl(Zi(t))]),l&&ts(l,e,6,i);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ts(c,e,6,i)}}function sm(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!St(e)){const l=c=>{const d=sm(c,t,!0);d&&(a=!0,ne(r,d))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(Ut(e)&&n.set(e,null),null):(mt(o)?o.forEach(l=>r[l]=null):ne(r,o),Ut(e)&&n.set(e,r),r)}function Ya(e,t){return!e||!ja(t)?!1:(t=t.slice(2).replace(/Once$/,""),Vt(e,t[0].toLowerCase()+t.slice(1))||Vt(e,Zi(t))||Vt(e,t))}let Se=null,qa=null;function xa(e){const t=Se;return Se=e,qa=e&&e.type.__scopeId||null,t}function ss(e){qa=e}function ns(){qa=null}function It(e,t=Se,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Oh(-1);const o=xa(t);let r;try{r=e(...i)}finally{xa(o),n._d&&Oh(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Ol(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:d,props:u,data:p,setupState:g,ctx:m,inheritAttrs:_}=e,v=xa(e);let w,S;try{if(s.shapeFlag&4){const T=i||n,y=T;w=as(c.call(y,T,d,u,g,p,m)),S=a}else{const T=t;w=as(T.length>1?T(u,{attrs:a,slots:r,emit:l}):T(u,null)),S=t.props?a:sw(a)}}catch(T){ko.length=0,or(T,e,1),w=dt(we)}let $=w;if(S&&_!==!1){const T=Object.keys(S),{shapeFlag:y}=$;T.length&&y&7&&(o&&T.some(gd)&&(S=nw(S,o)),$=_n($,S,!1,!0))}return s.dirs&&($=_n($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(s.dirs):s.dirs),s.transition&&($.transition=s.transition),w=$,xa(v),w}function ew(e,t=!0){let s;for(let n=0;n{let t;for(const s in e)(s==="class"||s==="style"||ja(s))&&((t||(t={}))[s]=e[s]);return t},nw=(e,t)=>{const s={};for(const n in e)(!gd(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function iw(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return n?xh(n,r,c):!!r;if(l&8){const d=t.dynamicProps;for(let u=0;ue.__isSuspense;let bc=0;const rw={name:"Suspense",__isSuspense:!0,process(e,t,s,n,i,o,r,a,l,c){if(e==null)aw(t,s,n,i,o,r,a,l,c);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}lw(e,t,s,n,i,r,a,l,c)}},hydrate:cw,create:Id,normalize:dw},Ga=rw;function zo(e,t){const s=e.props&&e.props[t];St(s)&&s()}function aw(e,t,s,n,i,o,r,a,l){const{p:c,o:{createElement:d}}=l,u=d("div"),p=e.suspense=Id(e,i,n,t,u,s,o,r,a,l);c(null,p.pendingBranch=e.ssContent,u,null,n,p,o,r),p.deps>0?(zo(e,"onPending"),zo(e,"onFallback"),c(null,e.ssFallback,t,s,n,null,o,r),$i(p,e.ssFallback)):p.resolve(!1,!0)}function lw(e,t,s,n,i,o,r,a,{p:l,um:c,o:{createElement:d}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const p=t.ssContent,g=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:v,isHydrating:w}=u;if(_)u.pendingBranch=p,ms(p,_)?(l(_,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():v&&(w||(l(m,g,s,n,i,null,o,r,a),$i(u,g)))):(u.pendingId=bc++,w?(u.isHydrating=!1,u.activeBranch=_):c(_,i,u),u.deps=0,u.effects.length=0,u.hiddenContainer=d("div"),v?(l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():(l(m,g,s,n,i,null,o,r,a),$i(u,g))):m&&ms(p,m)?(l(m,p,s,n,i,u,o,r,a),u.resolve(!0)):(l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0&&u.resolve()));else if(m&&ms(p,m))l(m,p,s,n,i,u,o,r,a),$i(u,p);else if(zo(t,"onPending"),u.pendingBranch=p,p.shapeFlag&512?u.pendingId=p.component.suspenseId:u.pendingId=bc++,l(null,p,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0)u.resolve();else{const{timeout:S,pendingId:$}=u;S>0?setTimeout(()=>{u.pendingId===$&&u.fallback(g)},S):S===0&&u.fallback(g)}}function Id(e,t,s,n,i,o,r,a,l,c,d=!1){const{p:u,m:p,um:g,n:m,o:{parentNode:_,remove:v}}=c;let w;const S=hw(e);S&&t&&t.pendingBranch&&(w=t.pendingId,t.deps++);const $=e.props?Pg(e.props.timeout):void 0,T=o,y={vnode:e,parent:t,parentComponent:s,namespace:r,container:n,hiddenContainer:i,deps:0,pendingId:bc++,timeout:typeof $=="number"?$:-1,activeBranch:null,pendingBranch:null,isInFallback:!d,isHydrating:d,isUnmounted:!1,effects:[],resolve(x=!1,C=!1){const{vnode:E,activeBranch:P,pendingBranch:M,pendingId:O,effects:F,parentComponent:Q,container:G}=y;let H=!1;y.isHydrating?y.isHydrating=!1:x||(H=P&&M.transition&&M.transition.mode==="out-in",H&&(P.transition.afterLeave=()=>{O===y.pendingId&&(p(M,G,o===T?m(P):o,0),_c(F))}),P&&(_(P.el)!==y.hiddenContainer&&(o=m(P)),g(P,Q,y,!0)),H||p(M,G,o,0)),$i(y,M),y.pendingBranch=null,y.isInFallback=!1;let R=y.parent,z=!1;for(;R;){if(R.pendingBranch){R.effects.push(...F),z=!0;break}R=R.parent}!z&&!H&&_c(F),y.effects=[],S&&t&&t.pendingBranch&&w===t.pendingId&&(t.deps--,t.deps===0&&!C&&t.resolve()),zo(E,"onResolve")},fallback(x){if(!y.pendingBranch)return;const{vnode:C,activeBranch:E,parentComponent:P,container:M,namespace:O}=y;zo(C,"onFallback");const F=m(E),Q=()=>{y.isInFallback&&(u(null,x,M,F,P,null,O,a,l),$i(y,x))},G=x.transition&&x.transition.mode==="out-in";G&&(E.transition.afterLeave=Q),y.isInFallback=!0,g(E,P,null,!0),G||Q()},move(x,C,E){y.activeBranch&&p(y.activeBranch,x,C,E),y.container=x},next(){return y.activeBranch&&m(y.activeBranch)},registerDep(x,C,E){const P=!!y.pendingBranch;P&&y.deps++;const M=x.vnode.el;x.asyncDep.catch(O=>{or(O,x,0)}).then(O=>{if(x.isUnmounted||y.isUnmounted||y.pendingId!==x.suspenseId)return;x.asyncResolved=!0;const{vnode:F}=x;Ac(x,O,!1),M&&(F.el=M);const Q=!M&&x.subTree.el;C(x,F,_(M||x.subTree.el),M?null:m(x.subTree),y,r,E),Q&&v(Q),Td(x,F.el),P&&--y.deps===0&&y.resolve()})},unmount(x,C){y.isUnmounted=!0,y.activeBranch&&g(y.activeBranch,s,x,C),y.pendingBranch&&g(y.pendingBranch,s,x,C)}};return y}function cw(e,t,s,n,i,o,r,a,l){const c=t.suspense=Id(t,n,s,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),d=l(e,c.pendingBranch=t.ssContent,s,c,o,r);return c.deps===0&&c.resolve(!1,!0),d}function dw(e){const{shapeFlag:t,children:s}=e,n=t&32;e.ssContent=Sh(n?s.default:s),e.ssFallback=n?Sh(s.fallback):dt(we)}function Sh(e){let t;if(St(e)){const s=Fi&&e._c;s&&(e._d=!1,L()),e=e(),s&&(e._d=!0,t=Je,Cm())}return mt(e)&&(e=ew(e)),e=as(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(s=>s!==e)),e}function uw(e,t){t&&t.pendingBranch?mt(e)?t.effects.push(...e):t.effects.push(e):_c(e)}function $i(e,t){e.activeBranch=t;const{vnode:s,parentComponent:n}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;s.el=i,n&&n.subTree===s&&(n.vnode.el=i,Td(n,i))}function hw(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function Ja(e,t,s=he,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{wn();const a=ar(s),l=ts(t,s,e,r);return a(),Sn(),l});return n?i.unshift(o):i.push(o),o}}const Ws=e=>(t,s=he)=>{(!tl||e==="sp")&&Ja(e,(...n)=>t(...n),s)},fw=Ws("bm"),Od=Ws("m"),pw=Ws("bu"),om=Ws("u"),Ld=Ws("bum"),rm=Ws("um"),gw=Ws("sp"),mw=Ws("rtg"),_w=Ws("rtc");function bw(e,t=he){Ja("ec",e,t)}function ft(e,t){if(Se===null)return e;const s=el(Se),n=e.dirs||(e.dirs=[]);for(let i=0;it(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,l=r.length;a!!e.type.__asyncLoader,vc=e=>e?Tm(e)?el(e):vc(e.parent):null,Po=ne(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=>vc(e.parent),$root:e=>vc(e.root),$emit:e=>e.emit,$options:e=>Rd(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,kd(e.update)}),$nextTick:e=>e.n||(e.n=rr.bind(e.proxy)),$watch:e=>Bw.bind(e)}),Ll=(e,t)=>e!==qt&&!e.__isScriptSetup&&Vt(e,t),vw={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(Ll(n,t))return r[t]=1,n[t];if(i!==qt&&Vt(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Vt(c,t))return r[t]=3,o[t];if(s!==qt&&Vt(s,t))return r[t]=4,s[t];yc&&(r[t]=0)}}const d=Po[t];let u,p;if(d)return t==="$attrs"&&De(e.attrs,"get",""),d(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(s!==qt&&Vt(s,t))return r[t]=4,s[t];if(p=l.config.globalProperties,Vt(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return Ll(i,t)?(i[t]=s,!0):n!==qt&&Vt(n,t)?(n[t]=s,!0):Vt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:o}},r){let a;return!!s[r]||e!==qt&&Vt(e,r)||Ll(t,r)||(a=o[0])&&Vt(a,r)||Vt(n,r)||Vt(Po,r)||Vt(i.config.globalProperties,r)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Vt(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Eh(e){return mt(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let yc=!0;function yw(e){const t=Rd(e),s=e.proxy,n=e.ctx;yc=!1,t.beforeCreate&&Ah(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:d,beforeMount:u,mounted:p,beforeUpdate:g,updated:m,activated:_,deactivated:v,beforeDestroy:w,beforeUnmount:S,destroyed:$,unmounted:T,render:y,renderTracked:x,renderTriggered:C,errorCaptured:E,serverPrefetch:P,expose:M,inheritAttrs:O,components:F,directives:Q,filters:G}=t;if(c&&xw(c,n,null),r)for(const z in r){const Y=r[z];St(Y)&&(n[z]=Y.bind(s))}if(i){const z=i.call(s,s);Ut(z)&&(e.data=ir(z))}if(yc=!0,o)for(const z in o){const Y=o[z],rt=St(Y)?Y.bind(s,s):St(Y.get)?Y.get.bind(s,s):Ge,ht=!St(Y)&&St(Y.set)?Y.set.bind(s):Ge,vt=qe({get:rt,set:ht});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>vt.value,set:_t=>vt.value=_t})}if(a)for(const z in a)am(a[z],n,s,z);if(l){const z=St(l)?l.call(s):l;Reflect.ownKeys(z).forEach(Y=>{ia(Y,z[Y])})}d&&Ah(d,e,"c");function R(z,Y){mt(Y)?Y.forEach(rt=>z(rt.bind(s))):Y&&z(Y.bind(s))}if(R(fw,u),R(Od,p),R(pw,g),R(om,m),R(Vw,_),R(jw,v),R(bw,E),R(_w,x),R(mw,C),R(Ld,S),R(rm,T),R(gw,P),mt(M))if(M.length){const z=e.exposed||(e.exposed={});M.forEach(Y=>{Object.defineProperty(z,Y,{get:()=>s[Y],set:rt=>s[Y]=rt})})}else e.exposed||(e.exposed={});y&&e.render===Ge&&(e.render=y),O!=null&&(e.inheritAttrs=O),F&&(e.components=F),Q&&(e.directives=Q)}function xw(e,t,s=Ge){mt(e)&&(e=xc(e));for(const n in e){const i=e[n];let o;Ut(i)?"default"in i?o=ys(i.from||n,i.default,!0):o=ys(i.from||n):o=ys(i),de(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function Ah(e,t,s){ts(mt(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function am(e,t,s,n){const i=n.includes(".")?ym(s,n):()=>s[n];if(ie(e)){const o=t[e];St(o)&&Xn(i,o)}else if(St(e))Xn(i,e.bind(s));else if(Ut(e))if(mt(e))e.forEach(o=>am(o,t,s,n));else{const o=St(e.handler)?e.handler.bind(s):t[e.handler];St(o)&&Xn(i,o,e)}}function Rd(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!s&&!n?l=t:(l={},i.length&&i.forEach(c=>wa(l,c,r,!0)),wa(l,t,r)),Ut(t)&&o.set(t,l),l}function wa(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&wa(e,o,s,!0),i&&i.forEach(r=>wa(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=ww[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const ww={data:Ch,props:$h,emits:$h,methods:_o,computed:_o,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:_o,directives:_o,watch:Ew,provide:Ch,inject:Sw};function Ch(e,t){return t?e?function(){return ne(St(e)?e.call(this,this):e,St(t)?t.call(this,this):t)}:t:e}function Sw(e,t){return _o(xc(e),xc(t))}function xc(e){if(mt(e)){const t={};for(let s=0;s1)return s&&St(t)?t.call(n&&n.proxy):t}}function $w(){return!!(he||Se||Pi)}const cm={},dm=()=>Object.create(cm),um=e=>Object.getPrototypeOf(e)===cm;function Pw(e,t,s,n=!1){const i={},o=dm();e.propsDefaults=Object.create(null),hm(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:Ug(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function kw(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Ot(i),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[p,g]=fm(u,t,!0);ne(r,p),g&&a.push(...g)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!l)return Ut(e)&&n.set(e,Ei),Ei;if(mt(o))for(let d=0;d-1,g[1]=_<0||m<_,(m>-1||Vt(g,"default"))&&a.push(u)}}}const c=[r,a];return Ut(e)&&n.set(e,c),c}function Ph(e){return e[0]!=="$"&&!$o(e)}function kh(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Th(e,t){return kh(e)===kh(t)}function Mh(e,t){return mt(t)?t.findIndex(s=>Th(s,e)):St(t)&&Th(t,e)?0:-1}const pm=e=>e[0]==="_"||e==="$stable",Nd=e=>mt(e)?e.map(as):[as(e)],Tw=(e,t,s)=>{if(t._n)return t;const n=It((...i)=>Nd(t(...i)),s);return n._c=!1,n},gm=(e,t,s)=>{const n=e._ctx;for(const i in e){if(pm(i))continue;const o=e[i];if(St(o))t[i]=Tw(i,o,n);else if(o!=null){const r=Nd(o);t[i]=()=>r}}},mm=(e,t)=>{const s=Nd(t);e.slots.default=()=>s},Mw=(e,t)=>{const s=e.slots=dm();if(e.vnode.shapeFlag&32){const n=t._;n?(ne(s,t),$g(s,"_",n,!0)):gm(t,s)}else t&&mm(e,t)},Dw=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=qt;if(n.shapeFlag&32){const a=t._;a?s&&a===1?o=!1:(ne(i,t),!s&&a===1&&delete i._):(o=!t.$stable,gm(t,i)),r=t}else t&&(mm(e,t),r={default:1});if(o)for(const a in i)!pm(a)&&r[a]==null&&delete i[a]};function Sc(e,t,s,n,i=!1){if(mt(e)){e.forEach((p,g)=>Sc(p,t&&(mt(t)?t[g]:t),s,n,i));return}if(na(n)&&!i)return;const o=n.shapeFlag&4?el(n.component):n.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,d=a.refs===qt?a.refs={}:a.refs,u=a.setupState;if(c!=null&&c!==l&&(ie(c)?(d[c]=null,Vt(u,c)&&(u[c]=null)):de(c)&&(c.value=null)),St(l))pn(l,a,12,[r,d]);else{const p=ie(l),g=de(l);if(p||g){const m=()=>{if(e.f){const _=p?Vt(u,l)?u[l]:d[l]:l.value;i?mt(_)&&md(_,o):mt(_)?_.includes(o)||_.push(o):p?(d[l]=[o],Vt(u,l)&&(u[l]=d[l])):(l.value=[o],e.k&&(d[e.k]=l.value))}else p?(d[l]=r,Vt(u,l)&&(u[l]=r)):g&&(l.value=r,e.k&&(d[e.k]=r))};r?(m.id=-1,ke(m,s)):m()}}}const ke=uw;function Iw(e){return Ow(e)}function Ow(e,t){const s=kg();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:d,parentNode:u,nextSibling:p,setScopeId:g=Ge,insertStaticContent:m}=e,_=(A,I,N,q=null,K=null,X=null,at=void 0,B=null,Z=!!I.dynamicChildren)=>{if(A===I)return;A&&!ms(A,I)&&(q=W(A),_t(A,K,X,!0),A=null),I.patchFlag===-2&&(Z=!1,I.dynamicChildren=null);const{type:J,ref:ut,shapeFlag:gt}=I;switch(J){case Za:v(A,I,N,q);break;case we:w(A,I,N,q);break;case Fl:A==null&&S(I,N,q,at);break;case Bt:F(A,I,N,q,K,X,at,B,Z);break;default:gt&1?y(A,I,N,q,K,X,at,B,Z):gt&6?Q(A,I,N,q,K,X,at,B,Z):(gt&64||gt&128)&&J.process(A,I,N,q,K,X,at,B,Z,lt)}ut!=null&&K&&Sc(ut,A&&A.ref,X,I||A,!I)},v=(A,I,N,q)=>{if(A==null)n(I.el=a(I.children),N,q);else{const K=I.el=A.el;I.children!==A.children&&c(K,I.children)}},w=(A,I,N,q)=>{A==null?n(I.el=l(I.children||""),N,q):I.el=A.el},S=(A,I,N,q)=>{[A.el,A.anchor]=m(A.children,I,N,q,A.el,A.anchor)},$=({el:A,anchor:I},N,q)=>{let K;for(;A&&A!==I;)K=p(A),n(A,N,q),A=K;n(I,N,q)},T=({el:A,anchor:I})=>{let N;for(;A&&A!==I;)N=p(A),i(A),A=N;i(I)},y=(A,I,N,q,K,X,at,B,Z)=>{I.type==="svg"?at="svg":I.type==="math"&&(at="mathml"),A==null?x(I,N,q,K,X,at,B,Z):P(A,I,K,X,at,B,Z)},x=(A,I,N,q,K,X,at,B)=>{let Z,J;const{props:ut,shapeFlag:gt,transition:pt,dirs:yt}=A;if(Z=A.el=r(A.type,X,ut&&ut.is,ut),gt&8?d(Z,A.children):gt&16&&E(A.children,Z,null,q,K,Rl(A,X),at,B),yt&&Rn(A,null,q,"created"),C(Z,A,A.scopeId,at,q),ut){for(const Ht in ut)Ht!=="value"&&!$o(Ht)&&o(Z,Ht,null,ut[Ht],X,A.children,q,K,kt);"value"in ut&&o(Z,"value",null,ut.value,X),(J=ut.onVnodeBeforeMount)&&hs(J,q,A)}yt&&Rn(A,null,q,"beforeMount");const At=Lw(K,pt);At&&pt.beforeEnter(Z),n(Z,I,N),((J=ut&&ut.onVnodeMounted)||At||yt)&&ke(()=>{J&&hs(J,q,A),At&&pt.enter(Z),yt&&Rn(A,null,q,"mounted")},K)},C=(A,I,N,q,K)=>{if(N&&g(A,N),q)for(let X=0;X{for(let J=Z;J{const B=I.el=A.el;let{patchFlag:Z,dynamicChildren:J,dirs:ut}=I;Z|=A.patchFlag&16;const gt=A.props||qt,pt=I.props||qt;let yt;if(N&&Nn(N,!1),(yt=pt.onVnodeBeforeUpdate)&&hs(yt,N,I,A),ut&&Rn(I,A,N,"beforeUpdate"),N&&Nn(N,!0),J?M(A.dynamicChildren,J,B,N,q,Rl(I,K),X):at||Y(A,I,B,null,N,q,Rl(I,K),X,!1),Z>0){if(Z&16)O(B,I,gt,pt,N,q,K);else if(Z&2&>.class!==pt.class&&o(B,"class",null,pt.class,K),Z&4&&o(B,"style",gt.style,pt.style,K),Z&8){const At=I.dynamicProps;for(let Ht=0;Ht{yt&&hs(yt,N,I,A),ut&&Rn(I,A,N,"updated")},q)},M=(A,I,N,q,K,X,at)=>{for(let B=0;B{if(N!==q){if(N!==qt)for(const B in N)!$o(B)&&!(B in q)&&o(A,B,N[B],null,at,I.children,K,X,kt);for(const B in q){if($o(B))continue;const Z=q[B],J=N[B];Z!==J&&B!=="value"&&o(A,B,J,Z,at,I.children,K,X,kt)}"value"in q&&o(A,"value",N.value,q.value,at)}},F=(A,I,N,q,K,X,at,B,Z)=>{const J=I.el=A?A.el:a(""),ut=I.anchor=A?A.anchor:a("");let{patchFlag:gt,dynamicChildren:pt,slotScopeIds:yt}=I;yt&&(B=B?B.concat(yt):yt),A==null?(n(J,N,q),n(ut,N,q),E(I.children||[],N,ut,K,X,at,B,Z)):gt>0&>&64&&pt&&A.dynamicChildren?(M(A.dynamicChildren,pt,N,K,X,at,B),(I.key!=null||K&&I===K.subTree)&&_m(A,I,!0)):Y(A,I,N,ut,K,X,at,B,Z)},Q=(A,I,N,q,K,X,at,B,Z)=>{I.slotScopeIds=B,A==null?I.shapeFlag&512?K.ctx.activate(I,N,q,at,Z):G(I,N,q,K,X,at,Z):H(A,I,Z)},G=(A,I,N,q,K,X,at)=>{const B=A.component=Xw(A,q,K);if(Qa(A)&&(B.ctx.renderer=lt),Qw(B),B.asyncDep){if(K&&K.registerDep(B,R,at),!A.el){const Z=B.subTree=dt(we);w(null,Z,I,N)}}else R(B,A,I,N,K,X,at)},H=(A,I,N)=>{const q=I.component=A.component;if(iw(A,I,N))if(q.asyncDep&&!q.asyncResolved){z(q,I,N);return}else q.next=I,Qx(q.update),q.effect.dirty=!0,q.update();else I.el=A.el,q.vnode=I},R=(A,I,N,q,K,X,at)=>{const B=()=>{if(A.isMounted){let{next:ut,bu:gt,u:pt,parent:yt,vnode:At}=A;{const Ks=bm(A);if(Ks){ut&&(ut.el=At.el,z(A,ut,at)),Ks.asyncDep.then(()=>{A.isUnmounted||B()});return}}let Ht=ut,Rt;Nn(A,!1),ut?(ut.el=At.el,z(A,ut,at)):ut=At,gt&&ea(gt),(Rt=ut.props&&ut.props.onVnodeBeforeUpdate)&&hs(Rt,yt,ut,At),Nn(A,!0);const oe=Ol(A),We=A.subTree;A.subTree=oe,_(We,oe,u(We.el),W(We),A,K,X),ut.el=oe.el,Ht===null&&Td(A,oe.el),pt&&ke(pt,K),(Rt=ut.props&&ut.props.onVnodeUpdated)&&ke(()=>hs(Rt,yt,ut,At),K)}else{let ut;const{el:gt,props:pt}=I,{bm:yt,m:At,parent:Ht}=A,Rt=na(I);if(Nn(A,!1),yt&&ea(yt),!Rt&&(ut=pt&&pt.onVnodeBeforeMount)&&hs(ut,Ht,I),Nn(A,!0),gt&&Lt){const oe=()=>{A.subTree=Ol(A),Lt(gt,A.subTree,A,K,null)};Rt?I.type.__asyncLoader().then(()=>!A.isUnmounted&&oe()):oe()}else{const oe=A.subTree=Ol(A);_(null,oe,N,q,A,K,X),I.el=oe.el}if(At&&ke(At,K),!Rt&&(ut=pt&&pt.onVnodeMounted)){const oe=I;ke(()=>hs(ut,Ht,oe),K)}(I.shapeFlag&256||Ht&&na(Ht.vnode)&&Ht.vnode.shapeFlag&256)&&A.a&&ke(A.a,K),A.isMounted=!0,I=N=q=null}},Z=A.effect=new yd(B,Ge,()=>kd(J),A.scope),J=A.update=()=>{Z.dirty&&Z.run()};J.id=A.uid,Nn(A,!0),J()},z=(A,I,N)=>{I.component=A;const q=A.vnode.props;A.vnode=I,A.next=null,kw(A,I.props,q,N),Dw(A,I.children,N),wn(),yh(A),Sn()},Y=(A,I,N,q,K,X,at,B,Z=!1)=>{const J=A&&A.children,ut=A?A.shapeFlag:0,gt=I.children,{patchFlag:pt,shapeFlag:yt}=I;if(pt>0){if(pt&128){ht(J,gt,N,q,K,X,at,B,Z);return}else if(pt&256){rt(J,gt,N,q,K,X,at,B,Z);return}}yt&8?(ut&16&&kt(J,K,X),gt!==J&&d(N,gt)):ut&16?yt&16?ht(J,gt,N,q,K,X,at,B,Z):kt(J,K,X,!0):(ut&8&&d(N,""),yt&16&&E(gt,N,q,K,X,at,B,Z))},rt=(A,I,N,q,K,X,at,B,Z)=>{A=A||Ei,I=I||Ei;const J=A.length,ut=I.length,gt=Math.min(J,ut);let pt;for(pt=0;ptut?kt(A,K,X,!0,!1,gt):E(I,N,q,K,X,at,B,Z,gt)},ht=(A,I,N,q,K,X,at,B,Z)=>{let J=0;const ut=I.length;let gt=A.length-1,pt=ut-1;for(;J<=gt&&J<=pt;){const yt=A[J],At=I[J]=Z?sn(I[J]):as(I[J]);if(ms(yt,At))_(yt,At,N,null,K,X,at,B,Z);else break;J++}for(;J<=gt&&J<=pt;){const yt=A[gt],At=I[pt]=Z?sn(I[pt]):as(I[pt]);if(ms(yt,At))_(yt,At,N,null,K,X,at,B,Z);else break;gt--,pt--}if(J>gt){if(J<=pt){const yt=pt+1,At=ytpt)for(;J<=gt;)_t(A[J],K,X,!0),J++;else{const yt=J,At=J,Ht=new Map;for(J=At;J<=pt;J++){const ye=I[J]=Z?sn(I[J]):as(I[J]);ye.key!=null&&Ht.set(ye.key,J)}let Rt,oe=0;const We=pt-At+1;let Ks=!1,fr=0;const Pn=new Array(We);for(J=0;J=We){_t(ye,K,X,!0);continue}let ge;if(ye.key!=null)ge=Ht.get(ye.key);else for(Rt=At;Rt<=pt;Rt++)if(Pn[Rt-At]===0&&ms(ye,I[Rt])){ge=Rt;break}ge===void 0?_t(ye,K,X,!0):(Pn[ge-At]=J+1,ge>=fr?fr=ge:Ks=!0,_(ye,I[ge],N,null,K,X,at,B,Z),oe++)}const no=Ks?Rw(Pn):Ei;for(Rt=no.length-1,J=We-1;J>=0;J--){const ye=At+J,ge=I[ye],pr=ye+1{const{el:X,type:at,transition:B,children:Z,shapeFlag:J}=A;if(J&6){vt(A.component.subTree,I,N,q);return}if(J&128){A.suspense.move(I,N,q);return}if(J&64){at.move(A,I,N,lt);return}if(at===Bt){n(X,I,N);for(let gt=0;gtB.enter(X),K);else{const{leave:gt,delayLeave:pt,afterLeave:yt}=B,At=()=>n(X,I,N),Ht=()=>{gt(X,()=>{At(),yt&&yt()})};pt?pt(X,At,Ht):Ht()}else n(X,I,N)},_t=(A,I,N,q=!1,K=!1)=>{const{type:X,props:at,ref:B,children:Z,dynamicChildren:J,shapeFlag:ut,patchFlag:gt,dirs:pt,memoIndex:yt}=A;if(B!=null&&Sc(B,null,N,A,!0),yt!=null&&(I.renderCache[yt]=void 0),ut&256){I.ctx.deactivate(A);return}const At=ut&1&&pt,Ht=!na(A);let Rt;if(Ht&&(Rt=at&&at.onVnodeBeforeUnmount)&&hs(Rt,I,A),ut&6)Ft(A.component,N,q);else{if(ut&128){A.suspense.unmount(N,q);return}At&&Rn(A,null,I,"beforeUnmount"),ut&64?A.type.remove(A,I,N,K,lt,q):J&&(X!==Bt||gt>0&>&64)?kt(J,I,N,!1,!0):(X===Bt&>&384||!K&&ut&16)&&kt(Z,I,N),q&&Dt(A)}(Ht&&(Rt=at&&at.onVnodeUnmounted)||At)&&ke(()=>{Rt&&hs(Rt,I,A),At&&Rn(A,null,I,"unmounted")},N)},Dt=A=>{const{type:I,el:N,anchor:q,transition:K}=A;if(I===Bt){Pt(N,q);return}if(I===Fl){T(A);return}const X=()=>{i(N),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(A.shapeFlag&1&&K&&!K.persisted){const{leave:at,delayLeave:B}=K,Z=()=>at(N,X);B?B(A.el,X,Z):Z()}else X()},Pt=(A,I)=>{let N;for(;A!==I;)N=p(A),i(A),A=N;i(I)},Ft=(A,I,N)=>{const{bum:q,scope:K,update:X,subTree:at,um:B,m:Z,a:J}=A;Dh(Z),Dh(J),q&&ea(q),K.stop(),X&&(X.active=!1,_t(at,A,I,N)),B&&ke(B,I),ke(()=>{A.isUnmounted=!0},I),I&&I.pendingBranch&&!I.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===I.pendingId&&(I.deps--,I.deps===0&&I.resolve())},kt=(A,I,N,q=!1,K=!1,X=0)=>{for(let at=X;atA.shapeFlag&6?W(A.component.subTree):A.shapeFlag&128?A.suspense.next():p(A.anchor||A.el);let st=!1;const tt=(A,I,N)=>{A==null?I._vnode&&_t(I._vnode,null,null,!0):_(I._vnode||null,A,I,null,null,null,N),st||(st=!0,yh(),tm(),st=!1),I._vnode=A},lt={p:_,um:_t,m:vt,r:Dt,mt:G,mc:E,pc:Y,pbc:M,n:W,o:e};let j,Lt;return t&&([j,Lt]=t(lt)),{render:tt,hydrate:j,createApp:Cw(tt,j)}}function Rl({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Nn({effect:e,update:t},s){e.allowRecurse=t.allowRecurse=s}function Lw(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _m(e,t,s=!1){const n=e.children,i=t.children;if(mt(n)&&mt(i))for(let o=0;o>1,e[s[a]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function bm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:bm(t)}function Dh(e){if(e)for(let t=0;tys(Nw),Ir={};function Xn(e,t,s){return vm(e,t,s)}function vm(e,t,{immediate:s,deep:n,flush:i,once:o,onTrack:r,onTrigger:a}=qt){if(t&&o){const x=t;t=(...C)=>{x(...C),y()}}const l=he,c=x=>n===!0?x:on(x,n===!1?1:void 0);let d,u=!1,p=!1;if(de(e)?(d=()=>e.value,u=ya(e)):Jn(e)?(d=()=>c(e),u=!0):mt(e)?(p=!0,u=e.some(x=>Jn(x)||ya(x)),d=()=>e.map(x=>{if(de(x))return x.value;if(Jn(x))return c(x);if(St(x))return pn(x,l,2)})):St(e)?t?d=()=>pn(e,l,2):d=()=>(g&&g(),ts(e,l,3,[m])):d=Ge,t&&n){const x=d;d=()=>on(x())}let g,m=x=>{g=$.onStop=()=>{pn(x,l,4),g=$.onStop=void 0}},_;if(tl)if(m=Ge,t?s&&ts(t,l,3,[d(),p?[]:void 0,m]):d(),i==="sync"){const x=Fw();_=x.__watcherHandles||(x.__watcherHandles=[])}else return Ge;let v=p?new Array(e.length).fill(Ir):Ir;const w=()=>{if(!(!$.active||!$.dirty))if(t){const x=$.run();(n||u||(p?x.some((C,E)=>mn(C,v[E])):mn(x,v)))&&(g&&g(),ts(t,l,3,[x,v===Ir?void 0:p&&v[0]===Ir?[]:v,m]),v=x)}else $.run()};w.allowRecurse=!!t;let S;i==="sync"?S=w:i==="post"?S=()=>ke(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),S=()=>kd(w));const $=new yd(d,Ge,S),T=vd(),y=()=>{$.stop(),T&&md(T.effects,$)};return t?s?w():v=$.run():i==="post"?ke($.run.bind($),l&&l.suspense):$.run(),_&&_.push(y),y}function Bw(e,t,s){const n=this.proxy,i=ie(e)?e.includes(".")?ym(n,e):()=>n[e]:e.bind(n,n);let o;St(t)?o=t:(o=t.handler,s=t);const r=ar(this),a=vm(i,o.bind(n),s);return r(),a}function ym(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i{on(n,t,s)});else if(Cg(e)){for(const n in e)on(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&on(e[n],t,s)}return e}const Qa=e=>e.type.__isKeepAlive;function Vw(e,t){xm(e,"a",t)}function jw(e,t){xm(e,"da",t)}function xm(e,t,s=he){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ja(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Qa(i.parent.vnode)&&Hw(n,t,s,i),i=i.parent}}function Hw(e,t,s,n){const i=Ja(t,e,n,!0);rm(()=>{md(n[t],i)},s)}const en=Symbol("_leaveCb"),Or=Symbol("_enterCb");function wm(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Od(()=>{e.isMounted=!0}),Ld(()=>{e.isUnmounting=!0}),e}const Ue=[Function,Array],Sm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ue,onEnter:Ue,onAfterEnter:Ue,onEnterCancelled:Ue,onBeforeLeave:Ue,onLeave:Ue,onAfterLeave:Ue,onLeaveCancelled:Ue,onBeforeAppear:Ue,onAppear:Ue,onAfterAppear:Ue,onAppearCancelled:Ue},Em=e=>{const t=e.subTree;return t.component?Em(t.component):t},Ww={name:"BaseTransition",props:Sm,setup(e,{slots:t}){const s=km(),n=wm();return()=>{const i=t.default&&Fd(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const p of i)if(p.type!==we){o=p;break}}const r=Ot(e),{mode:a}=r;if(n.isLeaving)return Nl(o);const l=Ih(o);if(!l)return Nl(o);let c=Ko(l,r,n,s,p=>c=p);Ni(l,c);const d=s.subTree,u=d&&Ih(d);if(u&&u.type!==we&&!ms(l,u)&&Em(s).type!==we){const p=Ko(u,r,n,s);if(Ni(u,p),a==="out-in"&&l.type!==we)return n.isLeaving=!0,p.afterLeave=()=>{n.isLeaving=!1,s.update.active!==!1&&(s.effect.dirty=!0,s.update())},Nl(o);a==="in-out"&&l.type!==we&&(p.delayLeave=(g,m,_)=>{const v=Am(n,u);v[String(u.key)]=u,g[en]=()=>{m(),g[en]=void 0,delete c.delayedLeave},c.delayedLeave=_})}return o}}},zw=Ww;function Am(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function Ko(e,t,s,n,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:p,onLeave:g,onAfterLeave:m,onLeaveCancelled:_,onBeforeAppear:v,onAppear:w,onAfterAppear:S,onAppearCancelled:$}=t,T=String(e.key),y=Am(s,e),x=(P,M)=>{P&&ts(P,n,9,M)},C=(P,M)=>{const O=M[1];x(P,M),mt(P)?P.every(F=>F.length<=1)&&O():P.length<=1&&O()},E={mode:r,persisted:a,beforeEnter(P){let M=l;if(!s.isMounted)if(o)M=v||l;else return;P[en]&&P[en](!0);const O=y[T];O&&ms(e,O)&&O.el[en]&&O.el[en](),x(M,[P])},enter(P){let M=c,O=d,F=u;if(!s.isMounted)if(o)M=w||c,O=S||d,F=$||u;else return;let Q=!1;const G=P[Or]=H=>{Q||(Q=!0,H?x(F,[P]):x(O,[P]),E.delayedLeave&&E.delayedLeave(),P[Or]=void 0)};M?C(M,[P,G]):G()},leave(P,M){const O=String(e.key);if(P[Or]&&P[Or](!0),s.isUnmounting)return M();x(p,[P]);let F=!1;const Q=P[en]=G=>{F||(F=!0,M(),G?x(_,[P]):x(m,[P]),P[en]=void 0,y[O]===e&&delete y[O])};y[O]=e,g?C(g,[P,Q]):Q()},clone(P){const M=Ko(P,t,s,n,i);return i&&i(M),M}};return E}function Nl(e){if(Qa(e))return e=_n(e),e.children=null,e}function Ih(e){if(!Qa(e))return e;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&St(s.default))return s.default()}}function Ni(e,t){e.shapeFlag&6&&e.component?Ni(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 Fd(e,t=!1,s){let n=[],i=0;for(let o=0;o1)for(let o=0;oe.__isTeleport,Bt=Symbol.for("v-fgt"),Za=Symbol.for("v-txt"),we=Symbol.for("v-cmt"),Fl=Symbol.for("v-stc"),ko=[];let Je=null;function L(e=!1){ko.push(Je=e?null:[])}function Cm(){ko.pop(),Je=ko[ko.length-1]||null}let Fi=1;function Oh(e){Fi+=e}function $m(e){return e.dynamicChildren=Fi>0?Je||Ei:null,Cm(),Fi>0&&Je&&Je.push(e),e}function V(e,t,s,n,i,o){return $m(h(e,t,s,n,i,o,!0))}function Gt(e,t,s,n,i){return $m(dt(e,t,s,n,i,!0))}function Sa(e){return e?e.__v_isVNode===!0:!1}function ms(e,t){return e.type===t.type&&e.key===t.key}const Pm=({key:e})=>e??null,oa=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||de(e)||St(e)?{i:Se,r:e,k:t,f:!!s}:e:null);function h(e,t=null,s=null,n=0,i=null,o=e===Bt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pm(t),ref:t&&oa(t),scopeId:qa,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Se};return a?(Bd(l,s),o&128&&e.normalize(l)):s&&(l.shapeFlag|=ie(s)?8:16),Fi>0&&!r&&Je&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Je.push(l),l}const dt=Uw;function Uw(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===nm)&&(e=we),Sa(e)){const a=_n(e,t,!0);return s&&Bd(a,s),Fi>0&&!o&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(nS(e)&&(e=e.__vccOpts),t){t=Yw(t);let{class:a,style:l}=t;a&&!ie(a)&&(t.class=Mt(a)),Ut(l)&&(Ka(l)&&!mt(l)&&(l=ne({},l)),t.style=Ri(l))}const r=ie(e)?1:ow(e)?128:Kw(e)?64:Ut(e)?4:St(e)?2:0;return h(e,t,s,n,i,r,o,!0)}function Yw(e){return e?Ka(e)||um(e)?ne({},e):e:null}function _n(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?qw(i||{},t):i,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Pm(c),ref:t&&t.ref?s&&o?mt(o)?o.concat(oa(t)):[o,oa(t)]:oa(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Bt?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_n(e.ssContent),ssFallback:e.ssFallback&&_n(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ni(d,l.clone(d)),d}function ct(e=" ",t=0){return dt(Za,null,e,t)}function xt(e="",t=!1){return t?(L(),Gt(we,null,e)):dt(we,null,e)}function as(e){return e==null||typeof e=="boolean"?dt(we):mt(e)?dt(Bt,null,e.slice()):typeof e=="object"?sn(e):dt(Za,null,String(e))}function sn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_n(e)}function Bd(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(mt(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Bd(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!um(t)?t._ctx=Se:i===3&&Se&&(Se.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else St(t)?(t={default:t,_ctx:Se},s=32):(t=String(t),n&64?(s=16,t=[ct(t)]):s=8);e.children=t,e.shapeFlag|=s}function qw(...e){const t={};for(let s=0;she||Se;let Ea,Ec;{const e=kg(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Ea=t("__VUE_INSTANCE_SETTERS__",s=>he=s),Ec=t("__VUE_SSR_SETTERS__",s=>tl=s)}const ar=e=>{const t=he;return Ea(e),e.scope.on(),()=>{e.scope.off(),Ea(t)}},Lh=()=>{he&&he.scope.off(),Ea(null)};function Tm(e){return e.vnode.shapeFlag&4}let tl=!1;function Qw(e,t=!1){t&&Ec(t);const{props:s,children:n}=e.vnode,i=Tm(e);Pw(e,s,i,t),Mw(e,n);const o=i?Zw(e,t):void 0;return t&&Ec(!1),o}function Zw(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,vw);const{setup:n}=s;if(n){const i=e.setupContext=n.length>1?eS(e):null,o=ar(e);wn();const r=pn(n,e,0,[e.props,i]);if(Sn(),o(),Eg(r)){if(r.then(Lh,Lh),t)return r.then(a=>{Ac(e,a,t)}).catch(a=>{or(a,e,0)});e.asyncDep=r}else Ac(e,r,t)}else Mm(e,t)}function Ac(e,t,s){St(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ut(t)&&(e.setupState=Xg(t)),Mm(e,s)}let Rh;function Mm(e,t,s){const n=e.type;if(!e.render){if(!t&&Rh&&!n.render){const i=n.template||Rd(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=n,c=ne(ne({isCustomElement:o,delimiters:a},r),l);n.render=Rh(i,c)}}e.render=n.render||Ge}{const i=ar(e);wn();try{yw(e)}finally{Sn(),i()}}}const tS={get(e,t){return De(e,"get",""),e[t]}};function eS(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,tS),slots:e.slots,emit:e.emit,expose:t}}function el(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xg(Ua(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Po)return Po[s](e)},has(t,s){return s in t||s in Po}})):e.proxy}function sS(e,t=!0){return St(e)?e.displayName||e.name:e.name||t&&e.__name}function nS(e){return St(e)&&"__vccOpts"in e}const qe=(e,t)=>zx(e,t,tl);function Bi(e,t,s){const n=arguments.length;return n===2?Ut(t)&&!mt(t)?Sa(t)?dt(e,null,[t]):dt(e,t):dt(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Sa(s)&&(s=[s]),dt(e,t,s))}const Dm="3.4.29";/** * @vue/runtime-dom v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const iE="http://www.w3.org/2000/svg",oE="http://www.w3.org/1998/Math/MathML",Ds=typeof document<"u"?document:null,Nh=Ds&&Ds.createElement("template"),rE={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Ds.createElementNS(iE,e):t==="mathml"?Ds.createElementNS(oE,e):s?Ds.createElement(e,{is:s}):Ds.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Ds.createTextNode(e),createComment:e=>Ds.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ds.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{Nh.innerHTML=n==="svg"?`${e}`:n==="mathml"?`${e}`:e;const a=Nh.content;if(n==="svg"||n==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Gs="transition",co="animation",Vi=Symbol("_vtc"),Te=(e,{slots:t})=>Bi(zw,Om(e),t);Te.displayName="Transition";const Im={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},aE=Te.props=ne({},Em,Im),Fn=(e,t=[])=>{mt(e)?e.forEach(s=>s(...t)):e&&e(...t)},Fh=e=>e?mt(e)?e.some(t=>t.length>1):e.length>1:!1;function Om(e){const t={};for(const F in e)F in Im||(t[F]=e[F]);if(e.css===!1)return t;const{name:s="v",type:n,duration:i,enterFromClass:o=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:d=a,leaveFromClass:u=`${s}-leave-from`,leaveActiveClass:p=`${s}-leave-active`,leaveToClass:g=`${s}-leave-to`}=e,m=lE(i),_=m&&m[0],v=m&&m[1],{onBeforeEnter:w,onEnter:E,onEnterCancelled:$,onLeave:T,onLeaveCancelled:y,onBeforeAppear:x=w,onAppear:C=E,onAppearCancelled:S=$}=t,P=(F,Q,G)=>{Qs(F,Q?d:a),Qs(F,Q?c:r),G&&G()},M=(F,Q)=>{F._isLeaving=!1,Qs(F,u),Qs(F,g),Qs(F,p),Q&&Q()},O=F=>(Q,G)=>{const H=F?C:E,R=()=>P(Q,F,G);Fn(H,[Q,R]),Bh(()=>{Qs(Q,F?l:o),ks(Q,F?d:a),Fh(H)||Vh(Q,n,_,R)})};return ne(t,{onBeforeEnter(F){Fn(w,[F]),ks(F,o),ks(F,r)},onBeforeAppear(F){Fn(x,[F]),ks(F,l),ks(F,c)},onEnter:O(!1),onAppear:O(!0),onLeave(F,Q){F._isLeaving=!0;const G=()=>M(F,Q);ks(F,u),ks(F,p),Rm(),Bh(()=>{F._isLeaving&&(Qs(F,u),ks(F,g),Fh(T)||Vh(F,n,v,G))}),Fn(T,[F,G])},onEnterCancelled(F){P(F,!1),Fn($,[F])},onAppearCancelled(F){P(F,!0),Fn(S,[F])},onLeaveCancelled(F){M(F),Fn(y,[F])}})}function lE(e){if(e==null)return null;if(Ut(e))return[Bl(e.enter),Bl(e.leave)];{const t=Bl(e);return[t,t]}}function Bl(e){return Pg(e)}function ks(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Vi]||(e[Vi]=new Set)).add(t)}function Qs(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Vi];s&&(s.delete(t),s.size||(e[Vi]=void 0))}function Bh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cE=0;function Vh(e,t,s,n){const i=e._endId=++cE,o=()=>{i===e._endId&&n()};if(s)return setTimeout(o,s);const{type:r,timeout:a,propCount:l}=Lm(e,t);if(!r)return n();const c=r+"end";let d=0;const u=()=>{e.removeEventListener(c,p),o()},p=g=>{g.target===e&&++d>=l&&u()};setTimeout(()=>{d(s[m]||"").split(", "),i=n(`${Gs}Delay`),o=n(`${Gs}Duration`),r=jh(i,o),a=n(`${co}Delay`),l=n(`${co}Duration`),c=jh(a,l);let d=null,u=0,p=0;t===Gs?r>0&&(d=Gs,u=r,p=o.length):t===co?c>0&&(d=co,u=c,p=l.length):(u=Math.max(r,c),d=u>0?r>c?Gs:co:null,p=d?d===Gs?o.length:l.length:0);const g=d===Gs&&/\b(transform|all)(,|$)/.test(n(`${Gs}Property`).toString());return{type:d,timeout:u,propCount:p,hasTransform:g}}function jh(e,t){for(;e.lengthHh(s)+Hh(e[n])))}function Hh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Rm(){return document.body.offsetHeight}function dE(e,t,s){const n=e[Vi];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Wh=Symbol("_vod"),uE=Symbol("_vsh"),hE=Symbol(""),fE=/(^|;)\s*display\s*:/;function pE(e,t,s){const n=e.style,i=ie(s);let o=!1;if(s&&!i){if(t)if(ie(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&ra(n,a,"")}else for(const r in t)s[r]==null&&ra(n,r,"");for(const r in s)r==="display"&&(o=!0),ra(n,r,s[r])}else if(i){if(t!==s){const r=n[hE];r&&(s+=";"+r),n.cssText=s,o=fE.test(s)}}else t&&e.removeAttribute("style");Wh in e&&(e[Wh]=o?n.display:"",e[uE]&&(n.display="none"))}const zh=/\s*!important$/;function ra(e,t,s){if(mt(s))s.forEach(n=>ra(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=gE(e,t);zh.test(s)?e.setProperty(Zi(n),s.replace(zh,""),"important"):e[n]=s}}const Kh=["Webkit","Moz","ms"],Vl={};function gE(e,t){const s=Vl[t];if(s)return s;let n=ws(t);if(n!=="filter"&&n in e)return Vl[t]=n;n=Wa(n);for(let i=0;ijl||(yE.then(()=>jl=0),jl=Date.now());function wE(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ts(EE(n,s.value),t,5,[n])};return s.value=e,s.attached=xE(),s}function EE(e,t){if(mt(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Jh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,SE=(e,t,s,n,i,o,r,a,l)=>{const c=i==="svg";t==="class"?dE(e,n,c):t==="style"?pE(e,s,n):ja(t)?gd(t)||bE(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):AE(e,t,n,c))?(mE(e,t,n,o,r,a,l),(t==="value"||t==="checked"||t==="selected")&&Yh(e,t,n,c,r,t!=="value")):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Yh(e,t,n,c))};function AE(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Jh(t)&&Et(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Jh(t)&&ie(s)?!1:t in e}const Nm=new WeakMap,Fm=new WeakMap,Aa=Symbol("_moveCb"),Xh=Symbol("_enterCb"),Bm={name:"TransitionGroup",props:ne({},aE,{tag:String,moveClass:String}),setup(e,{slots:t}){const s=km(),n=wm();let i,o;return om(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!TE(i[0].el,s.vnode.el,r))return;i.forEach($E),i.forEach(PE);const a=i.filter(kE);Rm(),a.forEach(l=>{const c=l.el,d=c.style;ks(c,r),d.transform=d.webkitTransform=d.transitionDuration="";const u=c[Aa]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",u),c[Aa]=null,Qs(c,r))};c.addEventListener("transitionend",u)})}),()=>{const r=Ot(e),a=Om(r);let l=r.tag||Bt;if(i=[],o)for(let c=0;cdelete e.mode;Bm.props;const oi=Bm;function $E(e){const t=e.el;t[Aa]&&t[Aa](),t[Xh]&&t[Xh]()}function PE(e){Fm.set(e,e.el.getBoundingClientRect())}function kE(e){const t=Nm.get(e),s=Fm.get(e),n=t.left-s.left,i=t.top-s.top;if(n||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${n}px,${i}px)`,o.transitionDuration="0s",e}}function TE(e,t,s){const n=e.cloneNode(),i=e[Vi];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&n.classList.remove(l))}),s.split(/\s+/).forEach(a=>a&&n.classList.add(a)),n.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(n);const{hasTransform:r}=Lm(n);return o.removeChild(n),r}const bn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return mt(t)?s=>ea(t,s):t};function ME(e){e.target.composing=!0}function Qh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const es=Symbol("_assign"),bt={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[es]=bn(i);const o=n||i.props&&i.props.type==="number";Os(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;s&&(a=a.trim()),o&&(a=ba(a)),e[es](a)}),s&&Os(e,"change",()=>{e.value=e.value.trim()}),t||(Os(e,"compositionstart",ME),Os(e,"compositionend",Qh),Os(e,"change",Qh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[es]=bn(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?ba(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===l)||(e.value=l))}},Xe={deep:!0,created(e,t,s){e[es]=bn(s),Os(e,"change",()=>{const n=e._modelValue,i=ji(e),o=e.checked,r=e[es];if(mt(n)){const a=bd(n,i),l=a!==-1;if(o&&!l)r(n.concat(i));else if(!o&&l){const c=[...n];c.splice(a,1),r(c)}}else if(Qi(n)){const a=new Set(n);o?a.add(i):a.delete(i),r(a)}else r(Vm(e,o))})},mounted:Zh,beforeUpdate(e,t,s){e[es]=bn(s),Zh(e,t,s)}};function Zh(e,{value:t,oldValue:s},n){e._modelValue=t,mt(t)?e.checked=bd(t,n.props.value)>-1:Qi(t)?e.checked=t.has(n.props.value):t!==s&&(e.checked=si(t,Vm(e,!0)))}const DE={created(e,{value:t},s){e.checked=si(t,s.props.value),e[es]=bn(s),Os(e,"change",()=>{e[es](ji(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[es]=bn(n),t!==s&&(e.checked=si(t,n.props.value))}},aa={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=Qi(t);Os(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?ba(ji(r)):ji(r));e[es](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,rr(()=>{e._assigning=!1})}),e[es]=bn(n)},mounted(e,{value:t,modifiers:{number:s}}){tf(e,t)},beforeUpdate(e,t,s){e[es]=bn(s)},updated(e,{value:t,modifiers:{number:s}}){e._assigning||tf(e,t)}};function tf(e,t,s){const n=e.multiple,i=mt(t);if(!(n&&!i&&!Qi(t))){for(let o=0,r=e.options.length;oString(d)===String(l)):a.selected=bd(t,l)>-1}else a.selected=t.has(l);else if(si(ji(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ji(e){return"_value"in e?e._value:e.value}function Vm(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const IE={created(e,t,s){Lr(e,t,s,null,"created")},mounted(e,t,s){Lr(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){Lr(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){Lr(e,t,s,n,"updated")}};function OE(e,t){switch(e){case"SELECT":return aa;case"TEXTAREA":return bt;default:switch(t){case"checkbox":return Xe;case"radio":return DE;default:return bt}}}function Lr(e,t,s,n,i){const r=OE(e.tagName,s.props&&s.props.type)[i];r&&r(e,t,s,n)}const LE=ne({patchProp:SE},rE);let ef;function RE(){return ef||(ef=Iw(LE))}const NE=(...e)=>{const t=RE().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=BE(n);if(!i)return;const o=t._component;!Et(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=s(i,!1,FE(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function FE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function BE(e){return ie(e)?document.querySelector(e):e}var VE=!1;/*! +**/const iS="http://www.w3.org/2000/svg",oS="http://www.w3.org/1998/Math/MathML",Is=typeof document<"u"?document:null,Nh=Is&&Is.createElement("template"),rS={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Is.createElementNS(iS,e):t==="mathml"?Is.createElementNS(oS,e):s?Is.createElement(e,{is:s}):Is.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Is.createTextNode(e),createComment:e=>Is.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Is.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{Nh.innerHTML=n==="svg"?`${e}`:n==="mathml"?`${e}`:e;const a=Nh.content;if(n==="svg"||n==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Gs="transition",co="animation",Vi=Symbol("_vtc"),Te=(e,{slots:t})=>Bi(zw,Om(e),t);Te.displayName="Transition";const Im={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},aS=Te.props=ne({},Sm,Im),Fn=(e,t=[])=>{mt(e)?e.forEach(s=>s(...t)):e&&e(...t)},Fh=e=>e?mt(e)?e.some(t=>t.length>1):e.length>1:!1;function Om(e){const t={};for(const F in e)F in Im||(t[F]=e[F]);if(e.css===!1)return t;const{name:s="v",type:n,duration:i,enterFromClass:o=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:d=a,leaveFromClass:u=`${s}-leave-from`,leaveActiveClass:p=`${s}-leave-active`,leaveToClass:g=`${s}-leave-to`}=e,m=lS(i),_=m&&m[0],v=m&&m[1],{onBeforeEnter:w,onEnter:S,onEnterCancelled:$,onLeave:T,onLeaveCancelled:y,onBeforeAppear:x=w,onAppear:C=S,onAppearCancelled:E=$}=t,P=(F,Q,G)=>{Qs(F,Q?d:a),Qs(F,Q?c:r),G&&G()},M=(F,Q)=>{F._isLeaving=!1,Qs(F,u),Qs(F,g),Qs(F,p),Q&&Q()},O=F=>(Q,G)=>{const H=F?C:S,R=()=>P(Q,F,G);Fn(H,[Q,R]),Bh(()=>{Qs(Q,F?l:o),Ts(Q,F?d:a),Fh(H)||Vh(Q,n,_,R)})};return ne(t,{onBeforeEnter(F){Fn(w,[F]),Ts(F,o),Ts(F,r)},onBeforeAppear(F){Fn(x,[F]),Ts(F,l),Ts(F,c)},onEnter:O(!1),onAppear:O(!0),onLeave(F,Q){F._isLeaving=!0;const G=()=>M(F,Q);Ts(F,u),Ts(F,p),Rm(),Bh(()=>{F._isLeaving&&(Qs(F,u),Ts(F,g),Fh(T)||Vh(F,n,v,G))}),Fn(T,[F,G])},onEnterCancelled(F){P(F,!1),Fn($,[F])},onAppearCancelled(F){P(F,!0),Fn(E,[F])},onLeaveCancelled(F){M(F),Fn(y,[F])}})}function lS(e){if(e==null)return null;if(Ut(e))return[Bl(e.enter),Bl(e.leave)];{const t=Bl(e);return[t,t]}}function Bl(e){return Pg(e)}function Ts(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Vi]||(e[Vi]=new Set)).add(t)}function Qs(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Vi];s&&(s.delete(t),s.size||(e[Vi]=void 0))}function Bh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cS=0;function Vh(e,t,s,n){const i=e._endId=++cS,o=()=>{i===e._endId&&n()};if(s)return setTimeout(o,s);const{type:r,timeout:a,propCount:l}=Lm(e,t);if(!r)return n();const c=r+"end";let d=0;const u=()=>{e.removeEventListener(c,p),o()},p=g=>{g.target===e&&++d>=l&&u()};setTimeout(()=>{d(s[m]||"").split(", "),i=n(`${Gs}Delay`),o=n(`${Gs}Duration`),r=jh(i,o),a=n(`${co}Delay`),l=n(`${co}Duration`),c=jh(a,l);let d=null,u=0,p=0;t===Gs?r>0&&(d=Gs,u=r,p=o.length):t===co?c>0&&(d=co,u=c,p=l.length):(u=Math.max(r,c),d=u>0?r>c?Gs:co:null,p=d?d===Gs?o.length:l.length:0);const g=d===Gs&&/\b(transform|all)(,|$)/.test(n(`${Gs}Property`).toString());return{type:d,timeout:u,propCount:p,hasTransform:g}}function jh(e,t){for(;e.lengthHh(s)+Hh(e[n])))}function Hh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Rm(){return document.body.offsetHeight}function dS(e,t,s){const n=e[Vi];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Wh=Symbol("_vod"),uS=Symbol("_vsh"),hS=Symbol(""),fS=/(^|;)\s*display\s*:/;function pS(e,t,s){const n=e.style,i=ie(s);let o=!1;if(s&&!i){if(t)if(ie(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&ra(n,a,"")}else for(const r in t)s[r]==null&&ra(n,r,"");for(const r in s)r==="display"&&(o=!0),ra(n,r,s[r])}else if(i){if(t!==s){const r=n[hS];r&&(s+=";"+r),n.cssText=s,o=fS.test(s)}}else t&&e.removeAttribute("style");Wh in e&&(e[Wh]=o?n.display:"",e[uS]&&(n.display="none"))}const zh=/\s*!important$/;function ra(e,t,s){if(mt(s))s.forEach(n=>ra(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=gS(e,t);zh.test(s)?e.setProperty(Zi(n),s.replace(zh,""),"important"):e[n]=s}}const Kh=["Webkit","Moz","ms"],Vl={};function gS(e,t){const s=Vl[t];if(s)return s;let n=Ss(t);if(n!=="filter"&&n in e)return Vl[t]=n;n=Wa(n);for(let i=0;ijl||(yS.then(()=>jl=0),jl=Date.now());function wS(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ts(SS(n,s.value),t,5,[n])};return s.value=e,s.attached=xS(),s}function SS(e,t){if(mt(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Jh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ES=(e,t,s,n,i,o,r,a,l)=>{const c=i==="svg";t==="class"?dS(e,n,c):t==="style"?pS(e,s,n):ja(t)?gd(t)||bS(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):AS(e,t,n,c))?(mS(e,t,n,o,r,a,l),(t==="value"||t==="checked"||t==="selected")&&Yh(e,t,n,c,r,t!=="value")):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Yh(e,t,n,c))};function AS(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Jh(t)&&St(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Jh(t)&&ie(s)?!1:t in e}const Nm=new WeakMap,Fm=new WeakMap,Aa=Symbol("_moveCb"),Xh=Symbol("_enterCb"),Bm={name:"TransitionGroup",props:ne({},aS,{tag:String,moveClass:String}),setup(e,{slots:t}){const s=km(),n=wm();let i,o;return om(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!TS(i[0].el,s.vnode.el,r))return;i.forEach($S),i.forEach(PS);const a=i.filter(kS);Rm(),a.forEach(l=>{const c=l.el,d=c.style;Ts(c,r),d.transform=d.webkitTransform=d.transitionDuration="";const u=c[Aa]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",u),c[Aa]=null,Qs(c,r))};c.addEventListener("transitionend",u)})}),()=>{const r=Ot(e),a=Om(r);let l=r.tag||Bt;if(i=[],o)for(let c=0;cdelete e.mode;Bm.props;const oi=Bm;function $S(e){const t=e.el;t[Aa]&&t[Aa](),t[Xh]&&t[Xh]()}function PS(e){Fm.set(e,e.el.getBoundingClientRect())}function kS(e){const t=Nm.get(e),s=Fm.get(e),n=t.left-s.left,i=t.top-s.top;if(n||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${n}px,${i}px)`,o.transitionDuration="0s",e}}function TS(e,t,s){const n=e.cloneNode(),i=e[Vi];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&n.classList.remove(l))}),s.split(/\s+/).forEach(a=>a&&n.classList.add(a)),n.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(n);const{hasTransform:r}=Lm(n);return o.removeChild(n),r}const bn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return mt(t)?s=>ea(t,s):t};function MS(e){e.target.composing=!0}function Qh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const es=Symbol("_assign"),bt={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[es]=bn(i);const o=n||i.props&&i.props.type==="number";Ls(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;s&&(a=a.trim()),o&&(a=ba(a)),e[es](a)}),s&&Ls(e,"change",()=>{e.value=e.value.trim()}),t||(Ls(e,"compositionstart",MS),Ls(e,"compositionend",Qh),Ls(e,"change",Qh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[es]=bn(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?ba(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===l)||(e.value=l))}},Xe={deep:!0,created(e,t,s){e[es]=bn(s),Ls(e,"change",()=>{const n=e._modelValue,i=ji(e),o=e.checked,r=e[es];if(mt(n)){const a=bd(n,i),l=a!==-1;if(o&&!l)r(n.concat(i));else if(!o&&l){const c=[...n];c.splice(a,1),r(c)}}else if(Qi(n)){const a=new Set(n);o?a.add(i):a.delete(i),r(a)}else r(Vm(e,o))})},mounted:Zh,beforeUpdate(e,t,s){e[es]=bn(s),Zh(e,t,s)}};function Zh(e,{value:t,oldValue:s},n){e._modelValue=t,mt(t)?e.checked=bd(t,n.props.value)>-1:Qi(t)?e.checked=t.has(n.props.value):t!==s&&(e.checked=si(t,Vm(e,!0)))}const DS={created(e,{value:t},s){e.checked=si(t,s.props.value),e[es]=bn(s),Ls(e,"change",()=>{e[es](ji(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[es]=bn(n),t!==s&&(e.checked=si(t,n.props.value))}},aa={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=Qi(t);Ls(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?ba(ji(r)):ji(r));e[es](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,rr(()=>{e._assigning=!1})}),e[es]=bn(n)},mounted(e,{value:t,modifiers:{number:s}}){tf(e,t)},beforeUpdate(e,t,s){e[es]=bn(s)},updated(e,{value:t,modifiers:{number:s}}){e._assigning||tf(e,t)}};function tf(e,t,s){const n=e.multiple,i=mt(t);if(!(n&&!i&&!Qi(t))){for(let o=0,r=e.options.length;oString(d)===String(l)):a.selected=bd(t,l)>-1}else a.selected=t.has(l);else if(si(ji(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ji(e){return"_value"in e?e._value:e.value}function Vm(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const IS={created(e,t,s){Lr(e,t,s,null,"created")},mounted(e,t,s){Lr(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){Lr(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){Lr(e,t,s,n,"updated")}};function OS(e,t){switch(e){case"SELECT":return aa;case"TEXTAREA":return bt;default:switch(t){case"checkbox":return Xe;case"radio":return DS;default:return bt}}}function Lr(e,t,s,n,i){const r=OS(e.tagName,s.props&&s.props.type)[i];r&&r(e,t,s,n)}const LS=ne({patchProp:ES},rS);let ef;function RS(){return ef||(ef=Iw(LS))}const NS=(...e)=>{const t=RS().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=BS(n);if(!i)return;const o=t._component;!St(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=s(i,!1,FS(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function FS(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function BS(e){return ie(e)?document.querySelector(e):e}var VS=!1;/*! * pinia v2.1.7 * (c) 2023 Eduardo San Martin Morote * @license MIT - */let jm;const sl=e=>jm=e,Hm=Symbol();function Cc(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var To;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(To||(To={}));function jE(){const e=Ig(!0),t=e.run(()=>Bs({}));let s=[],n=[];const i=Ua({install(o){sl(i),i._a=o,o.provide(Hm,i),o.config.globalProperties.$pinia=i,n.forEach(r=>s.push(r)),n=[]},use(o){return!this._a&&!VE?n.push(o):s.push(o),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return i}const Wm=()=>{};function sf(e,t,s,n=Wm){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),n())};return!s&&vd()&&Og(i),i}function _i(e,...t){e.slice().forEach(s=>{s(...t)})}const HE=e=>e();function $c(e,t){e instanceof Map&&t instanceof Map&&t.forEach((s,n)=>e.set(n,s)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],i=e[s];Cc(i)&&Cc(n)&&e.hasOwnProperty(s)&&!de(n)&&!Jn(n)?e[s]=$c(i,n):e[s]=n}return e}const WE=Symbol();function zE(e){return!Cc(e)||!e.hasOwnProperty(WE)}const{assign:Zs}=Object;function KE(e){return!!(de(e)&&e.effect)}function UE(e,t,s,n){const{state:i,actions:o,getters:r}=t,a=s.state.value[e];let l;function c(){a||(s.state.value[e]=i?i():{});const d=Yx(s.state.value[e]);return Zs(d,o,Object.keys(r||{}).reduce((u,p)=>(u[p]=Ua(qe(()=>{sl(s);const g=s._s.get(e);return r[p].call(g,g)})),u),{}))}return l=zm(e,c,t,s,n,!0),l}function zm(e,t,s={},n,i,o){let r;const a=Zs({actions:{}},s),l={deep:!0};let c,d,u=[],p=[],g;const m=n.state.value[e];!o&&!m&&(n.state.value[e]={}),Bs({});let _;function v(S){let P;c=d=!1,typeof S=="function"?(S(n.state.value[e]),P={type:To.patchFunction,storeId:e,events:g}):($c(n.state.value[e],S),P={type:To.patchObject,payload:S,storeId:e,events:g});const M=_=Symbol();rr().then(()=>{_===M&&(c=!0)}),d=!0,_i(u,P,n.state.value[e])}const w=o?function(){const{state:P}=s,M=P?P():{};this.$patch(O=>{Zs(O,M)})}:Wm;function E(){r.stop(),u=[],p=[],n._s.delete(e)}function $(S,P){return function(){sl(n);const M=Array.from(arguments),O=[],F=[];function Q(R){O.push(R)}function G(R){F.push(R)}_i(p,{args:M,name:S,store:y,after:Q,onError:G});let H;try{H=P.apply(this&&this.$id===e?this:y,M)}catch(R){throw _i(F,R),R}return H instanceof Promise?H.then(R=>(_i(O,R),R)).catch(R=>(_i(F,R),Promise.reject(R))):(_i(O,H),H)}}const T={_p:n,$id:e,$onAction:sf.bind(null,p),$patch:v,$reset:w,$subscribe(S,P={}){const M=sf(u,S,P.detached,()=>O()),O=r.run(()=>Xn(()=>n.state.value[e],F=>{(P.flush==="sync"?d:c)&&S({storeId:e,type:To.direct,events:g},F)},Zs({},l,P)));return M},$dispose:E},y=ir(T);n._s.set(e,y);const C=(n._a&&n._a.runWithContext||HE)(()=>n._e.run(()=>(r=Ig()).run(t)));for(const S in C){const P=C[S];if(de(P)&&!KE(P)||Jn(P))o||(m&&zE(P)&&(de(P)?P.value=m[S]:$c(P,m[S])),n.state.value[e][S]=P);else if(typeof P=="function"){const M=$(S,P);C[S]=M,a.actions[S]=P}}return Zs(y,C),Zs(Ot(y),C),Object.defineProperty(y,"$state",{get:()=>n.state.value[e],set:S=>{v(P=>{Zs(P,S)})}}),n._p.forEach(S=>{Zs(y,r.run(()=>S({store:y,app:n._a,pinia:n,options:a})))}),m&&o&&s.hydrate&&s.hydrate(y.$state,m),c=!0,d=!0,y}function Vd(e,t,s){let n,i;const o=typeof t=="function";typeof e=="string"?(n=e,i=o?s:t):(i=e,n=e.id);function r(a,l){const c=$w();return a=a||(c?vs(Hm,null):null),a&&sl(a),a=jm,a._s.has(n)||(o?zm(n,t,i,a):UE(n,i,a)),a._s.get(n)}return r.$id=n,r}/*! + */let jm;const sl=e=>jm=e,Hm=Symbol();function Cc(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var To;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(To||(To={}));function jS(){const e=Ig(!0),t=e.run(()=>vs({}));let s=[],n=[];const i=Ua({install(o){sl(i),i._a=o,o.provide(Hm,i),o.config.globalProperties.$pinia=i,n.forEach(r=>s.push(r)),n=[]},use(o){return!this._a&&!VS?n.push(o):s.push(o),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return i}const Wm=()=>{};function sf(e,t,s,n=Wm){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),n())};return!s&&vd()&&Og(i),i}function _i(e,...t){e.slice().forEach(s=>{s(...t)})}const HS=e=>e();function $c(e,t){e instanceof Map&&t instanceof Map&&t.forEach((s,n)=>e.set(n,s)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],i=e[s];Cc(i)&&Cc(n)&&e.hasOwnProperty(s)&&!de(n)&&!Jn(n)?e[s]=$c(i,n):e[s]=n}return e}const WS=Symbol();function zS(e){return!Cc(e)||!e.hasOwnProperty(WS)}const{assign:Zs}=Object;function KS(e){return!!(de(e)&&e.effect)}function US(e,t,s,n){const{state:i,actions:o,getters:r}=t,a=s.state.value[e];let l;function c(){a||(s.state.value[e]=i?i():{});const d=Yx(s.state.value[e]);return Zs(d,o,Object.keys(r||{}).reduce((u,p)=>(u[p]=Ua(qe(()=>{sl(s);const g=s._s.get(e);return r[p].call(g,g)})),u),{}))}return l=zm(e,c,t,s,n,!0),l}function zm(e,t,s={},n,i,o){let r;const a=Zs({actions:{}},s),l={deep:!0};let c,d,u=[],p=[],g;const m=n.state.value[e];!o&&!m&&(n.state.value[e]={}),vs({});let _;function v(E){let P;c=d=!1,typeof E=="function"?(E(n.state.value[e]),P={type:To.patchFunction,storeId:e,events:g}):($c(n.state.value[e],E),P={type:To.patchObject,payload:E,storeId:e,events:g});const M=_=Symbol();rr().then(()=>{_===M&&(c=!0)}),d=!0,_i(u,P,n.state.value[e])}const w=o?function(){const{state:P}=s,M=P?P():{};this.$patch(O=>{Zs(O,M)})}:Wm;function S(){r.stop(),u=[],p=[],n._s.delete(e)}function $(E,P){return function(){sl(n);const M=Array.from(arguments),O=[],F=[];function Q(R){O.push(R)}function G(R){F.push(R)}_i(p,{args:M,name:E,store:y,after:Q,onError:G});let H;try{H=P.apply(this&&this.$id===e?this:y,M)}catch(R){throw _i(F,R),R}return H instanceof Promise?H.then(R=>(_i(O,R),R)).catch(R=>(_i(F,R),Promise.reject(R))):(_i(O,H),H)}}const T={_p:n,$id:e,$onAction:sf.bind(null,p),$patch:v,$reset:w,$subscribe(E,P={}){const M=sf(u,E,P.detached,()=>O()),O=r.run(()=>Xn(()=>n.state.value[e],F=>{(P.flush==="sync"?d:c)&&E({storeId:e,type:To.direct,events:g},F)},Zs({},l,P)));return M},$dispose:S},y=ir(T);n._s.set(e,y);const C=(n._a&&n._a.runWithContext||HS)(()=>n._e.run(()=>(r=Ig()).run(t)));for(const E in C){const P=C[E];if(de(P)&&!KS(P)||Jn(P))o||(m&&zS(P)&&(de(P)?P.value=m[E]:$c(P,m[E])),n.state.value[e][E]=P);else if(typeof P=="function"){const M=$(E,P);C[E]=M,a.actions[E]=P}}return Zs(y,C),Zs(Ot(y),C),Object.defineProperty(y,"$state",{get:()=>n.state.value[e],set:E=>{v(P=>{Zs(P,E)})}}),n._p.forEach(E=>{Zs(y,r.run(()=>E({store:y,app:n._a,pinia:n,options:a})))}),m&&o&&s.hydrate&&s.hydrate(y.$state,m),c=!0,d=!0,y}function Vd(e,t,s){let n,i;const o=typeof t=="function";typeof e=="string"?(n=e,i=o?s:t):(i=e,n=e.id);function r(a,l){const c=$w();return a=a||(c?ys(Hm,null):null),a&&sl(a),a=jm,a._s.has(n)||(o?zm(n,t,i,a):US(n,i,a)),a._s.get(n)}return r.$id=n,r}/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const wi=typeof window<"u";function YE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Wt=Object.assign;function Hl(e,t){const s={};for(const n in t){const i=t[n];s[n]=ds(i)?i.map(e):e(i)}return s}const Mo=()=>{},ds=Array.isArray,qE=/\/$/,GE=e=>e.replace(qE,"");function Wl(e,t,s="/"){let n,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(n=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(n=n||t.slice(0,a),r=t.slice(a,t.length)),n=ZE(n??t,s),{fullPath:n+(o&&"?")+o+r,path:n,query:i,hash:r}}function JE(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function nf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function XE(e,t,s){const n=t.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Hi(t.matched[n],s.matched[i])&&Km(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Hi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Km(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!QE(e[s],t[s]))return!1;return!0}function QE(e,t){return ds(e)?of(e,t):ds(t)?of(t,e):e===t}function of(e,t){return ds(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function ZE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let o=s.length-1,r,a;for(r=0;r1&&o--;else break;return s.slice(0,o).join("/")+"/"+n.slice(r-(r===n.length?1:0)).join("/")}var Uo;(function(e){e.pop="pop",e.push="push"})(Uo||(Uo={}));var Do;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Do||(Do={}));function tS(e){if(!e)if(wi){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),GE(e)}const eS=/^[^#]+#/;function sS(e,t){return e.replace(eS,"#")+t}function nS(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const nl=()=>({left:window.pageXOffset,top:window.pageYOffset});function iS(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;t=nS(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rf(e,t){return(history.state?history.state.position-t:-1)+e}const Pc=new Map;function oS(e,t){Pc.set(e,t)}function rS(e){const t=Pc.get(e);return Pc.delete(e),t}let aS=()=>location.protocol+"//"+location.host;function Um(e,t){const{pathname:s,search:n,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,l=i.slice(a);return l[0]!=="/"&&(l="/"+l),nf(l,"")}return nf(s,e)+n+i}function lS(e,t,s,n){let i=[],o=[],r=null;const a=({state:p})=>{const g=Um(e,location),m=s.value,_=t.value;let v=0;if(p){if(s.value=g,t.value=p,r&&r===m){r=null;return}v=_?p.position-_.position:0}else n(g);i.forEach(w=>{w(s.value,m,{delta:v,type:Uo.pop,direction:v?v>0?Do.forward:Do.back:Do.unknown})})};function l(){r=s.value}function c(p){i.push(p);const g=()=>{const m=i.indexOf(p);m>-1&&i.splice(m,1)};return o.push(g),g}function d(){const{history:p}=window;p.state&&p.replaceState(Wt({},p.state,{scroll:nl()}),"")}function u(){for(const p of o)p();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:l,listen:c,destroy:u}}function af(e,t,s,n=!1,i=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:i?nl():null}}function cS(e){const{history:t,location:s}=window,n={value:Um(e,s)},i={value:t.state};i.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,d){const u=e.indexOf("#"),p=u>-1?(s.host&&document.querySelector("base")?e:e.slice(u))+l:aS()+e+l;try{t[d?"replaceState":"pushState"](c,"",p),i.value=c}catch(g){console.error(g),s[d?"replace":"assign"](p)}}function r(l,c){const d=Wt({},t.state,af(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,d,!0),n.value=l}function a(l,c){const d=Wt({},i.value,t.state,{forward:l,scroll:nl()});o(d.current,d,!0);const u=Wt({},af(n.value,l,null),{position:d.position+1},c);o(l,u,!1),n.value=l}return{location:n,state:i,push:a,replace:r}}function dS(e){e=tS(e);const t=cS(e),s=lS(e,t.state,t.location,t.replace);function n(o,r=!0){r||s.pauseListeners(),history.go(o)}const i=Wt({location:"",base:e,go:n,createHref:sS.bind(null,e)},t,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function uS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),dS(e)}function hS(e){return typeof e=="string"||e&&typeof e=="object"}function Ym(e){return typeof e=="string"||typeof e=="symbol"}const Js={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},qm=Symbol("");var lf;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lf||(lf={}));function Wi(e,t){return Wt(new Error,{type:e,[qm]:!0},t)}function $s(e,t){return e instanceof Error&&qm in e&&(t==null||!!(e.type&t))}const cf="[^/]+?",fS={sensitive:!1,strict:!1,start:!0,end:!0},pS=/[.+*?^${}()[\]/\\]/g;function gS(e,t){const s=Wt({},fS,t),n=[];let i=s.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];s.strict&&!c.length&&(i+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function _S(e,t){let s=0;const n=e.score,i=t.score;for(;s0&&t[t.length-1]<0}const bS={type:0,value:""},vS=/[a-zA-Z0-9_]/;function yS(e){if(!e)return[[]];if(e==="/")return[[bS]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${s})/"${c}": ${g}`)}let s=0,n=s;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",d="";function u(){c&&(s===0?o.push({type:0,value:c}):s===1||s===2||s===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;a{r(E)}:Mo}function r(d){if(Ym(d)){const u=n.get(d);u&&(n.delete(d),s.splice(s.indexOf(u),1),u.children.forEach(r),u.alias.forEach(r))}else{const u=s.indexOf(d);u>-1&&(s.splice(u,1),d.record.name&&n.delete(d.record.name),d.children.forEach(r),d.alias.forEach(r))}}function a(){return s}function l(d){let u=0;for(;u=0&&(d.record.path!==s[u].record.path||!Gm(d,s[u]));)u++;s.splice(u,0,d),d.record.name&&!hf(d)&&n.set(d.record.name,d)}function c(d,u){let p,g={},m,_;if("name"in d&&d.name){if(p=n.get(d.name),!p)throw Wi(1,{location:d});_=p.record.name,g=Wt(uf(u.params,p.keys.filter(E=>!E.optional).map(E=>E.name)),d.params&&uf(d.params,p.keys.map(E=>E.name))),m=p.stringify(g)}else if("path"in d)m=d.path,p=s.find(E=>E.re.test(m)),p&&(g=p.parse(m),_=p.record.name);else{if(p=u.name?n.get(u.name):s.find(E=>E.re.test(u.path)),!p)throw Wi(1,{location:d,currentLocation:u});_=p.record.name,g=Wt({},u.params,d.params),m=p.stringify(g)}const v=[];let w=p;for(;w;)v.unshift(w.record),w=w.parent;return{name:_,path:m,params:g,matched:v,meta:AS(v)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function uf(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function ES(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:SS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function SS(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function hf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function AS(e){return e.reduce((t,s)=>Wt(t,s.meta),{})}function ff(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}function Gm(e,t){return t.children.some(s=>s===e||Gm(e,s))}const Jm=/#/g,CS=/&/g,$S=/\//g,PS=/=/g,kS=/\?/g,Xm=/\+/g,TS=/%5B/g,MS=/%5D/g,Qm=/%5E/g,DS=/%60/g,Zm=/%7B/g,IS=/%7C/g,t_=/%7D/g,OS=/%20/g;function jd(e){return encodeURI(""+e).replace(IS,"|").replace(TS,"[").replace(MS,"]")}function LS(e){return jd(e).replace(Zm,"{").replace(t_,"}").replace(Qm,"^")}function kc(e){return jd(e).replace(Xm,"%2B").replace(OS,"+").replace(Jm,"%23").replace(CS,"%26").replace(DS,"`").replace(Zm,"{").replace(t_,"}").replace(Qm,"^")}function RS(e){return kc(e).replace(PS,"%3D")}function NS(e){return jd(e).replace(Jm,"%23").replace(kS,"%3F")}function FS(e){return e==null?"":NS(e).replace($S,"%2F")}function Ca(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function BS(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&kc(o)):[n&&kc(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function VS(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=ds(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const jS=Symbol(""),gf=Symbol(""),Hd=Symbol(""),e_=Symbol(""),Tc=Symbol("");function uo(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function nn(e,t,s,n,i){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=u=>{u===!1?a(Wi(4,{from:s,to:t})):u instanceof Error?a(u):hS(u)?a(Wi(2,{from:t,to:u})):(o&&n.enterCallbacks[i]===o&&typeof u=="function"&&o.push(u),r())},c=e.call(n&&n.instances[i],t,s,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(u=>a(u))})}function zl(e,t,s,n){const i=[];for(const o of e)for(const r in o.components){let a=o.components[r];if(!(t!=="beforeRouteEnter"&&!o.instances[r]))if(HS(a)){const c=(a.__vccOpts||a)[t];c&&i.push(nn(c,s,n,o,r))}else{let l=a();i.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const d=YE(c)?c.default:c;o.components[r]=d;const p=(d.__vccOpts||d)[t];return p&&nn(p,s,n,o,r)()}))}}return i}function HS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function mf(e){const t=vs(Hd),s=vs(e_),n=qe(()=>t.resolve(fn(e.to))),i=qe(()=>{const{matched:l}=n.value,{length:c}=l,d=l[c-1],u=s.matched;if(!d||!u.length)return-1;const p=u.findIndex(Hi.bind(null,d));if(p>-1)return p;const g=_f(l[c-2]);return c>1&&_f(d)===g&&u[u.length-1].path!==g?u.findIndex(Hi.bind(null,l[c-2])):p}),o=qe(()=>i.value>-1&&US(s.params,n.value.params)),r=qe(()=>i.value>-1&&i.value===s.matched.length-1&&Km(s.params,n.value.params));function a(l={}){return KS(l)?t[fn(e.replace)?"replace":"push"](fn(e.to)).catch(Mo):Promise.resolve()}return{route:n,href:qe(()=>n.value.href),isActive:o,isExactActive:r,navigate:a}}const WS=Xa({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"}},useLink:mf,setup(e,{slots:t}){const s=ir(mf(e)),{options:n}=vs(Hd),i=qe(()=>({[bf(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[bf(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const o=t.default&&t.default(s);return e.custom?o:Bi("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},o)}}}),zS=WS;function KS(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 US(e,t){for(const s in t){const n=t[s],i=e[s];if(typeof n=="string"){if(n!==i)return!1}else if(!ds(i)||i.length!==n.length||n.some((o,r)=>o!==i[r]))return!1}return!0}function _f(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bf=(e,t,s)=>e??t??s,YS=Xa({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=vs(Tc),i=qe(()=>e.route||n.value),o=vs(gf,0),r=qe(()=>{let c=fn(o);const{matched:d}=i.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),a=qe(()=>i.value.matched[r.value]);ia(gf,qe(()=>r.value+1)),ia(jS,a),ia(Tc,i);const l=Bs();return Xn(()=>[l.value,a.value,e.name],([c,d,u],[p,g,m])=>{d&&(d.instances[u]=c,g&&g!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=g.leaveGuards),d.updateGuards.size||(d.updateGuards=g.updateGuards))),c&&d&&(!g||!Hi(d,g)||!p)&&(d.enterCallbacks[u]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,d=e.name,u=a.value,p=u&&u.components[d];if(!p)return vf(s.default,{Component:p,route:c});const g=u.props[d],m=g?g===!0?c.params:typeof g=="function"?g(c):g:null,v=Bi(p,Wt({},m,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(u.instances[d]=null)},ref:l}));return vf(s.default,{Component:v,route:c})||v}}});function vf(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const s_=YS;function qS(e){const t=wS(e.routes,e),s=e.parseQuery||BS,n=e.stringifyQuery||pf,i=e.history,o=uo(),r=uo(),a=uo(),l=$d(Js);let c=Js;wi&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Hl.bind(null,W=>""+W),u=Hl.bind(null,FS),p=Hl.bind(null,Ca);function g(W,st){let tt,lt;return Ym(W)?(tt=t.getRecordMatcher(W),lt=st):lt=W,t.addRoute(lt,tt)}function m(W){const st=t.getRecordMatcher(W);st&&t.removeRoute(st)}function _(){return t.getRoutes().map(W=>W.record)}function v(W){return!!t.getRecordMatcher(W)}function w(W,st){if(st=Wt({},st||l.value),typeof W=="string"){const I=Wl(s,W,st.path),N=t.resolve({path:I.path},st),q=i.createHref(I.fullPath);return Wt(I,N,{params:p(N.params),hash:Ca(I.hash),redirectedFrom:void 0,href:q})}let tt;if("path"in W)tt=Wt({},W,{path:Wl(s,W.path,st.path).path});else{const I=Wt({},W.params);for(const N in I)I[N]==null&&delete I[N];tt=Wt({},W,{params:u(I)}),st.params=u(st.params)}const lt=t.resolve(tt,st),j=W.hash||"";lt.params=d(p(lt.params));const Lt=JE(n,Wt({},W,{hash:LS(j),path:lt.path})),A=i.createHref(Lt);return Wt({fullPath:Lt,hash:j,query:n===pf?VS(W.query):W.query||{}},lt,{redirectedFrom:void 0,href:A})}function E(W){return typeof W=="string"?Wl(s,W,l.value.path):Wt({},W)}function $(W,st){if(c!==W)return Wi(8,{from:st,to:W})}function T(W){return C(W)}function y(W){return T(Wt(E(W),{replace:!0}))}function x(W){const st=W.matched[W.matched.length-1];if(st&&st.redirect){const{redirect:tt}=st;let lt=typeof tt=="function"?tt(W):tt;return typeof lt=="string"&&(lt=lt.includes("?")||lt.includes("#")?lt=E(lt):{path:lt},lt.params={}),Wt({query:W.query,hash:W.hash,params:"path"in lt?{}:W.params},lt)}}function C(W,st){const tt=c=w(W),lt=l.value,j=W.state,Lt=W.force,A=W.replace===!0,I=x(tt);if(I)return C(Wt(E(I),{state:typeof I=="object"?Wt({},j,I.state):j,force:Lt,replace:A}),st||tt);const N=tt;N.redirectedFrom=st;let q;return!Lt&&XE(n,lt,tt)&&(q=Wi(16,{to:N,from:lt}),vt(lt,lt,!0,!1)),(q?Promise.resolve(q):M(N,lt)).catch(K=>$s(K)?$s(K,2)?K:ht(K):Y(K,N,lt)).then(K=>{if(K){if($s(K,2))return C(Wt({replace:A},E(K.to),{state:typeof K.to=="object"?Wt({},j,K.to.state):j,force:Lt}),st||N)}else K=F(N,lt,!0,A,j);return O(N,lt,K),K})}function S(W,st){const tt=$(W,st);return tt?Promise.reject(tt):Promise.resolve()}function P(W){const st=Pt.values().next().value;return st&&typeof st.runWithContext=="function"?st.runWithContext(W):W()}function M(W,st){let tt;const[lt,j,Lt]=GS(W,st);tt=zl(lt.reverse(),"beforeRouteLeave",W,st);for(const I of lt)I.leaveGuards.forEach(N=>{tt.push(nn(N,W,st))});const A=S.bind(null,W,st);return tt.push(A),kt(tt).then(()=>{tt=[];for(const I of o.list())tt.push(nn(I,W,st));return tt.push(A),kt(tt)}).then(()=>{tt=zl(j,"beforeRouteUpdate",W,st);for(const I of j)I.updateGuards.forEach(N=>{tt.push(nn(N,W,st))});return tt.push(A),kt(tt)}).then(()=>{tt=[];for(const I of Lt)if(I.beforeEnter)if(ds(I.beforeEnter))for(const N of I.beforeEnter)tt.push(nn(N,W,st));else tt.push(nn(I.beforeEnter,W,st));return tt.push(A),kt(tt)}).then(()=>(W.matched.forEach(I=>I.enterCallbacks={}),tt=zl(Lt,"beforeRouteEnter",W,st),tt.push(A),kt(tt))).then(()=>{tt=[];for(const I of r.list())tt.push(nn(I,W,st));return tt.push(A),kt(tt)}).catch(I=>$s(I,8)?I:Promise.reject(I))}function O(W,st,tt){a.list().forEach(lt=>P(()=>lt(W,st,tt)))}function F(W,st,tt,lt,j){const Lt=$(W,st);if(Lt)return Lt;const A=st===Js,I=wi?history.state:{};tt&&(lt||A?i.replace(W.fullPath,Wt({scroll:A&&I&&I.scroll},j)):i.push(W.fullPath,j)),l.value=W,vt(W,st,tt,A),ht()}let Q;function G(){Q||(Q=i.listen((W,st,tt)=>{if(!Ft.listening)return;const lt=w(W),j=x(lt);if(j){C(Wt(j,{replace:!0}),lt).catch(Mo);return}c=lt;const Lt=l.value;wi&&oS(rf(Lt.fullPath,tt.delta),nl()),M(lt,Lt).catch(A=>$s(A,12)?A:$s(A,2)?(C(A.to,lt).then(I=>{$s(I,20)&&!tt.delta&&tt.type===Uo.pop&&i.go(-1,!1)}).catch(Mo),Promise.reject()):(tt.delta&&i.go(-tt.delta,!1),Y(A,lt,Lt))).then(A=>{A=A||F(lt,Lt,!1),A&&(tt.delta&&!$s(A,8)?i.go(-tt.delta,!1):tt.type===Uo.pop&&$s(A,20)&&i.go(-1,!1)),O(lt,Lt,A)}).catch(Mo)}))}let H=uo(),R=uo(),z;function Y(W,st,tt){ht(W);const lt=R.list();return lt.length?lt.forEach(j=>j(W,st,tt)):console.error(W),Promise.reject(W)}function rt(){return z&&l.value!==Js?Promise.resolve():new Promise((W,st)=>{H.add([W,st])})}function ht(W){return z||(z=!W,G(),H.list().forEach(([st,tt])=>W?tt(W):st()),H.reset()),W}function vt(W,st,tt,lt){const{scrollBehavior:j}=e;if(!wi||!j)return Promise.resolve();const Lt=!tt&&rS(rf(W.fullPath,0))||(lt||!tt)&&history.state&&history.state.scroll||null;return rr().then(()=>j(W,st,Lt)).then(A=>A&&iS(A)).catch(A=>Y(A,W,st))}const _t=W=>i.go(W);let Dt;const Pt=new Set,Ft={currentRoute:l,listening:!0,addRoute:g,removeRoute:m,hasRoute:v,getRoutes:_,resolve:w,options:e,push:T,replace:y,go:_t,back:()=>_t(-1),forward:()=>_t(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:R.add,isReady:rt,install(W){const st=this;W.component("RouterLink",zS),W.component("RouterView",s_),W.config.globalProperties.$router=st,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>fn(l)}),wi&&!Dt&&l.value===Js&&(Dt=!0,T(i.location).catch(j=>{}));const tt={};for(const j in Js)Object.defineProperty(tt,j,{get:()=>l.value[j],enumerable:!0});W.provide(Hd,st),W.provide(e_,Ug(tt)),W.provide(Tc,l);const lt=W.unmount;Pt.add(W),W.unmount=function(){Pt.delete(W),Pt.size<1&&(c=Js,Q&&Q(),Q=null,l.value=Js,Dt=!1,z=!1),lt()}}};function kt(W){return W.reduce((st,tt)=>st.then(()=>P(tt)),Promise.resolve())}return Ft}function GS(e,t){const s=[],n=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rHi(c,a))?n.push(a):s.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Hi(c,l))||i.push(l))}return[s,n,i]}const le=async(e,t=void 0,s=void 0)=>{const n=new URLSearchParams(t);await fetch(`${e}?${n.toString()}`,{headers:{"content-type":"application/json"}}).then(i=>i.json()).then(i=>s?s(i):void 0).catch(i=>{})},Zt=async(e,t,s)=>{await fetch(`${e}`,{headers:{"content-type":"application/json"},method:"POST",body:JSON.stringify(t)}).then(n=>n.json()).then(n=>s?s(n):void 0)};let Rr;const JS=new Uint8Array(16);function XS(){if(!Rr&&(Rr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Rr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Rr(JS)}const pe=[];for(let e=0;e<256;++e)pe.push((e+256).toString(16).slice(1));function QS(e,t=0){return pe[e[t+0]]+pe[e[t+1]]+pe[e[t+2]]+pe[e[t+3]]+"-"+pe[e[t+4]]+pe[e[t+5]]+"-"+pe[e[t+6]]+pe[e[t+7]]+"-"+pe[e[t+8]]+pe[e[t+9]]+"-"+pe[e[t+10]]+pe[e[t+11]]+pe[e[t+12]]+pe[e[t+13]]+pe[e[t+14]]+pe[e[t+15]]}const ZS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yf={randomUUID:ZS};function Sn(e,t,s){if(yf.randomUUID&&!t&&!e)return yf.randomUUID();e=e||{};const n=e.random||(e.rng||XS)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){s=s||0;for(let i=0;i<16;++i)t[s+i]=n[i];return t}return QS(n)}const Kt=Vd("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1}}),actions:{async getConfiguration(){await le("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await Zt("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await le("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,s){this.Messages.push({id:Sn(),from:e,content:t,type:s,show:!0})}}}),St=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},tA=e=>(ss("data-v-ee3f3bad"),e=e(),ns(),e),eA=tA(()=>h("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[h("div",{class:"container-fluid"},[h("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1)),sA={__name:"App",setup(e){return Kt(),(t,s)=>(L(),V(Bt,null,[eA,(L(),Gt(Ga,null,{default:It(()=>[dt(fn(s_),null,{default:It(({Component:n})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Dd(n)))]),_:2},1024)]),_:1})]),_:1}))],64))}},nA=St(sA,[["__scopeId","data-v-ee3f3bad"]]),iA={getCookie(e){const s=`; ${document.cookie}`.split(`; ${e}=`);if(s.length===2)return s.pop().split(";").shift()}};Vd("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await le("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const xf="[a-fA-F\\d:]",rn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${xf})|(?<=${xf})(?=\\s|$))`:"",rs="(?: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}",re="[a-fA-F\\d]{1,4}",il=` + */const wi=typeof window<"u";function YS(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Wt=Object.assign;function Hl(e,t){const s={};for(const n in t){const i=t[n];s[n]=ds(i)?i.map(e):e(i)}return s}const Mo=()=>{},ds=Array.isArray,qS=/\/$/,GS=e=>e.replace(qS,"");function Wl(e,t,s="/"){let n,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(n=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(n=n||t.slice(0,a),r=t.slice(a,t.length)),n=ZS(n??t,s),{fullPath:n+(o&&"?")+o+r,path:n,query:i,hash:r}}function JS(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function nf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function XS(e,t,s){const n=t.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Hi(t.matched[n],s.matched[i])&&Km(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Hi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Km(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!QS(e[s],t[s]))return!1;return!0}function QS(e,t){return ds(e)?of(e,t):ds(t)?of(t,e):e===t}function of(e,t){return ds(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function ZS(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let o=s.length-1,r,a;for(r=0;r1&&o--;else break;return s.slice(0,o).join("/")+"/"+n.slice(r-(r===n.length?1:0)).join("/")}var Uo;(function(e){e.pop="pop",e.push="push"})(Uo||(Uo={}));var Do;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Do||(Do={}));function tE(e){if(!e)if(wi){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),GS(e)}const eE=/^[^#]+#/;function sE(e,t){return e.replace(eE,"#")+t}function nE(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const nl=()=>({left:window.pageXOffset,top:window.pageYOffset});function iE(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;t=nE(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rf(e,t){return(history.state?history.state.position-t:-1)+e}const Pc=new Map;function oE(e,t){Pc.set(e,t)}function rE(e){const t=Pc.get(e);return Pc.delete(e),t}let aE=()=>location.protocol+"//"+location.host;function Um(e,t){const{pathname:s,search:n,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,l=i.slice(a);return l[0]!=="/"&&(l="/"+l),nf(l,"")}return nf(s,e)+n+i}function lE(e,t,s,n){let i=[],o=[],r=null;const a=({state:p})=>{const g=Um(e,location),m=s.value,_=t.value;let v=0;if(p){if(s.value=g,t.value=p,r&&r===m){r=null;return}v=_?p.position-_.position:0}else n(g);i.forEach(w=>{w(s.value,m,{delta:v,type:Uo.pop,direction:v?v>0?Do.forward:Do.back:Do.unknown})})};function l(){r=s.value}function c(p){i.push(p);const g=()=>{const m=i.indexOf(p);m>-1&&i.splice(m,1)};return o.push(g),g}function d(){const{history:p}=window;p.state&&p.replaceState(Wt({},p.state,{scroll:nl()}),"")}function u(){for(const p of o)p();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:l,listen:c,destroy:u}}function af(e,t,s,n=!1,i=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:i?nl():null}}function cE(e){const{history:t,location:s}=window,n={value:Um(e,s)},i={value:t.state};i.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,d){const u=e.indexOf("#"),p=u>-1?(s.host&&document.querySelector("base")?e:e.slice(u))+l:aE()+e+l;try{t[d?"replaceState":"pushState"](c,"",p),i.value=c}catch(g){console.error(g),s[d?"replace":"assign"](p)}}function r(l,c){const d=Wt({},t.state,af(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,d,!0),n.value=l}function a(l,c){const d=Wt({},i.value,t.state,{forward:l,scroll:nl()});o(d.current,d,!0);const u=Wt({},af(n.value,l,null),{position:d.position+1},c);o(l,u,!1),n.value=l}return{location:n,state:i,push:a,replace:r}}function dE(e){e=tE(e);const t=cE(e),s=lE(e,t.state,t.location,t.replace);function n(o,r=!0){r||s.pauseListeners(),history.go(o)}const i=Wt({location:"",base:e,go:n,createHref:sE.bind(null,e)},t,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function uE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),dE(e)}function hE(e){return typeof e=="string"||e&&typeof e=="object"}function Ym(e){return typeof e=="string"||typeof e=="symbol"}const Js={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},qm=Symbol("");var lf;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lf||(lf={}));function Wi(e,t){return Wt(new Error,{type:e,[qm]:!0},t)}function Ps(e,t){return e instanceof Error&&qm in e&&(t==null||!!(e.type&t))}const cf="[^/]+?",fE={sensitive:!1,strict:!1,start:!0,end:!0},pE=/[.+*?^${}()[\]/\\]/g;function gE(e,t){const s=Wt({},fE,t),n=[];let i=s.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];s.strict&&!c.length&&(i+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function _E(e,t){let s=0;const n=e.score,i=t.score;for(;s0&&t[t.length-1]<0}const bE={type:0,value:""},vE=/[a-zA-Z0-9_]/;function yE(e){if(!e)return[[]];if(e==="/")return[[bE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${s})/"${c}": ${g}`)}let s=0,n=s;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",d="";function u(){c&&(s===0?o.push({type:0,value:c}):s===1||s===2||s===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;a{r(S)}:Mo}function r(d){if(Ym(d)){const u=n.get(d);u&&(n.delete(d),s.splice(s.indexOf(u),1),u.children.forEach(r),u.alias.forEach(r))}else{const u=s.indexOf(d);u>-1&&(s.splice(u,1),d.record.name&&n.delete(d.record.name),d.children.forEach(r),d.alias.forEach(r))}}function a(){return s}function l(d){let u=0;for(;u=0&&(d.record.path!==s[u].record.path||!Gm(d,s[u]));)u++;s.splice(u,0,d),d.record.name&&!hf(d)&&n.set(d.record.name,d)}function c(d,u){let p,g={},m,_;if("name"in d&&d.name){if(p=n.get(d.name),!p)throw Wi(1,{location:d});_=p.record.name,g=Wt(uf(u.params,p.keys.filter(S=>!S.optional).map(S=>S.name)),d.params&&uf(d.params,p.keys.map(S=>S.name))),m=p.stringify(g)}else if("path"in d)m=d.path,p=s.find(S=>S.re.test(m)),p&&(g=p.parse(m),_=p.record.name);else{if(p=u.name?n.get(u.name):s.find(S=>S.re.test(u.path)),!p)throw Wi(1,{location:d,currentLocation:u});_=p.record.name,g=Wt({},u.params,d.params),m=p.stringify(g)}const v=[];let w=p;for(;w;)v.unshift(w.record),w=w.parent;return{name:_,path:m,params:g,matched:v,meta:AE(v)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function uf(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function SE(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:EE(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function EE(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function hf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function AE(e){return e.reduce((t,s)=>Wt(t,s.meta),{})}function ff(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}function Gm(e,t){return t.children.some(s=>s===e||Gm(e,s))}const Jm=/#/g,CE=/&/g,$E=/\//g,PE=/=/g,kE=/\?/g,Xm=/\+/g,TE=/%5B/g,ME=/%5D/g,Qm=/%5E/g,DE=/%60/g,Zm=/%7B/g,IE=/%7C/g,t_=/%7D/g,OE=/%20/g;function jd(e){return encodeURI(""+e).replace(IE,"|").replace(TE,"[").replace(ME,"]")}function LE(e){return jd(e).replace(Zm,"{").replace(t_,"}").replace(Qm,"^")}function kc(e){return jd(e).replace(Xm,"%2B").replace(OE,"+").replace(Jm,"%23").replace(CE,"%26").replace(DE,"`").replace(Zm,"{").replace(t_,"}").replace(Qm,"^")}function RE(e){return kc(e).replace(PE,"%3D")}function NE(e){return jd(e).replace(Jm,"%23").replace(kE,"%3F")}function FE(e){return e==null?"":NE(e).replace($E,"%2F")}function Ca(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function BE(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&kc(o)):[n&&kc(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function VE(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=ds(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const jE=Symbol(""),gf=Symbol(""),Hd=Symbol(""),e_=Symbol(""),Tc=Symbol("");function uo(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function nn(e,t,s,n,i){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=u=>{u===!1?a(Wi(4,{from:s,to:t})):u instanceof Error?a(u):hE(u)?a(Wi(2,{from:t,to:u})):(o&&n.enterCallbacks[i]===o&&typeof u=="function"&&o.push(u),r())},c=e.call(n&&n.instances[i],t,s,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(u=>a(u))})}function zl(e,t,s,n){const i=[];for(const o of e)for(const r in o.components){let a=o.components[r];if(!(t!=="beforeRouteEnter"&&!o.instances[r]))if(HE(a)){const c=(a.__vccOpts||a)[t];c&&i.push(nn(c,s,n,o,r))}else{let l=a();i.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const d=YS(c)?c.default:c;o.components[r]=d;const p=(d.__vccOpts||d)[t];return p&&nn(p,s,n,o,r)()}))}}return i}function HE(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function mf(e){const t=ys(Hd),s=ys(e_),n=qe(()=>t.resolve(fn(e.to))),i=qe(()=>{const{matched:l}=n.value,{length:c}=l,d=l[c-1],u=s.matched;if(!d||!u.length)return-1;const p=u.findIndex(Hi.bind(null,d));if(p>-1)return p;const g=_f(l[c-2]);return c>1&&_f(d)===g&&u[u.length-1].path!==g?u.findIndex(Hi.bind(null,l[c-2])):p}),o=qe(()=>i.value>-1&&UE(s.params,n.value.params)),r=qe(()=>i.value>-1&&i.value===s.matched.length-1&&Km(s.params,n.value.params));function a(l={}){return KE(l)?t[fn(e.replace)?"replace":"push"](fn(e.to)).catch(Mo):Promise.resolve()}return{route:n,href:qe(()=>n.value.href),isActive:o,isExactActive:r,navigate:a}}const WE=Xa({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"}},useLink:mf,setup(e,{slots:t}){const s=ir(mf(e)),{options:n}=ys(Hd),i=qe(()=>({[bf(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[bf(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const o=t.default&&t.default(s);return e.custom?o:Bi("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},o)}}}),zE=WE;function KE(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 UE(e,t){for(const s in t){const n=t[s],i=e[s];if(typeof n=="string"){if(n!==i)return!1}else if(!ds(i)||i.length!==n.length||n.some((o,r)=>o!==i[r]))return!1}return!0}function _f(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bf=(e,t,s)=>e??t??s,YE=Xa({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=ys(Tc),i=qe(()=>e.route||n.value),o=ys(gf,0),r=qe(()=>{let c=fn(o);const{matched:d}=i.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),a=qe(()=>i.value.matched[r.value]);ia(gf,qe(()=>r.value+1)),ia(jE,a),ia(Tc,i);const l=vs();return Xn(()=>[l.value,a.value,e.name],([c,d,u],[p,g,m])=>{d&&(d.instances[u]=c,g&&g!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=g.leaveGuards),d.updateGuards.size||(d.updateGuards=g.updateGuards))),c&&d&&(!g||!Hi(d,g)||!p)&&(d.enterCallbacks[u]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,d=e.name,u=a.value,p=u&&u.components[d];if(!p)return vf(s.default,{Component:p,route:c});const g=u.props[d],m=g?g===!0?c.params:typeof g=="function"?g(c):g:null,v=Bi(p,Wt({},m,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(u.instances[d]=null)},ref:l}));return vf(s.default,{Component:v,route:c})||v}}});function vf(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const s_=YE;function qE(e){const t=wE(e.routes,e),s=e.parseQuery||BE,n=e.stringifyQuery||pf,i=e.history,o=uo(),r=uo(),a=uo(),l=$d(Js);let c=Js;wi&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Hl.bind(null,W=>""+W),u=Hl.bind(null,FE),p=Hl.bind(null,Ca);function g(W,st){let tt,lt;return Ym(W)?(tt=t.getRecordMatcher(W),lt=st):lt=W,t.addRoute(lt,tt)}function m(W){const st=t.getRecordMatcher(W);st&&t.removeRoute(st)}function _(){return t.getRoutes().map(W=>W.record)}function v(W){return!!t.getRecordMatcher(W)}function w(W,st){if(st=Wt({},st||l.value),typeof W=="string"){const I=Wl(s,W,st.path),N=t.resolve({path:I.path},st),q=i.createHref(I.fullPath);return Wt(I,N,{params:p(N.params),hash:Ca(I.hash),redirectedFrom:void 0,href:q})}let tt;if("path"in W)tt=Wt({},W,{path:Wl(s,W.path,st.path).path});else{const I=Wt({},W.params);for(const N in I)I[N]==null&&delete I[N];tt=Wt({},W,{params:u(I)}),st.params=u(st.params)}const lt=t.resolve(tt,st),j=W.hash||"";lt.params=d(p(lt.params));const Lt=JS(n,Wt({},W,{hash:LE(j),path:lt.path})),A=i.createHref(Lt);return Wt({fullPath:Lt,hash:j,query:n===pf?VE(W.query):W.query||{}},lt,{redirectedFrom:void 0,href:A})}function S(W){return typeof W=="string"?Wl(s,W,l.value.path):Wt({},W)}function $(W,st){if(c!==W)return Wi(8,{from:st,to:W})}function T(W){return C(W)}function y(W){return T(Wt(S(W),{replace:!0}))}function x(W){const st=W.matched[W.matched.length-1];if(st&&st.redirect){const{redirect:tt}=st;let lt=typeof tt=="function"?tt(W):tt;return typeof lt=="string"&&(lt=lt.includes("?")||lt.includes("#")?lt=S(lt):{path:lt},lt.params={}),Wt({query:W.query,hash:W.hash,params:"path"in lt?{}:W.params},lt)}}function C(W,st){const tt=c=w(W),lt=l.value,j=W.state,Lt=W.force,A=W.replace===!0,I=x(tt);if(I)return C(Wt(S(I),{state:typeof I=="object"?Wt({},j,I.state):j,force:Lt,replace:A}),st||tt);const N=tt;N.redirectedFrom=st;let q;return!Lt&&XS(n,lt,tt)&&(q=Wi(16,{to:N,from:lt}),vt(lt,lt,!0,!1)),(q?Promise.resolve(q):M(N,lt)).catch(K=>Ps(K)?Ps(K,2)?K:ht(K):Y(K,N,lt)).then(K=>{if(K){if(Ps(K,2))return C(Wt({replace:A},S(K.to),{state:typeof K.to=="object"?Wt({},j,K.to.state):j,force:Lt}),st||N)}else K=F(N,lt,!0,A,j);return O(N,lt,K),K})}function E(W,st){const tt=$(W,st);return tt?Promise.reject(tt):Promise.resolve()}function P(W){const st=Pt.values().next().value;return st&&typeof st.runWithContext=="function"?st.runWithContext(W):W()}function M(W,st){let tt;const[lt,j,Lt]=GE(W,st);tt=zl(lt.reverse(),"beforeRouteLeave",W,st);for(const I of lt)I.leaveGuards.forEach(N=>{tt.push(nn(N,W,st))});const A=E.bind(null,W,st);return tt.push(A),kt(tt).then(()=>{tt=[];for(const I of o.list())tt.push(nn(I,W,st));return tt.push(A),kt(tt)}).then(()=>{tt=zl(j,"beforeRouteUpdate",W,st);for(const I of j)I.updateGuards.forEach(N=>{tt.push(nn(N,W,st))});return tt.push(A),kt(tt)}).then(()=>{tt=[];for(const I of Lt)if(I.beforeEnter)if(ds(I.beforeEnter))for(const N of I.beforeEnter)tt.push(nn(N,W,st));else tt.push(nn(I.beforeEnter,W,st));return tt.push(A),kt(tt)}).then(()=>(W.matched.forEach(I=>I.enterCallbacks={}),tt=zl(Lt,"beforeRouteEnter",W,st),tt.push(A),kt(tt))).then(()=>{tt=[];for(const I of r.list())tt.push(nn(I,W,st));return tt.push(A),kt(tt)}).catch(I=>Ps(I,8)?I:Promise.reject(I))}function O(W,st,tt){a.list().forEach(lt=>P(()=>lt(W,st,tt)))}function F(W,st,tt,lt,j){const Lt=$(W,st);if(Lt)return Lt;const A=st===Js,I=wi?history.state:{};tt&&(lt||A?i.replace(W.fullPath,Wt({scroll:A&&I&&I.scroll},j)):i.push(W.fullPath,j)),l.value=W,vt(W,st,tt,A),ht()}let Q;function G(){Q||(Q=i.listen((W,st,tt)=>{if(!Ft.listening)return;const lt=w(W),j=x(lt);if(j){C(Wt(j,{replace:!0}),lt).catch(Mo);return}c=lt;const Lt=l.value;wi&&oE(rf(Lt.fullPath,tt.delta),nl()),M(lt,Lt).catch(A=>Ps(A,12)?A:Ps(A,2)?(C(A.to,lt).then(I=>{Ps(I,20)&&!tt.delta&&tt.type===Uo.pop&&i.go(-1,!1)}).catch(Mo),Promise.reject()):(tt.delta&&i.go(-tt.delta,!1),Y(A,lt,Lt))).then(A=>{A=A||F(lt,Lt,!1),A&&(tt.delta&&!Ps(A,8)?i.go(-tt.delta,!1):tt.type===Uo.pop&&Ps(A,20)&&i.go(-1,!1)),O(lt,Lt,A)}).catch(Mo)}))}let H=uo(),R=uo(),z;function Y(W,st,tt){ht(W);const lt=R.list();return lt.length?lt.forEach(j=>j(W,st,tt)):console.error(W),Promise.reject(W)}function rt(){return z&&l.value!==Js?Promise.resolve():new Promise((W,st)=>{H.add([W,st])})}function ht(W){return z||(z=!W,G(),H.list().forEach(([st,tt])=>W?tt(W):st()),H.reset()),W}function vt(W,st,tt,lt){const{scrollBehavior:j}=e;if(!wi||!j)return Promise.resolve();const Lt=!tt&&rE(rf(W.fullPath,0))||(lt||!tt)&&history.state&&history.state.scroll||null;return rr().then(()=>j(W,st,Lt)).then(A=>A&&iE(A)).catch(A=>Y(A,W,st))}const _t=W=>i.go(W);let Dt;const Pt=new Set,Ft={currentRoute:l,listening:!0,addRoute:g,removeRoute:m,hasRoute:v,getRoutes:_,resolve:w,options:e,push:T,replace:y,go:_t,back:()=>_t(-1),forward:()=>_t(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:R.add,isReady:rt,install(W){const st=this;W.component("RouterLink",zE),W.component("RouterView",s_),W.config.globalProperties.$router=st,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>fn(l)}),wi&&!Dt&&l.value===Js&&(Dt=!0,T(i.location).catch(j=>{}));const tt={};for(const j in Js)Object.defineProperty(tt,j,{get:()=>l.value[j],enumerable:!0});W.provide(Hd,st),W.provide(e_,Ug(tt)),W.provide(Tc,l);const lt=W.unmount;Pt.add(W),W.unmount=function(){Pt.delete(W),Pt.size<1&&(c=Js,Q&&Q(),Q=null,l.value=Js,Dt=!1,z=!1),lt()}}};function kt(W){return W.reduce((st,tt)=>st.then(()=>P(tt)),Promise.resolve())}return Ft}function GE(e,t){const s=[],n=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rHi(c,a))?n.push(a):s.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Hi(c,l))||i.push(l))}return[s,n,i]}const le=async(e,t=void 0,s=void 0)=>{const n=new URLSearchParams(t);await fetch(`${e}?${n.toString()}`,{headers:{"content-type":"application/json"}}).then(i=>i.json()).then(i=>s?s(i):void 0).catch(i=>{})},Zt=async(e,t,s)=>{await fetch(`${e}`,{headers:{"content-type":"application/json"},method:"POST",body:JSON.stringify(t)}).then(n=>n.json()).then(n=>s?s(n):void 0)};let Rr;const JE=new Uint8Array(16);function XE(){if(!Rr&&(Rr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Rr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Rr(JE)}const pe=[];for(let e=0;e<256;++e)pe.push((e+256).toString(16).slice(1));function QE(e,t=0){return pe[e[t+0]]+pe[e[t+1]]+pe[e[t+2]]+pe[e[t+3]]+"-"+pe[e[t+4]]+pe[e[t+5]]+"-"+pe[e[t+6]]+pe[e[t+7]]+"-"+pe[e[t+8]]+pe[e[t+9]]+"-"+pe[e[t+10]]+pe[e[t+11]]+pe[e[t+12]]+pe[e[t+13]]+pe[e[t+14]]+pe[e[t+15]]}const ZE=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),yf={randomUUID:ZE};function En(e,t,s){if(yf.randomUUID&&!t&&!e)return yf.randomUUID();e=e||{};const n=e.random||(e.rng||XE)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){s=s||0;for(let i=0;i<16;++i)t[s+i]=n[i];return t}return QE(n)}const Kt=Vd("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0}}),actions:{async getConfiguration(){await le("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await Zt("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await le("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,s){this.Messages.push({id:En(),from:e,content:t,type:s,show:!0})}}}),Et=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},tA=e=>(ss("data-v-ee3f3bad"),e=e(),ns(),e),eA=tA(()=>h("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[h("div",{class:"container-fluid"},[h("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1)),sA={__name:"App",setup(e){return Kt(),(t,s)=>(L(),V(Bt,null,[eA,(L(),Gt(Ga,null,{default:It(()=>[dt(fn(s_),null,{default:It(({Component:n})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Dd(n)))]),_:2},1024)]),_:1})]),_:1}))],64))}},nA=Et(sA,[["__scopeId","data-v-ee3f3bad"]]),iA={getCookie(e){const s=`; ${document.cookie}`.split(`; ${e}=`);if(s.length===2)return s.pop().split(";").shift()}};Vd("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await le("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const xf="[a-fA-F\\d:]",rn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${xf})|(?<=${xf})(?=\\s|$))`:"",rs="(?: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}",re="[a-fA-F\\d]{1,4}",il=` (?: (?:${re}:){7}(?:${re}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 (?:${re}:){6}(?:${rs}|:${re}|:)| // 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 @@ -37,32 +37,32 @@ var _1=Object.defineProperty;var b1=(e,t,s)=>t in e?_1(e,t,{enumerable:!0,config (?:${re}:){1}(?:(?::${re}){0,4}:${rs}|(?::${re}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 (?::(?:(?::${re}){0,5}:${rs}|(?::${re}){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(),oA=new RegExp(`(?:^${rs}$)|(?:^${il}$)`),rA=new RegExp(`^${rs}$`),aA=new RegExp(`^${il}$`),ol=e=>e&&e.exact?oA:new RegExp(`(?:${rn(e)}${rs}${rn(e)})|(?:${rn(e)}${il}${rn(e)})`,"g");ol.v4=e=>e&&e.exact?rA:new RegExp(`${rn(e)}${rs}${rn(e)}`,"g");ol.v6=e=>e&&e.exact?aA:new RegExp(`${rn(e)}${il}${rn(e)}`,"g");const n_={exact:!1},i_=`${ol.v4().source}\\/(3[0-2]|[12]?[0-9])`,o_=`${ol.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,lA=new RegExp(`^${i_}$`),cA=new RegExp(`^${o_}$`),dA=({exact:e}=n_)=>e?lA:new RegExp(i_,"g"),uA=({exact:e}=n_)=>e?cA:new RegExp(o_,"g"),r_=dA({exact:!0}),a_=uA({exact:!0}),Wd=e=>r_.test(e)?4:a_.test(e)?6:0;Wd.v4=e=>r_.test(e);Wd.v6=e=>a_.test(e);const Ve=Vd("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",PeerScheduleJobs:{dropdowns:{Field:[{display:"Total Received",value:"total_receive",unit:"GB",type:"number"},{display:"Total Sent",value:"total_sent",unit:"GB",type:"number"},{display:"Total Data",value:"total_data",unit:"GB",type:"number"},{display:"Date",value:"date",type:"date"}],Operator:[{display:"equal",value:"eq"},{display:"not equal",value:"neq"},{display:"larger than",value:"lgt"},{display:"less than",value:"lst"}],Action:[{display:"Restrict Peer",value:"restrict"},{display:"Delete Peer",value:"delete"}]}}}),actions:{async getConfigurations(){await le("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},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 Wd(e)!==0}}}),hA={name:"navbar",setup(){const e=Ve(),t=Kt();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},fA={class:"col-md-3 col-lg-2 d-md-block p-3",style:{height:"calc(-50px + 100vh)"}},pA={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},gA={class:"sidebar-sticky pt-3"},mA={class:"nav flex-column"},_A={class:"nav-item"},bA={class:"nav-item"},vA=h("hr",null,null,-1),yA=h("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[h("span",null,"Configurations")],-1),xA={class:"nav flex-column"},wA={class:"nav-item"},EA=h("hr",null,null,-1),SA=h("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[h("span",null,"Tools")],-1),AA={class:"nav flex-column"},CA={class:"nav-item"},$A={class:"nav-item"},PA=h("hr",null,null,-1),kA={class:"nav flex-column"},TA={class:"nav-item"},MA=h("ul",{class:"nav flex-column"},[h("li",{class:"nav-item"},[h("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[h("small",{class:"nav-link text-muted"})])])],-1);function DA(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",fA,[h("nav",pA,[h("div",gA,[h("ul",mA,[h("li",_A,[dt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:It(()=>[ct("Home")]),_:1})]),h("li",bA,[dt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:It(()=>[ct("Settings")]),_:1})])]),vA,yA,h("ul",xA,[h("li",wA,[(L(!0),V(Bt,null,ae(this.wireguardConfigurationsStore.Configurations,a=>(L(),Gt(r,{to:"/configuration/"+a.Name+"/peers",class:"nav-link nav-conf-link","active-class":"active"},{default:It(()=>[h("samp",null,nt(a.Name),1)]),_:2},1032,["to"]))),256))])]),EA,SA,h("ul",AA,[h("li",CA,[dt(r,{to:"/ping",class:"nav-link","active-class":"active"},{default:It(()=>[ct("Ping")]),_:1})]),h("li",$A,[dt(r,{to:"/traceroute",class:"nav-link","active-class":"active"},{default:It(()=>[ct("Traceroute")]),_:1})])]),PA,h("ul",kA,[h("li",TA,[h("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),MA])])])}const IA=St(hA,[["render",DA]]),OA={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},LA=["id"],RA={class:"card-body"},NA={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function FA(e,t,s,n,i,o){return L(),V("div",{class:Mt(["card shadow rounded-3 position-relative mb-2",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id,style:{width:"400px"}},[h("div",RA,[h("small",NA,"FROM "+nt(this.message.from),1),ct(" "+nt(this.message.content),1)])],10,LA)}const BA=St(OA,[["render",FA]]),VA={name:"index",components:{Message:BA,Navbar:IA},async setup(){return{dashboardConfigurationStore:Kt()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},jA=["data-bs-theme"],HA={class:"row h-100"},WA={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},zA={class:"messageCentre text-body position-fixed"};function KA(e,t,s,n,i,o){const r=Ct("Navbar"),a=Ct("RouterView"),l=Ct("Message");return L(),V("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[h("div",HA,[dt(r),h("main",WA,[(L(),Gt(Ga,null,{default:It(()=>[dt(a,null,{default:It(({Component:c})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Dd(c)))]),_:2},1024)]),_:1})]),_:1})),h("div",zA,[dt(oi,{name:"message",tag:"div",class:"position-relative"},{default:It(()=>[(L(!0),V(Bt,null,ae(o.getMessages.slice().reverse(),c=>(L(),Gt(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,jA)}const UA=St(VA,[["render",KA],["__scopeId","data-v-54755a4a"]]),YA={name:"signin",async setup(){const e=Kt();let t="",s=!1;return await le("/api/getDashboardTheme",{},n=>{t=n.data}),await le("/api/isTotpEnabled",{},n=>{s=n.data}),{store:e,theme:t,totpEnabled:s}},data(){return{username:"",password:"",totp:"",loginError:!1,loginErrorMessage:"",loading:!1}},methods:{async auth(){this.username&&this.password&&(this.totpEnabled&&this.totp||!this.totpEnabled)?(this.loading=!0,await Zt("/api/authenticate",{username:this.username,password:this.password,totp:this.totp},e=>{e.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),e.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.loginError=!0,this.loginErrorMessage=e.message,document.querySelectorAll("input[required]").forEach(t=>{t.classList.remove("is-valid"),t.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(e=>{e.value.length===0?(e.classList.remove("is-valid"),e.classList.add("is-invalid")):(e.classList.remove("is-invalid"),e.classList.add("is-valid"))})}}},qA=["data-bs-theme"],GA={class:"login-box m-auto",style:{width:"500px"}},JA=h("h4",{class:"mb-0 text-body"},"Welcome to",-1),XA=h("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),QA={class:"m-auto"},ZA={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},tC={class:"form-group text-body"},eC=h("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-person-circle"})],-1),sC={class:"form-group text-body"},nC=h("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-key-fill"})],-1),iC={key:0,class:"form-group text-body"},oC=h("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-lock-fill"})],-1),rC={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand shadow signInBtn",ref:"signInBtn"},aC={key:0,class:"d-flex w-100"},lC=h("i",{class:"ms-auto bi bi-chevron-right"},null,-1),cC={key:1,class:"d-flex w-100 align-items-center"},dC=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),uC=h("small",{class:"text-muted pb-3 d-block w-100 text-center"},[ct(" WGDashboard v4.0 | Developed with ❤️ by "),h("a",{href:"https://github.com/donaldzou",target:"_blank"},[h("strong",null,"Donald Zou")])],-1);function hC(e,t,s,n,i,o){return L(),V("div",{class:"container-fluid login-container-fluid d-flex main flex-column","data-bs-theme":this.theme},[h("div",GA,[JA,XA,h("div",QA,[i.loginError?(L(),V("div",ZA,nt(this.loginErrorMessage),1)):xt("",!0),h("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[h("div",tC,[eC,ft(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[bt,i.username]])]),h("div",sC,[nC,ft(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[bt,i.password]])]),n.totpEnabled?(L(),V("div",iC,[oC,ft(h("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=r=>this.totp=r)},null,512),[[bt,this.totp]])])):xt("",!0),h("button",rC,[this.loading?(L(),V("span",cC,[ct(" Signing In... "),dC])):(L(),V("span",aC,[ct(" Sign In"),lC]))],512)],32)])]),uC],8,qA)}const fC=St(YA,[["render",hC]]),pC={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:Kt()}},methods:{toggle(){this.configurationToggling=!0,le("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} is ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},gC={class:"card conf_card rounded-3 shadow text-decoration-none"},mC={class:"mb-0"},_C={class:"card-title mb-0"},bC=h("h6",{class:"mb-0 ms-auto"},[h("i",{class:"bi bi-chevron-right"})],-1),vC={class:"card-footer d-flex align-items-center"},yC=h("small",{class:"me-2 text-muted"},[h("strong",null,"PUBLIC KEY")],-1),xC={class:"mb-0 d-block d-lg-inline-block"},wC={style:{"line-break":"anywhere"}},EC={class:"form-check form-switch ms-auto"},SC=["for"],AC={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},CC=["disabled","id"];function $C(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",gC,[dt(r,{to:"/configuration/"+s.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:It(()=>[h("h6",mC,[h("span",{class:Mt(["dot",{active:s.c.Status}])},null,2)]),h("h6",_C,[h("samp",null,nt(s.c.Name),1)]),bC]),_:1},8,["to"]),h("div",vC,[yC,h("small",xC,[h("samp",wC,nt(s.c.PublicKey),1)]),h("div",EC,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+s.c.PrivateKey},[ct(nt(this.configurationToggling?"Turning ":"")+" "+nt(s.c.Status?"On":"Off")+" ",1),this.configurationToggling?(L(),V("span",AC)):xt("",!0)],8,SC),ft(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+s.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>s.c.Status=a)},null,40,CC),[[Xe,s.c.Status]])])])])}const PC=St(pC,[["render",$C]]),kC={name:"configurationList",components:{ConfigurationCard:PC},async setup(){return{wireguardConfigurationsStore:Ve()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0}},TC={class:"mt-5"},MC={class:"container"},DC={class:"d-flex mb-4"},IC=h("h3",{class:"text-body"},"WireGuard Configurations",-1),OC=h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1),LC={key:0},RC={key:0,class:"text-muted"},NC={key:1,class:"d-flex gap-3 flex-column"};function FC(e,t,s,n,i,o){const r=Ct("RouterLink"),a=Ct("ConfigurationCard");return L(),V("div",TC,[h("div",MC,[h("div",DC,[IC,dt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:It(()=>[OC,ct(" Configuration ")]),_:1})]),dt(Te,{name:"fade",mode:"out-in"},{default:It(()=>[this.configurationLoaded?(L(),V("div",LC,[this.wireguardConfigurationsStore.Configurations.length===0?(L(),V("p",RC,` 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". `)):(L(),V("div",NC,[(L(!0),V(Bt,null,ae(this.wireguardConfigurationsStore.Configurations,l=>(L(),Gt(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])):xt("",!0)]),_:1})])])}const BC=St(kC,[["render",FC]]),VC={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${Sn()}`;return{store:e,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 Zt("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},e=>{e.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=e.message),this.changed=!1,this.updating=!1})}}},jC={class:"form-group mb-2"},HC=["for"],WC=["id","disabled"],zC={class:"invalid-feedback"},KC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},UC=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),YC=["innerHTML"];function qC(e,t,s,n,i,o){return L(),V("div",jC,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,HC),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,WC),[[bt,this.value]]),h("div",zC,nt(this.invalidFeedback),1),s.warning?(L(),V("div",KC,[h("small",null,[UC,h("span",{innerHTML:s.warningText},null,8,YC)])])):xt("",!0)])}const GC=St(VC,[["render",qC]]),JC=e=>{},XC={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${Sn()}`;return{store:e,uuid:t}},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(){this.changed&&(this.updating=!0,await Zt("/api/updateDashboardConfigurationItem",{section:"Account",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),this.changed=!1,this.updating=!1}))}}},QC={class:"form-group mb-2"},ZC=["for"],t$=["id","disabled"],e$={class:"invalid-feedback"},s$={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},n$=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),i$=["innerHTML"];function o$(e,t,s,n,i,o){return L(),V("div",QC,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,ZC),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,t$),[[bt,this.value]]),h("div",e$,nt(this.invalidFeedback),1),s.warning?(L(),V("div",s$,[h("small",null,[n$,h("span",{innerHTML:s.warningText},null,8,i$)])])):xt("",!0)])}const r$=St(XC,[["render",o$]]),a$={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${Sn()}`;return{store:e,uuid:t}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(e=>e.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await Zt("/api/updateDashboardConfigurationItem",{section:"Account",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,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}}},l$={class:"d-flex flex-column"},c$={class:"row"},d$={class:"col-sm"},u$={class:"form-group mb-2"},h$=["for"],f$=h("strong",null,[h("small",null,"Current Password")],-1),p$=[f$],g$=["id"],m$={key:0,class:"invalid-feedback d-block"},_$={class:"col-sm"},b$={class:"form-group mb-2"},v$=["for"],y$=h("strong",null,[h("small",null,"New Password")],-1),x$=[y$],w$=["id"],E$={class:"col-sm"},S$={class:"form-group mb-2"},A$=["for"],C$=h("strong",null,[h("small",null,"Repeat New Password")],-1),$$=[C$],P$=["id"],k$=h("i",{class:"bi bi-save2-fill me-2"},null,-1);function T$(e,t,s,n,i,o){return L(),V("div",l$,[h("div",c$,[h("div",d$,[h("div",u$,[h("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},p$,8,h$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.value.currentPassword=r),id:"currentPassword_"+this.uuid},null,10,g$),[[bt,this.value.currentPassword]]),i.showInvalidFeedback?(L(),V("div",m$,nt(this.invalidFeedback),1)):xt("",!0)])]),h("div",_$,[h("div",b$,[h("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},x$,8,v$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[1]||(t[1]=r=>this.value.newPassword=r),id:"newPassword_"+this.uuid},null,10,w$),[[bt,this.value.newPassword]])])]),h("div",E$,[h("div",S$,[h("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},$$,8,A$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[2]||(t[2]=r=>this.value.repeatNewPassword=r),id:"repeatNewPassword_"+this.uuid},null,10,P$),[[bt,this.value.repeatNewPassword]])])])]),h("button",{class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:t[3]||(t[3]=r=>this.useValidation())},[k$,ct("Update Password ")])])}const M$=St(a$,[["render",T$]]),D$={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${Sn()}`;return{store:e,uuid:t}},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&&await Zt("/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),this.changed=!1,this.updating=!1})}}},I$={class:"form-group mb-2"},O$=["for"],L$=["id","disabled"],R$={class:"invalid-feedback"},N$={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},F$=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),B$=["innerHTML"];function V$(e,t,s,n,i,o){return L(),V("div",I$,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,O$),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>this.useValidation()),disabled:this.updating},null,42,L$),[[bt,this.value]]),h("div",R$,nt(this.invalidFeedback),1),s.warning?(L(),V("div",N$,[h("small",null,[F$,h("span",{innerHTML:s.warningText},null,8,B$)])])):xt("",!0)])}const j$=St(D$,[["render",V$]]),H$={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:Kt()}},methods:{async switchTheme(e){await Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},W$={class:"card mb-4 shadow rounded-3"},z$=h("p",{class:"card-header"},"Dashboard Theme",-1),K$={class:"card-body d-flex gap-2"},U$=h("i",{class:"bi bi-sun-fill"},null,-1),Y$=h("i",{class:"bi bi-moon-fill"},null,-1);function q$(e,t,s,n,i,o){return L(),V("div",W$,[z$,h("div",K$,[h("button",{class:Mt(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[U$,ct(" Light ")],2),h("button",{class:Mt(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[Y$,ct(" Dark ")],2)])])}const G$=St(H$,[["render",q$]]),J$={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=Kt(),t=`input_${Sn()}`;return{store:e,uuid:t}},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 Zt("/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)})}}},X$={class:"invalid-feedback d-block mt-0"},Q$={class:"row"},Z$={class:"form-group mb-2 col-sm"},tP=["for"],eP=h("strong",null,[h("small",null,"Dashboard IP Address")],-1),sP=[eP],nP=["id"],iP=h("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[h("small",null,[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),h("code",null,"0.0.0.0"),ct(" means it can be access by anyone with your server IP Address.")])],-1),oP={class:"form-group col-sm"},rP=["for"],aP=h("strong",null,[h("small",null,"Dashboard Port")],-1),lP=[aP],cP=["id"],dP=h("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[h("i",{class:"bi bi-floppy-fill me-2"}),ct("Update Dashboard Settings & Restart ")],-1);function uP(e,t,s,n,i,o){return L(),V("div",null,[h("div",X$,nt(this.invalidFeedback),1),h("div",Q$,[h("div",Z$,[h("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},sP,8,tP),ft(h("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.app_ip=r)},null,8,nP),[[bt,this.app_ip]]),iP]),h("div",oP,[h("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},lP,8,rP),ft(h("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":t[1]||(t[1]=r=>this.app_port=r)},null,8,cP),[[bt,this.app_port]])])]),dP])}const hP=St(J$,[["render",uP]]);var l_={exports:{}};(function(e,t){(function(s,n){e.exports=n()})(Zp,function(){var s=1e3,n=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",d="week",u="month",p="quarter",g="year",m="date",_="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|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,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(G){var H=["th","st","nd","rd"],R=G%100;return"["+G+(H[(R-20)%10]||H[R]||H[0])+"]"}},$=function(G,H,R){var z=String(G);return!z||z.length>=H?G:""+Array(H+1-z.length).join(R)+G},T={s:$,z:function(G){var H=-G.utcOffset(),R=Math.abs(H),z=Math.floor(R/60),Y=R%60;return(H<=0?"+":"-")+$(z,2,"0")+":"+$(Y,2,"0")},m:function G(H,R){if(H.date()1)return G(ht[0])}else{var vt=H.name;x[vt]=H,Y=vt}return!z&&Y&&(y=Y),Y||!z&&y},M=function(G,H){if(S(G))return G.clone();var R=typeof H=="object"?H:{};return R.date=G,R.args=arguments,new F(R)},O=T;O.l=P,O.i=S,O.w=function(G,H){return M(G,{locale:H.$L,utc:H.$u,x:H.$x,$offset:H.$offset})};var F=function(){function G(R){this.$L=P(R.locale,null,!0),this.parse(R),this.$x=this.$x||R.x||{},this[C]=!0}var H=G.prototype;return H.parse=function(R){this.$d=function(z){var Y=z.date,rt=z.utc;if(Y===null)return new Date(NaN);if(O.u(Y))return new Date;if(Y instanceof Date)return new Date(Y);if(typeof Y=="string"&&!/Z$/i.test(Y)){var ht=Y.match(v);if(ht){var vt=ht[2]-1||0,_t=(ht[7]||"0").substring(0,3);return rt?new Date(Date.UTC(ht[1],vt,ht[3]||1,ht[4]||0,ht[5]||0,ht[6]||0,_t)):new Date(ht[1],vt,ht[3]||1,ht[4]||0,ht[5]||0,ht[6]||0,_t)}}return new Date(Y)}(R),this.init()},H.init=function(){var R=this.$d;this.$y=R.getFullYear(),this.$M=R.getMonth(),this.$D=R.getDate(),this.$W=R.getDay(),this.$H=R.getHours(),this.$m=R.getMinutes(),this.$s=R.getSeconds(),this.$ms=R.getMilliseconds()},H.$utils=function(){return O},H.isValid=function(){return this.$d.toString()!==_},H.isSame=function(R,z){var Y=M(R);return this.startOf(z)<=Y&&Y<=this.endOf(z)},H.isAfter=function(R,z){return M(R){e.status?(this.$emit("created",e.data),this.store.newMessage("Server","New API Key created","success"),this.$emit("close")):this.store.newMessage("Server",e.message,"danger"),this.submitting=!1})},fixDate(e){return console.log(ki(e).format("YYYY-MM-DDTHH:mm:ss")),ki(e).format("YYYY-MM-DDTHH:mm:ss")}}},gP={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)"}},mP={class:"card m-auto rounded-3 mt-5"},_P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},bP={class:"card-body d-flex gap-2 p-4 flex-column"},vP=h("small",{class:"text-muted"},"When should this API Key expire?",-1),yP={class:"d-flex align-items-center gap-2"},xP=["disabled"],wP={class:"form-check"},EP=["disabled"],SP=h("label",{class:"form-check-label",for:"neverExpire"},[ct(" Never Expire ("),h("i",{class:"bi bi-emoji-grimace-fill"}),ct(" Don't think that's a good idea) ")],-1),AP={key:0,class:"bi bi-check-lg me-2"};function CP(e,t,s,n,i,o){return L(),V("div",gP,[h("div",mP,[h("div",_P,[ct(" Create API Key "),h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",bP,[vP,h("div",yP,[ft(h("input",{class:"form-control",type:"datetime-local",onChange:t[1]||(t[1]=r=>this.newKeyData.ExpiredAt=this.fixDate(this.newKeyData.ExpiredAt)),disabled:this.newKeyData.neverExpire||this.submitting,"onUpdate:modelValue":t[2]||(t[2]=r=>this.newKeyData.ExpiredAt=r)},null,40,xP),[[bt,this.newKeyData.ExpiredAt]])]),h("div",wP,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.newKeyData.neverExpire=r),id:"neverExpire",disabled:this.submitting},null,8,EP),[[Xe,this.newKeyData.neverExpire]]),SP]),h("button",{class:Mt(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:t[4]||(t[4]=r=>this.submitNewAPIKey())},[this.submitting?xt("",!0):(L(),V("i",AP)),ct(" "+nt(this.submitting?"Creating...":"Done"),1)],2)])])])}const $P=St(pP,[["render",CP]]),PP={name:"dashboardAPIKey",props:{apiKey:Object},setup(){return{store:Kt()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){Zt("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},e=>{e.status?(this.$emit("deleted",e.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",e.message,"danger")})}}},kP={class:"card rounded-3 shadow-sm"},TP={key:0,class:"card-body d-flex gap-3 align-items-center"},MP={class:"d-flex align-items-center gap-2"},DP=h("small",{class:"text-muted"},"Key",-1),IP={class:"d-flex align-items-center gap-2 ms-auto"},OP=h("small",{class:"text-muted"},"Expire At",-1),LP=h("i",{class:"bi bi-trash-fill"},null,-1),RP=[LP],NP={key:1,class:"card-body d-flex gap-3 align-items-center justify-content-end"},FP=h("i",{class:"bi bi-check-lg"},null,-1),BP=[FP],VP=h("i",{class:"bi bi-x-lg"},null,-1),jP=[VP];function HP(e,t,s,n,i,o){return L(),V("div",kP,[this.confirmDelete?(L(),V("div",NP,[ct(" Are you sure to delete this API key? "),h("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:t[1]||(t[1]=r=>this.deleteAPIKey())},BP),h("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[2]||(t[2]=r=>this.confirmDelete=!1)},jP)])):(L(),V("div",TP,[h("div",MP,[DP,ct(nt(this.apiKey.Key),1)]),h("div",IP,[OP,ct(" "+nt(this.apiKey.ExpiredAt?this.apiKey.ExpiredAt:"Never"),1)]),h("a",{role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:t[0]||(t[0]=r=>this.confirmDelete=!0)},RP)]))])}const WP=St(PP,[["render",HP]]),zP={name:"dashboardAPIKeys",components:{DashboardAPIKey:WP,NewDashboardAPIKey:$P},setup(){return{store:Kt()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},e=>{e.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 ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(e){e?le("/api/getDashboardAPIKeys",{},t=>{console.log(t),t.status?this.apiKeys=t.data:(this.apiKeys=[],this.store.newMessage("Server",t.message,"danger"))}):this.apiKeys=[]}}}},c_=e=>(ss("data-v-a1e137c9"),e=e(),ns(),e),KP={class:"card mb-4 shadow rounded-3"},UP={class:"card-header d-flex"},YP={class:"form-check form-switch ms-auto"},qP={class:"form-check-label",for:"allowAPIKeysSwitch"},GP={key:0,class:"card-body position-relative d-flex flex-column gap-2"},JP=c_(()=>h("i",{class:"bi bi-key me-2"},null,-1)),XP={key:0,class:"card",style:{height:"300px"}},QP=c_(()=>h("div",{class:"card-body d-flex text-muted"},[h("span",{class:"m-auto"}," No Dashboard API Key ")],-1)),ZP=[QP],tk={key:1,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function ek(e,t,s,n,i,o){const r=Ct("DashboardAPIKey"),a=Ct("NewDashboardAPIKey");return L(),V("div",KP,[h("div",UP,[ct(" API Keys "),h("div",YP,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>this.value=l),onChange:t[1]||(t[1]=l=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[Xe,this.value]]),h("label",qP,nt(this.value?"Enabled":"Disabled"),1)])]),this.value?(L(),V("div",GP,[h("button",{class:"ms-auto btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:t[2]||(t[2]=l=>this.newDashboardAPIKey=!0)},[JP,ct(" Create ")]),this.apiKeys.length===0?(L(),V("div",XP,ZP)):(L(),V("div",tk,[dt(oi,{name:"apiKey"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.apiKeys,l=>(L(),Gt(r,{apiKey:l,key:l.Key,onDeleted:t[3]||(t[3]=c=>this.apiKeys=c)},null,8,["apiKey"]))),128))]),_:1})])),dt(Te,{name:"zoomReversed"},{default:It(()=>[this.newDashboardAPIKey?(L(),Gt(a,{key:0,onCreated:t[4]||(t[4]=l=>this.apiKeys=l),onClose:t[5]||(t[5]=l=>this.newDashboardAPIKey=!1)})):xt("",!0)]),_:1})])):xt("",!0)])}const sk=St(zP,[["render",ek],["__scopeId","data-v-a1e137c9"]]),nk={name:"settings",methods:{ipV46RegexCheck:JC},components:{DashboardAPIKeys:sk,DashboardSettingsInputIPAddressAndPort:hP,DashboardTheme:G$,DashboardSettingsInputWireguardConfigurationPath:j$,AccountSettingsInputPassword:M$,AccountSettingsInputUsername:r$,PeersDefaultSettingsInput:GC},setup(){return{dashboardConfigurationStore:Kt()}},watch:{}},ik={class:"mt-5"},ok={class:"container"},rk=h("h3",{class:"mb-3 text-body"},"Settings",-1),ak={class:"card mb-4 shadow rounded-3"},lk=h("p",{class:"card-header"},"Peers Default Settings",-1),ck={class:"card-body"},dk={class:"card mb-4 shadow rounded-3"},uk=h("p",{class:"card-header"},"WireGuard Configurations Settings",-1),hk={class:"card-body"},fk={class:"card mb-4 shadow rounded-3"},pk=h("p",{class:"card-header"},"Account Settings",-1),gk={class:"card-body"},mk=h("hr",null,null,-1);function _k(e,t,s,n,i,o){const r=Ct("DashboardTheme"),a=Ct("PeersDefaultSettingsInput"),l=Ct("DashboardSettingsInputWireguardConfigurationPath"),c=Ct("AccountSettingsInputUsername"),d=Ct("AccountSettingsInputPassword"),u=Ct("DashboardAPIKeys");return L(),V("div",ik,[h("div",ok,[rk,dt(r),h("div",ak,[lk,h("div",ck,[dt(a,{targetData:"peer_global_dns",title:"DNS"}),dt(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),dt(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),dt(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),dt(a,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be change globally, and will be apply to all peer's QR code and configuration file."})])]),h("div",dk,[uk,h("div",hk,[dt(l,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"})])]),h("div",fk,[pk,h("div",gk,[dt(c,{targetData:"username",title:"Username"}),mk,dt(d,{targetData:"password"})])]),dt(u)])])}const bk=St(nk,[["render",_k]]);var to={},vk=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},d_={},je={};let zd;const yk=[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];je.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};je.getSymbolTotalCodewords=function(t){return yk[t]};je.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};je.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');zd=t};je.isKanjiModeEnabled=function(){return typeof zd<"u"};je.toSJIS=function(t){return zd(t)};var rl={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.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: "+s)}}e.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},e.from=function(n,i){if(e.isValid(n))return n;try{return t(n)}catch{return i}}})(rl);function u_(){this.buffer=[],this.length=0}u_.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let s=0;s>>t-s-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var xk=u_;function lr(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}lr.prototype.set=function(e,t,s,n){const i=e*this.size+t;this.data[i]=s,n&&(this.reservedBit[i]=!0)};lr.prototype.get=function(e,t){return this.data[e*this.size+t]};lr.prototype.xor=function(e,t,s){this.data[e*this.size+t]^=s};lr.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var wk=lr,h_={};(function(e){const t=je.getSymbolSize;e.getRowColCoords=function(n){if(n===1)return[];const i=Math.floor(n/7)+2,o=t(n),r=o===145?26:Math.ceil((o-13)/(2*i-2))*2,a=[o-7];for(let l=1;l=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const o=i.size;let r=0,a=0,l=0,c=null,d=null;for(let u=0;u=5&&(r+=t.N1+(a-5)),c=g,a=1),g=i.get(p,u),g===d?l++:(l>=5&&(r+=t.N1+(l-5)),d=g,l=1)}a>=5&&(r+=t.N1+(a-5)),l>=5&&(r+=t.N1+(l-5))}return r},e.getPenaltyN2=function(i){const o=i.size;let r=0;for(let a=0;a=10&&(a===1488||a===93)&&r++,l=l<<1&2047|i.get(d,c),d>=10&&(l===1488||l===93)&&r++}return r*t.N3},e.getPenaltyN4=function(i){let o=0;const r=i.data.length;for(let l=0;l=0;){const r=o[0];for(let l=0;l0){const o=new Uint8Array(this.degree);return o.set(n,i),o}return n};var Sk=Kd,__={},An={},Ud={};Ud.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var Es={};const b_="[0-9]+",Ak="[A-Z $%*+\\-./:]+";let Yo="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Yo=Yo.replace(/u/g,"\\u");const Ck="(?:(?![A-Z0-9 $%*+\\-./:]|"+Yo+`)(?:.|[\r -]))+`;Es.KANJI=new RegExp(Yo,"g");Es.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Es.BYTE=new RegExp(Ck,"g");Es.NUMERIC=new RegExp(b_,"g");Es.ALPHANUMERIC=new RegExp(Ak,"g");const $k=new RegExp("^"+Yo+"$"),Pk=new RegExp("^"+b_+"$"),kk=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Es.testKanji=function(t){return $k.test(t)};Es.testNumeric=function(t){return Pk.test(t)};Es.testAlphanumeric=function(t){return kk.test(t)};(function(e){const t=Ud,s=Es;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,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return s.testNumeric(o)?e.NUMERIC:s.testAlphanumeric(o)?e.ALPHANUMERIC:s.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 n(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.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: "+i)}}e.from=function(o,r){if(e.isValid(o))return o;try{return n(o)}catch{return r}}})(An);(function(e){const t=je,s=al,n=rl,i=An,o=Ud,r=7973,a=t.getBCHDigit(r);function l(p,g,m){for(let _=1;_<=40;_++)if(g<=e.getCapacity(_,m,p))return _}function c(p,g){return i.getCharCountIndicator(p,g)+4}function d(p,g){let m=0;return p.forEach(function(_){const v=c(_.mode,g);m+=v+_.getBitsLength()}),m}function u(p,g){for(let m=1;m<=40;m++)if(d(p,m)<=e.getCapacity(m,g,i.MIXED))return m}e.from=function(g,m){return o.isValid(g)?parseInt(g,10):m},e.getCapacity=function(g,m,_){if(!o.isValid(g))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const v=t.getSymbolTotalCodewords(g),w=s.getTotalCodewordsCount(g,m),E=(v-w)*8;if(_===i.MIXED)return E;const $=E-c(_,g);switch(_){case i.NUMERIC:return Math.floor($/10*3);case i.ALPHANUMERIC:return Math.floor($/11*2);case i.KANJI:return Math.floor($/13);case i.BYTE:default:return Math.floor($/8)}},e.getBestVersionForData=function(g,m){let _;const v=n.from(m,n.M);if(Array.isArray(g)){if(g.length>1)return u(g,v);if(g.length===0)return 1;_=g[0]}else _=g;return l(_.mode,_.getLength(),v)},e.getEncodedBits=function(g){if(!o.isValid(g)||g<7)throw new Error("Invalid QR Code version");let m=g<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<=0;)i^=y_<0&&(n=this.data.substr(s),i=parseInt(n,10),t.put(i,o*3+1))};var Dk=zi;const Ik=An,Kl=["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 Ki(e){this.mode=Ik.ALPHANUMERIC,this.data=e}Ki.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Ki.prototype.getLength=function(){return this.data.length};Ki.prototype.getBitsLength=function(){return Ki.getBitsLength(this.data.length)};Ki.prototype.write=function(t){let s;for(s=0;s+2<=this.data.length;s+=2){let n=Kl.indexOf(this.data[s])*45;n+=Kl.indexOf(this.data[s+1]),t.put(n,11)}this.data.length%2&&t.put(Kl.indexOf(this.data[s]),6)};var Ok=Ki,Lk=function(t){for(var s=[],n=t.length,i=0;i=55296&&o<=56319&&n>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){s.push(o);continue}if(o<2048){s.push(o>>6|192),s.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){s.push(o>>12|224),s.push(o>>6&63|128),s.push(o&63|128);continue}if(o>=65536&&o<=1114111){s.push(o>>18|240),s.push(o>>12&63|128),s.push(o>>6&63|128),s.push(o&63|128);continue}s.push(239,191,189)}return new Uint8Array(s).buffer};const Rk=Lk,Nk=An;function Ui(e){this.mode=Nk.BYTE,typeof e=="string"&&(e=Rk(e)),this.data=new Uint8Array(e)}Ui.getBitsLength=function(t){return t*8};Ui.prototype.getLength=function(){return this.data.length};Ui.prototype.getBitsLength=function(){return Ui.getBitsLength(this.data.length)};Ui.prototype.write=function(e){for(let t=0,s=this.data.length;t=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` -Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),e.put(s,13)}};var jk=Yi,w_={exports:{}};(function(e){var t={single_source_shortest_paths:function(s,n,i){var o={},r={};r[n]=0;var a=t.PriorityQueue.make();a.push(n,0);for(var l,c,d,u,p,g,m,_,v;!a.empty();){l=a.pop(),c=l.value,u=l.cost,p=s[c]||{};for(d in p)p.hasOwnProperty(d)&&(g=p[d],m=u+g,_=r[d],v=typeof r[d]>"u",(v||_>m)&&(r[d]=m,a.push(d,m),o[d]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var w=["Could not find a path from ",n," to ",i,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(s,n){for(var i=[],o=n;o;)i.push(o),s[o],o=s[o];return i.reverse(),i},find_path:function(s,n,i){var o=t.single_source_shortest_paths(s,n,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(s){var n=t.PriorityQueue,i={},o;s=s||{};for(o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);return i.queue=[],i.sorter=s.sorter||n.default_sorter,i},default_sorter:function(s,n){return s.cost-n.cost},push:function(s,n){var i={value:s,cost:n};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(w_);var Hk=w_.exports;(function(e){const t=An,s=Dk,n=Ok,i=Fk,o=jk,r=Es,a=je,l=Hk;function c(w){return unescape(encodeURIComponent(w)).length}function d(w,E,$){const T=[];let y;for(;(y=w.exec($))!==null;)T.push({data:y[0],index:y.index,mode:E,length:y[0].length});return T}function u(w){const E=d(r.NUMERIC,t.NUMERIC,w),$=d(r.ALPHANUMERIC,t.ALPHANUMERIC,w);let T,y;return a.isKanjiModeEnabled()?(T=d(r.BYTE,t.BYTE,w),y=d(r.KANJI,t.KANJI,w)):(T=d(r.BYTE_KANJI,t.BYTE,w),y=[]),E.concat($,T,y).sort(function(C,S){return C.index-S.index}).map(function(C){return{data:C.data,mode:C.mode,length:C.length}})}function p(w,E){switch(E){case t.NUMERIC:return s.getBitsLength(w);case t.ALPHANUMERIC:return n.getBitsLength(w);case t.KANJI:return o.getBitsLength(w);case t.BYTE:return i.getBitsLength(w)}}function g(w){return w.reduce(function(E,$){const T=E.length-1>=0?E[E.length-1]:null;return T&&T.mode===$.mode?(E[E.length-1].data+=$.data,E):(E.push($),E)},[])}function m(w){const E=[];for(let $=0;$=0&&a<=6&&(l===0||l===6)||l>=0&&l<=6&&(a===0||a===6)||a>=2&&a<=4&&l>=2&&l<=4?e.set(o+a,r+l,!0,!0):e.set(o+a,r+l,!1,!0))}}function Xk(e){const t=e.size;for(let s=8;s>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function ql(e,t,s){const n=e.size,i=qk.getEncodedBits(t,s);let o,r;for(o=0;o<15;o++)r=(i>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(n-15+o,8,r,!0),o<8?e.set(8,n-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(n-8,8,1,!0)}function tT(e,t){const s=e.size;let n=-1,i=s-1,o=7,r=0;for(let a=s-1;a>0;a-=2)for(a===6&&a--;;){for(let l=0;l<2;l++)if(!e.isReserved(i,a-l)){let c=!1;r>>o&1)===1),e.set(i,a-l,c),o--,o===-1&&(r++,o=7)}if(i+=n,i<0||s<=i){i-=n,n=-n;break}}}function eT(e,t,s){const n=new Wk;s.forEach(function(l){n.put(l.mode.bit,4),n.put(l.getLength(),Gk.getCharCountIndicator(l.mode,e)),l.write(n)});const i=cl.getSymbolTotalCodewords(e),o=Ic.getTotalCodewordsCount(e,t),r=(i-o)*8;for(n.getLengthInBits()+4<=r&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);const a=(r-n.getLengthInBits())/8;for(let l=0;le&&e.exact?oA:new RegExp(`(?:${rn(e)}${rs}${rn(e)})|(?:${rn(e)}${il}${rn(e)})`,"g");ol.v4=e=>e&&e.exact?rA:new RegExp(`${rn(e)}${rs}${rn(e)}`,"g");ol.v6=e=>e&&e.exact?aA:new RegExp(`${rn(e)}${il}${rn(e)}`,"g");const n_={exact:!1},i_=`${ol.v4().source}\\/(3[0-2]|[12]?[0-9])`,o_=`${ol.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,lA=new RegExp(`^${i_}$`),cA=new RegExp(`^${o_}$`),dA=({exact:e}=n_)=>e?lA:new RegExp(i_,"g"),uA=({exact:e}=n_)=>e?cA:new RegExp(o_,"g"),r_=dA({exact:!0}),a_=uA({exact:!0}),Wd=e=>r_.test(e)?4:a_.test(e)?6:0;Wd.v4=e=>r_.test(e);Wd.v6=e=>a_.test(e);const Ve=Vd("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",PeerScheduleJobs:{dropdowns:{Field:[{display:"Total Received",value:"total_receive",unit:"GB",type:"number"},{display:"Total Sent",value:"total_sent",unit:"GB",type:"number"},{display:"Total Data",value:"total_data",unit:"GB",type:"number"},{display:"Date",value:"date",type:"date"}],Operator:[{display:"equal",value:"eq"},{display:"not equal",value:"neq"},{display:"larger than",value:"lgt"},{display:"less than",value:"lst"}],Action:[{display:"Restrict Peer",value:"restrict"},{display:"Delete Peer",value:"delete"}]}}}),actions:{async getConfigurations(){await le("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},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 Wd(e)!==0}}}),hA={name:"navbar",setup(){const e=Ve(),t=Kt();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},fA={class:"col-md-3 col-lg-2 d-md-block p-3",style:{height:"calc(-50px + 100vh)"}},pA={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},gA={class:"sidebar-sticky pt-3"},mA={class:"nav flex-column"},_A={class:"nav-item"},bA={class:"nav-item"},vA=h("hr",null,null,-1),yA=h("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[h("span",null,"Configurations")],-1),xA={class:"nav flex-column"},wA={class:"nav-item"},SA=h("hr",null,null,-1),EA=h("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[h("span",null,"Tools")],-1),AA={class:"nav flex-column"},CA={class:"nav-item"},$A={class:"nav-item"},PA=h("hr",null,null,-1),kA={class:"nav flex-column"},TA={class:"nav-item"},MA=h("ul",{class:"nav flex-column"},[h("li",{class:"nav-item"},[h("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[h("small",{class:"nav-link text-muted"})])])],-1);function DA(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",fA,[h("nav",pA,[h("div",gA,[h("ul",mA,[h("li",_A,[dt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:It(()=>[ct("Home")]),_:1})]),h("li",bA,[dt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:It(()=>[ct("Settings")]),_:1})])]),vA,yA,h("ul",xA,[h("li",wA,[(L(!0),V(Bt,null,ae(this.wireguardConfigurationsStore.Configurations,a=>(L(),Gt(r,{to:"/configuration/"+a.Name+"/peers",class:"nav-link nav-conf-link","active-class":"active"},{default:It(()=>[h("samp",null,nt(a.Name),1)]),_:2},1032,["to"]))),256))])]),SA,EA,h("ul",AA,[h("li",CA,[dt(r,{to:"/ping",class:"nav-link","active-class":"active"},{default:It(()=>[ct("Ping")]),_:1})]),h("li",$A,[dt(r,{to:"/traceroute",class:"nav-link","active-class":"active"},{default:It(()=>[ct("Traceroute")]),_:1})])]),PA,h("ul",kA,[h("li",TA,[h("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),MA])])])}const IA=Et(hA,[["render",DA]]),OA={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},LA=["id"],RA={class:"card-body"},NA={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function FA(e,t,s,n,i,o){return L(),V("div",{class:Mt(["card shadow rounded-3 position-relative mb-2",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id,style:{width:"400px"}},[h("div",RA,[h("small",NA,"FROM "+nt(this.message.from),1),ct(" "+nt(this.message.content),1)])],10,LA)}const BA=Et(OA,[["render",FA]]),VA={name:"index",components:{Message:BA,Navbar:IA},async setup(){return{dashboardConfigurationStore:Kt()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},jA=["data-bs-theme"],HA={class:"row h-100"},WA={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},zA={class:"messageCentre text-body position-fixed"};function KA(e,t,s,n,i,o){const r=Ct("Navbar"),a=Ct("RouterView"),l=Ct("Message");return L(),V("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[h("div",HA,[dt(r),h("main",WA,[(L(),Gt(Ga,null,{default:It(()=>[dt(a,null,{default:It(({Component:c})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Dd(c)))]),_:2},1024)]),_:1})]),_:1})),h("div",zA,[dt(oi,{name:"message",tag:"div",class:"position-relative"},{default:It(()=>[(L(!0),V(Bt,null,ae(o.getMessages.slice().reverse(),c=>(L(),Gt(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,jA)}const UA=Et(VA,[["render",KA],["__scopeId","data-v-54755a4a"]]),YA={name:"signin",async setup(){const e=Kt();let t="",s=!1;return await le("/api/getDashboardTheme",{},n=>{t=n.data}),await le("/api/isTotpEnabled",{},n=>{s=n.data}),{store:e,theme:t,totpEnabled:s}},data(){return{username:"",password:"",totp:"",loginError:!1,loginErrorMessage:"",loading:!1}},methods:{async auth(){this.username&&this.password&&(this.totpEnabled&&this.totp||!this.totpEnabled)?(this.loading=!0,await Zt("/api/authenticate",{username:this.username,password:this.password,totp:this.totp},e=>{e.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),e.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.loginError=!0,this.loginErrorMessage=e.message,document.querySelectorAll("input[required]").forEach(t=>{t.classList.remove("is-valid"),t.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(e=>{e.value.length===0?(e.classList.remove("is-valid"),e.classList.add("is-invalid")):(e.classList.remove("is-invalid"),e.classList.add("is-valid"))})}}},qA=["data-bs-theme"],GA={class:"login-box m-auto",style:{width:"500px"}},JA=h("h4",{class:"mb-0 text-body"},"Welcome to",-1),XA=h("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),QA={class:"m-auto"},ZA={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},tC={class:"form-group text-body"},eC=h("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-person-circle"})],-1),sC={class:"form-group text-body"},nC=h("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-key-fill"})],-1),iC={key:0,class:"form-group text-body"},oC=h("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-lock-fill"})],-1),rC={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand shadow signInBtn",ref:"signInBtn"},aC={key:0,class:"d-flex w-100"},lC=h("i",{class:"ms-auto bi bi-chevron-right"},null,-1),cC={key:1,class:"d-flex w-100 align-items-center"},dC=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),uC=h("small",{class:"text-muted pb-3 d-block w-100 text-center"},[ct(" WGDashboard v4.0 | Developed with ❤️ by "),h("a",{href:"https://github.com/donaldzou",target:"_blank"},[h("strong",null,"Donald Zou")])],-1);function hC(e,t,s,n,i,o){return L(),V("div",{class:"container-fluid login-container-fluid d-flex main flex-column","data-bs-theme":this.theme},[h("div",GA,[JA,XA,h("div",QA,[i.loginError?(L(),V("div",ZA,nt(this.loginErrorMessage),1)):xt("",!0),h("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[h("div",tC,[eC,ft(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[bt,i.username]])]),h("div",sC,[nC,ft(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[bt,i.password]])]),n.totpEnabled?(L(),V("div",iC,[oC,ft(h("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=r=>this.totp=r)},null,512),[[bt,this.totp]])])):xt("",!0),h("button",rC,[this.loading?(L(),V("span",cC,[ct(" Signing In... "),dC])):(L(),V("span",aC,[ct(" Sign In"),lC]))],512)],32)])]),uC],8,qA)}const fC=Et(YA,[["render",hC]]),pC={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:Kt()}},methods:{toggle(){this.configurationToggling=!0,le("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} is ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},gC={class:"card conf_card rounded-3 shadow text-decoration-none"},mC={class:"mb-0"},_C={class:"card-title mb-0"},bC=h("h6",{class:"mb-0 ms-auto"},[h("i",{class:"bi bi-chevron-right"})],-1),vC={class:"card-footer d-flex align-items-center"},yC=h("small",{class:"me-2 text-muted"},[h("strong",null,"PUBLIC KEY")],-1),xC={class:"mb-0 d-block d-lg-inline-block"},wC={style:{"line-break":"anywhere"}},SC={class:"form-check form-switch ms-auto"},EC=["for"],AC={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},CC=["disabled","id"];function $C(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",gC,[dt(r,{to:"/configuration/"+s.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:It(()=>[h("h6",mC,[h("span",{class:Mt(["dot",{active:s.c.Status}])},null,2)]),h("h6",_C,[h("samp",null,nt(s.c.Name),1)]),bC]),_:1},8,["to"]),h("div",vC,[yC,h("small",xC,[h("samp",wC,nt(s.c.PublicKey),1)]),h("div",SC,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+s.c.PrivateKey},[ct(nt(this.configurationToggling?"Turning ":"")+" "+nt(s.c.Status?"On":"Off")+" ",1),this.configurationToggling?(L(),V("span",AC)):xt("",!0)],8,EC),ft(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+s.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>s.c.Status=a)},null,40,CC),[[Xe,s.c.Status]])])])])}const PC=Et(pC,[["render",$C]]),kC={name:"configurationList",components:{ConfigurationCard:PC},async setup(){return{wireguardConfigurationsStore:Ve()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0}},TC={class:"mt-5"},MC={class:"container"},DC={class:"d-flex mb-4"},IC=h("h3",{class:"text-body"},"WireGuard Configurations",-1),OC=h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1),LC={key:0},RC={key:0,class:"text-muted"},NC={key:1,class:"d-flex gap-3 flex-column"};function FC(e,t,s,n,i,o){const r=Ct("RouterLink"),a=Ct("ConfigurationCard");return L(),V("div",TC,[h("div",MC,[h("div",DC,[IC,dt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:It(()=>[OC,ct(" Configuration ")]),_:1})]),dt(Te,{name:"fade",mode:"out-in"},{default:It(()=>[this.configurationLoaded?(L(),V("div",LC,[this.wireguardConfigurationsStore.Configurations.length===0?(L(),V("p",RC,` 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". `)):(L(),V("div",NC,[(L(!0),V(Bt,null,ae(this.wireguardConfigurationsStore.Configurations,l=>(L(),Gt(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])):xt("",!0)]),_:1})])])}const BC=Et(kC,[["render",FC]]),VC={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${En()}`;return{store:e,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 Zt("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},e=>{e.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=e.message),this.changed=!1,this.updating=!1})}}},jC={class:"form-group mb-2"},HC=["for"],WC=["id","disabled"],zC={class:"invalid-feedback"},KC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},UC=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),YC=["innerHTML"];function qC(e,t,s,n,i,o){return L(),V("div",jC,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,HC),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,WC),[[bt,this.value]]),h("div",zC,nt(this.invalidFeedback),1),s.warning?(L(),V("div",KC,[h("small",null,[UC,h("span",{innerHTML:s.warningText},null,8,YC)])])):xt("",!0)])}const GC=Et(VC,[["render",qC]]),JC=e=>{},XC={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${En()}`;return{store:e,uuid:t}},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(){this.changed&&(this.updating=!0,await Zt("/api/updateDashboardConfigurationItem",{section:"Account",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),this.changed=!1,this.updating=!1}))}}},QC={class:"form-group mb-2"},ZC=["for"],t$=["id","disabled"],e$={class:"invalid-feedback"},s$={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},n$=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),i$=["innerHTML"];function o$(e,t,s,n,i,o){return L(),V("div",QC,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,ZC),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,t$),[[bt,this.value]]),h("div",e$,nt(this.invalidFeedback),1),s.warning?(L(),V("div",s$,[h("small",null,[n$,h("span",{innerHTML:s.warningText},null,8,i$)])])):xt("",!0)])}const r$=Et(XC,[["render",o$]]),a$={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${En()}`;return{store:e,uuid:t}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(e=>e.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await Zt("/api/updateDashboardConfigurationItem",{section:"Account",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,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}}},l$={class:"d-flex flex-column"},c$={class:"row"},d$={class:"col-sm"},u$={class:"form-group mb-2"},h$=["for"],f$=h("strong",null,[h("small",null,"Current Password")],-1),p$=[f$],g$=["id"],m$={key:0,class:"invalid-feedback d-block"},_$={class:"col-sm"},b$={class:"form-group mb-2"},v$=["for"],y$=h("strong",null,[h("small",null,"New Password")],-1),x$=[y$],w$=["id"],S$={class:"col-sm"},E$={class:"form-group mb-2"},A$=["for"],C$=h("strong",null,[h("small",null,"Repeat New Password")],-1),$$=[C$],P$=["id"],k$=h("i",{class:"bi bi-save2-fill me-2"},null,-1);function T$(e,t,s,n,i,o){return L(),V("div",l$,[h("div",c$,[h("div",d$,[h("div",u$,[h("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},p$,8,h$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.value.currentPassword=r),id:"currentPassword_"+this.uuid},null,10,g$),[[bt,this.value.currentPassword]]),i.showInvalidFeedback?(L(),V("div",m$,nt(this.invalidFeedback),1)):xt("",!0)])]),h("div",_$,[h("div",b$,[h("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},x$,8,v$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[1]||(t[1]=r=>this.value.newPassword=r),id:"newPassword_"+this.uuid},null,10,w$),[[bt,this.value.newPassword]])])]),h("div",S$,[h("div",E$,[h("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},$$,8,A$),ft(h("input",{type:"password",class:Mt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[2]||(t[2]=r=>this.value.repeatNewPassword=r),id:"repeatNewPassword_"+this.uuid},null,10,P$),[[bt,this.value.repeatNewPassword]])])])]),h("button",{class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:t[3]||(t[3]=r=>this.useValidation())},[k$,ct("Update Password ")])])}const M$=Et(a$,[["render",T$]]),D$={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Kt(),t=`input_${En()}`;return{store:e,uuid:t}},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&&await Zt("/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),this.changed=!1,this.updating=!1})}}},I$={class:"form-group mb-2"},O$=["for"],L$=["id","disabled"],R$={class:"invalid-feedback"},N$={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},F$=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),B$=["innerHTML"];function V$(e,t,s,n,i,o){return L(),V("div",I$,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,nt(this.title),1)])],8,O$),ft(h("input",{type:"text",class:Mt(["form-control",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>this.useValidation()),disabled:this.updating},null,42,L$),[[bt,this.value]]),h("div",R$,nt(this.invalidFeedback),1),s.warning?(L(),V("div",N$,[h("small",null,[F$,h("span",{innerHTML:s.warningText},null,8,B$)])])):xt("",!0)])}const j$=Et(D$,[["render",V$]]),H$={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:Kt()}},methods:{async switchTheme(e){await Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},W$={class:"card mb-4 shadow rounded-3"},z$=h("p",{class:"card-header"},"Dashboard Theme",-1),K$={class:"card-body d-flex gap-2"},U$=h("i",{class:"bi bi-sun-fill"},null,-1),Y$=h("i",{class:"bi bi-moon-fill"},null,-1);function q$(e,t,s,n,i,o){return L(),V("div",W$,[z$,h("div",K$,[h("button",{class:Mt(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[U$,ct(" Light ")],2),h("button",{class:Mt(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[Y$,ct(" Dark ")],2)])])}const G$=Et(H$,[["render",q$]]),J$={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=Kt(),t=`input_${En()}`;return{store:e,uuid:t}},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 Zt("/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)})}}},X$={class:"invalid-feedback d-block mt-0"},Q$={class:"row"},Z$={class:"form-group mb-2 col-sm"},tP=["for"],eP=h("strong",null,[h("small",null,"Dashboard IP Address")],-1),sP=[eP],nP=["id"],iP=h("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[h("small",null,[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),h("code",null,"0.0.0.0"),ct(" means it can be access by anyone with your server IP Address.")])],-1),oP={class:"form-group col-sm"},rP=["for"],aP=h("strong",null,[h("small",null,"Dashboard Port")],-1),lP=[aP],cP=["id"],dP=h("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[h("i",{class:"bi bi-floppy-fill me-2"}),ct("Update Dashboard Settings & Restart ")],-1);function uP(e,t,s,n,i,o){return L(),V("div",null,[h("div",X$,nt(this.invalidFeedback),1),h("div",Q$,[h("div",Z$,[h("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},sP,8,tP),ft(h("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.app_ip=r)},null,8,nP),[[bt,this.app_ip]]),iP]),h("div",oP,[h("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},lP,8,rP),ft(h("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":t[1]||(t[1]=r=>this.app_port=r)},null,8,cP),[[bt,this.app_port]])])]),dP])}const hP=Et(J$,[["render",uP]]);var l_={exports:{}};(function(e,t){(function(s,n){e.exports=n()})(Zp,function(){var s=1e3,n=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",d="week",u="month",p="quarter",g="year",m="date",_="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|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,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(G){var H=["th","st","nd","rd"],R=G%100;return"["+G+(H[(R-20)%10]||H[R]||H[0])+"]"}},$=function(G,H,R){var z=String(G);return!z||z.length>=H?G:""+Array(H+1-z.length).join(R)+G},T={s:$,z:function(G){var H=-G.utcOffset(),R=Math.abs(H),z=Math.floor(R/60),Y=R%60;return(H<=0?"+":"-")+$(z,2,"0")+":"+$(Y,2,"0")},m:function G(H,R){if(H.date()1)return G(ht[0])}else{var vt=H.name;x[vt]=H,Y=vt}return!z&&Y&&(y=Y),Y||!z&&y},M=function(G,H){if(E(G))return G.clone();var R=typeof H=="object"?H:{};return R.date=G,R.args=arguments,new F(R)},O=T;O.l=P,O.i=E,O.w=function(G,H){return M(G,{locale:H.$L,utc:H.$u,x:H.$x,$offset:H.$offset})};var F=function(){function G(R){this.$L=P(R.locale,null,!0),this.parse(R),this.$x=this.$x||R.x||{},this[C]=!0}var H=G.prototype;return H.parse=function(R){this.$d=function(z){var Y=z.date,rt=z.utc;if(Y===null)return new Date(NaN);if(O.u(Y))return new Date;if(Y instanceof Date)return new Date(Y);if(typeof Y=="string"&&!/Z$/i.test(Y)){var ht=Y.match(v);if(ht){var vt=ht[2]-1||0,_t=(ht[7]||"0").substring(0,3);return rt?new Date(Date.UTC(ht[1],vt,ht[3]||1,ht[4]||0,ht[5]||0,ht[6]||0,_t)):new Date(ht[1],vt,ht[3]||1,ht[4]||0,ht[5]||0,ht[6]||0,_t)}}return new Date(Y)}(R),this.init()},H.init=function(){var R=this.$d;this.$y=R.getFullYear(),this.$M=R.getMonth(),this.$D=R.getDate(),this.$W=R.getDay(),this.$H=R.getHours(),this.$m=R.getMinutes(),this.$s=R.getSeconds(),this.$ms=R.getMilliseconds()},H.$utils=function(){return O},H.isValid=function(){return this.$d.toString()!==_},H.isSame=function(R,z){var Y=M(R);return this.startOf(z)<=Y&&Y<=this.endOf(z)},H.isAfter=function(R,z){return M(R){e.status?(this.$emit("created",e.data),this.store.newMessage("Server","New API Key created","success"),this.$emit("close")):this.store.newMessage("Server",e.message,"danger"),this.submitting=!1})},fixDate(e){return console.log(ki(e).format("YYYY-MM-DDTHH:mm:ss")),ki(e).format("YYYY-MM-DDTHH:mm:ss")}}},gP={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)"}},mP={class:"card m-auto rounded-3 mt-5"},_P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},bP={class:"card-body d-flex gap-2 p-4 flex-column"},vP=h("small",{class:"text-muted"},"When should this API Key expire?",-1),yP={class:"d-flex align-items-center gap-2"},xP=["disabled"],wP={class:"form-check"},SP=["disabled"],EP=h("label",{class:"form-check-label",for:"neverExpire"},[ct(" Never Expire ("),h("i",{class:"bi bi-emoji-grimace-fill"}),ct(" Don't think that's a good idea) ")],-1),AP={key:0,class:"bi bi-check-lg me-2"};function CP(e,t,s,n,i,o){return L(),V("div",gP,[h("div",mP,[h("div",_P,[ct(" Create API Key "),h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",bP,[vP,h("div",yP,[ft(h("input",{class:"form-control",type:"datetime-local",onChange:t[1]||(t[1]=r=>this.newKeyData.ExpiredAt=this.fixDate(this.newKeyData.ExpiredAt)),disabled:this.newKeyData.neverExpire||this.submitting,"onUpdate:modelValue":t[2]||(t[2]=r=>this.newKeyData.ExpiredAt=r)},null,40,xP),[[bt,this.newKeyData.ExpiredAt]])]),h("div",wP,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.newKeyData.neverExpire=r),id:"neverExpire",disabled:this.submitting},null,8,SP),[[Xe,this.newKeyData.neverExpire]]),EP]),h("button",{class:Mt(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:t[4]||(t[4]=r=>this.submitNewAPIKey())},[this.submitting?xt("",!0):(L(),V("i",AP)),ct(" "+nt(this.submitting?"Creating...":"Done"),1)],2)])])])}const $P=Et(pP,[["render",CP]]),PP={name:"dashboardAPIKey",props:{apiKey:Object},setup(){return{store:Kt()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){Zt("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},e=>{e.status?(this.$emit("deleted",e.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",e.message,"danger")})}}},kP={class:"card rounded-3 shadow-sm"},TP={key:0,class:"card-body d-flex gap-3 align-items-center"},MP={class:"d-flex align-items-center gap-2"},DP=h("small",{class:"text-muted"},"Key",-1),IP={class:"d-flex align-items-center gap-2 ms-auto"},OP=h("small",{class:"text-muted"},"Expire At",-1),LP=h("i",{class:"bi bi-trash-fill"},null,-1),RP=[LP],NP={key:1,class:"card-body d-flex gap-3 align-items-center justify-content-end"},FP=h("i",{class:"bi bi-check-lg"},null,-1),BP=[FP],VP=h("i",{class:"bi bi-x-lg"},null,-1),jP=[VP];function HP(e,t,s,n,i,o){return L(),V("div",kP,[this.confirmDelete?(L(),V("div",NP,[ct(" Are you sure to delete this API key? "),h("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:t[1]||(t[1]=r=>this.deleteAPIKey())},BP),h("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[2]||(t[2]=r=>this.confirmDelete=!1)},jP)])):(L(),V("div",TP,[h("div",MP,[DP,ct(nt(this.apiKey.Key),1)]),h("div",IP,[OP,ct(" "+nt(this.apiKey.ExpiredAt?this.apiKey.ExpiredAt:"Never"),1)]),h("a",{role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:t[0]||(t[0]=r=>this.confirmDelete=!0)},RP)]))])}const WP=Et(PP,[["render",HP]]),zP={name:"dashboardAPIKeys",components:{DashboardAPIKey:WP,NewDashboardAPIKey:$P},setup(){return{store:Kt()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},e=>{e.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 ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(e){e?le("/api/getDashboardAPIKeys",{},t=>{console.log(t),t.status?this.apiKeys=t.data:(this.apiKeys=[],this.store.newMessage("Server",t.message,"danger"))}):this.apiKeys=[]}}}},c_=e=>(ss("data-v-a1e137c9"),e=e(),ns(),e),KP={class:"card mb-4 shadow rounded-3"},UP={class:"card-header d-flex"},YP={class:"form-check form-switch ms-auto"},qP={class:"form-check-label",for:"allowAPIKeysSwitch"},GP={key:0,class:"card-body position-relative d-flex flex-column gap-2"},JP=c_(()=>h("i",{class:"bi bi-key me-2"},null,-1)),XP={key:0,class:"card",style:{height:"300px"}},QP=c_(()=>h("div",{class:"card-body d-flex text-muted"},[h("span",{class:"m-auto"}," No Dashboard API Key ")],-1)),ZP=[QP],tk={key:1,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function ek(e,t,s,n,i,o){const r=Ct("DashboardAPIKey"),a=Ct("NewDashboardAPIKey");return L(),V("div",KP,[h("div",UP,[ct(" API Keys "),h("div",YP,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>this.value=l),onChange:t[1]||(t[1]=l=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[Xe,this.value]]),h("label",qP,nt(this.value?"Enabled":"Disabled"),1)])]),this.value?(L(),V("div",GP,[h("button",{class:"ms-auto btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:t[2]||(t[2]=l=>this.newDashboardAPIKey=!0)},[JP,ct(" Create ")]),this.apiKeys.length===0?(L(),V("div",XP,ZP)):(L(),V("div",tk,[dt(oi,{name:"apiKey"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.apiKeys,l=>(L(),Gt(r,{apiKey:l,key:l.Key,onDeleted:t[3]||(t[3]=c=>this.apiKeys=c)},null,8,["apiKey"]))),128))]),_:1})])),dt(Te,{name:"zoomReversed"},{default:It(()=>[this.newDashboardAPIKey?(L(),Gt(a,{key:0,onCreated:t[4]||(t[4]=l=>this.apiKeys=l),onClose:t[5]||(t[5]=l=>this.newDashboardAPIKey=!1)})):xt("",!0)]),_:1})])):xt("",!0)])}const sk=Et(zP,[["render",ek],["__scopeId","data-v-a1e137c9"]]),nk={name:"settings",methods:{ipV46RegexCheck:JC},components:{DashboardAPIKeys:sk,DashboardSettingsInputIPAddressAndPort:hP,DashboardTheme:G$,DashboardSettingsInputWireguardConfigurationPath:j$,AccountSettingsInputPassword:M$,AccountSettingsInputUsername:r$,PeersDefaultSettingsInput:GC},setup(){return{dashboardConfigurationStore:Kt()}},watch:{}},ik={class:"mt-5"},ok={class:"container"},rk=h("h3",{class:"mb-3 text-body"},"Settings",-1),ak={class:"card mb-4 shadow rounded-3"},lk=h("p",{class:"card-header"},"Peers Default Settings",-1),ck={class:"card-body"},dk={class:"card mb-4 shadow rounded-3"},uk=h("p",{class:"card-header"},"WireGuard Configurations Settings",-1),hk={class:"card-body"},fk={class:"card mb-4 shadow rounded-3"},pk=h("p",{class:"card-header"},"Account Settings",-1),gk={class:"card-body"},mk=h("hr",null,null,-1);function _k(e,t,s,n,i,o){const r=Ct("DashboardTheme"),a=Ct("PeersDefaultSettingsInput"),l=Ct("DashboardSettingsInputWireguardConfigurationPath"),c=Ct("AccountSettingsInputUsername"),d=Ct("AccountSettingsInputPassword"),u=Ct("DashboardAPIKeys");return L(),V("div",ik,[h("div",ok,[rk,dt(r),h("div",ak,[lk,h("div",ck,[dt(a,{targetData:"peer_global_dns",title:"DNS"}),dt(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),dt(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),dt(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),dt(a,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be change globally, and will be apply to all peer's QR code and configuration file."})])]),h("div",dk,[uk,h("div",hk,[dt(l,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"})])]),h("div",fk,[pk,h("div",gk,[dt(c,{targetData:"username",title:"Username"}),mk,dt(d,{targetData:"password"})])]),dt(u)])])}const bk=Et(nk,[["render",_k]]);var to={},vk=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},d_={},je={};let zd;const yk=[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];je.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};je.getSymbolTotalCodewords=function(t){return yk[t]};je.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};je.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');zd=t};je.isKanjiModeEnabled=function(){return typeof zd<"u"};je.toSJIS=function(t){return zd(t)};var rl={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.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: "+s)}}e.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},e.from=function(n,i){if(e.isValid(n))return n;try{return t(n)}catch{return i}}})(rl);function u_(){this.buffer=[],this.length=0}u_.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let s=0;s>>t-s-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var xk=u_;function lr(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}lr.prototype.set=function(e,t,s,n){const i=e*this.size+t;this.data[i]=s,n&&(this.reservedBit[i]=!0)};lr.prototype.get=function(e,t){return this.data[e*this.size+t]};lr.prototype.xor=function(e,t,s){this.data[e*this.size+t]^=s};lr.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var wk=lr,h_={};(function(e){const t=je.getSymbolSize;e.getRowColCoords=function(n){if(n===1)return[];const i=Math.floor(n/7)+2,o=t(n),r=o===145?26:Math.ceil((o-13)/(2*i-2))*2,a=[o-7];for(let l=1;l=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const o=i.size;let r=0,a=0,l=0,c=null,d=null;for(let u=0;u=5&&(r+=t.N1+(a-5)),c=g,a=1),g=i.get(p,u),g===d?l++:(l>=5&&(r+=t.N1+(l-5)),d=g,l=1)}a>=5&&(r+=t.N1+(a-5)),l>=5&&(r+=t.N1+(l-5))}return r},e.getPenaltyN2=function(i){const o=i.size;let r=0;for(let a=0;a=10&&(a===1488||a===93)&&r++,l=l<<1&2047|i.get(d,c),d>=10&&(l===1488||l===93)&&r++}return r*t.N3},e.getPenaltyN4=function(i){let o=0;const r=i.data.length;for(let l=0;l=0;){const r=o[0];for(let l=0;l0){const o=new Uint8Array(this.degree);return o.set(n,i),o}return n};var Ek=Kd,__={},An={},Ud={};Ud.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var Es={};const b_="[0-9]+",Ak="[A-Z $%*+\\-./:]+";let Yo="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Yo=Yo.replace(/u/g,"\\u");const Ck="(?:(?![A-Z0-9 $%*+\\-./:]|"+Yo+`)(?:.|[\r +]))+`;Es.KANJI=new RegExp(Yo,"g");Es.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Es.BYTE=new RegExp(Ck,"g");Es.NUMERIC=new RegExp(b_,"g");Es.ALPHANUMERIC=new RegExp(Ak,"g");const $k=new RegExp("^"+Yo+"$"),Pk=new RegExp("^"+b_+"$"),kk=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Es.testKanji=function(t){return $k.test(t)};Es.testNumeric=function(t){return Pk.test(t)};Es.testAlphanumeric=function(t){return kk.test(t)};(function(e){const t=Ud,s=Es;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,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return s.testNumeric(o)?e.NUMERIC:s.testAlphanumeric(o)?e.ALPHANUMERIC:s.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 n(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.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: "+i)}}e.from=function(o,r){if(e.isValid(o))return o;try{return n(o)}catch{return r}}})(An);(function(e){const t=je,s=al,n=rl,i=An,o=Ud,r=7973,a=t.getBCHDigit(r);function l(p,g,m){for(let _=1;_<=40;_++)if(g<=e.getCapacity(_,m,p))return _}function c(p,g){return i.getCharCountIndicator(p,g)+4}function d(p,g){let m=0;return p.forEach(function(_){const v=c(_.mode,g);m+=v+_.getBitsLength()}),m}function u(p,g){for(let m=1;m<=40;m++)if(d(p,m)<=e.getCapacity(m,g,i.MIXED))return m}e.from=function(g,m){return o.isValid(g)?parseInt(g,10):m},e.getCapacity=function(g,m,_){if(!o.isValid(g))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const v=t.getSymbolTotalCodewords(g),w=s.getTotalCodewordsCount(g,m),S=(v-w)*8;if(_===i.MIXED)return S;const $=S-c(_,g);switch(_){case i.NUMERIC:return Math.floor($/10*3);case i.ALPHANUMERIC:return Math.floor($/11*2);case i.KANJI:return Math.floor($/13);case i.BYTE:default:return Math.floor($/8)}},e.getBestVersionForData=function(g,m){let _;const v=n.from(m,n.M);if(Array.isArray(g)){if(g.length>1)return u(g,v);if(g.length===0)return 1;_=g[0]}else _=g;return l(_.mode,_.getLength(),v)},e.getEncodedBits=function(g){if(!o.isValid(g)||g<7)throw new Error("Invalid QR Code version");let m=g<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<=0;)i^=y_<0&&(n=this.data.substr(s),i=parseInt(n,10),t.put(i,o*3+1))};var Dk=zi;const Ik=An,Kl=["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 Ki(e){this.mode=Ik.ALPHANUMERIC,this.data=e}Ki.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Ki.prototype.getLength=function(){return this.data.length};Ki.prototype.getBitsLength=function(){return Ki.getBitsLength(this.data.length)};Ki.prototype.write=function(t){let s;for(s=0;s+2<=this.data.length;s+=2){let n=Kl.indexOf(this.data[s])*45;n+=Kl.indexOf(this.data[s+1]),t.put(n,11)}this.data.length%2&&t.put(Kl.indexOf(this.data[s]),6)};var Ok=Ki,Lk=function(t){for(var s=[],n=t.length,i=0;i=55296&&o<=56319&&n>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){s.push(o);continue}if(o<2048){s.push(o>>6|192),s.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){s.push(o>>12|224),s.push(o>>6&63|128),s.push(o&63|128);continue}if(o>=65536&&o<=1114111){s.push(o>>18|240),s.push(o>>12&63|128),s.push(o>>6&63|128),s.push(o&63|128);continue}s.push(239,191,189)}return new Uint8Array(s).buffer};const Rk=Lk,Nk=An;function Ui(e){this.mode=Nk.BYTE,typeof e=="string"&&(e=Rk(e)),this.data=new Uint8Array(e)}Ui.getBitsLength=function(t){return t*8};Ui.prototype.getLength=function(){return this.data.length};Ui.prototype.getBitsLength=function(){return Ui.getBitsLength(this.data.length)};Ui.prototype.write=function(e){for(let t=0,s=this.data.length;t=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` +Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),e.put(s,13)}};var jk=Yi,w_={exports:{}};(function(e){var t={single_source_shortest_paths:function(s,n,i){var o={},r={};r[n]=0;var a=t.PriorityQueue.make();a.push(n,0);for(var l,c,d,u,p,g,m,_,v;!a.empty();){l=a.pop(),c=l.value,u=l.cost,p=s[c]||{};for(d in p)p.hasOwnProperty(d)&&(g=p[d],m=u+g,_=r[d],v=typeof r[d]>"u",(v||_>m)&&(r[d]=m,a.push(d,m),o[d]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var w=["Could not find a path from ",n," to ",i,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(s,n){for(var i=[],o=n;o;)i.push(o),s[o],o=s[o];return i.reverse(),i},find_path:function(s,n,i){var o=t.single_source_shortest_paths(s,n,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(s){var n=t.PriorityQueue,i={},o;s=s||{};for(o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);return i.queue=[],i.sorter=s.sorter||n.default_sorter,i},default_sorter:function(s,n){return s.cost-n.cost},push:function(s,n){var i={value:s,cost:n};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(w_);var Hk=w_.exports;(function(e){const t=An,s=Dk,n=Ok,i=Fk,o=jk,r=Es,a=je,l=Hk;function c(w){return unescape(encodeURIComponent(w)).length}function d(w,S,$){const T=[];let y;for(;(y=w.exec($))!==null;)T.push({data:y[0],index:y.index,mode:S,length:y[0].length});return T}function u(w){const S=d(r.NUMERIC,t.NUMERIC,w),$=d(r.ALPHANUMERIC,t.ALPHANUMERIC,w);let T,y;return a.isKanjiModeEnabled()?(T=d(r.BYTE,t.BYTE,w),y=d(r.KANJI,t.KANJI,w)):(T=d(r.BYTE_KANJI,t.BYTE,w),y=[]),S.concat($,T,y).sort(function(C,E){return C.index-E.index}).map(function(C){return{data:C.data,mode:C.mode,length:C.length}})}function p(w,S){switch(S){case t.NUMERIC:return s.getBitsLength(w);case t.ALPHANUMERIC:return n.getBitsLength(w);case t.KANJI:return o.getBitsLength(w);case t.BYTE:return i.getBitsLength(w)}}function g(w){return w.reduce(function(S,$){const T=S.length-1>=0?S[S.length-1]:null;return T&&T.mode===$.mode?(S[S.length-1].data+=$.data,S):(S.push($),S)},[])}function m(w){const S=[];for(let $=0;$=0&&a<=6&&(l===0||l===6)||l>=0&&l<=6&&(a===0||a===6)||a>=2&&a<=4&&l>=2&&l<=4?e.set(o+a,r+l,!0,!0):e.set(o+a,r+l,!1,!0))}}function Xk(e){const t=e.size;for(let s=8;s>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function ql(e,t,s){const n=e.size,i=qk.getEncodedBits(t,s);let o,r;for(o=0;o<15;o++)r=(i>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(n-15+o,8,r,!0),o<8?e.set(8,n-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(n-8,8,1,!0)}function tT(e,t){const s=e.size;let n=-1,i=s-1,o=7,r=0;for(let a=s-1;a>0;a-=2)for(a===6&&a--;;){for(let l=0;l<2;l++)if(!e.isReserved(i,a-l)){let c=!1;r>>o&1)===1),e.set(i,a-l,c),o--,o===-1&&(r++,o=7)}if(i+=n,i<0||s<=i){i-=n,n=-n;break}}}function eT(e,t,s){const n=new Wk;s.forEach(function(l){n.put(l.mode.bit,4),n.put(l.getLength(),Gk.getCharCountIndicator(l.mode,e)),l.write(n)});const i=cl.getSymbolTotalCodewords(e),o=Ic.getTotalCodewordsCount(e,t),r=(i-o)*8;for(n.getLengthInBits()+4<=r&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);const a=(r-n.getLengthInBits())/8;for(let l=0;l=7&&Zk(l,t),tT(l,r),isNaN(n)&&(n=Dc.getBestMask(l,ql.bind(null,l,s))),Dc.applyMask(n,l),ql(l,s,n),{modules:l,version:t,errorCorrectionLevel:s,maskPattern:n,segments:i}}d_.create=function(t,s){if(typeof t>"u"||t==="")throw new Error("No input text");let n=Ul.M,i,o;return typeof s<"u"&&(n=Ul.from(s.errorCorrectionLevel,Ul.M),i=Pa.from(s.version),o=Dc.from(s.maskPattern),s.toSJISFunc&&cl.setToSJISFunction(s.toSJISFunc)),nT(t,i,n,o)};var E_={},Yd={};(function(e){function t(s){if(typeof s=="number"&&(s=s.toString()),typeof s!="string")throw new Error("Color should be defined as hex string");let n=s.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+s);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(o){return[o,o]}))),n.length===6&&n.push("F","F");const i=parseInt(n.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(n){n||(n={}),n.color||(n.color={});const i=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,o=n.width&&n.width>=21?n.width:void 0,r=n.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(n.color.dark||"#000000ff"),light:t(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},e.getScale=function(n,i){return i.width&&i.width>=n+i.margin*2?i.width/(n+i.margin*2):i.scale},e.getImageWidth=function(n,i){const o=e.getScale(n,i);return Math.floor((n+i.margin*2)*o)},e.qrToImageData=function(n,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),d=o.margin*l,u=[o.color.light,o.color.dark];for(let p=0;p=d&&g>=d&&p"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=n()),l=t.getOptions(l);const d=t.getImageWidth(o.modules.size,l),u=c.getContext("2d"),p=u.createImageData(d,d);return t.qrToImageData(p.data,o,l),s(u,c,d),u.putImageData(p,0,0),c},e.renderToDataURL=function(o,r,a){let l=a;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),l||(l={});const c=e.render(o,r,l),d=l.type||"image/png",u=l.rendererOpts||{};return c.toDataURL(d,u.quality)}})(E_);var S_={};const iT=Yd;function Sf(e,t){const s=e.a/255,n=t+'="'+e.hex+'"';return s<1?n+" "+t+'-opacity="'+s.toFixed(2).slice(1)+'"':n}function Gl(e,t,s){let n=e+t;return typeof s<"u"&&(n+=" "+s),n}function oT(e,t,s){let n="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(n+=o?Gl("M",l+s,.5+c+s):Gl("m",i,0),i=0,o=!1),l+1':"",c="',d='viewBox="0 0 '+a+" "+a+'"',p=''+l+c+` -`;return typeof n=="function"&&n(null,p),p};const rT=vk,Oc=d_,A_=E_,aT=S_;function qd(e,t,s,n,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!rT())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=s,s=t,t=n=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=n,n=void 0):(i=n,n=s,s=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(s=t,t=n=void 0):r===2&&!t.getContext&&(n=s,s=t,t=void 0),new Promise(function(l,c){try{const d=Oc.create(s,n);l(e(d,t,n))}catch(d){c(d)}})}try{const l=Oc.create(s,n);i(null,e(l,t,n))}catch(l){i(l)}}to.create=Oc.create;to.toCanvas=qd.bind(null,A_.render);to.toDataURL=qd.bind(null,A_.renderToDataURL);to.toString=qd.bind(null,function(e,t,s){return aT.render(e,s)});const lT={name:"totp",async setup(){let e="";return await le("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&to.toCanvas(document.getElementById("qrcode"),this.l,function(e){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(e){const t=document.querySelector("#totp");t.classList.remove("is-invalid","is-valid"),e.length===6&&(console.log(e),/[0-9]{6}/.test(e)?Zt("/api/Welcome_VerifyTotpLink",{totp:e},s=>{s.status?(this.verified=!0,t.classList.add("is-valid"),this.$emit("verified")):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},cT={class:"mb-3"},dT=h("p",{class:"mb-2"},[h("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),uT=h("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),hT={class:"p-3 bg-body-secondary rounded-3 border mb-3"},fT=h("p",{class:"text-muted mb-0"},[h("small",null,"Or you can click the link below:")],-1),pT=["href"],gT={style:{"line-break":"anywhere"}},mT=h("label",{for:"totp",class:"mb-2"},[h("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),_T={class:"form-group"},bT=["disabled"],vT={class:"invalid-feedback"},yT=h("div",{class:"valid-feedback"}," TOTP verified! ",-1);function xT(e,t,s,n,i,o){return L(),V("div",cT,[dT,uT,h("div",hT,[fT,h("a",{href:this.l},[h("code",gT,nt(this.l),1)],8,pT)]),mT,h("div",_T,[ft(h("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":t[0]||(t[0]=r=>this.totp=r),disabled:this.verified},null,8,bT),[[bt,this.totp]]),h("div",vT,nt(this.totpInvalidMessage),1),yT])])}const wT=St(lT,[["render",xT]]),ET={name:"setup",components:{Totp:wT},setup(){return{store:Kt()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!1,verified_totp:!1},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&&(this.setup.enable_totp&&this.setup.verified_totp||!this.setup.enable_totp)}},methods:{submit(){this.loading=!0,Zt("/api/Welcome_Finish",this.setup,e=>{e.status?(this.done=!0,setTimeout(()=>{this.$router.push("/")},500)):(document.querySelectorAll("#createAccount input").forEach(t=>t.classList.add("is-invalid")),this.errorMessage=e.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},ST=["data-bs-theme"],AT={class:"mx-auto text-body",style:{width:"500px"}},CT=h("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),$T=h("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),PT=h("h3",null,"Create an account",-1),kT={key:0,class:"alert alert-danger"},TT={class:"d-flex flex-column gap-3"},MT={id:"createAccount",class:"d-flex flex-column gap-2"},DT={class:"form-group text-body"},IT=h("label",{for:"username",class:"mb-1 text-muted"},[h("small",null,"Pick an username you like")],-1),OT={class:"form-group text-body"},LT=h("label",{for:"password",class:"mb-1 text-muted"},[h("small",null,"Create a password (at least 8 characters)")],-1),RT={class:"form-group text-body"},NT=h("label",{for:"confirmPassword",class:"mb-1 text-muted"},[h("small",null,"Confirm password")],-1),FT=h("hr",null,null,-1),BT={class:"form-check form-switch"},VT=h("label",{class:"form-check-label",for:"enable_totp"},[ct("Enable 2 Factor Authentication? "),h("strong",null,"Strongly recommended")],-1),jT=["disabled"],HT={key:0,class:"d-flex align-items-center w-100"},WT=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),zT={key:1,class:"d-flex align-items-center w-100"},KT={key:2,class:"d-flex align-items-center w-100"},UT=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1);function YT(e,t,s,n,i,o){const r=Ct("Totp");return L(),V("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",AT,[CT,$T,h("div",null,[PT,this.errorMessage?(L(),V("div",kT,nt(this.errorMessage),1)):xt("",!0),h("div",TT,[h("div",MT,[h("div",DT,[IT,ft(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[bt,this.setup.username]])]),h("div",OT,[LT,ft(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[bt,this.setup.newPassword]])]),h("div",RT,[NT,ft(h("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[bt,this.setup.repeatNewPassword]])])]),FT,h("div",BT,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"enable_totp","onUpdate:modelValue":t[3]||(t[3]=a=>this.setup.enable_totp=a)},null,512),[[Xe,this.setup.enable_totp]]),VT]),(L(),Gt(Ga,null,{default:It(()=>[dt(Te,{name:"fade"},{default:It(()=>[this.setup.enable_totp?(L(),Gt(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):xt("",!0)]),_:1})]),_:1})),h("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:t[5]||(t[5]=a=>this.submit())},[!this.loading&&!this.done?(L(),V("span",HT,[ct(" Finish"),WT])):this.done?(L(),V("span",zT," Welcome to WGDashboard!")):(L(),V("span",KT,[ct(" Saving..."),UT]))],8,jT)])])])],8,ST)}const qT=St(ET,[["render",YT]]);function Gd(e){return e.includes(":")?6:e.includes(".")?4:0}function GT(e){const t=Gd(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let s=0n,n=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())s+=o*2n**n,n+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,d,u]=a.split(".").map(p=>Number(p).toString(16).padStart(2,"0"));return`${l}${c}:${d}${u}`}else return a}).join(":")),e.includes("%")){let a;[,e,a]=/(.+)%(.+)/.exec(e),i.scopeid=a}const o=e.split(":"),r=o.indexOf("");if(r!==-1)for(;o.length<8;)o.splice(r,0,"");for(const a of o.map(l=>BigInt(parseInt(l||0,16))).reverse())s+=a*2n**n,n+=16n}return i.number=s,i.version=t,i}const Af={4:32,6:128},JT=e=>e.includes("/")?Gd(e):0;function XT(e){const t=JT(e),s=Object.create(null);if(s.single=!1,t)s.cidr=e,s.version=t;else{const u=Gd(e);if(u)s.cidr=`${e}/${Af[u]}`,s.version=u,s.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[n,i]=s.cidr.split("/");s.prefix=i;const{number:o,version:r}=GT(n),a=Af[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),d=l.substring(0,a-c);return s.start=BigInt(`0b${d}${"0".repeat(c)}`),s.end=BigInt(`0b${d}${"1".repeat(c)}`),s}/*! SPDX-License-Identifier: GPL-2.0 +`);const r=eT(t,s,i),a=cl.getSymbolSize(t),l=new zk(a);return Jk(l,t),Xk(l),Qk(l,t),ql(l,s,0),t>=7&&Zk(l,t),tT(l,r),isNaN(n)&&(n=Dc.getBestMask(l,ql.bind(null,l,s))),Dc.applyMask(n,l),ql(l,s,n),{modules:l,version:t,errorCorrectionLevel:s,maskPattern:n,segments:i}}d_.create=function(t,s){if(typeof t>"u"||t==="")throw new Error("No input text");let n=Ul.M,i,o;return typeof s<"u"&&(n=Ul.from(s.errorCorrectionLevel,Ul.M),i=Pa.from(s.version),o=Dc.from(s.maskPattern),s.toSJISFunc&&cl.setToSJISFunction(s.toSJISFunc)),nT(t,i,n,o)};var S_={},Yd={};(function(e){function t(s){if(typeof s=="number"&&(s=s.toString()),typeof s!="string")throw new Error("Color should be defined as hex string");let n=s.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+s);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(o){return[o,o]}))),n.length===6&&n.push("F","F");const i=parseInt(n.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(n){n||(n={}),n.color||(n.color={});const i=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,o=n.width&&n.width>=21?n.width:void 0,r=n.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(n.color.dark||"#000000ff"),light:t(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},e.getScale=function(n,i){return i.width&&i.width>=n+i.margin*2?i.width/(n+i.margin*2):i.scale},e.getImageWidth=function(n,i){const o=e.getScale(n,i);return Math.floor((n+i.margin*2)*o)},e.qrToImageData=function(n,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),d=o.margin*l,u=[o.color.light,o.color.dark];for(let p=0;p=d&&g>=d&&p"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=n()),l=t.getOptions(l);const d=t.getImageWidth(o.modules.size,l),u=c.getContext("2d"),p=u.createImageData(d,d);return t.qrToImageData(p.data,o,l),s(u,c,d),u.putImageData(p,0,0),c},e.renderToDataURL=function(o,r,a){let l=a;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),l||(l={});const c=e.render(o,r,l),d=l.type||"image/png",u=l.rendererOpts||{};return c.toDataURL(d,u.quality)}})(S_);var E_={};const iT=Yd;function Ef(e,t){const s=e.a/255,n=t+'="'+e.hex+'"';return s<1?n+" "+t+'-opacity="'+s.toFixed(2).slice(1)+'"':n}function Gl(e,t,s){let n=e+t;return typeof s<"u"&&(n+=" "+s),n}function oT(e,t,s){let n="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(n+=o?Gl("M",l+s,.5+c+s):Gl("m",i,0),i=0,o=!1),l+1':"",c="',d='viewBox="0 0 '+a+" "+a+'"',p=''+l+c+` +`;return typeof n=="function"&&n(null,p),p};const rT=vk,Oc=d_,A_=S_,aT=E_;function qd(e,t,s,n,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!rT())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=s,s=t,t=n=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=n,n=void 0):(i=n,n=s,s=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(s=t,t=n=void 0):r===2&&!t.getContext&&(n=s,s=t,t=void 0),new Promise(function(l,c){try{const d=Oc.create(s,n);l(e(d,t,n))}catch(d){c(d)}})}try{const l=Oc.create(s,n);i(null,e(l,t,n))}catch(l){i(l)}}to.create=Oc.create;to.toCanvas=qd.bind(null,A_.render);to.toDataURL=qd.bind(null,A_.renderToDataURL);to.toString=qd.bind(null,function(e,t,s){return aT.render(e,s)});const lT={name:"totp",async setup(){let e="";return await le("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&to.toCanvas(document.getElementById("qrcode"),this.l,function(e){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(e){const t=document.querySelector("#totp");t.classList.remove("is-invalid","is-valid"),e.length===6&&(console.log(e),/[0-9]{6}/.test(e)?Zt("/api/Welcome_VerifyTotpLink",{totp:e},s=>{s.status?(this.verified=!0,t.classList.add("is-valid"),this.$emit("verified")):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},cT={class:"mb-3"},dT=h("p",{class:"mb-2"},[h("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),uT=h("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),hT={class:"p-3 bg-body-secondary rounded-3 border mb-3"},fT=h("p",{class:"text-muted mb-0"},[h("small",null,"Or you can click the link below:")],-1),pT=["href"],gT={style:{"line-break":"anywhere"}},mT=h("label",{for:"totp",class:"mb-2"},[h("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),_T={class:"form-group"},bT=["disabled"],vT={class:"invalid-feedback"},yT=h("div",{class:"valid-feedback"}," TOTP verified! ",-1);function xT(e,t,s,n,i,o){return L(),V("div",cT,[dT,uT,h("div",hT,[fT,h("a",{href:this.l},[h("code",gT,nt(this.l),1)],8,pT)]),mT,h("div",_T,[ft(h("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":t[0]||(t[0]=r=>this.totp=r),disabled:this.verified},null,8,bT),[[bt,this.totp]]),h("div",vT,nt(this.totpInvalidMessage),1),yT])])}const wT=Et(lT,[["render",xT]]),ST={name:"setup",components:{Totp:wT},setup(){return{store:Kt()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!1,verified_totp:!1},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&&(this.setup.enable_totp&&this.setup.verified_totp||!this.setup.enable_totp)}},methods:{submit(){this.loading=!0,Zt("/api/Welcome_Finish",this.setup,e=>{e.status?(this.done=!0,setTimeout(()=>{this.$router.push("/")},500)):(document.querySelectorAll("#createAccount input").forEach(t=>t.classList.add("is-invalid")),this.errorMessage=e.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},ET=["data-bs-theme"],AT={class:"mx-auto text-body",style:{width:"500px"}},CT=h("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),$T=h("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),PT=h("h3",null,"Create an account",-1),kT={key:0,class:"alert alert-danger"},TT={class:"d-flex flex-column gap-3"},MT={id:"createAccount",class:"d-flex flex-column gap-2"},DT={class:"form-group text-body"},IT=h("label",{for:"username",class:"mb-1 text-muted"},[h("small",null,"Pick an username you like")],-1),OT={class:"form-group text-body"},LT=h("label",{for:"password",class:"mb-1 text-muted"},[h("small",null,"Create a password (at least 8 characters)")],-1),RT={class:"form-group text-body"},NT=h("label",{for:"confirmPassword",class:"mb-1 text-muted"},[h("small",null,"Confirm password")],-1),FT=h("hr",null,null,-1),BT={class:"form-check form-switch"},VT=h("label",{class:"form-check-label",for:"enable_totp"},[ct("Enable 2 Factor Authentication? "),h("strong",null,"Strongly recommended")],-1),jT=["disabled"],HT={key:0,class:"d-flex align-items-center w-100"},WT=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),zT={key:1,class:"d-flex align-items-center w-100"},KT={key:2,class:"d-flex align-items-center w-100"},UT=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1);function YT(e,t,s,n,i,o){const r=Ct("Totp");return L(),V("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",AT,[CT,$T,h("div",null,[PT,this.errorMessage?(L(),V("div",kT,nt(this.errorMessage),1)):xt("",!0),h("div",TT,[h("div",MT,[h("div",DT,[IT,ft(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[bt,this.setup.username]])]),h("div",OT,[LT,ft(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[bt,this.setup.newPassword]])]),h("div",RT,[NT,ft(h("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[bt,this.setup.repeatNewPassword]])])]),FT,h("div",BT,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"enable_totp","onUpdate:modelValue":t[3]||(t[3]=a=>this.setup.enable_totp=a)},null,512),[[Xe,this.setup.enable_totp]]),VT]),(L(),Gt(Ga,null,{default:It(()=>[dt(Te,{name:"fade"},{default:It(()=>[this.setup.enable_totp?(L(),Gt(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):xt("",!0)]),_:1})]),_:1})),h("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:t[5]||(t[5]=a=>this.submit())},[!this.loading&&!this.done?(L(),V("span",HT,[ct(" Finish"),WT])):this.done?(L(),V("span",zT," Welcome to WGDashboard!")):(L(),V("span",KT,[ct(" Saving..."),UT]))],8,jT)])])])],8,ET)}const qT=Et(ST,[["render",YT]]);function Gd(e){return e.includes(":")?6:e.includes(".")?4:0}function GT(e){const t=Gd(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let s=0n,n=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())s+=o*2n**n,n+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,d,u]=a.split(".").map(p=>Number(p).toString(16).padStart(2,"0"));return`${l}${c}:${d}${u}`}else return a}).join(":")),e.includes("%")){let a;[,e,a]=/(.+)%(.+)/.exec(e),i.scopeid=a}const o=e.split(":"),r=o.indexOf("");if(r!==-1)for(;o.length<8;)o.splice(r,0,"");for(const a of o.map(l=>BigInt(parseInt(l||0,16))).reverse())s+=a*2n**n,n+=16n}return i.number=s,i.version=t,i}const Af={4:32,6:128},JT=e=>e.includes("/")?Gd(e):0;function XT(e){const t=JT(e),s=Object.create(null);if(s.single=!1,t)s.cidr=e,s.version=t;else{const u=Gd(e);if(u)s.cidr=`${e}/${Af[u]}`,s.version=u,s.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[n,i]=s.cidr.split("/");s.prefix=i;const{number:o,version:r}=GT(n),a=Af[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),d=l.substring(0,a-c);return s.start=BigInt(`0b${d}${"0".repeat(c)}`),s.end=BigInt(`0b${d}${"1".repeat(c)}`),s}/*! SPDX-License-Identifier: GPL-2.0 * * Copyright (C) 2015-2020 Jason A. Donenfeld . All Rights Reserved. - */(function(){function e(y){var x=new Float64Array(16);if(y)for(var C=0;C>16&1),S[M-1]&=65535;S[15]=P[15]-32767-(S[14]>>16&1),C=S[15]>>16&1,S[14]&=65535,n(P,S,1-C)}for(var M=0;M<16;++M)y[2*M]=P[M]&255,y[2*M+1]=P[M]>>8}function s(y){for(var x=0;x<16;++x)y[(x+1)%16]+=(x<15?1:38)*Math.floor(y[x]/65536),y[x]&=65535}function n(y,x,C){for(var S,P=~(C-1),M=0;M<16;++M)S=P&(y[M]^x[M]),y[M]^=S,x[M]^=S}function i(y,x,C){for(var S=0;S<16;++S)y[S]=x[S]+C[S]|0}function o(y,x,C){for(var S=0;S<16;++S)y[S]=x[S]-C[S]|0}function r(y,x,C){for(var S=new Float64Array(31),P=0;P<16;++P)for(var M=0;M<16;++M)S[P+M]+=x[P]*C[M];for(var P=0;P<15;++P)S[P]+=38*S[P+16];for(var P=0;P<16;++P)y[P]=S[P];s(y),s(y)}function a(y,x){for(var C=e(),S=0;S<16;++S)C[S]=x[S];for(var S=253;S>=0;--S)r(C,C,C),S!==2&&S!==4&&r(C,C,x);for(var S=0;S<16;++S)y[S]=C[S]}function l(y){y[31]=y[31]&127|64,y[0]&=248}function c(y){for(var x,C=new Uint8Array(32),S=e([1]),P=e([9]),M=e(),O=e([1]),F=e(),Q=e(),G=e([56129,1]),H=e([9]),R=0;R<32;++R)C[R]=y[R];l(C);for(var R=254;R>=0;--R)x=C[R>>>3]>>>(R&7)&1,n(S,P,x),n(M,O,x),i(F,S,M),o(S,S,M),i(M,P,O),o(P,P,O),r(O,F,F),r(Q,S,S),r(S,M,S),r(M,P,F),i(F,S,M),o(S,S,M),r(P,S,S),o(M,O,Q),r(S,M,G),i(S,S,O),r(M,M,S),r(S,O,Q),r(O,P,H),r(P,F,F),n(S,P,x),n(M,O,x);return a(M,M),r(S,S,M),t(C,S),C}function d(){var y=new Uint8Array(32);return window.crypto.getRandomValues(y),y}function u(){var y=d();return l(y),y}function p(y,x){for(var C=Uint8Array.from([x[0]>>2&63,(x[0]<<4|x[1]>>4)&63,(x[1]<<2|x[2]>>6)&63,x[2]&63]),S=0;S<4;++S)y[S]=C[S]+65+(25-C[S]>>8&6)-(51-C[S]>>8&75)-(61-C[S]>>8&15)+(62-C[S]>>8&3)}function g(y){var x,C=new Uint8Array(44);for(x=0;x<32/3;++x)p(C.subarray(x*4),y.subarray(x*3));return p(C.subarray(x*4),Uint8Array.from([y[x*3+0],y[x*3+1],0])),C[43]=61,String.fromCharCode.apply(null,C)}function m(y){let x=window.atob(y),C=x.length,S=new Uint8Array(C);for(let M=0;M>>8&255,x>>>16&255,x>>>24&255)}function v(y,x){y.push(x&255,x>>>8&255)}function w(y,x){for(var C=0;C>>1:x>>>1;$.table[C]=x}}for(var P=-1,M=0;M>>8^$.table[(P^y[M])&255];return(P^-1)>>>0}function T(y){for(var x=[],C=[],S=0,P=0;P{e.status?(this.success=!0,await this.store.getConfigurations(),setTimeout(()=>{this.$router.push("/")},1e3)):(this.error=!0,this.errorMessage=e.message,document.querySelector(`#${e.data}`).classList.remove("is-valid"),document.querySelector(`#${e.data}`).classList.add("is-invalid"))}))}},computed:{goodToSubmit(){let e=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return e.find(s=>this.newConfiguration[s].length===0)===void 0&&t.find(s=>s.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(e){let t=document.querySelector("#Address");t.classList.remove("is-invalid","is-valid");try{if(e.trim().split("/").filter(i=>i.length>0).length!==2)throw Error();let s=XT(e),n=s.end-s.start;this.numberOfAvailableIPs=n.toLocaleString(),t.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}},"newConfiguration.ListenPort"(e){let t=document.querySelector("#ListenPort");t.classList.remove("is-invalid","is-valid"),e<0||e>65353||!Number.isInteger(e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.ConfigurationName"(e){let t=document.querySelector("#ConfigurationName");t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(e)||e.length===0||this.store.Configurations.find(s=>s.Name===e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.PrivateKey"(e){let t=document.querySelector("#PrivateKey");t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(e),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},ZT={class:"mt-4"},tM={class:"container mb-4"},eM={class:"mb-4 d-flex align-items-center gap-4"},sM=h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1),nM=h("h3",{class:"text-body mb-0"},"New Configuration",-1),iM={class:"card rounded-3 shadow"},oM=h("div",{class:"card-header"},"Configuration Name",-1),rM={class:"card-body"},aM=["disabled"],lM={class:"invalid-feedback"},cM={key:0},dM={key:1},uM=h("ul",{class:"mb-0"},[h("li",null,"Configuration name already exist."),h("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),hM={class:"card rounded-3 shadow"},fM=h("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),pM={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},gM={class:"mb-2"},mM=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PRIVATE KEY")],-1),_M={class:"input-group"},bM=["disabled"],vM=h("i",{class:"bi bi-arrow-repeat"},null,-1),yM=[vM],xM=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PUBLIC KEY")],-1),wM={class:"card rounded-3 shadow"},EM=h("div",{class:"card-header"},"Listen Port",-1),SM={class:"card-body"},AM=["disabled"],CM={class:"invalid-feedback"},$M={key:0},PM={key:1},kM={class:"card rounded-3 shadow"},TM={class:"card-header d-flex align-items-center"},MM={class:"badge rounded-pill text-bg-success ms-auto"},DM={class:"card-body"},IM=["disabled"],OM={class:"invalid-feedback"},LM={key:0},RM={key:1},NM=h("hr",null,null,-1),FM={class:"accordion",id:"newConfigurationOptionalAccordion"},BM={class:"accordion-item"},VM=h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),jM={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},HM={class:"accordion-body d-flex flex-column gap-3"},WM={class:"card rounded-3"},zM=h("div",{class:"card-header"},"PreUp",-1),KM={class:"card-body"},UM={class:"card rounded-3"},YM=h("div",{class:"card-header"},"PreDown",-1),qM={class:"card-body"},GM={class:"card rounded-3"},JM=h("div",{class:"card-header"},"PostUp",-1),XM={class:"card-body"},QM={class:"card rounded-3"},ZM=h("div",{class:"card-header"},"PostDown",-1),tD={class:"card-body"},eD=["disabled"],sD={key:0,class:"d-flex w-100"},nD=h("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),iD={key:1,class:"d-flex w-100"},oD=h("i",{class:"bi bi-save-fill ms-2"},null,-1),rD={key:2,class:"d-flex w-100 align-items-center"},aD=h("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function lD(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",ZT,[h("div",tM,[h("div",eM,[dt(r,{to:"/"},{default:It(()=>[sM]),_:1}),nM]),h("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[h("div",iM,[oM,h("div",rM,[ft(h("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[0]||(t[0]=a=>this.newConfiguration.ConfigurationName=a),disabled:this.loading,required:""},null,8,aM),[[bt,this.newConfiguration.ConfigurationName]]),h("div",lM,[this.error?(L(),V("div",cM,nt(this.errorMessage),1)):(L(),V("div",dM,[ct(" Configuration name is invalid. Possible reasons: "),uM]))])])]),h("div",hM,[fM,h("div",pM,[h("div",gM,[mM,h("div",_M,[ft(h("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[1]||(t[1]=a=>this.newConfiguration.PrivateKey=a)},null,8,bM),[[bt,this.newConfiguration.PrivateKey]]),h("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},yM)])]),h("div",null,[xM,ft(h("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[bt,this.newConfiguration.PublicKey]])])])]),h("div",wM,[EM,h("div",SM,[ft(h("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[4]||(t[4]=a=>this.newConfiguration.ListenPort=a),disabled:this.loading,required:""},null,8,AM),[[bt,this.newConfiguration.ListenPort]]),h("div",CM,[this.error?(L(),V("div",$M,nt(this.errorMessage),1)):(L(),V("div",PM," Invalid port "))])])]),h("div",kM,[h("div",TM,[ct(" IP Address & Range "),h("span",MM,nt(i.numberOfAvailableIPs)+" Available IPs",1)]),h("div",DM,[ft(h("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[5]||(t[5]=a=>this.newConfiguration.Address=a),disabled:this.loading,required:""},null,8,IM),[[bt,this.newConfiguration.Address]]),h("div",OM,[this.error?(L(),V("div",LM,nt(this.errorMessage),1)):(L(),V("div",RM," IP address & range is invalid. "))])])]),NM,h("div",FM,[h("div",BM,[VM,h("div",jM,[h("div",HM,[h("div",WM,[zM,h("div",KM,[ft(h("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[bt,this.newConfiguration.PreUp]])])]),h("div",UM,[YM,h("div",qM,[ft(h("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[bt,this.newConfiguration.PreDown]])])]),h("div",GM,[JM,h("div",XM,[ft(h("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[bt,this.newConfiguration.PostUp]])])]),h("div",QM,[ZM,h("div",tD,[ft(h("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[bt,this.newConfiguration.PostDown]])])])])])])]),h("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(L(),V("span",sD,[ct(" Success! "),nD])):this.loading?(L(),V("span",rD,[ct(" Saving... "),aD])):(L(),V("span",iD,[ct(" Save Configuration "),oD]))],8,eD)],32)])])}const cD=St(QT,[["render",lD]]),dD={name:"configuration"},uD={class:"mt-5 text-body"};function hD(e,t,s,n,i,o){const r=Ct("RouterView");return L(),V("div",uD,[dt(r,null,{default:It(({Component:a,route:l})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Ga,null,{default:It(()=>[(L(),Gt(Dd(a),{key:l.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const fD=St(dD,[["render",hD]]),pD={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:Kt()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,Zt(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,e=>{this.saving=!1,e.status?this.dashboardConfigurationStore.newMessage("Server","Peer Updated!","success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(e=>{e.addEventListener("keyup",()=>{this.dataChanged=!0})})}},Ce=e=>(ss("data-v-55ffd43e"),e=e(),ns(),e),gD={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},mD={class:"container d-flex h-100 w-100"},_D={class:"m-auto modal-dialog-centered dashboardModal"},bD={class:"card rounded-3 shadow flex-grow-1"},vD={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},yD=Ce(()=>h("h4",{class:"mb-0"},"Peer Settings",-1)),xD={key:0,class:"card-body px-4 pb-4"},wD={class:"d-flex flex-column gap-2 mb-4"},ED=Ce(()=>h("small",{class:"text-muted"},"Public Key",-1)),SD=Ce(()=>h("br",null,null,-1)),AD=Ce(()=>h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1)),CD=["disabled"],$D={class:"d-flex position-relative"},PD=Ce(()=>h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1)),kD=["type","disabled"],TD=Ce(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Allowed IPs "),h("code",null,"(Required)")])],-1)),MD=["disabled"],DD=Ce(()=>h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ct("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1)),ID=["disabled"],OD=Ce(()=>h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1)),LD=["disabled"],RD=Ce(()=>h("hr",null,null,-1)),ND={class:"accordion mt-2",id:"peerSettingsAccordion"},FD={class:"accordion-item"},BD=Ce(()=>h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),VD={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},jD={class:"accordion-body d-flex flex-column gap-2 mb-2"},HD=Ce(()=>h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1)),WD=["disabled"],zD=Ce(()=>h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1)),KD=["disabled"],UD=Ce(()=>h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1)),YD=["disabled"],qD={class:"d-flex align-items-center gap-2"},GD=["disabled"],JD=Ce(()=>h("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),XD=["disabled"],QD=Ce(()=>h("i",{class:"bi bi-save-fill ms-2"},null,-1));function ZD(e,t,s,n,i,o){return L(),V("div",gD,[h("div",mD,[h("div",_D,[h("div",bD,[h("div",vD,[yD,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(L(),V("div",xD,[h("div",wD,[h("div",null,[ED,SD,h("small",null,[h("samp",null,nt(this.data.id),1)])]),h("div",null,[AD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,CD),[[bt,this.data.name]])]),h("div",null,[h("div",$D,[PD,h("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[h("i",{class:Mt(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),ft(h("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=r=>this.data.private_key=r),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,kD),[[IE,this.data.private_key]])]),h("div",null,[TD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=r=>this.data.allowed_ip=r),id:"peer_allowed_ip_textbox"},null,8,MD),[[bt,this.data.allowed_ip]])]),h("div",null,[DD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,ID),[[bt,this.data.endpoint_allowed_ip]])]),h("div",null,[OD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,LD),[[bt,this.data.DNS]])]),RD,h("div",ND,[h("div",FD,[BD,h("div",VD,[h("div",jD,[h("div",null,[HD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,WD),[[bt,this.data.preshared_key]])]),h("div",null,[zD,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,KD),[[bt,this.data.mtu]])]),h("div",null,[UD,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,YD),[[bt,this.data.keepalive]])])])])])])]),h("div",qD,[h("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[10]||(t[10]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[ct(" Reset "),JD],8,GD),h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=r=>this.savePeer())},[ct(" Save Peer"),QD],8,XD)])])):xt("",!0)])])])])}const tI=St(pD,[["render",ZD],["__scopeId","data-v-55ffd43e"]]),eI={name:"peerSearch",setup(){const e=Kt(),t=Ve();return{store:e,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:"Status",name:"Name",allowed_ip:"Allowed IP",restricted:"Restricted"},interval:{5e3:"5 Seconds",1e4:"10 Seconds",3e4:"30 Seconds",6e4:"1 Minutes"},searchString:"",searchStringTimeout:void 0}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(e){Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:e},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){le(`/api/downloadAllPeers/${this.configuration.Name}`,{},e=>{console.log(e),window.wireguard.generateZipFiles(e,this.configuration.Name)})}},mounted(){}},sI={class:"mb-3"},nI={class:"d-flex gap-2 z-3"},iI=h("i",{class:"bi bi-plus-lg me-2"},null,-1),oI=h("i",{class:"bi bi-download me-2"},null,-1),rI={class:"d-flex align-items-center ms-auto"},aI={class:"dropdown"},lI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-filter-circle me-2"}),ct(" Sort ")],-1),cI={class:"dropdown-menu mt-2 shadow rounded-3"},dI=["onClick"],uI={class:"me-auto"},hI={key:0,class:"bi bi-check text-primary"},fI={class:"dropdown"},pI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-arrow-repeat me-2"}),ct("Refresh Interval ")],-1),gI={class:"dropdown-menu shadow mt-2 rounded-3"},mI=["onClick"],_I={class:"me-auto"},bI={key:0,class:"bi bi-check text-primary"},vI={class:"dropdown"},yI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-three-dots me-2"}),ct("More ")],-1),xI={class:"dropdown-menu shadow mt-2 rounded-3"},wI=h("li",null,[h("h6",{class:"dropdown-header"},"Peer Jobs")],-1);function EI(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",sI,[h("div",nI,[dt(r,{to:"create",class:"text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm"},{default:It(()=>[iI,ct("Peer ")]),_:1}),h("button",{class:"btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm",onClick:t[0]||(t[0]=a=>this.downloadAllPeer())},[oI,ct(" Download All ")]),h("div",rI,[ft(h("input",{class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle shadow-sm",placeholder:"Search...",id:"searchPeers",onKeyup:t[1]||(t[1]=a=>this.debounce()),"onUpdate:modelValue":t[2]||(t[2]=a=>this.searchString=a)},null,544),[[bt,this.searchString]])]),h("div",aI,[lI,h("ul",cI,[(L(!0),V(Bt,null,ae(this.sort,(a,l)=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.updateSort(l)},[h("span",uI,nt(a),1),n.store.Configuration.Server.dashboard_sort===l?(L(),V("i",hI)):xt("",!0)],8,dI)]))),256))])]),h("div",fI,[pI,h("ul",gI,[(L(!0),V(Bt,null,ae(this.interval,(a,l)=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>o.updateRefreshInterval(l)},[h("span",_I,nt(a),1),n.store.Configuration.Server.dashboard_refresh_interval===l?(L(),V("i",bI)):xt("",!0)],8,mI)]))),256))])]),h("div",vI,[yI,h("ul",xI,[wI,h("li",null,[h("a",{role:"button",class:"dropdown-item",onClick:t[3]||(t[3]=a=>this.$emit("jobsAll"))}," All Active Jobs ")]),h("li",null,[h("a",{role:"button",class:"dropdown-item",onClick:t[4]||(t[4]=a=>this.$emit("jobLogs"))}," Logs ")])])])])])}const SI=St(eI,[["render",EI]]);function AI(e){return vd()?(Og(e),!0):!1}function C_(e){return typeof e=="function"?e():fn(e)}const $_=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const CI=Object.prototype.toString,$I=e=>CI.call(e)==="[object Object]",la=()=>{},PI=kI();function kI(){var e,t;return $_&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function bo(e){var t;const s=C_(e);return(t=s==null?void 0:s.$el)!=null?t:s}const P_=$_?window:void 0;function Jl(...e){let t,s,n,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([s,n,i]=e,t=P_):[t,s,n,i]=e,!t)return la;Array.isArray(s)||(s=[s]),Array.isArray(n)||(n=[n]);const o=[],r=()=>{o.forEach(d=>d()),o.length=0},a=(d,u,p,g)=>(d.addEventListener(u,p,g),()=>d.removeEventListener(u,p,g)),l=Xn(()=>[bo(t),C_(i)],([d,u])=>{if(r(),!d)return;const p=$I(u)?{...u}:u;o.push(...s.flatMap(g=>n.map(m=>a(d,g,m,p))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return AI(c),c}let Cf=!1;function TI(e,t,s={}){const{window:n=P_,ignore:i=[],capture:o=!0,detectIframe:r=!1}=s;if(!n)return la;PI&&!Cf&&(Cf=!0,Array.from(n.document.body.children).forEach(p=>p.addEventListener("click",la)),n.document.documentElement.addEventListener("click",la));let a=!0;const l=p=>i.some(g=>{if(typeof g=="string")return Array.from(n.document.querySelectorAll(g)).some(m=>m===p.target||p.composedPath().includes(m));{const m=bo(g);return m&&(p.target===m||p.composedPath().includes(m))}}),d=[Jl(n,"click",p=>{const g=bo(e);if(!(!g||g===p.target||p.composedPath().includes(g))){if(p.detail===0&&(a=!l(p)),!a){a=!0;return}t(p)}},{passive:!0,capture:o}),Jl(n,"pointerdown",p=>{const g=bo(e);a=!l(p)&&!!(g&&!p.composedPath().includes(g))},{passive:!0}),r&&Jl(n,"blur",p=>{setTimeout(()=>{var g;const m=bo(e);((g=n.document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(m!=null&&m.contains(n.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>d.forEach(p=>p())}const MI={name:"peerSettingsDropdown",setup(){return{dashboardStore:Kt()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1}},methods:{downloadPeer(){le("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),s=URL.createObjectURL(t),n=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=s,i.download=n,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){le("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{e.status?this.$emit("qrcode",e.data.file):this.dashboardStore.newMessage("Server",e.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,Zt(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,Zt(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,Zt(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},Ss=e=>(ss("data-v-efcc2294"),e=e(),ns(),e),DI={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},II=Ss(()=>h("li",null,[h("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[ct("Download & QR Code is not available due to no "),h("code",null,"private key"),ct(" set for this peer ")])],-1)),OI=Ss(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),LI=Ss(()=>h("i",{class:"me-auto bi bi-pen"},null,-1)),RI=Ss(()=>h("i",{class:"me-auto bi bi-app-indicator"},null,-1)),NI=Ss(()=>h("i",{class:"me-auto bi bi-download"},null,-1)),FI=Ss(()=>h("i",{class:"me-auto bi bi-qr-code"},null,-1)),BI=Ss(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),VI=Ss(()=>h("i",{class:"me-auto bi bi-lock"},null,-1)),jI=Ss(()=>h("i",{class:"me-auto bi bi-trash"},null,-1)),HI={key:1},WI=Ss(()=>h("i",{class:"me-auto bi bi-unlock"},null,-1));function zI(e,t,s,n,i,o){return L(),V("ul",DI,[this.Peer.restricted?(L(),V("li",HI,[h("a",{class:Mt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[6]||(t[6]=r=>this.allowAccessPeer()),role:"button"},[WI,ct(" "+nt(this.allowAccessBtnDisabled?"Allowing...":"Allow Access"),1)],2)])):(L(),V(Bt,{key:0},[this.Peer.private_key?xt("",!0):(L(),V(Bt,{key:0},[II,OI],64)),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[0]||(t[0]=r=>this.$emit("setting"))},[LI,ct(" Edit ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[1]||(t[1]=r=>this.$emit("jobs"))},[RI,ct(" Schedule Jobs ")])]),this.Peer.private_key?(L(),V(Bt,{key:1},[h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[2]||(t[2]=r=>this.downloadPeer())},[NI,ct(" Download ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[3]||(t[3]=r=>this.downloadQRCode())},[FI,ct(" QR Code ")])])],64)):xt("",!0),BI,h("li",null,[h("a",{class:Mt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[4]||(t[4]=r=>this.restrictPeer()),role:"button"},[VI,ct(" "+nt(this.restrictBtnDisabled?"Restricting...":"Restrict Access"),1)],2)]),h("li",null,[h("a",{class:Mt(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[5]||(t[5]=r=>this.deletePeer()),role:"button"},[jI,ct(" "+nt(this.deleteBtnDisabled?"Deleting...":"Delete"),1)],2)])],64))])}const KI=St(MI,[["render",zI],["__scopeId","data-v-efcc2294"]]),UI={name:"peer",components:{PeerSettingsDropdown:KI},props:{Peer:Object},data(){return{}},setup(){const e=Bs(null),t=Bs(!1);return TI(e,s=>{t.value=!1}),{target:e,subMenuOpened:t}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},ri=e=>(ss("data-v-f0f04ed4"),e=e(),ns(),e),YI={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},qI={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},GI={class:"text-primary"},JI=ri(()=>h("i",{class:"bi bi-arrow-down"},null,-1)),XI={class:"text-success"},QI=ri(()=>h("i",{class:"bi bi-arrow-up"},null,-1)),ZI={key:0,class:"text-secondary"},tO=ri(()=>h("i",{class:"bi bi-arrows-angle-contract"},null,-1)),eO={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},sO=ri(()=>h("i",{class:"bi-lock-fill me-2"},null,-1)),nO={class:"card-body pt-1",style:{"font-size":"0.9rem"}},iO={class:"mb-2"},oO=ri(()=>h("small",{class:"text-muted"},"Public Key",-1)),rO={class:"mb-0"},aO={class:"d-flex align-items-end"},lO=ri(()=>h("small",{class:"text-muted"},"Allowed IP",-1)),cO={class:"mb-0"},dO=ri(()=>h("h5",{class:"mb-0"},[h("i",{class:"bi bi-three-dots"})],-1)),uO=[dO];function hO(e,t,s,n,i,o){const r=Ct("PeerSettingsDropdown");return L(),V("div",{class:Mt(["card shadow-sm rounded-3 peerCard bg-transparent",{"border-warning":s.Peer.restricted}])},[h("div",null,[s.Peer.restricted?(L(),V("div",eO,[sO,ct(" Access Restricted ")])):(L(),V("div",YI,[h("div",{class:Mt(["dot ms-0",{active:s.Peer.status==="running"}])},null,2),h("div",qI,[h("span",GI,[JI,h("strong",null,nt((s.Peer.cumu_receive+s.Peer.total_receive).toFixed(4)),1),ct(" GB ")]),h("span",XI,[QI,h("strong",null,nt((s.Peer.cumu_sent+s.Peer.total_sent).toFixed(4)),1),ct(" GB ")]),s.Peer.latest_handshake!=="No Handshake"?(L(),V("span",ZI,[tO,ct(" "+nt(o.getLatestHandshake)+" ago ",1)])):xt("",!0)])]))]),h("div",nO,[h("h6",null,nt(s.Peer.name?s.Peer.name:"Untitled Peer"),1),h("div",iO,[oO,h("p",rO,[h("samp",null,nt(s.Peer.id),1)])]),h("div",aO,[h("div",null,[lO,h("p",cO,[h("samp",null,nt(s.Peer.allowed_ip),1)])]),h("div",{class:Mt(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[h("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},uO),dt(Te,{name:"slide-fade"},{default:It(()=>[this.subMenuOpened?(L(),Gt(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),onJobs:t[3]||(t[3]=a=>this.$emit("jobs")),onRefresh:t[4]||(t[4]=a=>this.$emit("refresh")),Peer:s.Peer,ref:"target"},null,8,["Peer"])):xt("",!0)]),_:1})],2)])])],2)}const fO=St(UI,[["render",hO],["__scopeId","data-v-f0f04ed4"]]);/*! + */(function(){function e(y){var x=new Float64Array(16);if(y)for(var C=0;C>16&1),E[M-1]&=65535;E[15]=P[15]-32767-(E[14]>>16&1),C=E[15]>>16&1,E[14]&=65535,n(P,E,1-C)}for(var M=0;M<16;++M)y[2*M]=P[M]&255,y[2*M+1]=P[M]>>8}function s(y){for(var x=0;x<16;++x)y[(x+1)%16]+=(x<15?1:38)*Math.floor(y[x]/65536),y[x]&=65535}function n(y,x,C){for(var E,P=~(C-1),M=0;M<16;++M)E=P&(y[M]^x[M]),y[M]^=E,x[M]^=E}function i(y,x,C){for(var E=0;E<16;++E)y[E]=x[E]+C[E]|0}function o(y,x,C){for(var E=0;E<16;++E)y[E]=x[E]-C[E]|0}function r(y,x,C){for(var E=new Float64Array(31),P=0;P<16;++P)for(var M=0;M<16;++M)E[P+M]+=x[P]*C[M];for(var P=0;P<15;++P)E[P]+=38*E[P+16];for(var P=0;P<16;++P)y[P]=E[P];s(y),s(y)}function a(y,x){for(var C=e(),E=0;E<16;++E)C[E]=x[E];for(var E=253;E>=0;--E)r(C,C,C),E!==2&&E!==4&&r(C,C,x);for(var E=0;E<16;++E)y[E]=C[E]}function l(y){y[31]=y[31]&127|64,y[0]&=248}function c(y){for(var x,C=new Uint8Array(32),E=e([1]),P=e([9]),M=e(),O=e([1]),F=e(),Q=e(),G=e([56129,1]),H=e([9]),R=0;R<32;++R)C[R]=y[R];l(C);for(var R=254;R>=0;--R)x=C[R>>>3]>>>(R&7)&1,n(E,P,x),n(M,O,x),i(F,E,M),o(E,E,M),i(M,P,O),o(P,P,O),r(O,F,F),r(Q,E,E),r(E,M,E),r(M,P,F),i(F,E,M),o(E,E,M),r(P,E,E),o(M,O,Q),r(E,M,G),i(E,E,O),r(M,M,E),r(E,O,Q),r(O,P,H),r(P,F,F),n(E,P,x),n(M,O,x);return a(M,M),r(E,E,M),t(C,E),C}function d(){var y=new Uint8Array(32);return window.crypto.getRandomValues(y),y}function u(){var y=d();return l(y),y}function p(y,x){for(var C=Uint8Array.from([x[0]>>2&63,(x[0]<<4|x[1]>>4)&63,(x[1]<<2|x[2]>>6)&63,x[2]&63]),E=0;E<4;++E)y[E]=C[E]+65+(25-C[E]>>8&6)-(51-C[E]>>8&75)-(61-C[E]>>8&15)+(62-C[E]>>8&3)}function g(y){var x,C=new Uint8Array(44);for(x=0;x<32/3;++x)p(C.subarray(x*4),y.subarray(x*3));return p(C.subarray(x*4),Uint8Array.from([y[x*3+0],y[x*3+1],0])),C[43]=61,String.fromCharCode.apply(null,C)}function m(y){let x=window.atob(y),C=x.length,E=new Uint8Array(C);for(let M=0;M>>8&255,x>>>16&255,x>>>24&255)}function v(y,x){y.push(x&255,x>>>8&255)}function w(y,x){for(var C=0;C>>1:x>>>1;$.table[C]=x}}for(var P=-1,M=0;M>>8^$.table[(P^y[M])&255];return(P^-1)>>>0}function T(y){for(var x=[],C=[],E=0,P=0;P{e.status?(this.success=!0,await this.store.getConfigurations(),setTimeout(()=>{this.$router.push("/")},1e3)):(this.error=!0,this.errorMessage=e.message,document.querySelector(`#${e.data}`).classList.remove("is-valid"),document.querySelector(`#${e.data}`).classList.add("is-invalid"))}))}},computed:{goodToSubmit(){let e=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return e.find(s=>this.newConfiguration[s].length===0)===void 0&&t.find(s=>s.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(e){let t=document.querySelector("#Address");t.classList.remove("is-invalid","is-valid");try{if(e.trim().split("/").filter(i=>i.length>0).length!==2)throw Error();let s=XT(e),n=s.end-s.start;this.numberOfAvailableIPs=n.toLocaleString(),t.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}},"newConfiguration.ListenPort"(e){let t=document.querySelector("#ListenPort");t.classList.remove("is-invalid","is-valid"),e<0||e>65353||!Number.isInteger(e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.ConfigurationName"(e){let t=document.querySelector("#ConfigurationName");t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(e)||e.length===0||this.store.Configurations.find(s=>s.Name===e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.PrivateKey"(e){let t=document.querySelector("#PrivateKey");t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(e),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},ZT={class:"mt-4"},tM={class:"container mb-4"},eM={class:"mb-4 d-flex align-items-center gap-4"},sM=h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1),nM=h("h3",{class:"text-body mb-0"},"New Configuration",-1),iM={class:"card rounded-3 shadow"},oM=h("div",{class:"card-header"},"Configuration Name",-1),rM={class:"card-body"},aM=["disabled"],lM={class:"invalid-feedback"},cM={key:0},dM={key:1},uM=h("ul",{class:"mb-0"},[h("li",null,"Configuration name already exist."),h("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),hM={class:"card rounded-3 shadow"},fM=h("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),pM={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},gM={class:"mb-2"},mM=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PRIVATE KEY")],-1),_M={class:"input-group"},bM=["disabled"],vM=h("i",{class:"bi bi-arrow-repeat"},null,-1),yM=[vM],xM=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PUBLIC KEY")],-1),wM={class:"card rounded-3 shadow"},SM=h("div",{class:"card-header"},"Listen Port",-1),EM={class:"card-body"},AM=["disabled"],CM={class:"invalid-feedback"},$M={key:0},PM={key:1},kM={class:"card rounded-3 shadow"},TM={class:"card-header d-flex align-items-center"},MM={class:"badge rounded-pill text-bg-success ms-auto"},DM={class:"card-body"},IM=["disabled"],OM={class:"invalid-feedback"},LM={key:0},RM={key:1},NM=h("hr",null,null,-1),FM={class:"accordion",id:"newConfigurationOptionalAccordion"},BM={class:"accordion-item"},VM=h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),jM={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},HM={class:"accordion-body d-flex flex-column gap-3"},WM={class:"card rounded-3"},zM=h("div",{class:"card-header"},"PreUp",-1),KM={class:"card-body"},UM={class:"card rounded-3"},YM=h("div",{class:"card-header"},"PreDown",-1),qM={class:"card-body"},GM={class:"card rounded-3"},JM=h("div",{class:"card-header"},"PostUp",-1),XM={class:"card-body"},QM={class:"card rounded-3"},ZM=h("div",{class:"card-header"},"PostDown",-1),tD={class:"card-body"},eD=["disabled"],sD={key:0,class:"d-flex w-100"},nD=h("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),iD={key:1,class:"d-flex w-100"},oD=h("i",{class:"bi bi-save-fill ms-2"},null,-1),rD={key:2,class:"d-flex w-100 align-items-center"},aD=h("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function lD(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",ZT,[h("div",tM,[h("div",eM,[dt(r,{to:"/"},{default:It(()=>[sM]),_:1}),nM]),h("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[h("div",iM,[oM,h("div",rM,[ft(h("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[0]||(t[0]=a=>this.newConfiguration.ConfigurationName=a),disabled:this.loading,required:""},null,8,aM),[[bt,this.newConfiguration.ConfigurationName]]),h("div",lM,[this.error?(L(),V("div",cM,nt(this.errorMessage),1)):(L(),V("div",dM,[ct(" Configuration name is invalid. Possible reasons: "),uM]))])])]),h("div",hM,[fM,h("div",pM,[h("div",gM,[mM,h("div",_M,[ft(h("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[1]||(t[1]=a=>this.newConfiguration.PrivateKey=a)},null,8,bM),[[bt,this.newConfiguration.PrivateKey]]),h("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},yM)])]),h("div",null,[xM,ft(h("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[bt,this.newConfiguration.PublicKey]])])])]),h("div",wM,[SM,h("div",EM,[ft(h("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[4]||(t[4]=a=>this.newConfiguration.ListenPort=a),disabled:this.loading,required:""},null,8,AM),[[bt,this.newConfiguration.ListenPort]]),h("div",CM,[this.error?(L(),V("div",$M,nt(this.errorMessage),1)):(L(),V("div",PM," Invalid port "))])])]),h("div",kM,[h("div",TM,[ct(" IP Address & Range "),h("span",MM,nt(i.numberOfAvailableIPs)+" Available IPs",1)]),h("div",DM,[ft(h("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[5]||(t[5]=a=>this.newConfiguration.Address=a),disabled:this.loading,required:""},null,8,IM),[[bt,this.newConfiguration.Address]]),h("div",OM,[this.error?(L(),V("div",LM,nt(this.errorMessage),1)):(L(),V("div",RM," IP address & range is invalid. "))])])]),NM,h("div",FM,[h("div",BM,[VM,h("div",jM,[h("div",HM,[h("div",WM,[zM,h("div",KM,[ft(h("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[bt,this.newConfiguration.PreUp]])])]),h("div",UM,[YM,h("div",qM,[ft(h("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[bt,this.newConfiguration.PreDown]])])]),h("div",GM,[JM,h("div",XM,[ft(h("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[bt,this.newConfiguration.PostUp]])])]),h("div",QM,[ZM,h("div",tD,[ft(h("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[bt,this.newConfiguration.PostDown]])])])])])])]),h("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(L(),V("span",sD,[ct(" Success! "),nD])):this.loading?(L(),V("span",rD,[ct(" Saving... "),aD])):(L(),V("span",iD,[ct(" Save Configuration "),oD]))],8,eD)],32)])])}const cD=Et(QT,[["render",lD]]),dD={name:"configuration"},uD={class:"mt-5 text-body"};function hD(e,t,s,n,i,o){const r=Ct("RouterView");return L(),V("div",uD,[dt(r,null,{default:It(({Component:a,route:l})=>[dt(Te,{name:"fade2",mode:"out-in"},{default:It(()=>[(L(),Gt(Ga,null,{default:It(()=>[(L(),Gt(Dd(a),{key:l.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const fD=Et(dD,[["render",hD]]),pD={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:Kt()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,Zt(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,e=>{this.saving=!1,e.status?this.dashboardConfigurationStore.newMessage("Server","Peer Updated!","success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(e=>{e.addEventListener("keyup",()=>{this.dataChanged=!0})})}},Ce=e=>(ss("data-v-55ffd43e"),e=e(),ns(),e),gD={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},mD={class:"container d-flex h-100 w-100"},_D={class:"m-auto modal-dialog-centered dashboardModal"},bD={class:"card rounded-3 shadow flex-grow-1"},vD={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},yD=Ce(()=>h("h4",{class:"mb-0"},"Peer Settings",-1)),xD={key:0,class:"card-body px-4 pb-4"},wD={class:"d-flex flex-column gap-2 mb-4"},SD=Ce(()=>h("small",{class:"text-muted"},"Public Key",-1)),ED=Ce(()=>h("br",null,null,-1)),AD=Ce(()=>h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1)),CD=["disabled"],$D={class:"d-flex position-relative"},PD=Ce(()=>h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1)),kD=["type","disabled"],TD=Ce(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Allowed IPs "),h("code",null,"(Required)")])],-1)),MD=["disabled"],DD=Ce(()=>h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ct("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1)),ID=["disabled"],OD=Ce(()=>h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1)),LD=["disabled"],RD=Ce(()=>h("hr",null,null,-1)),ND={class:"accordion mt-2",id:"peerSettingsAccordion"},FD={class:"accordion-item"},BD=Ce(()=>h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),VD={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},jD={class:"accordion-body d-flex flex-column gap-2 mb-2"},HD=Ce(()=>h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1)),WD=["disabled"],zD=Ce(()=>h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1)),KD=["disabled"],UD=Ce(()=>h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1)),YD=["disabled"],qD={class:"d-flex align-items-center gap-2"},GD=["disabled"],JD=Ce(()=>h("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),XD=["disabled"],QD=Ce(()=>h("i",{class:"bi bi-save-fill ms-2"},null,-1));function ZD(e,t,s,n,i,o){return L(),V("div",gD,[h("div",mD,[h("div",_D,[h("div",bD,[h("div",vD,[yD,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(L(),V("div",xD,[h("div",wD,[h("div",null,[SD,ED,h("small",null,[h("samp",null,nt(this.data.id),1)])]),h("div",null,[AD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,CD),[[bt,this.data.name]])]),h("div",null,[h("div",$D,[PD,h("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[h("i",{class:Mt(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),ft(h("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=r=>this.data.private_key=r),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,kD),[[IS,this.data.private_key]])]),h("div",null,[TD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=r=>this.data.allowed_ip=r),id:"peer_allowed_ip_textbox"},null,8,MD),[[bt,this.data.allowed_ip]])]),h("div",null,[DD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,ID),[[bt,this.data.endpoint_allowed_ip]])]),h("div",null,[OD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,LD),[[bt,this.data.DNS]])]),RD,h("div",ND,[h("div",FD,[BD,h("div",VD,[h("div",jD,[h("div",null,[HD,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,WD),[[bt,this.data.preshared_key]])]),h("div",null,[zD,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,KD),[[bt,this.data.mtu]])]),h("div",null,[UD,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,YD),[[bt,this.data.keepalive]])])])])])])]),h("div",qD,[h("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[10]||(t[10]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[ct(" Reset "),JD],8,GD),h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=r=>this.savePeer())},[ct(" Save Peer"),QD],8,XD)])])):xt("",!0)])])])])}const tI=Et(pD,[["render",ZD],["__scopeId","data-v-55ffd43e"]]),eI={name:"peerSearch",setup(){const e=Kt(),t=Ve();return{store:e,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:"Status",name:"Name",allowed_ip:"Allowed IP",restricted:"Restricted"},interval:{5e3:"5 Seconds",1e4:"10 Seconds",3e4:"30 Seconds",6e4:"1 Minutes"},searchString:"",searchStringTimeout:void 0}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(e){Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:e},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){Zt("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){le(`/api/downloadAllPeers/${this.configuration.Name}`,{},e=>{console.log(e),window.wireguard.generateZipFiles(e,this.configuration.Name)})}},mounted(){}},sI={class:"mb-3"},nI={class:"d-flex gap-2 z-3"},iI=h("i",{class:"bi bi-plus-lg me-2"},null,-1),oI=h("i",{class:"bi bi-download me-2"},null,-1),rI={class:"d-flex align-items-center ms-auto"},aI={class:"dropdown"},lI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-filter-circle me-2"}),ct(" Sort ")],-1),cI={class:"dropdown-menu mt-2 shadow rounded-3"},dI=["onClick"],uI={class:"me-auto"},hI={key:0,class:"bi bi-check text-primary"},fI={class:"dropdown"},pI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-arrow-repeat me-2"}),ct("Refresh Interval ")],-1),gI={class:"dropdown-menu shadow mt-2 rounded-3"},mI=["onClick"],_I={class:"me-auto"},bI={key:0,class:"bi bi-check text-primary"},vI={class:"dropdown"},yI=h("button",{class:"btn dropdown-toggle text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("i",{class:"bi bi-three-dots me-2"}),ct("More ")],-1),xI={class:"dropdown-menu shadow mt-2 rounded-3"},wI=h("li",null,[h("h6",{class:"dropdown-header"},"Peer Jobs")],-1);function SI(e,t,s,n,i,o){const r=Ct("RouterLink");return L(),V("div",sI,[h("div",nI,[dt(r,{to:"create",class:"text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm"},{default:It(()=>[iI,ct("Peer ")]),_:1}),h("button",{class:"btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm",onClick:t[0]||(t[0]=a=>this.downloadAllPeer())},[oI,ct(" Download All ")]),h("div",rI,[ft(h("input",{class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle shadow-sm",placeholder:"Search...",id:"searchPeers",onKeyup:t[1]||(t[1]=a=>this.debounce()),"onUpdate:modelValue":t[2]||(t[2]=a=>this.searchString=a)},null,544),[[bt,this.searchString]])]),h("div",aI,[lI,h("ul",cI,[(L(!0),V(Bt,null,ae(this.sort,(a,l)=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.updateSort(l)},[h("span",uI,nt(a),1),n.store.Configuration.Server.dashboard_sort===l?(L(),V("i",hI)):xt("",!0)],8,dI)]))),256))])]),h("div",fI,[pI,h("ul",gI,[(L(!0),V(Bt,null,ae(this.interval,(a,l)=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>o.updateRefreshInterval(l)},[h("span",_I,nt(a),1),n.store.Configuration.Server.dashboard_refresh_interval===l?(L(),V("i",bI)):xt("",!0)],8,mI)]))),256))])]),h("div",vI,[yI,h("ul",xI,[wI,h("li",null,[h("a",{role:"button",class:"dropdown-item",onClick:t[3]||(t[3]=a=>this.$emit("jobsAll"))}," All Active Jobs ")]),h("li",null,[h("a",{role:"button",class:"dropdown-item",onClick:t[4]||(t[4]=a=>this.$emit("jobLogs"))}," Logs ")])])])])])}const EI=Et(eI,[["render",SI]]);function AI(e){return vd()?(Og(e),!0):!1}function C_(e){return typeof e=="function"?e():fn(e)}const $_=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const CI=Object.prototype.toString,$I=e=>CI.call(e)==="[object Object]",la=()=>{},PI=kI();function kI(){var e,t;return $_&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function bo(e){var t;const s=C_(e);return(t=s==null?void 0:s.$el)!=null?t:s}const P_=$_?window:void 0;function Jl(...e){let t,s,n,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([s,n,i]=e,t=P_):[t,s,n,i]=e,!t)return la;Array.isArray(s)||(s=[s]),Array.isArray(n)||(n=[n]);const o=[],r=()=>{o.forEach(d=>d()),o.length=0},a=(d,u,p,g)=>(d.addEventListener(u,p,g),()=>d.removeEventListener(u,p,g)),l=Xn(()=>[bo(t),C_(i)],([d,u])=>{if(r(),!d)return;const p=$I(u)?{...u}:u;o.push(...s.flatMap(g=>n.map(m=>a(d,g,m,p))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return AI(c),c}let Cf=!1;function TI(e,t,s={}){const{window:n=P_,ignore:i=[],capture:o=!0,detectIframe:r=!1}=s;if(!n)return la;PI&&!Cf&&(Cf=!0,Array.from(n.document.body.children).forEach(p=>p.addEventListener("click",la)),n.document.documentElement.addEventListener("click",la));let a=!0;const l=p=>i.some(g=>{if(typeof g=="string")return Array.from(n.document.querySelectorAll(g)).some(m=>m===p.target||p.composedPath().includes(m));{const m=bo(g);return m&&(p.target===m||p.composedPath().includes(m))}}),d=[Jl(n,"click",p=>{const g=bo(e);if(!(!g||g===p.target||p.composedPath().includes(g))){if(p.detail===0&&(a=!l(p)),!a){a=!0;return}t(p)}},{passive:!0,capture:o}),Jl(n,"pointerdown",p=>{const g=bo(e);a=!l(p)&&!!(g&&!p.composedPath().includes(g))},{passive:!0}),r&&Jl(n,"blur",p=>{setTimeout(()=>{var g;const m=bo(e);((g=n.document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(m!=null&&m.contains(n.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>d.forEach(p=>p())}const MI={name:"peerSettingsDropdown",setup(){return{dashboardStore:Kt()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1}},methods:{downloadPeer(){le("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),s=URL.createObjectURL(t),n=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=s,i.download=n,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){le("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{e.status?this.$emit("qrcode",e.data.file):this.dashboardStore.newMessage("Server",e.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,Zt(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,Zt(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,Zt(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},As=e=>(ss("data-v-efcc2294"),e=e(),ns(),e),DI={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},II=As(()=>h("li",null,[h("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[ct("Download & QR Code is not available due to no "),h("code",null,"private key"),ct(" set for this peer ")])],-1)),OI=As(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),LI=As(()=>h("i",{class:"me-auto bi bi-pen"},null,-1)),RI=As(()=>h("i",{class:"me-auto bi bi-app-indicator"},null,-1)),NI=As(()=>h("i",{class:"me-auto bi bi-download"},null,-1)),FI=As(()=>h("i",{class:"me-auto bi bi-qr-code"},null,-1)),BI=As(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),VI=As(()=>h("i",{class:"me-auto bi bi-lock"},null,-1)),jI=As(()=>h("i",{class:"me-auto bi bi-trash"},null,-1)),HI={key:1},WI=As(()=>h("i",{class:"me-auto bi bi-unlock"},null,-1));function zI(e,t,s,n,i,o){return L(),V("ul",DI,[this.Peer.restricted?(L(),V("li",HI,[h("a",{class:Mt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[6]||(t[6]=r=>this.allowAccessPeer()),role:"button"},[WI,ct(" "+nt(this.allowAccessBtnDisabled?"Allowing...":"Allow Access"),1)],2)])):(L(),V(Bt,{key:0},[this.Peer.private_key?xt("",!0):(L(),V(Bt,{key:0},[II,OI],64)),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[0]||(t[0]=r=>this.$emit("setting"))},[LI,ct(" Edit ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[1]||(t[1]=r=>this.$emit("jobs"))},[RI,ct(" Schedule Jobs ")])]),this.Peer.private_key?(L(),V(Bt,{key:1},[h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[2]||(t[2]=r=>this.downloadPeer())},[NI,ct(" Download ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[3]||(t[3]=r=>this.downloadQRCode())},[FI,ct(" QR Code ")])])],64)):xt("",!0),BI,h("li",null,[h("a",{class:Mt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[4]||(t[4]=r=>this.restrictPeer()),role:"button"},[VI,ct(" "+nt(this.restrictBtnDisabled?"Restricting...":"Restrict Access"),1)],2)]),h("li",null,[h("a",{class:Mt(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[5]||(t[5]=r=>this.deletePeer()),role:"button"},[jI,ct(" "+nt(this.deleteBtnDisabled?"Deleting...":"Delete"),1)],2)])],64))])}const KI=Et(MI,[["render",zI],["__scopeId","data-v-efcc2294"]]),UI={name:"peer",components:{PeerSettingsDropdown:KI},props:{Peer:Object},data(){return{}},setup(){const e=vs(null),t=vs(!1);return TI(e,s=>{t.value=!1}),{target:e,subMenuOpened:t}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},ri=e=>(ss("data-v-f0f04ed4"),e=e(),ns(),e),YI={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},qI={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},GI={class:"text-primary"},JI=ri(()=>h("i",{class:"bi bi-arrow-down"},null,-1)),XI={class:"text-success"},QI=ri(()=>h("i",{class:"bi bi-arrow-up"},null,-1)),ZI={key:0,class:"text-secondary"},tO=ri(()=>h("i",{class:"bi bi-arrows-angle-contract"},null,-1)),eO={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},sO=ri(()=>h("i",{class:"bi-lock-fill me-2"},null,-1)),nO={class:"card-body pt-1",style:{"font-size":"0.9rem"}},iO={class:"mb-2"},oO=ri(()=>h("small",{class:"text-muted"},"Public Key",-1)),rO={class:"mb-0"},aO={class:"d-flex align-items-end"},lO=ri(()=>h("small",{class:"text-muted"},"Allowed IP",-1)),cO={class:"mb-0"},dO=ri(()=>h("h5",{class:"mb-0"},[h("i",{class:"bi bi-three-dots"})],-1)),uO=[dO];function hO(e,t,s,n,i,o){const r=Ct("PeerSettingsDropdown");return L(),V("div",{class:Mt(["card shadow-sm rounded-3 peerCard bg-transparent",{"border-warning":s.Peer.restricted}])},[h("div",null,[s.Peer.restricted?(L(),V("div",eO,[sO,ct(" Access Restricted ")])):(L(),V("div",YI,[h("div",{class:Mt(["dot ms-0",{active:s.Peer.status==="running"}])},null,2),h("div",qI,[h("span",GI,[JI,h("strong",null,nt((s.Peer.cumu_receive+s.Peer.total_receive).toFixed(4)),1),ct(" GB ")]),h("span",XI,[QI,h("strong",null,nt((s.Peer.cumu_sent+s.Peer.total_sent).toFixed(4)),1),ct(" GB ")]),s.Peer.latest_handshake!=="No Handshake"?(L(),V("span",ZI,[tO,ct(" "+nt(o.getLatestHandshake)+" ago ",1)])):xt("",!0)])]))]),h("div",nO,[h("h6",null,nt(s.Peer.name?s.Peer.name:"Untitled Peer"),1),h("div",iO,[oO,h("p",rO,[h("samp",null,nt(s.Peer.id),1)])]),h("div",aO,[h("div",null,[lO,h("p",cO,[h("samp",null,nt(s.Peer.allowed_ip),1)])]),h("div",{class:Mt(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[h("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},uO),dt(Te,{name:"slide-fade"},{default:It(()=>[this.subMenuOpened?(L(),Gt(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),onJobs:t[3]||(t[3]=a=>this.$emit("jobs")),onRefresh:t[4]||(t[4]=a=>this.$emit("refresh")),Peer:s.Peer,ref:"target"},null,8,["Peer"])):xt("",!0)]),_:1})],2)])])],2)}const fO=Et(UI,[["render",hO],["__scopeId","data-v-f0f04ed4"]]);/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela * Released under the MIT License - */function cr(e){return e+.5|0}const ln=(e,t,s)=>Math.max(Math.min(e,s),t);function vo(e){return ln(cr(e*2.55),0,255)}function gn(e){return ln(cr(e*255),0,255)}function Is(e){return ln(cr(e/2.55)/100,0,1)}function $f(e){return ln(cr(e*100),0,100)}const Ye={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},Lc=[..."0123456789ABCDEF"],pO=e=>Lc[e&15],gO=e=>Lc[(e&240)>>4]+Lc[e&15],Br=e=>(e&240)>>4===(e&15),mO=e=>Br(e.r)&&Br(e.g)&&Br(e.b)&&Br(e.a);function _O(e){var t=e.length,s;return e[0]==="#"&&(t===4||t===5?s={r:255&Ye[e[1]]*17,g:255&Ye[e[2]]*17,b:255&Ye[e[3]]*17,a:t===5?Ye[e[4]]*17:255}:(t===7||t===9)&&(s={r:Ye[e[1]]<<4|Ye[e[2]],g:Ye[e[3]]<<4|Ye[e[4]],b:Ye[e[5]]<<4|Ye[e[6]],a:t===9?Ye[e[7]]<<4|Ye[e[8]]:255})),s}const bO=(e,t)=>e<255?t(e):"";function vO(e){var t=mO(e)?pO:gO;return e?"#"+t(e.r)+t(e.g)+t(e.b)+bO(e.a,t):void 0}const yO=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function k_(e,t,s){const n=t*Math.min(s,1-s),i=(o,r=(o+e/30)%12)=>s-n*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function xO(e,t,s){const n=(i,o=(i+e/60)%6)=>s-s*t*Math.max(Math.min(o,4-o,1),0);return[n(5),n(3),n(1)]}function wO(e,t,s){const n=k_(e,1,.5);let i;for(t+s>1&&(i=1/(t+s),t*=i,s*=i),i=0;i<3;i++)n[i]*=1-t-s,n[i]+=t;return n}function EO(e,t,s,n,i){return e===i?(t-s)/n+(t.5?d/(2-o-r):d/(o+r),l=EO(s,n,i,d,o),l=l*60+.5),[l|0,c||0,a]}function Xd(e,t,s,n){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,s,n)).map(gn)}function Qd(e,t,s){return Xd(k_,e,t,s)}function SO(e,t,s){return Xd(wO,e,t,s)}function AO(e,t,s){return Xd(xO,e,t,s)}function T_(e){return(e%360+360)%360}function CO(e){const t=yO.exec(e);let s=255,n;if(!t)return;t[5]!==n&&(s=t[6]?vo(+t[5]):gn(+t[5]));const i=T_(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?n=SO(i,o,r):t[1]==="hsv"?n=AO(i,o,r):n=Qd(i,o,r),{r:n[0],g:n[1],b:n[2],a:s}}function $O(e,t){var s=Jd(e);s[0]=T_(s[0]+t),s=Qd(s),e.r=s[0],e.g=s[1],e.b=s[2]}function PO(e){if(!e)return;const t=Jd(e),s=t[0],n=$f(t[1]),i=$f(t[2]);return e.a<255?`hsla(${s}, ${n}%, ${i}%, ${Is(e.a)})`:`hsl(${s}, ${n}%, ${i}%)`}const Pf={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"},kf={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 kO(){const e={},t=Object.keys(kf),s=Object.keys(Pf);let n,i,o,r,a;for(n=0;n>16&255,o>>8&255,o&255]}return e}let Vr;function TO(e){Vr||(Vr=kO(),Vr.transparent=[0,0,0,0]);const t=Vr[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const MO=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function DO(e){const t=MO.exec(e);let s=255,n,i,o;if(t){if(t[7]!==n){const r=+t[7];s=t[8]?vo(r):ln(r*255,0,255)}return n=+t[1],i=+t[3],o=+t[5],n=255&(t[2]?vo(n):ln(n,0,255)),i=255&(t[4]?vo(i):ln(i,0,255)),o=255&(t[6]?vo(o):ln(o,0,255)),{r:n,g:i,b:o,a:s}}}function IO(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Is(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Xl=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,bi=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function OO(e,t,s){const n=bi(Is(e.r)),i=bi(Is(e.g)),o=bi(Is(e.b));return{r:gn(Xl(n+s*(bi(Is(t.r))-n))),g:gn(Xl(i+s*(bi(Is(t.g))-i))),b:gn(Xl(o+s*(bi(Is(t.b))-o))),a:e.a+s*(t.a-e.a)}}function jr(e,t,s){if(e){let n=Jd(e);n[t]=Math.max(0,Math.min(n[t]+n[t]*s,t===0?360:1)),n=Qd(n),e.r=n[0],e.g=n[1],e.b=n[2]}}function M_(e,t){return e&&Object.assign(t||{},e)}function Tf(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=gn(e[3]))):(t=M_(e,{r:0,g:0,b:0,a:1}),t.a=gn(t.a)),t}function LO(e){return e.charAt(0)==="r"?DO(e):CO(e)}class qo{constructor(t){if(t instanceof qo)return t;const s=typeof t;let n;s==="object"?n=Tf(t):s==="string"&&(n=_O(t)||TO(t)||LO(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=M_(this._rgb);return t&&(t.a=Is(t.a)),t}set rgb(t){this._rgb=Tf(t)}rgbString(){return this._valid?IO(this._rgb):void 0}hexString(){return this._valid?vO(this._rgb):void 0}hslString(){return this._valid?PO(this._rgb):void 0}mix(t,s){if(t){const n=this.rgb,i=t.rgb;let o;const r=s===o?.5:s,a=2*r-1,l=n.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,n.r=255&c*n.r+o*i.r+.5,n.g=255&c*n.g+o*i.g+.5,n.b=255&c*n.b+o*i.b+.5,n.a=r*n.a+(1-r)*i.a,this.rgb=n}return this}interpolate(t,s){return t&&(this._rgb=OO(this._rgb,t._rgb,s)),this}clone(){return new qo(this.rgb)}alpha(t){return this._rgb.a=gn(t),this}clearer(t){const s=this._rgb;return s.a*=1-t,this}greyscale(){const t=this._rgb,s=cr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=s,this}opaquer(t){const s=this._rgb;return s.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 jr(this._rgb,2,t),this}darken(t){return jr(this._rgb,2,-t),this}saturate(t){return jr(this._rgb,1,t),this}desaturate(t){return jr(this._rgb,1,-t),this}rotate(t){return $O(this._rgb,t),this}}/*! + */function cr(e){return e+.5|0}const ln=(e,t,s)=>Math.max(Math.min(e,s),t);function vo(e){return ln(cr(e*2.55),0,255)}function gn(e){return ln(cr(e*255),0,255)}function Os(e){return ln(cr(e/2.55)/100,0,1)}function $f(e){return ln(cr(e*100),0,100)}const Ye={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},Lc=[..."0123456789ABCDEF"],pO=e=>Lc[e&15],gO=e=>Lc[(e&240)>>4]+Lc[e&15],Br=e=>(e&240)>>4===(e&15),mO=e=>Br(e.r)&&Br(e.g)&&Br(e.b)&&Br(e.a);function _O(e){var t=e.length,s;return e[0]==="#"&&(t===4||t===5?s={r:255&Ye[e[1]]*17,g:255&Ye[e[2]]*17,b:255&Ye[e[3]]*17,a:t===5?Ye[e[4]]*17:255}:(t===7||t===9)&&(s={r:Ye[e[1]]<<4|Ye[e[2]],g:Ye[e[3]]<<4|Ye[e[4]],b:Ye[e[5]]<<4|Ye[e[6]],a:t===9?Ye[e[7]]<<4|Ye[e[8]]:255})),s}const bO=(e,t)=>e<255?t(e):"";function vO(e){var t=mO(e)?pO:gO;return e?"#"+t(e.r)+t(e.g)+t(e.b)+bO(e.a,t):void 0}const yO=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function k_(e,t,s){const n=t*Math.min(s,1-s),i=(o,r=(o+e/30)%12)=>s-n*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function xO(e,t,s){const n=(i,o=(i+e/60)%6)=>s-s*t*Math.max(Math.min(o,4-o,1),0);return[n(5),n(3),n(1)]}function wO(e,t,s){const n=k_(e,1,.5);let i;for(t+s>1&&(i=1/(t+s),t*=i,s*=i),i=0;i<3;i++)n[i]*=1-t-s,n[i]+=t;return n}function SO(e,t,s,n,i){return e===i?(t-s)/n+(t.5?d/(2-o-r):d/(o+r),l=SO(s,n,i,d,o),l=l*60+.5),[l|0,c||0,a]}function Xd(e,t,s,n){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,s,n)).map(gn)}function Qd(e,t,s){return Xd(k_,e,t,s)}function EO(e,t,s){return Xd(wO,e,t,s)}function AO(e,t,s){return Xd(xO,e,t,s)}function T_(e){return(e%360+360)%360}function CO(e){const t=yO.exec(e);let s=255,n;if(!t)return;t[5]!==n&&(s=t[6]?vo(+t[5]):gn(+t[5]));const i=T_(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?n=EO(i,o,r):t[1]==="hsv"?n=AO(i,o,r):n=Qd(i,o,r),{r:n[0],g:n[1],b:n[2],a:s}}function $O(e,t){var s=Jd(e);s[0]=T_(s[0]+t),s=Qd(s),e.r=s[0],e.g=s[1],e.b=s[2]}function PO(e){if(!e)return;const t=Jd(e),s=t[0],n=$f(t[1]),i=$f(t[2]);return e.a<255?`hsla(${s}, ${n}%, ${i}%, ${Os(e.a)})`:`hsl(${s}, ${n}%, ${i}%)`}const Pf={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"},kf={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 kO(){const e={},t=Object.keys(kf),s=Object.keys(Pf);let n,i,o,r,a;for(n=0;n>16&255,o>>8&255,o&255]}return e}let Vr;function TO(e){Vr||(Vr=kO(),Vr.transparent=[0,0,0,0]);const t=Vr[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const MO=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function DO(e){const t=MO.exec(e);let s=255,n,i,o;if(t){if(t[7]!==n){const r=+t[7];s=t[8]?vo(r):ln(r*255,0,255)}return n=+t[1],i=+t[3],o=+t[5],n=255&(t[2]?vo(n):ln(n,0,255)),i=255&(t[4]?vo(i):ln(i,0,255)),o=255&(t[6]?vo(o):ln(o,0,255)),{r:n,g:i,b:o,a:s}}}function IO(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Os(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Xl=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,bi=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function OO(e,t,s){const n=bi(Os(e.r)),i=bi(Os(e.g)),o=bi(Os(e.b));return{r:gn(Xl(n+s*(bi(Os(t.r))-n))),g:gn(Xl(i+s*(bi(Os(t.g))-i))),b:gn(Xl(o+s*(bi(Os(t.b))-o))),a:e.a+s*(t.a-e.a)}}function jr(e,t,s){if(e){let n=Jd(e);n[t]=Math.max(0,Math.min(n[t]+n[t]*s,t===0?360:1)),n=Qd(n),e.r=n[0],e.g=n[1],e.b=n[2]}}function M_(e,t){return e&&Object.assign(t||{},e)}function Tf(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=gn(e[3]))):(t=M_(e,{r:0,g:0,b:0,a:1}),t.a=gn(t.a)),t}function LO(e){return e.charAt(0)==="r"?DO(e):CO(e)}class qo{constructor(t){if(t instanceof qo)return t;const s=typeof t;let n;s==="object"?n=Tf(t):s==="string"&&(n=_O(t)||TO(t)||LO(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=M_(this._rgb);return t&&(t.a=Os(t.a)),t}set rgb(t){this._rgb=Tf(t)}rgbString(){return this._valid?IO(this._rgb):void 0}hexString(){return this._valid?vO(this._rgb):void 0}hslString(){return this._valid?PO(this._rgb):void 0}mix(t,s){if(t){const n=this.rgb,i=t.rgb;let o;const r=s===o?.5:s,a=2*r-1,l=n.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,n.r=255&c*n.r+o*i.r+.5,n.g=255&c*n.g+o*i.g+.5,n.b=255&c*n.b+o*i.b+.5,n.a=r*n.a+(1-r)*i.a,this.rgb=n}return this}interpolate(t,s){return t&&(this._rgb=OO(this._rgb,t._rgb,s)),this}clone(){return new qo(this.rgb)}alpha(t){return this._rgb.a=gn(t),this}clearer(t){const s=this._rgb;return s.a*=1-t,this}greyscale(){const t=this._rgb,s=cr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=s,this}opaquer(t){const s=this._rgb;return s.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 jr(this._rgb,2,t),this}darken(t){return jr(this._rgb,2,-t),this}saturate(t){return jr(this._rgb,1,t),this}desaturate(t){return jr(this._rgb,1,-t),this}rotate(t){return $O(this._rgb,t),this}}/*! * Chart.js v4.4.1 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function Ps(){}const RO=(()=>{let e=0;return()=>e++})();function jt(e){return e===null||typeof e>"u"}function Jt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function Nt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function te(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Ie(e,t){return te(e)?e:t}function $t(e,t){return typeof e>"u"?t:e}const NO=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,D_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Yt(e,t,s){if(e&&typeof e.call=="function")return e.apply(s,t)}function zt(e,t,s,n){let i,o,r;if(Jt(e))if(o=e.length,n)for(i=o-1;i>=0;i--)t.call(s,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function VO(e){const t=e.split("."),s=[];let n="";for(const i of t)n+=i,n.endsWith("\\")?n=n.slice(0,-1)+".":(s.push(n),n="");return s}function jO(e){const t=VO(e);return s=>{for(const n of t){if(n==="")break;s=s&&s[n]}return s}}function vn(e,t){return(Mf[t]||(Mf[t]=jO(t)))(e)}function Zd(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Jo=e=>typeof e<"u",yn=e=>typeof e=="function",Df=(e,t)=>{if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0};function HO(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Qt=Math.PI,Xt=2*Qt,WO=Xt+Qt,Ma=Number.POSITIVE_INFINITY,zO=Qt/180,se=Qt/2,Bn=Qt/4,If=Qt*2/3,cn=Math.log10,ys=Math.sign;function Lo(e,t,s){return Math.abs(e-t)i-o).pop(),t}function qi(e){return!isNaN(parseFloat(e))&&isFinite(e)}function UO(e,t){const s=Math.round(e);return s-t<=e&&s+t>=e}function O_(e,t,s){let n,i,o;for(n=0,i=e.length;nl&&c=Math.min(t,s)-n&&e<=Math.max(t,s)+n}function eu(e,t,s){s=s||(r=>e[r]1;)o=i+n>>1,s(o)?i=o:n=o;return{lo:i,hi:n}}const Rs=(e,t,s,n)=>eu(e,s,n?i=>{const o=e[i][t];return oe[i][t]eu(e,s,n=>e[n][t]>=s);function JO(e,t,s){let n=0,i=e.length;for(;nn&&e[i-1]>s;)i--;return n>0||i{const n="_onData"+Zd(s),i=e[s];Object.defineProperty(e,s,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[n]=="function"&&a[n](...o)}),r}})})}function Rf(e,t){const s=e._chartjs;if(!s)return;const n=s.listeners,i=n.indexOf(t);i!==-1&&n.splice(i,1),!(n.length>0)&&(R_.forEach(o=>{delete e[o]}),delete e._chartjs)}function N_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const F_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function B_(e,t){let s=[],n=!1;return function(...i){s=i,n||(n=!0,F_.call(window,()=>{n=!1,e.apply(t,s)}))}}function QO(e,t){let s;return function(...n){return t?(clearTimeout(s),s=setTimeout(e,t,n)):e.apply(this,n),t}}const su=e=>e==="start"?"left":e==="end"?"right":"center",me=(e,t,s)=>e==="start"?t:e==="end"?s:(t+s)/2,ZO=(e,t,s,n)=>e===(n?"left":"right")?s:e==="center"?(t+s)/2:t;function V_(e,t,s){const n=t.length;let i=0,o=n;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:d,minDefined:u,maxDefined:p}=r.getUserBounds();u&&(i=fe(Math.min(Rs(a,l,c).lo,s?n:Rs(t,l,r.getPixelForValue(c)).lo),0,n-1)),p?o=fe(Math.max(Rs(a,r.axis,d,!0).hi+1,s?0:Rs(t,l,r.getPixelForValue(d),!0).hi+1),i,n)-i:o=n-i}return{start:i,count:o}}function j_(e){const{xScale:t,yScale:s,_scaleRanges:n}=e,i={xmin:t.min,xmax:t.max,ymin:s.min,ymax:s.max};if(!n)return e._scaleRanges=i,!0;const o=n.xmin!==t.min||n.xmax!==t.max||n.ymin!==s.min||n.ymax!==s.max;return Object.assign(n,i),o}const Hr=e=>e===0||e===1,Nf=(e,t,s)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*Xt/s)),Ff=(e,t,s)=>Math.pow(2,-10*e)*Math.sin((e-t)*Xt/s)+1,Ro={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*se)+1,easeOutSine:e=>Math.sin(e*se),easeInOutSine:e=>-.5*(Math.cos(Qt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Hr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Hr(e)?e:Nf(e,.075,.3),easeOutElastic:e=>Hr(e)?e:Ff(e,.075,.3),easeInOutElastic(e){return Hr(e)?e:e<.5?.5*Nf(e*2,.1125,.45):.5+.5*Ff(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Ro.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Ro.easeInBounce(e*2)*.5:Ro.easeOutBounce(e*2-1)*.5+.5};function nu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Bf(e){return nu(e)?e:new qo(e)}function Ql(e){return nu(e)?e:new qo(e).saturate(.5).darken(.1).hexString()}const t2=["x","y","borderWidth","radius","tension"],e2=["color","borderColor","backgroundColor"];function s2(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:e2},numbers:{type:"number",properties:t2}}),e.describe("animations",{_fallback:"animation"}),e.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 n2(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Vf=new Map;function i2(e,t){t=t||{};const s=e+JSON.stringify(t);let n=Vf.get(s);return n||(n=new Intl.NumberFormat(e,t),Vf.set(s,n)),n}function dr(e,t,s){return i2(t,s).format(e)}const H_={values(e){return Jt(e)?e:""+e},numeric(e,t,s){if(e===0)return"0";const n=this.chart.options.locale;let i,o=e;if(s.length>1){const c=Math.max(Math.abs(s[0].value),Math.abs(s[s.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=o2(e,s)}const r=cn(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),dr(e,n,l)},logarithmic(e,t,s){if(e===0)return"0";const n=s[t].significand||e/Math.pow(10,Math.floor(cn(e)));return[1,2,3,5,10,15].includes(n)||t>.8*s.length?H_.numeric.call(this,e,t,s):""}};function o2(e,t){let s=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(s)>=1&&e!==Math.floor(e)&&(s=e-Math.floor(e)),s}var dl={formatters:H_};function r2(e){e.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,s)=>s.lineWidth,tickColor:(t,s)=>s.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:dl.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ni=Object.create(null),Nc=Object.create(null);function No(e,t){if(!t)return e;const s=t.split(".");for(let n=0,i=s.length;nn.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=(n,i)=>Ql(i.backgroundColor),this.hoverBorderColor=(n,i)=>Ql(i.borderColor),this.hoverColor=(n,i)=>Ql(i.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(s)}set(t,s){return Zl(this,t,s)}get(t){return No(this,t)}describe(t,s){return Zl(Nc,t,s)}override(t,s){return Zl(ni,t,s)}route(t,s,n,i){const o=No(this,t),r=No(this,n),a="_"+s;Object.defineProperties(o,{[a]:{value:o[s],writable:!0},[s]:{enumerable:!0,get(){const l=this[a],c=r[i];return Nt(l)?Object.assign({},c,l):$t(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(s=>s(this))}}var ee=new a2({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[s2,n2,r2]);function l2(e){return!e||jt(e.size)||jt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Da(e,t,s,n,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,s.push(i)),o>n&&(n=o),n}function c2(e,t,s,n){n=n||{};let i=n.data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==t&&(i=n.data={},o=n.garbageCollect=[],n.font=t),e.save(),e.font=t;let r=0;const a=s.length;let l,c,d,u,p;for(l=0;ls.length){for(l=0;l0&&e.stroke()}}function Ns(e,t,s){return s=s||.5,!t||e&&e.x>t.left-s&&e.xt.top-s&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,h2(e,o),l=0;l+e||0;function iu(e,t){const s={},n=Nt(t),i=n?Object.keys(t):t,o=Nt(e)?n?r=>$t(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)s[r]=b2(o(r));return s}function z_(e){return iu(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Qn(e){return iu(e,["topLeft","topRight","bottomLeft","bottomRight"])}function be(e){const t=z_(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ce(e,t){e=e||{},t=t||ee.font;let s=$t(e.size,t.size);typeof s=="string"&&(s=parseInt(s,10));let n=$t(e.style,t.style);n&&!(""+n).match(m2)&&(console.warn('Invalid font style specified: "'+n+'"'),n=void 0);const i={family:$t(e.family,t.family),lineHeight:_2($t(e.lineHeight,t.lineHeight),s),size:s,style:n,weight:$t(e.weight,t.weight),string:""};return i.string=l2(i),i}function yo(e,t,s,n){let i=!0,o,r,a;for(o=0,r=e.length;os&&a===0?0:a+l;return{min:r(n,-Math.abs(o)),max:r(i,o)}}function Cn(e,t){return Object.assign(Object.create(e),t)}function ou(e,t=[""],s,n,i=()=>e[0]){const o=s||e;typeof n>"u"&&(n=q_("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:n,_getTarget:i,override:a=>ou([a,...e],t,o,n)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return U_(a,l,()=>$2(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Wf(a).includes(l)},ownKeys(a){return Wf(a)},set(a,l,c){const d=a._storage||(a._storage=i());return a[l]=d[l]=c,delete a._keys,!0}})}function Gi(e,t,s,n){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:s,_stack:new Set,_descriptors:K_(e,n),setContext:o=>Gi(e,o,s,n),override:o=>Gi(e.override(o),t,s,n)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return U_(o,r,()=>x2(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function K_(e,t={scriptable:!0,indexable:!0}){const{_scriptable:s=t.scriptable,_indexable:n=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:s,indexable:n,isScriptable:yn(s)?s:()=>s,isIndexable:yn(n)?n:()=>n}}const y2=(e,t)=>e?e+Zd(t):t,ru=(e,t)=>Nt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function U_(e,t,s){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=s();return e[t]=n,n}function x2(e,t,s){const{_proxy:n,_context:i,_subProxy:o,_descriptors:r}=e;let a=n[t];return yn(a)&&r.isScriptable(t)&&(a=w2(t,a,e,s)),Jt(a)&&a.length&&(a=E2(t,a,e,r.isIndexable)),ru(t,a)&&(a=Gi(a,i,o&&o[t],r)),a}function w2(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=s;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||n);return a.delete(e),ru(e,l)&&(l=au(i._scopes,i,e,l)),l}function E2(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=s;if(typeof o.index<"u"&&n(e))return t[o.index%t.length];if(Nt(t[0])){const l=t,c=i._scopes.filter(d=>d!==l);t=[];for(const d of l){const u=au(c,i,e,d);t.push(Gi(u,o,r&&r[e],a))}}return t}function Y_(e,t,s){return yn(e)?e(t,s):e}const S2=(e,t)=>e===!0?t:typeof e=="string"?vn(t,e):void 0;function A2(e,t,s,n,i){for(const o of t){const r=S2(s,o);if(r){e.add(r);const a=Y_(r._fallback,s,i);if(typeof a<"u"&&a!==s&&a!==n)return a}else if(r===!1&&typeof n<"u"&&s!==n)return null}return!1}function au(e,t,s,n){const i=t._rootScopes,o=Y_(t._fallback,s,n),r=[...e,...i],a=new Set;a.add(n);let l=Hf(a,r,s,o||s,n);return l===null||typeof o<"u"&&o!==s&&(l=Hf(a,r,o,l,n),l===null)?!1:ou(Array.from(a),[""],i,o,()=>C2(t,s,n))}function Hf(e,t,s,n,i){for(;s;)s=A2(e,t,s,n,i);return s}function C2(e,t,s){const n=e._getTarget();t in n||(n[t]={});const i=n[t];return Jt(i)&&Nt(s)?s:i||{}}function $2(e,t,s,n){let i;for(const o of t)if(i=q_(y2(o,e),s),typeof i<"u")return ru(e,i)?au(s,n,e,i):i}function q_(e,t){for(const s of t){if(!s)continue;const n=s[e];if(typeof n<"u")return n}}function Wf(e){let t=e._keys;return t||(t=e._keys=P2(e._scopes)),t}function P2(e){const t=new Set;for(const s of e)for(const n of Object.keys(s).filter(i=>!i.startsWith("_")))t.add(n);return Array.from(t)}function G_(e,t,s,n){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(n);let a,l,c,d;for(a=0,l=n;ate==="x"?"y":"x";function T2(e,t,s,n){const i=e.skip?t:e,o=t,r=s.skip?t:s,a=Rc(o,i),l=Rc(r,o);let c=a/(a+l),d=l/(a+l);c=isNaN(c)?0:c,d=isNaN(d)?0:d;const u=n*c,p=n*d;return{previous:{x:o.x-u*(r.x-i.x),y:o.y-u*(r.y-i.y)},next:{x:o.x+p*(r.x-i.x),y:o.y+p*(r.y-i.y)}}}function M2(e,t,s){const n=e.length;let i,o,r,a,l,c=Ji(e,0);for(let d=0;d!c.skip)),t.cubicInterpolationMode==="monotone")I2(e,i);else{let c=n?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function R2(e,t){return fl(e).getPropertyValue(t)}const N2=["top","right","bottom","left"];function Zn(e,t,s){const n={};s=s?"-"+s:"";for(let i=0;i<4;i++){const o=N2[i];n[o]=parseFloat(e[t+"-"+o+s])||0}return n.width=n.left+n.right,n.height=n.top+n.bottom,n}const F2=(e,t,s)=>(e>0||t>0)&&(!s||!s.shadowRoot);function B2(e,t){const s=e.touches,n=s&&s.length?s[0]:e,{offsetX:i,offsetY:o}=n;let r=!1,a,l;if(F2(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=n.clientX-c.left,l=n.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Wn(e,t){if("native"in e)return e;const{canvas:s,currentDevicePixelRatio:n}=t,i=fl(s),o=i.boxSizing==="border-box",r=Zn(i,"padding"),a=Zn(i,"border","width"),{x:l,y:c,box:d}=B2(e,s),u=r.left+(d&&a.left),p=r.top+(d&&a.top);let{width:g,height:m}=t;return o&&(g-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-u)/g*s.width/n),y:Math.round((c-p)/m*s.height/n)}}function V2(e,t,s){let n,i;if(t===void 0||s===void 0){const o=cu(e);if(!o)t=e.clientWidth,s=e.clientHeight;else{const r=o.getBoundingClientRect(),a=fl(o),l=Zn(a,"border","width"),c=Zn(a,"padding");t=r.width-c.width-l.width,s=r.height-c.height-l.height,n=Ia(a.maxWidth,o,"clientWidth"),i=Ia(a.maxHeight,o,"clientHeight")}}return{width:t,height:s,maxWidth:n||Ma,maxHeight:i||Ma}}const zr=e=>Math.round(e*10)/10;function j2(e,t,s,n){const i=fl(e),o=Zn(i,"margin"),r=Ia(i.maxWidth,e,"clientWidth")||Ma,a=Ia(i.maxHeight,e,"clientHeight")||Ma,l=V2(e,t,s);let{width:c,height:d}=l;if(i.boxSizing==="content-box"){const p=Zn(i,"border","width"),g=Zn(i,"padding");c-=g.width+p.width,d-=g.height+p.height}return c=Math.max(0,c-o.width),d=Math.max(0,n?c/n:d-o.height),c=zr(Math.min(c,r,l.maxWidth)),d=zr(Math.min(d,a,l.maxHeight)),c&&!d&&(d=zr(c/2)),(t!==void 0||s!==void 0)&&n&&l.height&&d>l.height&&(d=l.height,c=zr(Math.floor(d*n))),{width:c,height:d}}function zf(e,t,s){const n=t||1,i=Math.floor(e.height*n),o=Math.floor(e.width*n);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(s||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==n||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=n,r.height=i,r.width=o,e.ctx.setTransform(n,0,0,n,0,0),!0):!1}const H2=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};lu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function Kf(e,t){const s=R2(e,t),n=s&&s.match(/^(\d+)(\.\d+)?px$/);return n?+n[1]:void 0}function zn(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:e.y+s*(t.y-e.y)}}function W2(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:n==="middle"?s<.5?e.y:t.y:n==="after"?s<1?e.y:t.y:s>0?t.y:e.y}}function z2(e,t,s,n){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=zn(e,i,s),a=zn(i,o,s),l=zn(o,t,s),c=zn(r,a,s),d=zn(a,l,s);return zn(c,d,s)}const K2=function(e,t){return{x(s){return e+e+t-s},setWidth(s){t=s},textAlign(s){return s==="center"?s:s==="right"?"left":"right"},xPlus(s,n){return s-n},leftForLtr(s,n){return s-n}}},U2=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Ti(e,t,s){return e?K2(t,s):U2()}function X_(e,t){let s,n;(t==="ltr"||t==="rtl")&&(s=e.canvas.style,n=[s.getPropertyValue("direction"),s.getPropertyPriority("direction")],s.setProperty("direction",t,"important"),e.prevTextDirection=n)}function Q_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function Z_(e){return e==="angle"?{between:Xo,compare:YO,normalize:Le}:{between:Ls,compare:(t,s)=>t-s,normalize:t=>t}}function Uf({start:e,end:t,count:s,loop:n,style:i}){return{start:e%s,end:t%s,loop:n&&(t-e+1)%s===0,style:i}}function Y2(e,t,s){const{property:n,start:i,end:o}=s,{between:r,normalize:a}=Z_(n),l=t.length;let{start:c,end:d,loop:u}=e,p,g;if(u){for(c+=l,d+=l,p=0,g=l;pl(i,$,w)&&a(i,$)!==0,y=()=>a(o,w)===0||l(o,$,w),x=()=>_||T(),C=()=>!_||y();for(let S=d,P=d;S<=u;++S)E=t[S%r],!E.skip&&(w=c(E[n]),w!==$&&(_=l(w,i,o),v===null&&x()&&(v=a(w,i)===0?S:P),v!==null&&C()&&(m.push(Uf({start:v,end:S,loop:p,count:r,style:g})),v=null),P=S,$=w));return v!==null&&m.push(Uf({start:v,end:u,loop:p,count:r,style:g})),m}function eb(e,t){const s=[],n=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function G2(e,t,s,n){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=s;++l){const c=e[l%i];c.skip||c.stop?a.skip||(n=!1,o.push({start:t%i,end:(l-1)%i,loop:n}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:n}),o}function J2(e,t){const s=e.points,n=e.options.spanGaps,i=s.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=q2(s,i,o,n);if(n===!0)return Yf(e,[{start:r,end:a,loop:o}],s,t);const l=a{let e=0;return()=>e++})();function jt(e){return e===null||typeof e>"u"}function Jt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function Nt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function te(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Ie(e,t){return te(e)?e:t}function $t(e,t){return typeof e>"u"?t:e}const NO=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,D_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Yt(e,t,s){if(e&&typeof e.call=="function")return e.apply(s,t)}function zt(e,t,s,n){let i,o,r;if(Jt(e))if(o=e.length,n)for(i=o-1;i>=0;i--)t.call(s,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function VO(e){const t=e.split("."),s=[];let n="";for(const i of t)n+=i,n.endsWith("\\")?n=n.slice(0,-1)+".":(s.push(n),n="");return s}function jO(e){const t=VO(e);return s=>{for(const n of t){if(n==="")break;s=s&&s[n]}return s}}function vn(e,t){return(Mf[t]||(Mf[t]=jO(t)))(e)}function Zd(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Jo=e=>typeof e<"u",yn=e=>typeof e=="function",Df=(e,t)=>{if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0};function HO(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Qt=Math.PI,Xt=2*Qt,WO=Xt+Qt,Ma=Number.POSITIVE_INFINITY,zO=Qt/180,se=Qt/2,Bn=Qt/4,If=Qt*2/3,cn=Math.log10,xs=Math.sign;function Lo(e,t,s){return Math.abs(e-t)i-o).pop(),t}function qi(e){return!isNaN(parseFloat(e))&&isFinite(e)}function UO(e,t){const s=Math.round(e);return s-t<=e&&s+t>=e}function O_(e,t,s){let n,i,o;for(n=0,i=e.length;nl&&c=Math.min(t,s)-n&&e<=Math.max(t,s)+n}function eu(e,t,s){s=s||(r=>e[r]1;)o=i+n>>1,s(o)?i=o:n=o;return{lo:i,hi:n}}const Ns=(e,t,s,n)=>eu(e,s,n?i=>{const o=e[i][t];return oe[i][t]eu(e,s,n=>e[n][t]>=s);function JO(e,t,s){let n=0,i=e.length;for(;nn&&e[i-1]>s;)i--;return n>0||i{const n="_onData"+Zd(s),i=e[s];Object.defineProperty(e,s,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[n]=="function"&&a[n](...o)}),r}})})}function Rf(e,t){const s=e._chartjs;if(!s)return;const n=s.listeners,i=n.indexOf(t);i!==-1&&n.splice(i,1),!(n.length>0)&&(R_.forEach(o=>{delete e[o]}),delete e._chartjs)}function N_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const F_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function B_(e,t){let s=[],n=!1;return function(...i){s=i,n||(n=!0,F_.call(window,()=>{n=!1,e.apply(t,s)}))}}function QO(e,t){let s;return function(...n){return t?(clearTimeout(s),s=setTimeout(e,t,n)):e.apply(this,n),t}}const su=e=>e==="start"?"left":e==="end"?"right":"center",me=(e,t,s)=>e==="start"?t:e==="end"?s:(t+s)/2,ZO=(e,t,s,n)=>e===(n?"left":"right")?s:e==="center"?(t+s)/2:t;function V_(e,t,s){const n=t.length;let i=0,o=n;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:d,minDefined:u,maxDefined:p}=r.getUserBounds();u&&(i=fe(Math.min(Ns(a,l,c).lo,s?n:Ns(t,l,r.getPixelForValue(c)).lo),0,n-1)),p?o=fe(Math.max(Ns(a,r.axis,d,!0).hi+1,s?0:Ns(t,l,r.getPixelForValue(d),!0).hi+1),i,n)-i:o=n-i}return{start:i,count:o}}function j_(e){const{xScale:t,yScale:s,_scaleRanges:n}=e,i={xmin:t.min,xmax:t.max,ymin:s.min,ymax:s.max};if(!n)return e._scaleRanges=i,!0;const o=n.xmin!==t.min||n.xmax!==t.max||n.ymin!==s.min||n.ymax!==s.max;return Object.assign(n,i),o}const Hr=e=>e===0||e===1,Nf=(e,t,s)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*Xt/s)),Ff=(e,t,s)=>Math.pow(2,-10*e)*Math.sin((e-t)*Xt/s)+1,Ro={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*se)+1,easeOutSine:e=>Math.sin(e*se),easeInOutSine:e=>-.5*(Math.cos(Qt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Hr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Hr(e)?e:Nf(e,.075,.3),easeOutElastic:e=>Hr(e)?e:Ff(e,.075,.3),easeInOutElastic(e){return Hr(e)?e:e<.5?.5*Nf(e*2,.1125,.45):.5+.5*Ff(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Ro.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Ro.easeInBounce(e*2)*.5:Ro.easeOutBounce(e*2-1)*.5+.5};function nu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Bf(e){return nu(e)?e:new qo(e)}function Ql(e){return nu(e)?e:new qo(e).saturate(.5).darken(.1).hexString()}const t2=["x","y","borderWidth","radius","tension"],e2=["color","borderColor","backgroundColor"];function s2(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:e2},numbers:{type:"number",properties:t2}}),e.describe("animations",{_fallback:"animation"}),e.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 n2(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Vf=new Map;function i2(e,t){t=t||{};const s=e+JSON.stringify(t);let n=Vf.get(s);return n||(n=new Intl.NumberFormat(e,t),Vf.set(s,n)),n}function dr(e,t,s){return i2(t,s).format(e)}const H_={values(e){return Jt(e)?e:""+e},numeric(e,t,s){if(e===0)return"0";const n=this.chart.options.locale;let i,o=e;if(s.length>1){const c=Math.max(Math.abs(s[0].value),Math.abs(s[s.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=o2(e,s)}const r=cn(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),dr(e,n,l)},logarithmic(e,t,s){if(e===0)return"0";const n=s[t].significand||e/Math.pow(10,Math.floor(cn(e)));return[1,2,3,5,10,15].includes(n)||t>.8*s.length?H_.numeric.call(this,e,t,s):""}};function o2(e,t){let s=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(s)>=1&&e!==Math.floor(e)&&(s=e-Math.floor(e)),s}var dl={formatters:H_};function r2(e){e.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,s)=>s.lineWidth,tickColor:(t,s)=>s.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:dl.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ni=Object.create(null),Nc=Object.create(null);function No(e,t){if(!t)return e;const s=t.split(".");for(let n=0,i=s.length;nn.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=(n,i)=>Ql(i.backgroundColor),this.hoverBorderColor=(n,i)=>Ql(i.borderColor),this.hoverColor=(n,i)=>Ql(i.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(s)}set(t,s){return Zl(this,t,s)}get(t){return No(this,t)}describe(t,s){return Zl(Nc,t,s)}override(t,s){return Zl(ni,t,s)}route(t,s,n,i){const o=No(this,t),r=No(this,n),a="_"+s;Object.defineProperties(o,{[a]:{value:o[s],writable:!0},[s]:{enumerable:!0,get(){const l=this[a],c=r[i];return Nt(l)?Object.assign({},c,l):$t(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(s=>s(this))}}var ee=new a2({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[s2,n2,r2]);function l2(e){return!e||jt(e.size)||jt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Da(e,t,s,n,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,s.push(i)),o>n&&(n=o),n}function c2(e,t,s,n){n=n||{};let i=n.data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==t&&(i=n.data={},o=n.garbageCollect=[],n.font=t),e.save(),e.font=t;let r=0;const a=s.length;let l,c,d,u,p;for(l=0;ls.length){for(l=0;l0&&e.stroke()}}function Fs(e,t,s){return s=s||.5,!t||e&&e.x>t.left-s&&e.xt.top-s&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,h2(e,o),l=0;l+e||0;function iu(e,t){const s={},n=Nt(t),i=n?Object.keys(t):t,o=Nt(e)?n?r=>$t(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)s[r]=b2(o(r));return s}function z_(e){return iu(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Qn(e){return iu(e,["topLeft","topRight","bottomLeft","bottomRight"])}function be(e){const t=z_(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ce(e,t){e=e||{},t=t||ee.font;let s=$t(e.size,t.size);typeof s=="string"&&(s=parseInt(s,10));let n=$t(e.style,t.style);n&&!(""+n).match(m2)&&(console.warn('Invalid font style specified: "'+n+'"'),n=void 0);const i={family:$t(e.family,t.family),lineHeight:_2($t(e.lineHeight,t.lineHeight),s),size:s,style:n,weight:$t(e.weight,t.weight),string:""};return i.string=l2(i),i}function yo(e,t,s,n){let i=!0,o,r,a;for(o=0,r=e.length;os&&a===0?0:a+l;return{min:r(n,-Math.abs(o)),max:r(i,o)}}function Cn(e,t){return Object.assign(Object.create(e),t)}function ou(e,t=[""],s,n,i=()=>e[0]){const o=s||e;typeof n>"u"&&(n=q_("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:n,_getTarget:i,override:a=>ou([a,...e],t,o,n)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return U_(a,l,()=>$2(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Wf(a).includes(l)},ownKeys(a){return Wf(a)},set(a,l,c){const d=a._storage||(a._storage=i());return a[l]=d[l]=c,delete a._keys,!0}})}function Gi(e,t,s,n){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:s,_stack:new Set,_descriptors:K_(e,n),setContext:o=>Gi(e,o,s,n),override:o=>Gi(e.override(o),t,s,n)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return U_(o,r,()=>x2(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function K_(e,t={scriptable:!0,indexable:!0}){const{_scriptable:s=t.scriptable,_indexable:n=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:s,indexable:n,isScriptable:yn(s)?s:()=>s,isIndexable:yn(n)?n:()=>n}}const y2=(e,t)=>e?e+Zd(t):t,ru=(e,t)=>Nt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function U_(e,t,s){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=s();return e[t]=n,n}function x2(e,t,s){const{_proxy:n,_context:i,_subProxy:o,_descriptors:r}=e;let a=n[t];return yn(a)&&r.isScriptable(t)&&(a=w2(t,a,e,s)),Jt(a)&&a.length&&(a=S2(t,a,e,r.isIndexable)),ru(t,a)&&(a=Gi(a,i,o&&o[t],r)),a}function w2(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=s;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||n);return a.delete(e),ru(e,l)&&(l=au(i._scopes,i,e,l)),l}function S2(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=s;if(typeof o.index<"u"&&n(e))return t[o.index%t.length];if(Nt(t[0])){const l=t,c=i._scopes.filter(d=>d!==l);t=[];for(const d of l){const u=au(c,i,e,d);t.push(Gi(u,o,r&&r[e],a))}}return t}function Y_(e,t,s){return yn(e)?e(t,s):e}const E2=(e,t)=>e===!0?t:typeof e=="string"?vn(t,e):void 0;function A2(e,t,s,n,i){for(const o of t){const r=E2(s,o);if(r){e.add(r);const a=Y_(r._fallback,s,i);if(typeof a<"u"&&a!==s&&a!==n)return a}else if(r===!1&&typeof n<"u"&&s!==n)return null}return!1}function au(e,t,s,n){const i=t._rootScopes,o=Y_(t._fallback,s,n),r=[...e,...i],a=new Set;a.add(n);let l=Hf(a,r,s,o||s,n);return l===null||typeof o<"u"&&o!==s&&(l=Hf(a,r,o,l,n),l===null)?!1:ou(Array.from(a),[""],i,o,()=>C2(t,s,n))}function Hf(e,t,s,n,i){for(;s;)s=A2(e,t,s,n,i);return s}function C2(e,t,s){const n=e._getTarget();t in n||(n[t]={});const i=n[t];return Jt(i)&&Nt(s)?s:i||{}}function $2(e,t,s,n){let i;for(const o of t)if(i=q_(y2(o,e),s),typeof i<"u")return ru(e,i)?au(s,n,e,i):i}function q_(e,t){for(const s of t){if(!s)continue;const n=s[e];if(typeof n<"u")return n}}function Wf(e){let t=e._keys;return t||(t=e._keys=P2(e._scopes)),t}function P2(e){const t=new Set;for(const s of e)for(const n of Object.keys(s).filter(i=>!i.startsWith("_")))t.add(n);return Array.from(t)}function G_(e,t,s,n){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(n);let a,l,c,d;for(a=0,l=n;ate==="x"?"y":"x";function T2(e,t,s,n){const i=e.skip?t:e,o=t,r=s.skip?t:s,a=Rc(o,i),l=Rc(r,o);let c=a/(a+l),d=l/(a+l);c=isNaN(c)?0:c,d=isNaN(d)?0:d;const u=n*c,p=n*d;return{previous:{x:o.x-u*(r.x-i.x),y:o.y-u*(r.y-i.y)},next:{x:o.x+p*(r.x-i.x),y:o.y+p*(r.y-i.y)}}}function M2(e,t,s){const n=e.length;let i,o,r,a,l,c=Ji(e,0);for(let d=0;d!c.skip)),t.cubicInterpolationMode==="monotone")I2(e,i);else{let c=n?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function R2(e,t){return fl(e).getPropertyValue(t)}const N2=["top","right","bottom","left"];function Zn(e,t,s){const n={};s=s?"-"+s:"";for(let i=0;i<4;i++){const o=N2[i];n[o]=parseFloat(e[t+"-"+o+s])||0}return n.width=n.left+n.right,n.height=n.top+n.bottom,n}const F2=(e,t,s)=>(e>0||t>0)&&(!s||!s.shadowRoot);function B2(e,t){const s=e.touches,n=s&&s.length?s[0]:e,{offsetX:i,offsetY:o}=n;let r=!1,a,l;if(F2(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=n.clientX-c.left,l=n.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Wn(e,t){if("native"in e)return e;const{canvas:s,currentDevicePixelRatio:n}=t,i=fl(s),o=i.boxSizing==="border-box",r=Zn(i,"padding"),a=Zn(i,"border","width"),{x:l,y:c,box:d}=B2(e,s),u=r.left+(d&&a.left),p=r.top+(d&&a.top);let{width:g,height:m}=t;return o&&(g-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-u)/g*s.width/n),y:Math.round((c-p)/m*s.height/n)}}function V2(e,t,s){let n,i;if(t===void 0||s===void 0){const o=cu(e);if(!o)t=e.clientWidth,s=e.clientHeight;else{const r=o.getBoundingClientRect(),a=fl(o),l=Zn(a,"border","width"),c=Zn(a,"padding");t=r.width-c.width-l.width,s=r.height-c.height-l.height,n=Ia(a.maxWidth,o,"clientWidth"),i=Ia(a.maxHeight,o,"clientHeight")}}return{width:t,height:s,maxWidth:n||Ma,maxHeight:i||Ma}}const zr=e=>Math.round(e*10)/10;function j2(e,t,s,n){const i=fl(e),o=Zn(i,"margin"),r=Ia(i.maxWidth,e,"clientWidth")||Ma,a=Ia(i.maxHeight,e,"clientHeight")||Ma,l=V2(e,t,s);let{width:c,height:d}=l;if(i.boxSizing==="content-box"){const p=Zn(i,"border","width"),g=Zn(i,"padding");c-=g.width+p.width,d-=g.height+p.height}return c=Math.max(0,c-o.width),d=Math.max(0,n?c/n:d-o.height),c=zr(Math.min(c,r,l.maxWidth)),d=zr(Math.min(d,a,l.maxHeight)),c&&!d&&(d=zr(c/2)),(t!==void 0||s!==void 0)&&n&&l.height&&d>l.height&&(d=l.height,c=zr(Math.floor(d*n))),{width:c,height:d}}function zf(e,t,s){const n=t||1,i=Math.floor(e.height*n),o=Math.floor(e.width*n);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(s||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==n||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=n,r.height=i,r.width=o,e.ctx.setTransform(n,0,0,n,0,0),!0):!1}const H2=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};lu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function Kf(e,t){const s=R2(e,t),n=s&&s.match(/^(\d+)(\.\d+)?px$/);return n?+n[1]:void 0}function zn(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:e.y+s*(t.y-e.y)}}function W2(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:n==="middle"?s<.5?e.y:t.y:n==="after"?s<1?e.y:t.y:s>0?t.y:e.y}}function z2(e,t,s,n){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=zn(e,i,s),a=zn(i,o,s),l=zn(o,t,s),c=zn(r,a,s),d=zn(a,l,s);return zn(c,d,s)}const K2=function(e,t){return{x(s){return e+e+t-s},setWidth(s){t=s},textAlign(s){return s==="center"?s:s==="right"?"left":"right"},xPlus(s,n){return s-n},leftForLtr(s,n){return s-n}}},U2=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Ti(e,t,s){return e?K2(t,s):U2()}function X_(e,t){let s,n;(t==="ltr"||t==="rtl")&&(s=e.canvas.style,n=[s.getPropertyValue("direction"),s.getPropertyPriority("direction")],s.setProperty("direction",t,"important"),e.prevTextDirection=n)}function Q_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function Z_(e){return e==="angle"?{between:Xo,compare:YO,normalize:Le}:{between:Rs,compare:(t,s)=>t-s,normalize:t=>t}}function Uf({start:e,end:t,count:s,loop:n,style:i}){return{start:e%s,end:t%s,loop:n&&(t-e+1)%s===0,style:i}}function Y2(e,t,s){const{property:n,start:i,end:o}=s,{between:r,normalize:a}=Z_(n),l=t.length;let{start:c,end:d,loop:u}=e,p,g;if(u){for(c+=l,d+=l,p=0,g=l;pl(i,$,w)&&a(i,$)!==0,y=()=>a(o,w)===0||l(o,$,w),x=()=>_||T(),C=()=>!_||y();for(let E=d,P=d;E<=u;++E)S=t[E%r],!S.skip&&(w=c(S[n]),w!==$&&(_=l(w,i,o),v===null&&x()&&(v=a(w,i)===0?E:P),v!==null&&C()&&(m.push(Uf({start:v,end:E,loop:p,count:r,style:g})),v=null),P=E,$=w));return v!==null&&m.push(Uf({start:v,end:u,loop:p,count:r,style:g})),m}function eb(e,t){const s=[],n=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function G2(e,t,s,n){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=s;++l){const c=e[l%i];c.skip||c.stop?a.skip||(n=!1,o.push({start:t%i,end:(l-1)%i,loop:n}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:n}),o}function J2(e,t){const s=e.points,n=e.options.spanGaps,i=s.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=q2(s,i,o,n);if(n===!0)return Yf(e,[{start:r,end:a,loop:o}],s,t);const l=aa({chart:t,initial:s.initial,numSteps:r,currentStep:Math.min(n-s.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=F_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let s=0;this._charts.forEach((n,i)=>{if(!n.running||!n.items.length)return;const o=n.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>n.duration&&(n.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,n,t,"progress")),o.length||(n.running=!1,this._notify(i,n,t,"complete"),n.initial=!1),s+=o.length}),this._lastDate=t,s===0&&(this._running=!1)}_getAnims(t){const s=this._charts;let n=s.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},s.set(t,n)),n}listen(t,s,n){this._getAnims(t).listeners[s].push(n)}add(t,s){!s||!s.length||this._getAnims(t).items.push(...s)}has(t){return this._getAnims(t).items.length>0}start(t){const s=this._charts.get(t);s&&(s.running=!0,s.start=Date.now(),s.duration=s.items.reduce((n,i)=>Math.max(n,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const s=this._charts.get(t);return!(!s||!s.running||!s.items.length)}stop(t){const s=this._charts.get(t);if(!s||!s.items.length)return;const n=s.items;let i=n.length-1;for(;i>=0;--i)n[i].cancel();s.items=[],this._notify(t,s,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Ts=new Z2;const Gf="transparent",tL={boolean(e,t,s){return s>.5?t:e},color(e,t,s){const n=Bf(e||Gf),i=n.valid&&Bf(t||Gf);return i&&i.valid?i.mix(n,s).hexString():t},number(e,t,s){return e+(t-e)*s}};class eL{constructor(t,s,n,i){const o=s[n];i=yo([t.to,i,o,t.from]);const r=yo([t.from,o,i]);this._active=!0,this._fn=t.fn||tL[t.type||typeof r],this._easing=Ro[t.easing]||Ro.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=s,this._prop=n,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,s,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=yo([t.to,s,i,t.from]),this._from=yo([t.from,i,s])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const s=t-this._start,n=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||s1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((s,n)=>{t.push({res:s,rej:n})})}_notify(t){const s=t?"res":"rej",n=this._promises||[];for(let i=0;i{const o=t[i];if(!Nt(o))return;const r={};for(const a of s)r[a]=o[a];(Jt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!n.has(a))&&n.set(a,r)})})}_animateOptions(t,s){const n=s.options,i=nL(t,n);if(!i)return[];const o=this._createAnimations(i,n);return n.$shared&&sL(t.options.$animations,n).then(()=>{t.options=n},()=>{}),o}_createAnimations(t,s){const n=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(s),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"){i.push(...this._animateOptions(t,s));continue}const d=s[c];let u=o[c];const p=n.get(c);if(u)if(p&&u.active()){u.update(p,d,a);continue}else u.cancel();if(!p||!p.duration){t[c]=d;continue}o[c]=u=new eL(p,t,c,d),i.push(u)}return i}update(t,s){if(this._properties.size===0){Object.assign(t,s);return}const n=this._createAnimations(t,s);if(n.length)return Ts.add(this._chart,n),!0}}function sL(e,t){const s=[],n=Object.keys(t);for(let i=0;i0||!s&&o<0)return i.index}return null}function tp(e,t){const{chart:s,_cachedMeta:n}=e,i=s._stacks||(s._stacks={}),{iScale:o,vScale:r,index:a}=n,l=o.axis,c=r.axis,d=aL(o,r,n),u=t.length;let p;for(let g=0;gs[n].axis===t).shift()}function dL(e,t){return Cn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function uL(e,t,s){return Cn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:s,index:t,mode:"default",type:"data"})}function ho(e,t){const s=e.controller.index,n=e.vScale&&e.vScale.axis;if(n){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[n]===void 0||o[n][s]===void 0)return;delete o[n][s],o[n]._visualValues!==void 0&&o[n]._visualValues[s]!==void 0&&delete o[n]._visualValues[s]}}}const ec=e=>e==="reset"||e==="none",ep=(e,t)=>t?e:Object.assign({},e),hL=(e,t,s)=>e&&!t.hidden&&t._stacked&&{keys:nb(s,!0),values:null};class cs{constructor(t,s){this.chart=t,this._ctx=t.ctx,this.index=s,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=Qf(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&&ho(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,s=this._cachedMeta,n=this.getDataset(),i=(u,p,g,m)=>u==="x"?p:u==="r"?m:g,o=s.xAxisID=$t(n.xAxisID,tc(t,"x")),r=s.yAxisID=$t(n.yAxisID,tc(t,"y")),a=s.rAxisID=$t(n.rAxisID,tc(t,"r")),l=s.indexAxis,c=s.iAxisID=i(l,o,r,a),d=s.vAxisID=i(l,r,o,a);s.xScale=this.getScaleForId(o),s.yScale=this.getScaleForId(r),s.rScale=this.getScaleForId(a),s.iScale=this.getScaleForId(c),s.vScale=this.getScaleForId(d)}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 s=this._cachedMeta;return t===s.iScale?s.vScale:s.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Rf(this._data,this),t._stacked&&ho(t)}_dataCheck(){const t=this.getDataset(),s=t.data||(t.data=[]),n=this._data;if(Nt(s))this._data=rL(s);else if(n!==s){if(n){Rf(n,this);const i=this._cachedMeta;ho(i),i._parsed=[]}s&&Object.isExtensible(s)&&XO(s,this),this._syncList=[],this._data=s}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const s=this._cachedMeta,n=this.getDataset();let i=!1;this._dataCheck();const o=s._stacked;s._stacked=Qf(s.vScale,s),s.stack!==n.stack&&(i=!0,ho(s),s.stack=n.stack),this._resyncElements(t),(i||o!==s._stacked)&&tp(this,s._parsed)}configure(){const t=this.chart.config,s=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),s,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,s){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:r}=n,a=o.axis;let l=t===0&&s===i.length?!0:n._sorted,c=t>0&&n._parsed[t-1],d,u,p;if(this._parsing===!1)n._parsed=i,n._sorted=!0,p=i;else{Jt(i[t])?p=this.parseArrayData(n,i,t,s):Nt(i[t])?p=this.parseObjectData(n,i,t,s):p=this.parsePrimitiveData(n,i,t,s);const g=()=>u[a]===null||c&&u[a]_||u<_}for(p=0;p=0;--p)if(!m()){this.updateRangeFromParsed(c,t,g,l);break}}return c}getAllParsedValues(t){const s=this._cachedMeta._parsed,n=[];let i,o,r;for(i=0,o=s.length;i=0&&tthis.getContext(n,i,s),_=c.resolveNamedOptions(p,g,m,u);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(ep(_,l))),_}_resolveAnimations(t,s,n){const i=this.chart,o=this._cachedDataOpts,r=`animation-${s}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const d=this.chart.config,u=d.datasetAnimationScopeKeys(this._type,s),p=d.getOptionScopes(this.getDataset(),u);l=d.createResolver(p,this.getContext(t,n,s))}const c=new sb(i,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,s){return!s||ec(t)||this.chart._animationsDisabled}_getSharedOptions(t,s){const n=this.resolveDataElementOptions(t,s),i=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(s,o)||o!==i;return this.updateSharedOptions(o,s,n),{sharedOptions:o,includeOptions:r}}updateElement(t,s,n,i){ec(i)?Object.assign(t,n):this._resolveAnimations(s,i).update(t,n)}updateSharedOptions(t,s,n){t&&!ec(s)&&this._resolveAnimations(void 0,s).update(t,n)}_setStyle(t,s,n,i){t.active=i;const o=this.getStyle(s,i);this._resolveAnimations(s,n,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,s,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,s,n){this._setStyle(t,n,"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 s=this._data,n=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=n.length,o=s.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=s,a=c.length-1;a>=r;a--)c[a]=c[a-s]};for(l(o),a=t;ai-o))}return e._cache.$bar}function pL(e){const t=e.iScale,s=fL(t,e.type);let n=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Jo(a)&&(n=Math.min(n,Math.abs(r-a)||n)),a=r)};for(i=0,o=s.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[s.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function ib(e,t,s,n){return Jt(e)?_L(e,t,s,n):t[s.axis]=s.parse(e,n),t}function sp(e,t,s,n){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,d,u,p;for(c=s,d=s+n;c=s?1:-1)}function vL(e){let t,s,n,i,o;return e.horizontal?(t=e.base>e.x,s="left",n="right"):(t=e.basel.controller.options.grouped),o=n.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(s),d=c&&c[l.vScale.axis];if(jt(d)||isNaN(d))return!0};for(const l of i)if(!(s!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,s,n){const i=this._getStacks(t,n),o=s!==void 0?i.indexOf(s):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,s=this._cachedMeta,n=s.iScale,i=[];let o,r;for(o=0,r=s.data.length;o=0;--n)s=Math.max(s,t[n].size(this.resolveDataElementOptions(n))/2);return s>0&&s}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart.data.labels||[],{xScale:i,yScale:o}=s,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:n[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const s=this._cachedMeta.data;this.updateElements(s,0,s.length,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(s,i),d=r.axis,u=a.axis;for(let p=s;pXo($,a,l,!0)?1:Math.max(T,T*s,y,y*s),m=($,T,y)=>Xo($,a,l,!0)?-1:Math.min(T,T*s,y,y*s),_=g(0,c,u),v=g(se,d,p),w=m(Qt,c,u),E=m(Qt+se,d,p);n=(_-w)/2,i=(v-E)/2,o=-(_+w)/2,r=-(v+E)/2}return{ratioX:n,ratioY:i,offsetX:o,offsetY:r}}class Ei extends cs{constructor(t,s){super(t,s),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,s){const n=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=n;else{let o=l=>+n[l];if(Nt(n[t])){const{key:l="value"}=this._parsing;o=c=>+vn(n[c],l)}let r,a;for(r=t,a=t+s;r0&&!isNaN(t)?Xt*(Math.abs(t)/s):0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=dr(s._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let s=0;const n=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=n.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),ot(Ei,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}}});class Bo extends cs{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const s=this._cachedMeta,{dataset:n,data:i=[],_dataset:o}=s,r=this.chart._animationsDisabled;let{start:a,count:l}=V_(s,i,r);this._drawStart=a,this._drawCount=l,j_(s)&&(a=0,l=i.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:d,includeOptions:u}=this._getSharedOptions(s,i),p=r.axis,g=a.axis,{spanGaps:m,segment:_}=this.options,v=qi(m)?m:Number.POSITIVE_INFINITY,w=this.chart._animationsDisabled||o||i==="none",E=s+n,$=t.length;let T=s>0&&this.getParsed(s-1);for(let y=0;y<$;++y){const x=t[y],C=w?x:{};if(y=E){C.skip=!0;continue}const S=this.getParsed(y),P=jt(S[g]),M=C[p]=r.getPixelForValue(S[p],y),O=C[g]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,S,l):S[g],y);C.skip=isNaN(M)||isNaN(O)||P,C.stop=y>0&&Math.abs(S[p]-T[p])>v,_&&(C.parsed=S,C.raw=c.data[y]),u&&(C.options=d||this.resolveDataElementOptions(y,x.active?"active":i)),w||this.updateElement(x,y,C,i),T=S}}getMaxOverflow(){const t=this._cachedMeta,s=t.dataset,n=s.options&&s.options.borderWidth||0,i=t.data||[];if(!i.length)return n;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(n,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}ot(Bo,"id","line"),ot(Bo,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),ot(Bo,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class da extends cs{constructor(t,s){super(t,s),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=dr(s._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,s,n,i){return G_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta.data;this._updateRadius(),this.updateElements(s,0,s.length,t)}getMinMax(){const t=this._cachedMeta,s={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((n,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(os.max&&(s.max=o))}),s}_updateRadius(){const t=this.chart,s=t.chartArea,n=t.options,i=Math.min(s.right-s.left,s.bottom-s.top),o=Math.max(i/2,0),r=Math.max(n.cutoutPercentage?o/100*n.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,s,n,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,d=c.xCenter,u=c.yCenter,p=c.getIndexAngle(0)-.5*Qt;let g=p,m;const _=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&s++}),s}_computeAngle(t,s,n){return this.chart.getDataVisibility(t)?ls(this.resolveDataElementOptions(t,s).angle||n):0}}ot(da,"id","polarArea"),ot(da,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),ot(da,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Bc extends Ei{}ot(Bc,"id","pie"),ot(Bc,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class ua extends cs{getLabelAndValue(t){const s=this._cachedMeta.vScale,n=this.getParsed(t);return{label:s.getLabels()[t],value:""+s.getLabelForValue(n[s.axis])}}parseObjectData(t,s,n,i){return G_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta,n=s.dataset,i=s.data||[],o=s.iScale.getLabels();if(n.points=i,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===i.length,options:r};this.updateElement(n,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,s,n,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=s;a0&&this.getParsed(s-1);for(let T=s;T0&&Math.abs(x[g]-$[g])>w,v&&(C.parsed=x,C.raw=c.data[T]),p&&(C.options=u||this.resolveDataElementOptions(T,y.active?"active":i)),E||this.updateElement(y,T,C,i),$=x}this.updateSharedOptions(u,i,d)}getMaxOverflow(){const t=this._cachedMeta,s=t.data||[];if(!this.options.showLine){let a=0;for(let l=s.length-1;l>=0;--l)a=Math.max(a,s[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const n=t.dataset,i=n.options&&n.options.borderWidth||0;if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}}ot(ha,"id","scatter"),ot(ha,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),ot(ha,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function jn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class du{constructor(t){ot(this,"options");this.options=t||{}}static override(t){Object.assign(du.prototype,t)}init(){}formats(){return jn()}parse(){return jn()}format(){return jn()}add(){return jn()}diff(){return jn()}startOf(){return jn()}endOf(){return jn()}}var SL={_date:du};function AL(e,t,s,n){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?GO:Rs;if(n){if(i._sharedOptions){const c=o[0],d=typeof c.getRange=="function"&&c.getRange(t);if(d){const u=l(o,t,s-d),p=l(o,t,s+d);return{lo:u.lo,hi:p.hi}}}}else return l(o,t,s)}return{lo:0,hi:o.length-1}}function ur(e,t,s,n,i){const o=e.getSortedVisibleDatasetMetas(),r=s[t];for(let a=0,l=o.length;a{l[r](t[s],i)&&(o.push({element:l,datasetIndex:c,index:d}),a=a||l.inRange(t.x,t.y,i))}),n&&!a?[]:o}var kL={evaluateInteractionItems:ur,modes:{index(e,t,s,n){const i=Wn(t,e),o=s.axis||"x",r=s.includeInvisible||!1,a=s.intersect?nc(e,i,o,n,r):ic(e,i,o,!1,n,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const d=a[0].index,u=c.data[d];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:d})}),l):[]},dataset(e,t,s,n){const i=Wn(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;let a=s.intersect?nc(e,i,o,n,r):ic(e,i,o,!1,n,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let d=0;ds.pos===t)}function rp(e,t){return e.filter(s=>ob.indexOf(s.pos)===-1&&s.box.axis===t)}function po(e,t){return e.sort((s,n)=>{const i=t?n:s,o=t?s:n;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function TL(e){const t=[];let s,n,i,o,r,a;for(s=0,n=(e||[]).length;sc.box.fullSize),!0),n=po(fo(t,"left"),!0),i=po(fo(t,"right")),o=po(fo(t,"top"),!0),r=po(fo(t,"bottom")),a=rp(t,"x"),l=rp(t,"y");return{fullSize:s,leftAndTop:n.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:fo(t,"chartArea"),vertical:n.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function ap(e,t,s,n){return Math.max(e[s],t[s])+Math.max(e[n],t[n])}function rb(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function OL(e,t,s,n){const{pos:i,box:o}=s,r=e.maxPadding;if(!Nt(i)){s.size&&(e[i]-=s.size);const u=n[s.stack]||{size:0,count:1};u.size=Math.max(u.size,s.horizontal?o.height:o.width),s.size=u.size/u.count,e[i]+=s.size}o.getPadding&&rb(r,o.getPadding());const a=Math.max(0,t.outerWidth-ap(r,e,"left","right")),l=Math.max(0,t.outerHeight-ap(r,e,"top","bottom")),c=a!==e.w,d=l!==e.h;return e.w=a,e.h=l,s.horizontal?{same:c,other:d}:{same:d,other:c}}function LL(e){const t=e.maxPadding;function s(n){const i=Math.max(t[n]-e[n],0);return e[n]+=i,i}e.y+=s("top"),e.x+=s("left"),s("right"),s("bottom")}function RL(e,t){const s=t.maxPadding;function n(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],s[r])}),o}return n(e?["left","right"]:["top","bottom"])}function xo(e,t,s,n){const i=[];let o,r,a,l,c,d;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const d=l.reduce((_,v)=>v.box.options&&v.box.options.display===!1?_:_+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:s,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/d,hBoxMaxHeight:r/2}),p=Object.assign({},i);rb(p,be(n));const g=Object.assign({maxPadding:p,w:o,h:r,x:i.left,y:i.top},i),m=DL(l.concat(c),u);xo(a.fullSize,g,u,m),xo(l,g,u,m),xo(c,g,u,m)&&xo(l,g,u,m),LL(g),lp(a.leftAndTop,g,u,m),g.x+=g.w,g.y+=g.h,lp(a.rightAndBottom,g,u,m),e.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},zt(a.chartArea,_=>{const v=_.box;Object.assign(v,e.chartArea),v.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})})}};class ab{acquireContext(t,s){}releaseContext(t){return!1}addEventListener(t,s,n){}removeEventListener(t,s,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,s,n,i){return s=Math.max(0,s||t.width),n=n||t.height,{width:s,height:Math.max(0,i?Math.floor(s/i):n)}}isAttached(t){return!0}updateConfig(t){}}class NL extends ab{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const fa="$chartjs",FL={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},cp=e=>e===null||e==="";function BL(e,t){const s=e.style,n=e.getAttribute("height"),i=e.getAttribute("width");if(e[fa]={initial:{height:n,width:i,style:{display:s.display,height:s.height,width:s.width}}},s.display=s.display||"block",s.boxSizing=s.boxSizing||"border-box",cp(i)){const o=Kf(e,"width");o!==void 0&&(e.width=o)}if(cp(n))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Kf(e,"height");o!==void 0&&(e.height=o)}return e}const lb=H2?{passive:!0}:!1;function VL(e,t,s){e.addEventListener(t,s,lb)}function jL(e,t,s){e.canvas.removeEventListener(t,s,lb)}function HL(e,t){const s=FL[e.type]||e.type,{x:n,y:i}=Wn(e,t);return{type:s,chart:t,native:e,x:n!==void 0?n:null,y:i!==void 0?i:null}}function Oa(e,t){for(const s of e)if(s===t||s.contains(t))return!0}function WL(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oa(a.addedNodes,n),r=r&&!Oa(a.removedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}function zL(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oa(a.removedNodes,n),r=r&&!Oa(a.addedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}const Zo=new Map;let dp=0;function cb(){const e=window.devicePixelRatio;e!==dp&&(dp=e,Zo.forEach((t,s)=>{s.currentDevicePixelRatio!==e&&t()}))}function KL(e,t){Zo.size||window.addEventListener("resize",cb),Zo.set(e,t)}function UL(e){Zo.delete(e),Zo.size||window.removeEventListener("resize",cb)}function YL(e,t,s){const n=e.canvas,i=n&&cu(n);if(!i)return;const o=B_((a,l)=>{const c=i.clientWidth;s(a,l),c{const l=a[0],c=l.contentRect.width,d=l.contentRect.height;c===0&&d===0||o(c,d)});return r.observe(i),KL(e,o),r}function oc(e,t,s){s&&s.disconnect(),t==="resize"&&UL(e)}function qL(e,t,s){const n=e.canvas,i=B_(o=>{e.ctx!==null&&s(HL(o,e))},e);return VL(n,t,i),i}class GL extends ab{acquireContext(t,s){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(BL(t,s),n):null}releaseContext(t){const s=t.canvas;if(!s[fa])return!1;const n=s[fa].initial;["height","width"].forEach(o=>{const r=n[o];jt(r)?s.removeAttribute(o):s.setAttribute(o,r)});const i=n.style||{};return Object.keys(i).forEach(o=>{s.style[o]=i[o]}),s.width=s.width,delete s[fa],!0}addEventListener(t,s,n){this.removeEventListener(t,s);const i=t.$proxies||(t.$proxies={}),r={attach:WL,detach:zL,resize:YL}[s]||qL;i[s]=r(t,s,n)}removeEventListener(t,s){const n=t.$proxies||(t.$proxies={}),i=n[s];if(!i)return;({attach:oc,detach:oc,resize:oc}[s]||jL)(t,s,i),n[s]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,s,n,i){return j2(t,s,n,i)}isAttached(t){const s=cu(t);return!!(s&&s.isConnected)}}function JL(e){return!lu()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?NL:GL}var Zr;let zs=(Zr=class{constructor(){ot(this,"x");ot(this,"y");ot(this,"active",!1);ot(this,"options");ot(this,"$animations")}tooltipPosition(t){const{x:s,y:n}=this.getProps(["x","y"],t);return{x:s,y:n}}hasValue(){return qi(this.x)&&qi(this.y)}getProps(t,s){const n=this.$animations;if(!s||!n)return this;const i={};return t.forEach(o=>{i[o]=n[o]&&n[o].active()?n[o]._to:this[o]}),i}},ot(Zr,"defaults",{}),ot(Zr,"defaultRoutes"),Zr);function XL(e,t){const s=e.options.ticks,n=QL(e),i=Math.min(s.maxTicksLimit||n,n),o=s.major.enabled?tR(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return eR(t,c,o,r/i),c;const d=ZL(o,t,i);if(r>0){let u,p;const g=r>1?Math.round((l-a)/(r-1)):null;for(Ur(t,c,d,jt(g)?0:a-g,a),u=0,p=r-1;ui)return l}return Math.max(i,1)}function tR(e){const t=[];let s,n;for(s=0,n=e.length;se==="left"?"right":e==="right"?"left":e,up=(e,t,s)=>t==="top"||t==="left"?e[t]+s:e[t]-s,hp=(e,t)=>Math.min(t||e,e);function fp(e,t){const s=[],n=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function oR(e,t){zt(e,s=>{const n=s.gc,i=n.length/2;let o;if(i>t){for(o=0;on?n:s,n=i&&s>n?s:n,{min:Ie(s,Ie(n,s)),max:Ie(n,Ie(s,n))}}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(){Yt(this.options.beforeUpdate,[this])}update(t,s,n){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=s,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=v2(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||n<=1||!this.isHorizontal()){this.labelRotation=i;return}const d=this._getLabelSizes(),u=d.widest.width,p=d.highest.height,g=fe(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/n:g/(n-1),u+6>a&&(a=g/(n-(t.offset?.5:1)),l=this.maxHeight-go(t.grid)-s.padding-pp(t.title,this.chart.options.font),c=Math.sqrt(u*u+p*p),r=tu(Math.min(Math.asin(fe((d.highest.height+6)/a,-1,1)),Math.asin(fe(l/c,-1,1))-Math.asin(fe(p/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Yt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Yt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:s,options:{ticks:n,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=pp(i,s.options.font);if(a?(t.width=this.maxWidth,t.height=go(o)+l):(t.height=this.maxHeight,t.width=go(o)+l),n.display&&this.ticks.length){const{first:c,last:d,widest:u,highest:p}=this._getLabelSizes(),g=n.padding*2,m=ls(this.labelRotation),_=Math.cos(m),v=Math.sin(m);if(a){const w=n.mirror?0:v*u.width+_*p.height;t.height=Math.min(this.maxHeight,t.height+w+g)}else{const w=n.mirror?0:_*u.width+v*p.height;t.width=Math.min(this.maxWidth,t.width+w+g)}this._calculatePadding(c,d,v,_)}}this._handleMargins(),a?(this.width=this._length=s.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=s.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,s,n,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const d=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let p=0,g=0;l?c?(p=i*t.width,g=n*s.height):(p=n*t.height,g=i*s.width):o==="start"?g=s.width:o==="end"?p=t.width:o!=="inner"&&(p=t.width/2,g=s.width/2),this.paddingLeft=Math.max((p-d+r)*this.width/(this.width-d),0),this.paddingRight=Math.max((g-u+r)*this.width/(this.width-u),0)}else{let d=s.height/2,u=t.height/2;o==="start"?(d=0,u=t.height):o==="end"&&(d=s.height,u=0),this.paddingTop=d+r,this.paddingBottom=u+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(){Yt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:s}=this.options;return s==="top"||s==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let s,n;for(s=0,n=t.length;s({width:r[P]||0,height:a[P]||0});return{first:S(0),last:S(s-1),widest:S(x),highest:S(C),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,s){return NaN}getValueForPixel(t){}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const s=this._startPixel+t*this._length;return qO(this._alignToPixels?Vn(this.chart,s,0):s)}getDecimalForPixel(t){const s=(t-this._startPixel)/this._length;return this._reversePixels?1-s:s}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:s}=this;return t<0&&s<0?s:t>0&&s>0?t:0}getContext(t){const s=this.ticks||[];if(t>=0&&ta*i?a/n:l/i:l*i0}_computeGridLineItems(t){const s=this.axis,n=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),p=go(o),g=[],m=a.setContext(this.getContext()),_=m.display?m.width:0,v=_/2,w=function(R){return Vn(n,R,_)};let E,$,T,y,x,C,S,P,M,O,F,Q;if(r==="top")E=w(this.bottom),C=this.bottom-p,P=E-v,O=w(t.top)+v,Q=t.bottom;else if(r==="bottom")E=w(this.top),O=t.top,Q=w(t.bottom)-v,C=E+v,P=this.top+p;else if(r==="left")E=w(this.right),x=this.right-p,S=E-v,M=w(t.left)+v,F=t.right;else if(r==="right")E=w(this.left),M=t.left,F=w(t.right)-v,x=E+v,S=this.left+p;else if(s==="x"){if(r==="center")E=w((t.top+t.bottom)/2+.5);else if(Nt(r)){const R=Object.keys(r)[0],z=r[R];E=w(this.chart.scales[R].getPixelForValue(z))}O=t.top,Q=t.bottom,C=E+v,P=C+p}else if(s==="y"){if(r==="center")E=w((t.left+t.right)/2);else if(Nt(r)){const R=Object.keys(r)[0],z=r[R];E=w(this.chart.scales[R].getPixelForValue(z))}x=E-v,S=x-p,M=t.left,F=t.right}const G=$t(i.ticks.maxTicksLimit,u),H=Math.max(1,Math.ceil(u/G));for($=0;$0&&(kt-=Pt/2);break}vt={left:kt,top:Ft,width:Pt+_t.width,height:Dt+_t.height,color:H.backdropColor}}v.push({label:T,font:P,textOffset:F,options:{rotation:_,color:z,strokeColor:Y,strokeWidth:rt,textAlign:ht,textBaseline:Q,translation:[y,x],backdrop:vt}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:s}=this.options;if(-ls(this.labelRotation))return t==="top"?"left":"right";let i="center";return s.align==="start"?i="left":s.align==="end"?i="right":s.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:s,ticks:{crossAlign:n,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,d;return s==="left"?i?(d=this.right+o,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d+=l)):(d=this.right-a,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d=this.left)):s==="right"?i?(d=this.left+o,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d-=l)):(d=this.left+a,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d=this.right)):c="right",{textAlign:c,x:d}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,s=this.options.position;if(s==="left"||s==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(s==="top"||s==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:s},left:n,top:i,width:o,height:r}=this;s&&(t.save(),t.fillStyle=s,t.fillRect(n,i,o,r),t.restore())}getLineWidthForValue(t){const s=this.options.grid;if(!this._isVisible()||!s.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?s.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const s=this.options.grid,n=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,d)=>{!d.width||!d.color||(n.save(),n.lineWidth=d.width,n.strokeStyle=d.color,n.setLineDash(d.borderDash||[]),n.lineDashOffset=d.borderDashOffset,n.beginPath(),n.moveTo(l.x,l.y),n.lineTo(c.x,c.y),n.stroke(),n.restore())};if(s.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:n,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:s,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const s=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",i=[];let o,r;for(o=0,r=s.length;o{const n=s.split("."),i=n.pop(),o=[e].concat(n).join("."),r=t[s].split("."),a=r.pop(),l=r.join(".");ee.route(o,i,l,a)})}function hR(e){return"id"in e&&"defaults"in e}class fR{constructor(){this.controllers=new Yr(cs,"datasets",!0),this.elements=new Yr(zs,"elements"),this.plugins=new Yr(Object,"plugins"),this.scales=new Yr(ai,"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,s,n){[...s].forEach(i=>{const o=n||this._getRegistryForType(i);n||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):zt(i,r=>{const a=n||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,s,n){const i=Zd(t);Yt(n["before"+i],[],n),s[t](n),Yt(n["after"+i],[],n)}_getRegistryForType(t){for(let s=0;so.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(s,n),t,"stop"),this._notify(i(n,s),t,"start")}}function gR(e){const t={},s=[],n=Object.keys(ps.plugins.items);for(let o=0;o1&&gp(e[0].toLowerCase());if(n)return n}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function mp(e,t,s){if(s[t+"AxisID"]===e)return{axis:t}}function wR(e,t){if(t.data&&t.data.datasets){const s=t.data.datasets.filter(n=>n.xAxisID===e||n.yAxisID===e);if(s.length)return mp(e,"x",s[0])||mp(e,"y",s[0])}return{}}function ER(e,t){const s=ni[e.type]||{scales:{}},n=t.scales||{},i=Vc(e.type,t),o=Object.create(null);return Object.keys(n).forEach(r=>{const a=n[r];if(!Nt(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=jc(r,a,wR(r,e),ee.scales[a.type]),c=yR(l,i),d=s.scales||{};o[r]=Oo(Object.create(null),[{axis:l},a,d[l],d[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Vc(a,t),d=(ni[a]||{}).scales||{};Object.keys(d).forEach(u=>{const p=vR(u,l),g=r[p+"AxisID"]||p;o[g]=o[g]||Object.create(null),Oo(o[g],[{axis:p},n[g],d[u]])})}),Object.keys(o).forEach(r=>{const a=o[r];Oo(a,[ee.scales[a.type],ee.scale])}),o}function db(e){const t=e.options||(e.options={});t.plugins=$t(t.plugins,{}),t.scales=ER(e,t)}function ub(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function SR(e){return e=e||{},e.data=ub(e.data),db(e),e}const _p=new Map,hb=new Set;function qr(e,t){let s=_p.get(e);return s||(s=t(),_p.set(e,s),hb.add(s)),s}const mo=(e,t,s)=>{const n=vn(t,s);n!==void 0&&e.add(n)};let AR=class{constructor(t){this._config=SR(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=ub(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(),db(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return qr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,s){return qr(`${t}.transition.${s}`,()=>[[`datasets.${t}.transitions.${s}`,`transitions.${s}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,s){return qr(`${t}-${s}`,()=>[[`datasets.${t}.elements.${s}`,`datasets.${t}`,`elements.${s}`,""]])}pluginScopeKeys(t){const s=t.id,n=this.type;return qr(`${n}-plugin-${s}`,()=>[[`plugins.${s}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,s){const n=this._scopeCache;let i=n.get(t);return(!i||s)&&(i=new Map,n.set(t,i)),i}getOptionScopes(t,s,n){const{options:i,type:o}=this,r=this._cachedScopes(t,n),a=r.get(s);if(a)return a;const l=new Set;s.forEach(d=>{t&&(l.add(t),d.forEach(u=>mo(l,t,u))),d.forEach(u=>mo(l,i,u)),d.forEach(u=>mo(l,ni[o]||{},u)),d.forEach(u=>mo(l,ee,u)),d.forEach(u=>mo(l,Nc,u))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),hb.has(s)&&r.set(s,c),c}chartOptionScopes(){const{options:t,type:s}=this;return[t,ni[s]||{},ee.datasets[s]||{},{type:s},ee,Nc]}resolveNamedOptions(t,s,n,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=bp(this._resolverCache,t,i);let l=r;if($R(r,s)){o.$shared=!1,n=yn(n)?n():n;const c=this.createResolver(t,n,a);l=Gi(r,n,c)}for(const c of s)o[c]=l[c];return o}createResolver(t,s,n=[""],i){const{resolver:o}=bp(this._resolverCache,t,n);return Nt(s)?Gi(o,s,void 0,i):o}};function bp(e,t,s){let n=e.get(t);n||(n=new Map,e.set(t,n));const i=s.join();let o=n.get(i);return o||(o={resolver:ou(t,s),subPrefixes:s.filter(a=>!a.toLowerCase().includes("hover"))},n.set(i,o)),o}const CR=e=>Nt(e)&&Object.getOwnPropertyNames(e).some(t=>yn(e[t]));function $R(e,t){const{isScriptable:s,isIndexable:n}=K_(e);for(const i of t){const o=s(i),r=n(i),a=(r||o)&&e[i];if(o&&(yn(a)||CR(a))||r&&Jt(a))return!0}return!1}var PR="4.4.1";const kR=["top","bottom","left","right","chartArea"];function vp(e,t){return e==="top"||e==="bottom"||kR.indexOf(e)===-1&&t==="x"}function yp(e,t){return function(s,n){return s[e]===n[e]?s[t]-n[t]:s[e]-n[e]}}function xp(e){const t=e.chart,s=t.options.animation;t.notifyPlugins("afterRender"),Yt(s&&s.onComplete,[e],t)}function TR(e){const t=e.chart,s=t.options.animation;Yt(s&&s.onProgress,[e],t)}function fb(e){return lu()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const pa={},wp=e=>{const t=fb(e);return Object.values(pa).filter(s=>s.canvas===t).pop()};function MR(e,t,s){const n=Object.keys(e);for(const i of n){const o=+i;if(o>=t){const r=e[i];delete e[i],(s>0||o>t)&&(e[o+s]=r)}}}function DR(e,t,s,n){return!s||e.type==="mouseout"?null:n?t:e}function Gr(e,t,s){return e.options.clip?e[s]:t[s]}function IR(e,t){const{xScale:s,yScale:n}=e;return s&&n?{left:Gr(s,t,"left"),right:Gr(s,t,"right"),top:Gr(n,t,"top"),bottom:Gr(n,t,"bottom")}:t}var Xs;let pl=(Xs=class{static register(...t){ps.add(...t),Ep()}static unregister(...t){ps.remove(...t),Ep()}constructor(t,s){const n=this.config=new AR(s),i=fb(t),o=wp(i);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=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||JL(i)),this.platform.updateConfig(n);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,d=l&&l.width;if(this.id=RO(),this.ctx=a,this.canvas=l,this.width=d,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 pR,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=QO(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],pa[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Ts.listen(this,"complete",xp),Ts.listen(this,"progress",TR),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:s},width:n,height:i,_aspectRatio:o}=this;return jt(t)?s&&o?o:i?n/i: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 ps}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():zf(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return jf(this.canvas,this.ctx),this}stop(){return Ts.stop(this),this}resize(t,s){Ts.running(this)?this._resizeBeforeDraw={width:t,height:s}:this._resize(t,s)}_resize(t,s){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,s,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,zf(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Yt(n.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const s=this.options.scales||{};zt(s,(n,i)=>{n.id=i})}buildOrUpdateScales(){const t=this.options,s=t.scales,n=this.scales,i=Object.keys(n).reduce((r,a)=>(r[a]=!1,r),{});let o=[];s&&(o=o.concat(Object.keys(s).map(r=>{const a=s[r],l=jc(r,a),c=l==="r",d=l==="x";return{options:a,dposition:c?"chartArea":d?"bottom":"left",dtype:c?"radialLinear":d?"category":"linear"}}))),zt(o,r=>{const a=r.options,l=a.id,c=jc(l,a),d=$t(a.type,r.dtype);(a.position===void 0||vp(a.position,c)!==vp(r.dposition))&&(a.position=r.dposition),i[l]=!0;let u=null;if(l in n&&n[l].type===d)u=n[l];else{const p=ps.getScale(d);u=new p({id:l,type:d,ctx:this.ctx,chart:this}),n[u.id]=u}u.init(a,t)}),zt(i,(r,a)=>{r||delete n[a]}),zt(n,r=>{Qe.configure(this,r,r.options),Qe.addBox(this,r)})}_updateMetasets(){const t=this._metasets,s=this.data.datasets.length,n=t.length;if(t.sort((i,o)=>i.index-o.index),n>s){for(let i=s;is.length&&delete this._stacks,t.forEach((n,i)=>{s.filter(o=>o===n._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],s=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=s.length;n{this.getDatasetMeta(s).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const s=this.config;s.update();const n=this._options=s.createResolver(s.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.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,d=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(yp("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){zt(this.scales,t=>{Qe.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,s=new Set(Object.keys(this._listeners)),n=new Set(t.events);(!Df(s,n)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,s=this._getUniformDataChanges()||[];for(const{method:n,start:i,count:o}of s){const r=n==="_removeElements"?-o:o;MR(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const s=this.data.datasets.length,n=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=n(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;Qe.update(this,this.width,this.height,t);const s=this.chartArea,n=s.width<=0||s.height<=0;this._layers=[],zt(this.boxes,i=>{n&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let s=0,n=this.data.datasets.length;s=0;--s)this._drawDataset(t[s]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const s=this.ctx,n=t._clip,i=!n.disabled,o=IR(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&ul(s,{left:n.left===!1?0:o.left-n.left,right:n.right===!1?this.width:o.right+n.right,top:n.top===!1?0:o.top-n.top,bottom:n.bottom===!1?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&hl(s),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Ns(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,s,n,i){const o=kL.modes[s];return typeof o=="function"?o(this,t,n,i):[]}getDatasetMeta(t){const s=this.data.datasets[t],n=this._metasets;let i=n.filter(o=>o&&o._dataset===s).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:s&&s.order||0,index:t,_dataset:s,_parsed:[],_sorted:!1},n.push(i)),i}getContext(){return this.$context||(this.$context=Cn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const s=this.data.datasets[t];if(!s)return!1;const n=this.getDatasetMeta(t);return typeof n.hidden=="boolean"?!n.hidden:!s.hidden}setDatasetVisibility(t,s){const n=this.getDatasetMeta(t);n.hidden=!s}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,s,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Jo(s)?(o.data[s].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,s){this._updateVisibility(t,s,!1)}show(t,s){this._updateVisibility(t,s,!0)}_destroyDatasetMeta(t){const s=this._metasets[t];s&&s.controller&&s.controller._destroy(),delete this._metasets[t]}_stop(){let t,s;for(this.stop(),Ts.remove(this),t=0,s=this.data.datasets.length;t{s.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};zt(this.options.events,o=>n(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,s=this.platform,n=(l,c)=>{s.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(s.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),n("attach",a)},s.isAttached(this.canvas)?a():r()}unbindEvents(){zt(this._listeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._listeners={},zt(this._responsiveListeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,s,n){const i=n?"set":"remove";let o,r,a,l;for(s==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"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}});!ka(n,s)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,s))}notifyPlugins(t,s,n){return this._plugins.notify(this,t,s,n)}isPluginEnabled(t){return this._plugins._cache.filter(s=>s.plugin.id===t).length===1}_updateHoverStyles(t,s,n){const i=this.options.hover,o=(l,c)=>l.filter(d=>!c.some(u=>d.datasetIndex===u.datasetIndex&&d.index===u.index)),r=o(s,t),a=n?t:o(t,s);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,s){const n={event:t,replay:s,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",n,i)===!1)return;const o=this._handleEvent(t,s,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,s,n){const{_active:i=[],options:o}=this,r=s,a=this._getActiveElements(t,i,n,r),l=HO(t),c=DR(t,this._lastEvent,n,l);n&&(this._lastEvent=null,Yt(o.onHover,[t,a,this],this),l&&Yt(o.onClick,[t,a,this],this));const d=!ka(a,i);return(d||s)&&(this._active=a,this._updateHoverStyles(a,i,s)),this._lastEvent=c,d}_getActiveElements(t,s,n,i){if(t.type==="mouseout")return[];if(!n)return s;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},ot(Xs,"defaults",ee),ot(Xs,"instances",pa),ot(Xs,"overrides",ni),ot(Xs,"registry",ps),ot(Xs,"version",PR),ot(Xs,"getChart",wp),Xs);function Ep(){return zt(pl.instances,e=>e._plugins.invalidate())}function OR(e,t,s){const{startAngle:n,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,n-c,s+c),l>i?(c=i/l,e.arc(o,r,l,s+c,n-c,!0)):e.arc(o,r,i,s+se,n-se),e.closePath(),e.clip()}function LR(e){return iu(e,["outerStart","outerEnd","innerStart","innerEnd"])}function RR(e,t,s,n){const i=LR(e.options.borderRadius),o=(s-t)/2,r=Math.min(o,n*t/2),a=l=>{const c=(s-Math.min(o,l))*n/2;return fe(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:fe(i.innerStart,0,r),innerEnd:fe(i.innerEnd,0,r)}}function vi(e,t,s,n){return{x:s+e*Math.cos(t),y:n+e*Math.sin(t)}}function La(e,t,s,n,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:d}=t,u=Math.max(t.outerRadius+n+s-c,0),p=d>0?d+n+s+c:0;let g=0;const m=i-l;if(n){const H=d>0?d-n:0,R=u>0?u-n:0,z=(H+R)/2,Y=z!==0?m*z/(z+n):m;g=(m-Y)/2}const _=Math.max(.001,m*u-s/Qt)/u,v=(m-_)/2,w=l+v+g,E=i-v-g,{outerStart:$,outerEnd:T,innerStart:y,innerEnd:x}=RR(t,p,u,E-w),C=u-$,S=u-T,P=w+$/C,M=E-T/S,O=p+y,F=p+x,Q=w+y/O,G=E-x/F;if(e.beginPath(),o){const H=(P+M)/2;if(e.arc(r,a,u,P,H),e.arc(r,a,u,H,M),T>0){const rt=vi(S,M,r,a);e.arc(rt.x,rt.y,T,M,E+se)}const R=vi(F,E,r,a);if(e.lineTo(R.x,R.y),x>0){const rt=vi(F,G,r,a);e.arc(rt.x,rt.y,x,E+se,G+Math.PI)}const z=(E-x/p+(w+y/p))/2;if(e.arc(r,a,p,E-x/p,z,!0),e.arc(r,a,p,z,w+y/p,!0),y>0){const rt=vi(O,Q,r,a);e.arc(rt.x,rt.y,y,Q+Math.PI,w-se)}const Y=vi(C,w,r,a);if(e.lineTo(Y.x,Y.y),$>0){const rt=vi(C,P,r,a);e.arc(rt.x,rt.y,$,w-se,P)}}else{e.moveTo(r,a);const H=Math.cos(P)*u+r,R=Math.sin(P)*u+a;e.lineTo(H,R);const z=Math.cos(M)*u+r,Y=Math.sin(M)*u+a;e.lineTo(z,Y)}e.closePath()}function NR(e,t,s,n,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){La(e,t,s,n,l,i);for(let c=0;c=Xt||Xo(r,l,c),v=Ls(a,d+g,u+g);return _&&v}getCenterPoint(s){const{x:n,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],s),{offset:c,spacing:d}=this.options,u=(o+r)/2,p=(a+l+d+c)/2;return{x:n+Math.cos(u)*p,y:i+Math.sin(u)*p}}tooltipPosition(s){return this.getCenterPoint(s)}draw(s){const{options:n,circumference:i}=this,o=(n.offset||0)/4,r=(n.spacing||0)/2,a=n.circular;if(this.pixelMargin=n.borderAlign==="inner"?.33:0,this.fullCircles=i>Xt?Math.floor(i/Xt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;s.save();const l=(this.startAngle+this.endAngle)/2;s.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Qt,i||0)),d=o*c;s.fillStyle=n.backgroundColor,s.strokeStyle=n.borderColor,NR(s,this,d,r,a),FR(s,this,d,r,a),s.restore()}}ot(wo,"id","arc"),ot(wo,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),ot(wo,"defaultRoutes",{backgroundColor:"backgroundColor"}),ot(wo,"descriptors",{_scriptable:!0,_indexable:s=>s!=="borderDash"});function pb(e,t,s=t){e.lineCap=$t(s.borderCapStyle,t.borderCapStyle),e.setLineDash($t(s.borderDash,t.borderDash)),e.lineDashOffset=$t(s.borderDashOffset,t.borderDashOffset),e.lineJoin=$t(s.borderJoinStyle,t.borderJoinStyle),e.lineWidth=$t(s.borderWidth,t.borderWidth),e.strokeStyle=$t(s.borderColor,t.borderColor)}function BR(e,t,s){e.lineTo(s.x,s.y)}function VR(e){return e.stepped?d2:e.tension||e.cubicInterpolationMode==="monotone"?u2:BR}function gb(e,t,s={}){const n=e.length,{start:i=0,end:o=n-1}=s,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),d=ia&&o>a;return{count:n,start:l,loop:t.loop,ilen:c(r+(c?a-T:T))%o,$=()=>{_!==v&&(e.lineTo(d,v),e.lineTo(d,_),e.lineTo(d,w))};for(l&&(g=i[E(0)],e.moveTo(g.x,g.y)),p=0;p<=a;++p){if(g=i[E(p)],g.skip)continue;const T=g.x,y=g.y,x=T|0;x===m?(y<_?_=y:y>v&&(v=y),d=(u*d+T)/++u):($(),e.lineTo(T,y),m=x,u=0,_=v=y),w=y}$()}function Hc(e){const t=e.options,s=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!s?HR:jR}function WR(e){return e.stepped?W2:e.tension||e.cubicInterpolationMode==="monotone"?z2:zn}function zR(e,t,s,n){let i=t._path;i||(i=t._path=new Path2D,t.path(i,s,n)&&i.closePath()),pb(e,t.options),e.stroke(i)}function KR(e,t,s,n){const{segments:i,options:o}=t,r=Hc(t);for(const a of i)pb(e,o,a.style),e.beginPath(),r(e,t,a,{start:s,end:s+n-1})&&e.closePath(),e.stroke()}const UR=typeof Path2D=="function";function YR(e,t,s,n){UR&&!t.options.segment?zR(e,t,s,n):KR(e,t,s,n)}class dn extends zs{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,s){const n=this.options;if((n.tension||n.cubicInterpolationMode==="monotone")&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;L2(this._points,n,t,i,s),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=J2(this,this.options.segment))}first(){const t=this.segments,s=this.points;return t.length&&s[t[0].start]}last(){const t=this.segments,s=this.points,n=t.length;return n&&s[t[n-1].end]}interpolate(t,s){const n=this.options,i=t[s],o=this.points,r=eb(this,{property:s,start:i,end:i});if(!r.length)return;const a=[],l=WR(n);let c,d;for(c=0,d=r.length;ct!=="borderDash"&&t!=="fill"});function Sp(e,t,s,n){const i=e.options,{[s]:o}=e.getProps([s],n);return Math.abs(t-o)=s)return e.slice(t,t+s);const r=[],a=(s-2)/(o-2);let l=0;const c=t+s-1;let d=t,u,p,g,m,_;for(r[l++]=e[d],u=0;ug&&(g=m,p=e[E],_=E);r[l++]=p,d=_}return r[l++]=e[c],r}function tN(e,t,s,n){let i=0,o=0,r,a,l,c,d,u,p,g,m,_;const v=[],w=t+s-1,E=e[t].x,T=e[w].x-E;for(r=t;r_&&(_=c,p=r),i=(o*i+a.x)/++o;else{const x=r-1;if(!jt(u)&&!jt(p)){const C=Math.min(u,p),S=Math.max(u,p);C!==g&&C!==x&&v.push({...e[C],x:i}),S!==g&&S!==x&&v.push({...e[S],x:i})}r>0&&x!==g&&v.push(e[x]),v.push(a),d=y,o=0,m=_=c,u=p=g=r}}return v}function _b(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Ap(e){e.data.datasets.forEach(t=>{_b(t)})}function eN(e,t){const s=t.length;let n=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(n=fe(Rs(t,o.axis,r).lo,0,s-1)),c?i=fe(Rs(t,o.axis,a).hi+1,n,s)-n:i=s-n,{start:n,count:i}}var sN={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,s)=>{if(!s.enabled){Ap(e);return}const n=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(yo([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const d=e.scales[l.xAxisID];if(d.type!=="linear"&&d.type!=="time"||e.options.parsing)return;let{start:u,count:p}=eN(l,c);const g=s.threshold||4*n;if(p<=g){_b(i);return}jt(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(_){this._data=_}}));let m;switch(s.algorithm){case"lttb":m=ZR(c,u,p,n,s);break;case"min-max":m=tN(c,u,p,n);break;default:throw new Error(`Unsupported decimation algorithm '${s.algorithm}'`)}i._decimated=m})},destroy(e){Ap(e)}};function nN(e,t,s){const n=e.segments,i=e.points,o=t.points,r=[];for(const a of n){let{start:l,end:c}=a;c=uu(l,c,i);const d=Wc(s,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:d,start:i[l],end:i[c]});continue}const u=eb(t,d);for(const p of u){const g=Wc(s,o[p.start],o[p.end],p.loop),m=tb(a,i,g);for(const _ of m)r.push({source:_,target:p,start:{[s]:Cp(d,g,"start",Math.max)},end:{[s]:Cp(d,g,"end",Math.min)}})}}return r}function Wc(e,t,s,n){if(n)return;let i=t[e],o=s[e];return e==="angle"&&(i=Le(i),o=Le(o)),{property:e,start:i,end:o}}function iN(e,t){const{x:s=null,y:n=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=uu(r,a,i);const l=i[r],c=i[a];n!==null?(o.push({x:l.x,y:n}),o.push({x:c.x,y:n})):s!==null&&(o.push({x:s,y:l.y}),o.push({x:s,y:c.y}))}),o}function uu(e,t,s){for(;t>e;t--){const n=s[t];if(!isNaN(n.x)&&!isNaN(n.y))break}return t}function Cp(e,t,s,n){return e&&t?n(e[s],t[s]):e?e[s]:t?t[s]:0}function bb(e,t){let s=[],n=!1;return Jt(e)?(n=!0,s=e):s=iN(e,t),s.length?new dn({points:s,options:{tension:0},_loop:n,_fullLoop:n}):null}function $p(e){return e&&e.fill!==!1}function oN(e,t,s){let i=e[t].fill;const o=[t];let r;if(!s)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!te(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function rN(e,t,s){const n=dN(e);if(Nt(n))return isNaN(n.value)?!1:n;let i=parseFloat(n);return te(i)&&Math.floor(i)===i?aN(n[0],t,i,s):["origin","start","end","stack","shape"].indexOf(n)>=0&&n}function aN(e,t,s,n){return(e==="-"||e==="+")&&(s=t+s),s===t||s<0||s>=n?!1:s}function lN(e,t){let s=null;return e==="start"?s=t.bottom:e==="end"?s=t.top:Nt(e)?s=t.getPixelForValue(e.value):t.getBasePixel&&(s=t.getBasePixel()),s}function cN(e,t,s){let n;return e==="start"?n=s:e==="end"?n=t.options.reverse?t.min:t.max:Nt(e)?n=e.value:n=t.getBaseValue(),n}function dN(e){const t=e.options,s=t.fill;let n=$t(s&&s.target,s);return n===void 0&&(n=!!t.backgroundColor),n===!1||n===null?!1:n===!0?"origin":n}function uN(e){const{scale:t,index:s,line:n}=e,i=[],o=n.segments,r=n.points,a=hN(t,s);a.push(bb({x:null,y:t.bottom},n));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),n&&a.fill&&lc(e.ctx,a,o))}},beforeDatasetsDraw(e,t,s){if(s.drawTime!=="beforeDatasetsDraw")return;const n=e.getSortedVisibleDatasetMetas();for(let i=n.length-1;i>=0;--i){const o=n[i].$filler;$p(o)&&lc(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,s){const n=t.meta.$filler;!$p(n)||s.drawTime!=="beforeDatasetDraw"||lc(e.ctx,n,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Mp=(e,t)=>{let{boxHeight:s=t,boxWidth:n=t}=e;return e.usePointStyle&&(s=Math.min(s,t),n=e.pointStyleWidth||Math.min(n,t)),{boxWidth:n,boxHeight:s,itemHeight:Math.max(t,s)}},EN=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Dp extends zs{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,s,n){this.maxWidth=t,this.maxHeight=s,this._margins=n,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 s=Yt(t.generateLabels,[this.chart],this)||[];t.filter&&(s=s.filter(n=>t.filter(n,this.chart.data))),t.sort&&(s=s.sort((n,i)=>t.sort(n,i,this.chart.data))),this.options.reverse&&s.reverse(),this.legendItems=s}fit(){const{options:t,ctx:s}=this;if(!t.display){this.width=this.height=0;return}const n=t.labels,i=ce(n.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Mp(n,o);let c,d;s.font=i.string,this.isHorizontal()?(c=this.maxWidth,d=this._fitRows(r,o,a,l)+10):(d=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(d,t.maxHeight||this.maxHeight)}_fitRows(t,s,n,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],d=i+a;let u=t;o.textAlign="left",o.textBaseline="middle";let p=-1,g=-d;return this.legendItems.forEach((m,_)=>{const v=n+s/2+o.measureText(m.text).width;(_===0||c[c.length-1]+v+2*a>r)&&(u+=d,c[c.length-(_>0?0:1)]=0,g+=d,p++),l[_]={left:0,top:g,row:p,width:v,height:i},c[c.length-1]+=v+a}),u}_fitCols(t,s,n,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],d=r-t;let u=a,p=0,g=0,m=0,_=0;return this.legendItems.forEach((v,w)=>{const{itemWidth:E,itemHeight:$}=SN(n,s,o,v,i);w>0&&g+$+2*a>d&&(u+=p+a,c.push({width:p,height:g}),m+=p+a,_++,p=g=0),l[w]={left:m,top:g,col:_,width:E,height:$},p=Math.max(p,E),g+=$+a}),u+=p,c.push({width:p,height:g}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:s,options:{align:n,labels:{padding:i},rtl:o}}=this,r=Ti(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=me(n,this.left+i,this.right-this.lineWidths[a]);for(const c of s)a!==c.row&&(a=c.row,l=me(n,this.left+i,this.right-this.lineWidths[a])),c.top+=this.top+t+i,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+i}else{let a=0,l=me(n,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of s)c.col!==a&&(a=c.col,l=me(n,this.top+t+i,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+i,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ul(t,this),this._draw(),hl(t)}}_draw(){const{options:t,columnSizes:s,lineWidths:n,ctx:i}=this,{align:o,labels:r}=t,a=ee.color,l=Ti(t.rtl,this.left,this.width),c=ce(r.font),{padding:d}=r,u=c.size,p=u/2;let g;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:_,itemHeight:v}=Mp(r,u),w=function(x,C,S){if(isNaN(m)||m<=0||isNaN(_)||_<0)return;i.save();const P=$t(S.lineWidth,1);if(i.fillStyle=$t(S.fillStyle,a),i.lineCap=$t(S.lineCap,"butt"),i.lineDashOffset=$t(S.lineDashOffset,0),i.lineJoin=$t(S.lineJoin,"miter"),i.lineWidth=P,i.strokeStyle=$t(S.strokeStyle,a),i.setLineDash($t(S.lineDash,[])),r.usePointStyle){const M={radius:_*Math.SQRT2/2,pointStyle:S.pointStyle,rotation:S.rotation,borderWidth:P},O=l.xPlus(x,m/2),F=C+p;W_(i,M,O,F,r.pointStyleWidth&&m)}else{const M=C+Math.max((u-_)/2,0),O=l.leftForLtr(x,m),F=Qn(S.borderRadius);i.beginPath(),Object.values(F).some(Q=>Q!==0)?Qo(i,{x:O,y:M,w:m,h:_,radius:F}):i.rect(O,M,m,_),i.fill(),P!==0&&i.stroke()}i.restore()},E=function(x,C,S){ii(i,S.text,x,C+v/2,c,{strikethrough:S.hidden,textAlign:l.textAlign(S.textAlign)})},$=this.isHorizontal(),T=this._computeTitleHeight();$?g={x:me(o,this.left+d,this.right-n[0]),y:this.top+d+T,line:0}:g={x:this.left+d,y:me(o,this.top+T+d,this.bottom-s[0].height),line:0},X_(this.ctx,t.textDirection);const y=v+d;this.legendItems.forEach((x,C)=>{i.strokeStyle=x.fontColor,i.fillStyle=x.fontColor;const S=i.measureText(x.text).width,P=l.textAlign(x.textAlign||(x.textAlign=r.textAlign)),M=m+p+S;let O=g.x,F=g.y;l.setWidth(this.width),$?C>0&&O+M+d>this.right&&(F=g.y+=y,g.line++,O=g.x=me(o,this.left+d,this.right-n[g.line])):C>0&&F+y>this.bottom&&(O=g.x=O+s[g.line].width+d,g.line++,F=g.y=me(o,this.top+T+d,this.bottom-s[g.line].height));const Q=l.x(O);if(w(Q,F,x),O=ZO(P,O+m+p,$?O+M:this.right,t.rtl),E(l.x(O),F,x),$)g.x+=M+d;else if(typeof x.text!="string"){const G=c.lineHeight;g.y+=yb(x,G)+d}else g.y+=y}),Q_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,s=t.title,n=ce(s.font),i=be(s.padding);if(!s.display)return;const o=Ti(t.rtl,this.left,this.width),r=this.ctx,a=s.position,l=n.size/2,c=i.top+l;let d,u=this.left,p=this.width;if(this.isHorizontal())p=Math.max(...this.lineWidths),d=this.top+c,u=me(t.align,u,this.right-p);else{const m=this.columnSizes.reduce((_,v)=>Math.max(_,v.height),0);d=c+me(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const g=me(a,u,u+p);r.textAlign=o.textAlign(su(a)),r.textBaseline="middle",r.strokeStyle=s.color,r.fillStyle=s.color,r.font=n.string,ii(r,s.text,g,d,n)}_computeTitleHeight(){const t=this.options.title,s=ce(t.font),n=be(t.padding);return t.display?s.lineHeight+n.height:0}_getLegendItemAt(t,s){let n,i,o;if(Ls(t,this.left,this.right)&&Ls(s,this.top,this.bottom)){for(o=this.legendHitBoxes,n=0;no.length>r.length?o:r)),t+s.size/2+n.measureText(i).width}function CN(e,t,s){let n=e;return typeof t.text!="string"&&(n=yb(t,s)),n}function yb(e,t){const s=e.text?e.text.length:0;return t*s}function $N(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var PN={id:"legend",_element:Dp,start(e,t,s){const n=e.legend=new Dp({ctx:e.ctx,options:s,chart:e});Qe.configure(e,n,s),Qe.addBox(e,n)},stop(e){Qe.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,s){const n=e.legend;Qe.configure(e,n,s),n.options=s},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,s){const n=t.datasetIndex,i=s.chart;i.isDatasetVisible(n)?(i.hide(n),t.hidden=!0):(i.show(n),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:s,pointStyle:n,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(s?0:void 0),d=be(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:(d.width+d.height)/4,strokeStyle:c.borderColor,pointStyle:n||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class xb extends zs{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,s){const n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=s;const i=Jt(n.text)?n.text.length:1;this._padding=be(n.padding);const o=i*ce(n.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:s,left:n,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,d,u;return this.isHorizontal()?(d=me(a,n,o),u=s+t,c=o-n):(r.position==="left"?(d=n+t,u=me(a,i,s),l=Qt*-.5):(d=o-t,u=me(a,s,i),l=Qt*.5),c=i-s),{titleX:d,titleY:u,maxWidth:c,rotation:l}}draw(){const t=this.ctx,s=this.options;if(!s.display)return;const n=ce(s.font),o=n.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ii(t,s.text,0,0,n,{color:s.color,maxWidth:l,rotation:c,textAlign:su(s.align),textBaseline:"middle",translation:[r,a]})}}function kN(e,t){const s=new xb({ctx:e.ctx,options:t,chart:e});Qe.configure(e,s,t),Qe.addBox(e,s),e.titleBlock=s}var TN={id:"title",_element:xb,start(e,t,s){kN(e,s)},stop(e){const t=e.titleBlock;Qe.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,s){const n=e.titleBlock;Qe.configure(e,n,s),n.options=s},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 Eo={average(e){if(!e.length)return!1;let t,s,n=0,i=0,o=0;for(t=0,s=e.length;ta({chart:t,initial:s.initial,numSteps:r,currentStep:Math.min(n-s.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=F_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let s=0;this._charts.forEach((n,i)=>{if(!n.running||!n.items.length)return;const o=n.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>n.duration&&(n.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,n,t,"progress")),o.length||(n.running=!1,this._notify(i,n,t,"complete"),n.initial=!1),s+=o.length}),this._lastDate=t,s===0&&(this._running=!1)}_getAnims(t){const s=this._charts;let n=s.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},s.set(t,n)),n}listen(t,s,n){this._getAnims(t).listeners[s].push(n)}add(t,s){!s||!s.length||this._getAnims(t).items.push(...s)}has(t){return this._getAnims(t).items.length>0}start(t){const s=this._charts.get(t);s&&(s.running=!0,s.start=Date.now(),s.duration=s.items.reduce((n,i)=>Math.max(n,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const s=this._charts.get(t);return!(!s||!s.running||!s.items.length)}stop(t){const s=this._charts.get(t);if(!s||!s.items.length)return;const n=s.items;let i=n.length-1;for(;i>=0;--i)n[i].cancel();s.items=[],this._notify(t,s,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Ms=new Z2;const Gf="transparent",tL={boolean(e,t,s){return s>.5?t:e},color(e,t,s){const n=Bf(e||Gf),i=n.valid&&Bf(t||Gf);return i&&i.valid?i.mix(n,s).hexString():t},number(e,t,s){return e+(t-e)*s}};class eL{constructor(t,s,n,i){const o=s[n];i=yo([t.to,i,o,t.from]);const r=yo([t.from,o,i]);this._active=!0,this._fn=t.fn||tL[t.type||typeof r],this._easing=Ro[t.easing]||Ro.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=s,this._prop=n,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,s,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=yo([t.to,s,i,t.from]),this._from=yo([t.from,i,s])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const s=t-this._start,n=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||s1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((s,n)=>{t.push({res:s,rej:n})})}_notify(t){const s=t?"res":"rej",n=this._promises||[];for(let i=0;i{const o=t[i];if(!Nt(o))return;const r={};for(const a of s)r[a]=o[a];(Jt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!n.has(a))&&n.set(a,r)})})}_animateOptions(t,s){const n=s.options,i=nL(t,n);if(!i)return[];const o=this._createAnimations(i,n);return n.$shared&&sL(t.options.$animations,n).then(()=>{t.options=n},()=>{}),o}_createAnimations(t,s){const n=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(s),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"){i.push(...this._animateOptions(t,s));continue}const d=s[c];let u=o[c];const p=n.get(c);if(u)if(p&&u.active()){u.update(p,d,a);continue}else u.cancel();if(!p||!p.duration){t[c]=d;continue}o[c]=u=new eL(p,t,c,d),i.push(u)}return i}update(t,s){if(this._properties.size===0){Object.assign(t,s);return}const n=this._createAnimations(t,s);if(n.length)return Ms.add(this._chart,n),!0}}function sL(e,t){const s=[],n=Object.keys(t);for(let i=0;i0||!s&&o<0)return i.index}return null}function tp(e,t){const{chart:s,_cachedMeta:n}=e,i=s._stacks||(s._stacks={}),{iScale:o,vScale:r,index:a}=n,l=o.axis,c=r.axis,d=aL(o,r,n),u=t.length;let p;for(let g=0;gs[n].axis===t).shift()}function dL(e,t){return Cn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function uL(e,t,s){return Cn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:s,index:t,mode:"default",type:"data"})}function ho(e,t){const s=e.controller.index,n=e.vScale&&e.vScale.axis;if(n){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[n]===void 0||o[n][s]===void 0)return;delete o[n][s],o[n]._visualValues!==void 0&&o[n]._visualValues[s]!==void 0&&delete o[n]._visualValues[s]}}}const ec=e=>e==="reset"||e==="none",ep=(e,t)=>t?e:Object.assign({},e),hL=(e,t,s)=>e&&!t.hidden&&t._stacked&&{keys:nb(s,!0),values:null};class cs{constructor(t,s){this.chart=t,this._ctx=t.ctx,this.index=s,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=Qf(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&&ho(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,s=this._cachedMeta,n=this.getDataset(),i=(u,p,g,m)=>u==="x"?p:u==="r"?m:g,o=s.xAxisID=$t(n.xAxisID,tc(t,"x")),r=s.yAxisID=$t(n.yAxisID,tc(t,"y")),a=s.rAxisID=$t(n.rAxisID,tc(t,"r")),l=s.indexAxis,c=s.iAxisID=i(l,o,r,a),d=s.vAxisID=i(l,r,o,a);s.xScale=this.getScaleForId(o),s.yScale=this.getScaleForId(r),s.rScale=this.getScaleForId(a),s.iScale=this.getScaleForId(c),s.vScale=this.getScaleForId(d)}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 s=this._cachedMeta;return t===s.iScale?s.vScale:s.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Rf(this._data,this),t._stacked&&ho(t)}_dataCheck(){const t=this.getDataset(),s=t.data||(t.data=[]),n=this._data;if(Nt(s))this._data=rL(s);else if(n!==s){if(n){Rf(n,this);const i=this._cachedMeta;ho(i),i._parsed=[]}s&&Object.isExtensible(s)&&XO(s,this),this._syncList=[],this._data=s}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const s=this._cachedMeta,n=this.getDataset();let i=!1;this._dataCheck();const o=s._stacked;s._stacked=Qf(s.vScale,s),s.stack!==n.stack&&(i=!0,ho(s),s.stack=n.stack),this._resyncElements(t),(i||o!==s._stacked)&&tp(this,s._parsed)}configure(){const t=this.chart.config,s=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),s,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,s){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:r}=n,a=o.axis;let l=t===0&&s===i.length?!0:n._sorted,c=t>0&&n._parsed[t-1],d,u,p;if(this._parsing===!1)n._parsed=i,n._sorted=!0,p=i;else{Jt(i[t])?p=this.parseArrayData(n,i,t,s):Nt(i[t])?p=this.parseObjectData(n,i,t,s):p=this.parsePrimitiveData(n,i,t,s);const g=()=>u[a]===null||c&&u[a]_||u<_}for(p=0;p=0;--p)if(!m()){this.updateRangeFromParsed(c,t,g,l);break}}return c}getAllParsedValues(t){const s=this._cachedMeta._parsed,n=[];let i,o,r;for(i=0,o=s.length;i=0&&tthis.getContext(n,i,s),_=c.resolveNamedOptions(p,g,m,u);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(ep(_,l))),_}_resolveAnimations(t,s,n){const i=this.chart,o=this._cachedDataOpts,r=`animation-${s}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const d=this.chart.config,u=d.datasetAnimationScopeKeys(this._type,s),p=d.getOptionScopes(this.getDataset(),u);l=d.createResolver(p,this.getContext(t,n,s))}const c=new sb(i,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,s){return!s||ec(t)||this.chart._animationsDisabled}_getSharedOptions(t,s){const n=this.resolveDataElementOptions(t,s),i=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(s,o)||o!==i;return this.updateSharedOptions(o,s,n),{sharedOptions:o,includeOptions:r}}updateElement(t,s,n,i){ec(i)?Object.assign(t,n):this._resolveAnimations(s,i).update(t,n)}updateSharedOptions(t,s,n){t&&!ec(s)&&this._resolveAnimations(void 0,s).update(t,n)}_setStyle(t,s,n,i){t.active=i;const o=this.getStyle(s,i);this._resolveAnimations(s,n,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,s,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,s,n){this._setStyle(t,n,"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 s=this._data,n=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=n.length,o=s.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=s,a=c.length-1;a>=r;a--)c[a]=c[a-s]};for(l(o),a=t;ai-o))}return e._cache.$bar}function pL(e){const t=e.iScale,s=fL(t,e.type);let n=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Jo(a)&&(n=Math.min(n,Math.abs(r-a)||n)),a=r)};for(i=0,o=s.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[s.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function ib(e,t,s,n){return Jt(e)?_L(e,t,s,n):t[s.axis]=s.parse(e,n),t}function sp(e,t,s,n){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,d,u,p;for(c=s,d=s+n;c=s?1:-1)}function vL(e){let t,s,n,i,o;return e.horizontal?(t=e.base>e.x,s="left",n="right"):(t=e.basel.controller.options.grouped),o=n.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(s),d=c&&c[l.vScale.axis];if(jt(d)||isNaN(d))return!0};for(const l of i)if(!(s!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,s,n){const i=this._getStacks(t,n),o=s!==void 0?i.indexOf(s):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,s=this._cachedMeta,n=s.iScale,i=[];let o,r;for(o=0,r=s.data.length;o=0;--n)s=Math.max(s,t[n].size(this.resolveDataElementOptions(n))/2);return s>0&&s}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart.data.labels||[],{xScale:i,yScale:o}=s,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:n[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const s=this._cachedMeta.data;this.updateElements(s,0,s.length,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(s,i),d=r.axis,u=a.axis;for(let p=s;pXo($,a,l,!0)?1:Math.max(T,T*s,y,y*s),m=($,T,y)=>Xo($,a,l,!0)?-1:Math.min(T,T*s,y,y*s),_=g(0,c,u),v=g(se,d,p),w=m(Qt,c,u),S=m(Qt+se,d,p);n=(_-w)/2,i=(v-S)/2,o=-(_+w)/2,r=-(v+S)/2}return{ratioX:n,ratioY:i,offsetX:o,offsetY:r}}class Si extends cs{constructor(t,s){super(t,s),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,s){const n=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=n;else{let o=l=>+n[l];if(Nt(n[t])){const{key:l="value"}=this._parsing;o=c=>+vn(n[c],l)}let r,a;for(r=t,a=t+s;r0&&!isNaN(t)?Xt*(Math.abs(t)/s):0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=dr(s._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let s=0;const n=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=n.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),ot(Si,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}}});class Bo extends cs{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const s=this._cachedMeta,{dataset:n,data:i=[],_dataset:o}=s,r=this.chart._animationsDisabled;let{start:a,count:l}=V_(s,i,r);this._drawStart=a,this._drawCount=l,j_(s)&&(a=0,l=i.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:d,includeOptions:u}=this._getSharedOptions(s,i),p=r.axis,g=a.axis,{spanGaps:m,segment:_}=this.options,v=qi(m)?m:Number.POSITIVE_INFINITY,w=this.chart._animationsDisabled||o||i==="none",S=s+n,$=t.length;let T=s>0&&this.getParsed(s-1);for(let y=0;y<$;++y){const x=t[y],C=w?x:{};if(y=S){C.skip=!0;continue}const E=this.getParsed(y),P=jt(E[g]),M=C[p]=r.getPixelForValue(E[p],y),O=C[g]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,E,l):E[g],y);C.skip=isNaN(M)||isNaN(O)||P,C.stop=y>0&&Math.abs(E[p]-T[p])>v,_&&(C.parsed=E,C.raw=c.data[y]),u&&(C.options=d||this.resolveDataElementOptions(y,x.active?"active":i)),w||this.updateElement(x,y,C,i),T=E}}getMaxOverflow(){const t=this._cachedMeta,s=t.dataset,n=s.options&&s.options.borderWidth||0,i=t.data||[];if(!i.length)return n;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(n,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}ot(Bo,"id","line"),ot(Bo,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),ot(Bo,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class da extends cs{constructor(t,s){super(t,s),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=dr(s._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,s,n,i){return G_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta.data;this._updateRadius(),this.updateElements(s,0,s.length,t)}getMinMax(){const t=this._cachedMeta,s={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((n,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(os.max&&(s.max=o))}),s}_updateRadius(){const t=this.chart,s=t.chartArea,n=t.options,i=Math.min(s.right-s.left,s.bottom-s.top),o=Math.max(i/2,0),r=Math.max(n.cutoutPercentage?o/100*n.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,s,n,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,d=c.xCenter,u=c.yCenter,p=c.getIndexAngle(0)-.5*Qt;let g=p,m;const _=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&s++}),s}_computeAngle(t,s,n){return this.chart.getDataVisibility(t)?ls(this.resolveDataElementOptions(t,s).angle||n):0}}ot(da,"id","polarArea"),ot(da,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),ot(da,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Bc extends Si{}ot(Bc,"id","pie"),ot(Bc,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class ua extends cs{getLabelAndValue(t){const s=this._cachedMeta.vScale,n=this.getParsed(t);return{label:s.getLabels()[t],value:""+s.getLabelForValue(n[s.axis])}}parseObjectData(t,s,n,i){return G_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta,n=s.dataset,i=s.data||[],o=s.iScale.getLabels();if(n.points=i,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===i.length,options:r};this.updateElement(n,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,s,n,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=s;a0&&this.getParsed(s-1);for(let T=s;T0&&Math.abs(x[g]-$[g])>w,v&&(C.parsed=x,C.raw=c.data[T]),p&&(C.options=u||this.resolveDataElementOptions(T,y.active?"active":i)),S||this.updateElement(y,T,C,i),$=x}this.updateSharedOptions(u,i,d)}getMaxOverflow(){const t=this._cachedMeta,s=t.data||[];if(!this.options.showLine){let a=0;for(let l=s.length-1;l>=0;--l)a=Math.max(a,s[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const n=t.dataset,i=n.options&&n.options.borderWidth||0;if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}}ot(ha,"id","scatter"),ot(ha,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),ot(ha,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function jn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class du{constructor(t){ot(this,"options");this.options=t||{}}static override(t){Object.assign(du.prototype,t)}init(){}formats(){return jn()}parse(){return jn()}format(){return jn()}add(){return jn()}diff(){return jn()}startOf(){return jn()}endOf(){return jn()}}var EL={_date:du};function AL(e,t,s,n){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?GO:Ns;if(n){if(i._sharedOptions){const c=o[0],d=typeof c.getRange=="function"&&c.getRange(t);if(d){const u=l(o,t,s-d),p=l(o,t,s+d);return{lo:u.lo,hi:p.hi}}}}else return l(o,t,s)}return{lo:0,hi:o.length-1}}function ur(e,t,s,n,i){const o=e.getSortedVisibleDatasetMetas(),r=s[t];for(let a=0,l=o.length;a{l[r](t[s],i)&&(o.push({element:l,datasetIndex:c,index:d}),a=a||l.inRange(t.x,t.y,i))}),n&&!a?[]:o}var kL={evaluateInteractionItems:ur,modes:{index(e,t,s,n){const i=Wn(t,e),o=s.axis||"x",r=s.includeInvisible||!1,a=s.intersect?nc(e,i,o,n,r):ic(e,i,o,!1,n,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const d=a[0].index,u=c.data[d];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:d})}),l):[]},dataset(e,t,s,n){const i=Wn(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;let a=s.intersect?nc(e,i,o,n,r):ic(e,i,o,!1,n,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let d=0;ds.pos===t)}function rp(e,t){return e.filter(s=>ob.indexOf(s.pos)===-1&&s.box.axis===t)}function po(e,t){return e.sort((s,n)=>{const i=t?n:s,o=t?s:n;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function TL(e){const t=[];let s,n,i,o,r,a;for(s=0,n=(e||[]).length;sc.box.fullSize),!0),n=po(fo(t,"left"),!0),i=po(fo(t,"right")),o=po(fo(t,"top"),!0),r=po(fo(t,"bottom")),a=rp(t,"x"),l=rp(t,"y");return{fullSize:s,leftAndTop:n.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:fo(t,"chartArea"),vertical:n.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function ap(e,t,s,n){return Math.max(e[s],t[s])+Math.max(e[n],t[n])}function rb(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function OL(e,t,s,n){const{pos:i,box:o}=s,r=e.maxPadding;if(!Nt(i)){s.size&&(e[i]-=s.size);const u=n[s.stack]||{size:0,count:1};u.size=Math.max(u.size,s.horizontal?o.height:o.width),s.size=u.size/u.count,e[i]+=s.size}o.getPadding&&rb(r,o.getPadding());const a=Math.max(0,t.outerWidth-ap(r,e,"left","right")),l=Math.max(0,t.outerHeight-ap(r,e,"top","bottom")),c=a!==e.w,d=l!==e.h;return e.w=a,e.h=l,s.horizontal?{same:c,other:d}:{same:d,other:c}}function LL(e){const t=e.maxPadding;function s(n){const i=Math.max(t[n]-e[n],0);return e[n]+=i,i}e.y+=s("top"),e.x+=s("left"),s("right"),s("bottom")}function RL(e,t){const s=t.maxPadding;function n(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],s[r])}),o}return n(e?["left","right"]:["top","bottom"])}function xo(e,t,s,n){const i=[];let o,r,a,l,c,d;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const d=l.reduce((_,v)=>v.box.options&&v.box.options.display===!1?_:_+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:s,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/d,hBoxMaxHeight:r/2}),p=Object.assign({},i);rb(p,be(n));const g=Object.assign({maxPadding:p,w:o,h:r,x:i.left,y:i.top},i),m=DL(l.concat(c),u);xo(a.fullSize,g,u,m),xo(l,g,u,m),xo(c,g,u,m)&&xo(l,g,u,m),LL(g),lp(a.leftAndTop,g,u,m),g.x+=g.w,g.y+=g.h,lp(a.rightAndBottom,g,u,m),e.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},zt(a.chartArea,_=>{const v=_.box;Object.assign(v,e.chartArea),v.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})})}};class ab{acquireContext(t,s){}releaseContext(t){return!1}addEventListener(t,s,n){}removeEventListener(t,s,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,s,n,i){return s=Math.max(0,s||t.width),n=n||t.height,{width:s,height:Math.max(0,i?Math.floor(s/i):n)}}isAttached(t){return!0}updateConfig(t){}}class NL extends ab{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const fa="$chartjs",FL={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},cp=e=>e===null||e==="";function BL(e,t){const s=e.style,n=e.getAttribute("height"),i=e.getAttribute("width");if(e[fa]={initial:{height:n,width:i,style:{display:s.display,height:s.height,width:s.width}}},s.display=s.display||"block",s.boxSizing=s.boxSizing||"border-box",cp(i)){const o=Kf(e,"width");o!==void 0&&(e.width=o)}if(cp(n))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Kf(e,"height");o!==void 0&&(e.height=o)}return e}const lb=H2?{passive:!0}:!1;function VL(e,t,s){e.addEventListener(t,s,lb)}function jL(e,t,s){e.canvas.removeEventListener(t,s,lb)}function HL(e,t){const s=FL[e.type]||e.type,{x:n,y:i}=Wn(e,t);return{type:s,chart:t,native:e,x:n!==void 0?n:null,y:i!==void 0?i:null}}function Oa(e,t){for(const s of e)if(s===t||s.contains(t))return!0}function WL(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oa(a.addedNodes,n),r=r&&!Oa(a.removedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}function zL(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oa(a.removedNodes,n),r=r&&!Oa(a.addedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}const Zo=new Map;let dp=0;function cb(){const e=window.devicePixelRatio;e!==dp&&(dp=e,Zo.forEach((t,s)=>{s.currentDevicePixelRatio!==e&&t()}))}function KL(e,t){Zo.size||window.addEventListener("resize",cb),Zo.set(e,t)}function UL(e){Zo.delete(e),Zo.size||window.removeEventListener("resize",cb)}function YL(e,t,s){const n=e.canvas,i=n&&cu(n);if(!i)return;const o=B_((a,l)=>{const c=i.clientWidth;s(a,l),c{const l=a[0],c=l.contentRect.width,d=l.contentRect.height;c===0&&d===0||o(c,d)});return r.observe(i),KL(e,o),r}function oc(e,t,s){s&&s.disconnect(),t==="resize"&&UL(e)}function qL(e,t,s){const n=e.canvas,i=B_(o=>{e.ctx!==null&&s(HL(o,e))},e);return VL(n,t,i),i}class GL extends ab{acquireContext(t,s){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(BL(t,s),n):null}releaseContext(t){const s=t.canvas;if(!s[fa])return!1;const n=s[fa].initial;["height","width"].forEach(o=>{const r=n[o];jt(r)?s.removeAttribute(o):s.setAttribute(o,r)});const i=n.style||{};return Object.keys(i).forEach(o=>{s.style[o]=i[o]}),s.width=s.width,delete s[fa],!0}addEventListener(t,s,n){this.removeEventListener(t,s);const i=t.$proxies||(t.$proxies={}),r={attach:WL,detach:zL,resize:YL}[s]||qL;i[s]=r(t,s,n)}removeEventListener(t,s){const n=t.$proxies||(t.$proxies={}),i=n[s];if(!i)return;({attach:oc,detach:oc,resize:oc}[s]||jL)(t,s,i),n[s]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,s,n,i){return j2(t,s,n,i)}isAttached(t){const s=cu(t);return!!(s&&s.isConnected)}}function JL(e){return!lu()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?NL:GL}var Zr;let zs=(Zr=class{constructor(){ot(this,"x");ot(this,"y");ot(this,"active",!1);ot(this,"options");ot(this,"$animations")}tooltipPosition(t){const{x:s,y:n}=this.getProps(["x","y"],t);return{x:s,y:n}}hasValue(){return qi(this.x)&&qi(this.y)}getProps(t,s){const n=this.$animations;if(!s||!n)return this;const i={};return t.forEach(o=>{i[o]=n[o]&&n[o].active()?n[o]._to:this[o]}),i}},ot(Zr,"defaults",{}),ot(Zr,"defaultRoutes"),Zr);function XL(e,t){const s=e.options.ticks,n=QL(e),i=Math.min(s.maxTicksLimit||n,n),o=s.major.enabled?tR(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return eR(t,c,o,r/i),c;const d=ZL(o,t,i);if(r>0){let u,p;const g=r>1?Math.round((l-a)/(r-1)):null;for(Ur(t,c,d,jt(g)?0:a-g,a),u=0,p=r-1;ui)return l}return Math.max(i,1)}function tR(e){const t=[];let s,n;for(s=0,n=e.length;se==="left"?"right":e==="right"?"left":e,up=(e,t,s)=>t==="top"||t==="left"?e[t]+s:e[t]-s,hp=(e,t)=>Math.min(t||e,e);function fp(e,t){const s=[],n=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function oR(e,t){zt(e,s=>{const n=s.gc,i=n.length/2;let o;if(i>t){for(o=0;on?n:s,n=i&&s>n?s:n,{min:Ie(s,Ie(n,s)),max:Ie(n,Ie(s,n))}}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(){Yt(this.options.beforeUpdate,[this])}update(t,s,n){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=s,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=v2(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||n<=1||!this.isHorizontal()){this.labelRotation=i;return}const d=this._getLabelSizes(),u=d.widest.width,p=d.highest.height,g=fe(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/n:g/(n-1),u+6>a&&(a=g/(n-(t.offset?.5:1)),l=this.maxHeight-go(t.grid)-s.padding-pp(t.title,this.chart.options.font),c=Math.sqrt(u*u+p*p),r=tu(Math.min(Math.asin(fe((d.highest.height+6)/a,-1,1)),Math.asin(fe(l/c,-1,1))-Math.asin(fe(p/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Yt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Yt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:s,options:{ticks:n,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=pp(i,s.options.font);if(a?(t.width=this.maxWidth,t.height=go(o)+l):(t.height=this.maxHeight,t.width=go(o)+l),n.display&&this.ticks.length){const{first:c,last:d,widest:u,highest:p}=this._getLabelSizes(),g=n.padding*2,m=ls(this.labelRotation),_=Math.cos(m),v=Math.sin(m);if(a){const w=n.mirror?0:v*u.width+_*p.height;t.height=Math.min(this.maxHeight,t.height+w+g)}else{const w=n.mirror?0:_*u.width+v*p.height;t.width=Math.min(this.maxWidth,t.width+w+g)}this._calculatePadding(c,d,v,_)}}this._handleMargins(),a?(this.width=this._length=s.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=s.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,s,n,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const d=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let p=0,g=0;l?c?(p=i*t.width,g=n*s.height):(p=n*t.height,g=i*s.width):o==="start"?g=s.width:o==="end"?p=t.width:o!=="inner"&&(p=t.width/2,g=s.width/2),this.paddingLeft=Math.max((p-d+r)*this.width/(this.width-d),0),this.paddingRight=Math.max((g-u+r)*this.width/(this.width-u),0)}else{let d=s.height/2,u=t.height/2;o==="start"?(d=0,u=t.height):o==="end"&&(d=s.height,u=0),this.paddingTop=d+r,this.paddingBottom=u+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(){Yt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:s}=this.options;return s==="top"||s==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let s,n;for(s=0,n=t.length;s({width:r[P]||0,height:a[P]||0});return{first:E(0),last:E(s-1),widest:E(x),highest:E(C),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,s){return NaN}getValueForPixel(t){}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const s=this._startPixel+t*this._length;return qO(this._alignToPixels?Vn(this.chart,s,0):s)}getDecimalForPixel(t){const s=(t-this._startPixel)/this._length;return this._reversePixels?1-s:s}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:s}=this;return t<0&&s<0?s:t>0&&s>0?t:0}getContext(t){const s=this.ticks||[];if(t>=0&&ta*i?a/n:l/i:l*i0}_computeGridLineItems(t){const s=this.axis,n=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),p=go(o),g=[],m=a.setContext(this.getContext()),_=m.display?m.width:0,v=_/2,w=function(R){return Vn(n,R,_)};let S,$,T,y,x,C,E,P,M,O,F,Q;if(r==="top")S=w(this.bottom),C=this.bottom-p,P=S-v,O=w(t.top)+v,Q=t.bottom;else if(r==="bottom")S=w(this.top),O=t.top,Q=w(t.bottom)-v,C=S+v,P=this.top+p;else if(r==="left")S=w(this.right),x=this.right-p,E=S-v,M=w(t.left)+v,F=t.right;else if(r==="right")S=w(this.left),M=t.left,F=w(t.right)-v,x=S+v,E=this.left+p;else if(s==="x"){if(r==="center")S=w((t.top+t.bottom)/2+.5);else if(Nt(r)){const R=Object.keys(r)[0],z=r[R];S=w(this.chart.scales[R].getPixelForValue(z))}O=t.top,Q=t.bottom,C=S+v,P=C+p}else if(s==="y"){if(r==="center")S=w((t.left+t.right)/2);else if(Nt(r)){const R=Object.keys(r)[0],z=r[R];S=w(this.chart.scales[R].getPixelForValue(z))}x=S-v,E=x-p,M=t.left,F=t.right}const G=$t(i.ticks.maxTicksLimit,u),H=Math.max(1,Math.ceil(u/G));for($=0;$0&&(kt-=Pt/2);break}vt={left:kt,top:Ft,width:Pt+_t.width,height:Dt+_t.height,color:H.backdropColor}}v.push({label:T,font:P,textOffset:F,options:{rotation:_,color:z,strokeColor:Y,strokeWidth:rt,textAlign:ht,textBaseline:Q,translation:[y,x],backdrop:vt}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:s}=this.options;if(-ls(this.labelRotation))return t==="top"?"left":"right";let i="center";return s.align==="start"?i="left":s.align==="end"?i="right":s.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:s,ticks:{crossAlign:n,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,d;return s==="left"?i?(d=this.right+o,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d+=l)):(d=this.right-a,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d=this.left)):s==="right"?i?(d=this.left+o,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d-=l)):(d=this.left+a,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d=this.right)):c="right",{textAlign:c,x:d}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,s=this.options.position;if(s==="left"||s==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(s==="top"||s==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:s},left:n,top:i,width:o,height:r}=this;s&&(t.save(),t.fillStyle=s,t.fillRect(n,i,o,r),t.restore())}getLineWidthForValue(t){const s=this.options.grid;if(!this._isVisible()||!s.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?s.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const s=this.options.grid,n=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,d)=>{!d.width||!d.color||(n.save(),n.lineWidth=d.width,n.strokeStyle=d.color,n.setLineDash(d.borderDash||[]),n.lineDashOffset=d.borderDashOffset,n.beginPath(),n.moveTo(l.x,l.y),n.lineTo(c.x,c.y),n.stroke(),n.restore())};if(s.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:n,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:s,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const s=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",i=[];let o,r;for(o=0,r=s.length;o{const n=s.split("."),i=n.pop(),o=[e].concat(n).join("."),r=t[s].split("."),a=r.pop(),l=r.join(".");ee.route(o,i,l,a)})}function hR(e){return"id"in e&&"defaults"in e}class fR{constructor(){this.controllers=new Yr(cs,"datasets",!0),this.elements=new Yr(zs,"elements"),this.plugins=new Yr(Object,"plugins"),this.scales=new Yr(ai,"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,s,n){[...s].forEach(i=>{const o=n||this._getRegistryForType(i);n||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):zt(i,r=>{const a=n||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,s,n){const i=Zd(t);Yt(n["before"+i],[],n),s[t](n),Yt(n["after"+i],[],n)}_getRegistryForType(t){for(let s=0;so.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(s,n),t,"stop"),this._notify(i(n,s),t,"start")}}function gR(e){const t={},s=[],n=Object.keys(ps.plugins.items);for(let o=0;o1&&gp(e[0].toLowerCase());if(n)return n}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function mp(e,t,s){if(s[t+"AxisID"]===e)return{axis:t}}function wR(e,t){if(t.data&&t.data.datasets){const s=t.data.datasets.filter(n=>n.xAxisID===e||n.yAxisID===e);if(s.length)return mp(e,"x",s[0])||mp(e,"y",s[0])}return{}}function SR(e,t){const s=ni[e.type]||{scales:{}},n=t.scales||{},i=Vc(e.type,t),o=Object.create(null);return Object.keys(n).forEach(r=>{const a=n[r];if(!Nt(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=jc(r,a,wR(r,e),ee.scales[a.type]),c=yR(l,i),d=s.scales||{};o[r]=Oo(Object.create(null),[{axis:l},a,d[l],d[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Vc(a,t),d=(ni[a]||{}).scales||{};Object.keys(d).forEach(u=>{const p=vR(u,l),g=r[p+"AxisID"]||p;o[g]=o[g]||Object.create(null),Oo(o[g],[{axis:p},n[g],d[u]])})}),Object.keys(o).forEach(r=>{const a=o[r];Oo(a,[ee.scales[a.type],ee.scale])}),o}function db(e){const t=e.options||(e.options={});t.plugins=$t(t.plugins,{}),t.scales=SR(e,t)}function ub(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function ER(e){return e=e||{},e.data=ub(e.data),db(e),e}const _p=new Map,hb=new Set;function qr(e,t){let s=_p.get(e);return s||(s=t(),_p.set(e,s),hb.add(s)),s}const mo=(e,t,s)=>{const n=vn(t,s);n!==void 0&&e.add(n)};let AR=class{constructor(t){this._config=ER(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=ub(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(),db(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return qr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,s){return qr(`${t}.transition.${s}`,()=>[[`datasets.${t}.transitions.${s}`,`transitions.${s}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,s){return qr(`${t}-${s}`,()=>[[`datasets.${t}.elements.${s}`,`datasets.${t}`,`elements.${s}`,""]])}pluginScopeKeys(t){const s=t.id,n=this.type;return qr(`${n}-plugin-${s}`,()=>[[`plugins.${s}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,s){const n=this._scopeCache;let i=n.get(t);return(!i||s)&&(i=new Map,n.set(t,i)),i}getOptionScopes(t,s,n){const{options:i,type:o}=this,r=this._cachedScopes(t,n),a=r.get(s);if(a)return a;const l=new Set;s.forEach(d=>{t&&(l.add(t),d.forEach(u=>mo(l,t,u))),d.forEach(u=>mo(l,i,u)),d.forEach(u=>mo(l,ni[o]||{},u)),d.forEach(u=>mo(l,ee,u)),d.forEach(u=>mo(l,Nc,u))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),hb.has(s)&&r.set(s,c),c}chartOptionScopes(){const{options:t,type:s}=this;return[t,ni[s]||{},ee.datasets[s]||{},{type:s},ee,Nc]}resolveNamedOptions(t,s,n,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=bp(this._resolverCache,t,i);let l=r;if($R(r,s)){o.$shared=!1,n=yn(n)?n():n;const c=this.createResolver(t,n,a);l=Gi(r,n,c)}for(const c of s)o[c]=l[c];return o}createResolver(t,s,n=[""],i){const{resolver:o}=bp(this._resolverCache,t,n);return Nt(s)?Gi(o,s,void 0,i):o}};function bp(e,t,s){let n=e.get(t);n||(n=new Map,e.set(t,n));const i=s.join();let o=n.get(i);return o||(o={resolver:ou(t,s),subPrefixes:s.filter(a=>!a.toLowerCase().includes("hover"))},n.set(i,o)),o}const CR=e=>Nt(e)&&Object.getOwnPropertyNames(e).some(t=>yn(e[t]));function $R(e,t){const{isScriptable:s,isIndexable:n}=K_(e);for(const i of t){const o=s(i),r=n(i),a=(r||o)&&e[i];if(o&&(yn(a)||CR(a))||r&&Jt(a))return!0}return!1}var PR="4.4.1";const kR=["top","bottom","left","right","chartArea"];function vp(e,t){return e==="top"||e==="bottom"||kR.indexOf(e)===-1&&t==="x"}function yp(e,t){return function(s,n){return s[e]===n[e]?s[t]-n[t]:s[e]-n[e]}}function xp(e){const t=e.chart,s=t.options.animation;t.notifyPlugins("afterRender"),Yt(s&&s.onComplete,[e],t)}function TR(e){const t=e.chart,s=t.options.animation;Yt(s&&s.onProgress,[e],t)}function fb(e){return lu()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const pa={},wp=e=>{const t=fb(e);return Object.values(pa).filter(s=>s.canvas===t).pop()};function MR(e,t,s){const n=Object.keys(e);for(const i of n){const o=+i;if(o>=t){const r=e[i];delete e[i],(s>0||o>t)&&(e[o+s]=r)}}}function DR(e,t,s,n){return!s||e.type==="mouseout"?null:n?t:e}function Gr(e,t,s){return e.options.clip?e[s]:t[s]}function IR(e,t){const{xScale:s,yScale:n}=e;return s&&n?{left:Gr(s,t,"left"),right:Gr(s,t,"right"),top:Gr(n,t,"top"),bottom:Gr(n,t,"bottom")}:t}var Xs;let pl=(Xs=class{static register(...t){ps.add(...t),Sp()}static unregister(...t){ps.remove(...t),Sp()}constructor(t,s){const n=this.config=new AR(s),i=fb(t),o=wp(i);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=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||JL(i)),this.platform.updateConfig(n);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,d=l&&l.width;if(this.id=RO(),this.ctx=a,this.canvas=l,this.width=d,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 pR,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=QO(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],pa[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Ms.listen(this,"complete",xp),Ms.listen(this,"progress",TR),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:s},width:n,height:i,_aspectRatio:o}=this;return jt(t)?s&&o?o:i?n/i: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 ps}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():zf(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return jf(this.canvas,this.ctx),this}stop(){return Ms.stop(this),this}resize(t,s){Ms.running(this)?this._resizeBeforeDraw={width:t,height:s}:this._resize(t,s)}_resize(t,s){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,s,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,zf(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Yt(n.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const s=this.options.scales||{};zt(s,(n,i)=>{n.id=i})}buildOrUpdateScales(){const t=this.options,s=t.scales,n=this.scales,i=Object.keys(n).reduce((r,a)=>(r[a]=!1,r),{});let o=[];s&&(o=o.concat(Object.keys(s).map(r=>{const a=s[r],l=jc(r,a),c=l==="r",d=l==="x";return{options:a,dposition:c?"chartArea":d?"bottom":"left",dtype:c?"radialLinear":d?"category":"linear"}}))),zt(o,r=>{const a=r.options,l=a.id,c=jc(l,a),d=$t(a.type,r.dtype);(a.position===void 0||vp(a.position,c)!==vp(r.dposition))&&(a.position=r.dposition),i[l]=!0;let u=null;if(l in n&&n[l].type===d)u=n[l];else{const p=ps.getScale(d);u=new p({id:l,type:d,ctx:this.ctx,chart:this}),n[u.id]=u}u.init(a,t)}),zt(i,(r,a)=>{r||delete n[a]}),zt(n,r=>{Qe.configure(this,r,r.options),Qe.addBox(this,r)})}_updateMetasets(){const t=this._metasets,s=this.data.datasets.length,n=t.length;if(t.sort((i,o)=>i.index-o.index),n>s){for(let i=s;is.length&&delete this._stacks,t.forEach((n,i)=>{s.filter(o=>o===n._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],s=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=s.length;n{this.getDatasetMeta(s).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const s=this.config;s.update();const n=this._options=s.createResolver(s.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.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,d=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(yp("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){zt(this.scales,t=>{Qe.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,s=new Set(Object.keys(this._listeners)),n=new Set(t.events);(!Df(s,n)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,s=this._getUniformDataChanges()||[];for(const{method:n,start:i,count:o}of s){const r=n==="_removeElements"?-o:o;MR(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const s=this.data.datasets.length,n=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=n(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;Qe.update(this,this.width,this.height,t);const s=this.chartArea,n=s.width<=0||s.height<=0;this._layers=[],zt(this.boxes,i=>{n&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let s=0,n=this.data.datasets.length;s=0;--s)this._drawDataset(t[s]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const s=this.ctx,n=t._clip,i=!n.disabled,o=IR(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&ul(s,{left:n.left===!1?0:o.left-n.left,right:n.right===!1?this.width:o.right+n.right,top:n.top===!1?0:o.top-n.top,bottom:n.bottom===!1?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&hl(s),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Fs(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,s,n,i){const o=kL.modes[s];return typeof o=="function"?o(this,t,n,i):[]}getDatasetMeta(t){const s=this.data.datasets[t],n=this._metasets;let i=n.filter(o=>o&&o._dataset===s).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:s&&s.order||0,index:t,_dataset:s,_parsed:[],_sorted:!1},n.push(i)),i}getContext(){return this.$context||(this.$context=Cn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const s=this.data.datasets[t];if(!s)return!1;const n=this.getDatasetMeta(t);return typeof n.hidden=="boolean"?!n.hidden:!s.hidden}setDatasetVisibility(t,s){const n=this.getDatasetMeta(t);n.hidden=!s}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,s,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Jo(s)?(o.data[s].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,s){this._updateVisibility(t,s,!1)}show(t,s){this._updateVisibility(t,s,!0)}_destroyDatasetMeta(t){const s=this._metasets[t];s&&s.controller&&s.controller._destroy(),delete this._metasets[t]}_stop(){let t,s;for(this.stop(),Ms.remove(this),t=0,s=this.data.datasets.length;t{s.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};zt(this.options.events,o=>n(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,s=this.platform,n=(l,c)=>{s.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(s.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),n("attach",a)},s.isAttached(this.canvas)?a():r()}unbindEvents(){zt(this._listeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._listeners={},zt(this._responsiveListeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,s,n){const i=n?"set":"remove";let o,r,a,l;for(s==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"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}});!ka(n,s)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,s))}notifyPlugins(t,s,n){return this._plugins.notify(this,t,s,n)}isPluginEnabled(t){return this._plugins._cache.filter(s=>s.plugin.id===t).length===1}_updateHoverStyles(t,s,n){const i=this.options.hover,o=(l,c)=>l.filter(d=>!c.some(u=>d.datasetIndex===u.datasetIndex&&d.index===u.index)),r=o(s,t),a=n?t:o(t,s);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,s){const n={event:t,replay:s,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",n,i)===!1)return;const o=this._handleEvent(t,s,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,s,n){const{_active:i=[],options:o}=this,r=s,a=this._getActiveElements(t,i,n,r),l=HO(t),c=DR(t,this._lastEvent,n,l);n&&(this._lastEvent=null,Yt(o.onHover,[t,a,this],this),l&&Yt(o.onClick,[t,a,this],this));const d=!ka(a,i);return(d||s)&&(this._active=a,this._updateHoverStyles(a,i,s)),this._lastEvent=c,d}_getActiveElements(t,s,n,i){if(t.type==="mouseout")return[];if(!n)return s;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},ot(Xs,"defaults",ee),ot(Xs,"instances",pa),ot(Xs,"overrides",ni),ot(Xs,"registry",ps),ot(Xs,"version",PR),ot(Xs,"getChart",wp),Xs);function Sp(){return zt(pl.instances,e=>e._plugins.invalidate())}function OR(e,t,s){const{startAngle:n,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,n-c,s+c),l>i?(c=i/l,e.arc(o,r,l,s+c,n-c,!0)):e.arc(o,r,i,s+se,n-se),e.closePath(),e.clip()}function LR(e){return iu(e,["outerStart","outerEnd","innerStart","innerEnd"])}function RR(e,t,s,n){const i=LR(e.options.borderRadius),o=(s-t)/2,r=Math.min(o,n*t/2),a=l=>{const c=(s-Math.min(o,l))*n/2;return fe(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:fe(i.innerStart,0,r),innerEnd:fe(i.innerEnd,0,r)}}function vi(e,t,s,n){return{x:s+e*Math.cos(t),y:n+e*Math.sin(t)}}function La(e,t,s,n,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:d}=t,u=Math.max(t.outerRadius+n+s-c,0),p=d>0?d+n+s+c:0;let g=0;const m=i-l;if(n){const H=d>0?d-n:0,R=u>0?u-n:0,z=(H+R)/2,Y=z!==0?m*z/(z+n):m;g=(m-Y)/2}const _=Math.max(.001,m*u-s/Qt)/u,v=(m-_)/2,w=l+v+g,S=i-v-g,{outerStart:$,outerEnd:T,innerStart:y,innerEnd:x}=RR(t,p,u,S-w),C=u-$,E=u-T,P=w+$/C,M=S-T/E,O=p+y,F=p+x,Q=w+y/O,G=S-x/F;if(e.beginPath(),o){const H=(P+M)/2;if(e.arc(r,a,u,P,H),e.arc(r,a,u,H,M),T>0){const rt=vi(E,M,r,a);e.arc(rt.x,rt.y,T,M,S+se)}const R=vi(F,S,r,a);if(e.lineTo(R.x,R.y),x>0){const rt=vi(F,G,r,a);e.arc(rt.x,rt.y,x,S+se,G+Math.PI)}const z=(S-x/p+(w+y/p))/2;if(e.arc(r,a,p,S-x/p,z,!0),e.arc(r,a,p,z,w+y/p,!0),y>0){const rt=vi(O,Q,r,a);e.arc(rt.x,rt.y,y,Q+Math.PI,w-se)}const Y=vi(C,w,r,a);if(e.lineTo(Y.x,Y.y),$>0){const rt=vi(C,P,r,a);e.arc(rt.x,rt.y,$,w-se,P)}}else{e.moveTo(r,a);const H=Math.cos(P)*u+r,R=Math.sin(P)*u+a;e.lineTo(H,R);const z=Math.cos(M)*u+r,Y=Math.sin(M)*u+a;e.lineTo(z,Y)}e.closePath()}function NR(e,t,s,n,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){La(e,t,s,n,l,i);for(let c=0;c=Xt||Xo(r,l,c),v=Rs(a,d+g,u+g);return _&&v}getCenterPoint(s){const{x:n,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],s),{offset:c,spacing:d}=this.options,u=(o+r)/2,p=(a+l+d+c)/2;return{x:n+Math.cos(u)*p,y:i+Math.sin(u)*p}}tooltipPosition(s){return this.getCenterPoint(s)}draw(s){const{options:n,circumference:i}=this,o=(n.offset||0)/4,r=(n.spacing||0)/2,a=n.circular;if(this.pixelMargin=n.borderAlign==="inner"?.33:0,this.fullCircles=i>Xt?Math.floor(i/Xt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;s.save();const l=(this.startAngle+this.endAngle)/2;s.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Qt,i||0)),d=o*c;s.fillStyle=n.backgroundColor,s.strokeStyle=n.borderColor,NR(s,this,d,r,a),FR(s,this,d,r,a),s.restore()}}ot(wo,"id","arc"),ot(wo,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),ot(wo,"defaultRoutes",{backgroundColor:"backgroundColor"}),ot(wo,"descriptors",{_scriptable:!0,_indexable:s=>s!=="borderDash"});function pb(e,t,s=t){e.lineCap=$t(s.borderCapStyle,t.borderCapStyle),e.setLineDash($t(s.borderDash,t.borderDash)),e.lineDashOffset=$t(s.borderDashOffset,t.borderDashOffset),e.lineJoin=$t(s.borderJoinStyle,t.borderJoinStyle),e.lineWidth=$t(s.borderWidth,t.borderWidth),e.strokeStyle=$t(s.borderColor,t.borderColor)}function BR(e,t,s){e.lineTo(s.x,s.y)}function VR(e){return e.stepped?d2:e.tension||e.cubicInterpolationMode==="monotone"?u2:BR}function gb(e,t,s={}){const n=e.length,{start:i=0,end:o=n-1}=s,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),d=ia&&o>a;return{count:n,start:l,loop:t.loop,ilen:c(r+(c?a-T:T))%o,$=()=>{_!==v&&(e.lineTo(d,v),e.lineTo(d,_),e.lineTo(d,w))};for(l&&(g=i[S(0)],e.moveTo(g.x,g.y)),p=0;p<=a;++p){if(g=i[S(p)],g.skip)continue;const T=g.x,y=g.y,x=T|0;x===m?(y<_?_=y:y>v&&(v=y),d=(u*d+T)/++u):($(),e.lineTo(T,y),m=x,u=0,_=v=y),w=y}$()}function Hc(e){const t=e.options,s=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!s?HR:jR}function WR(e){return e.stepped?W2:e.tension||e.cubicInterpolationMode==="monotone"?z2:zn}function zR(e,t,s,n){let i=t._path;i||(i=t._path=new Path2D,t.path(i,s,n)&&i.closePath()),pb(e,t.options),e.stroke(i)}function KR(e,t,s,n){const{segments:i,options:o}=t,r=Hc(t);for(const a of i)pb(e,o,a.style),e.beginPath(),r(e,t,a,{start:s,end:s+n-1})&&e.closePath(),e.stroke()}const UR=typeof Path2D=="function";function YR(e,t,s,n){UR&&!t.options.segment?zR(e,t,s,n):KR(e,t,s,n)}class dn extends zs{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,s){const n=this.options;if((n.tension||n.cubicInterpolationMode==="monotone")&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;L2(this._points,n,t,i,s),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=J2(this,this.options.segment))}first(){const t=this.segments,s=this.points;return t.length&&s[t[0].start]}last(){const t=this.segments,s=this.points,n=t.length;return n&&s[t[n-1].end]}interpolate(t,s){const n=this.options,i=t[s],o=this.points,r=eb(this,{property:s,start:i,end:i});if(!r.length)return;const a=[],l=WR(n);let c,d;for(c=0,d=r.length;ct!=="borderDash"&&t!=="fill"});function Ep(e,t,s,n){const i=e.options,{[s]:o}=e.getProps([s],n);return Math.abs(t-o)=s)return e.slice(t,t+s);const r=[],a=(s-2)/(o-2);let l=0;const c=t+s-1;let d=t,u,p,g,m,_;for(r[l++]=e[d],u=0;ug&&(g=m,p=e[S],_=S);r[l++]=p,d=_}return r[l++]=e[c],r}function tN(e,t,s,n){let i=0,o=0,r,a,l,c,d,u,p,g,m,_;const v=[],w=t+s-1,S=e[t].x,T=e[w].x-S;for(r=t;r_&&(_=c,p=r),i=(o*i+a.x)/++o;else{const x=r-1;if(!jt(u)&&!jt(p)){const C=Math.min(u,p),E=Math.max(u,p);C!==g&&C!==x&&v.push({...e[C],x:i}),E!==g&&E!==x&&v.push({...e[E],x:i})}r>0&&x!==g&&v.push(e[x]),v.push(a),d=y,o=0,m=_=c,u=p=g=r}}return v}function _b(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Ap(e){e.data.datasets.forEach(t=>{_b(t)})}function eN(e,t){const s=t.length;let n=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(n=fe(Ns(t,o.axis,r).lo,0,s-1)),c?i=fe(Ns(t,o.axis,a).hi+1,n,s)-n:i=s-n,{start:n,count:i}}var sN={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,s)=>{if(!s.enabled){Ap(e);return}const n=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(yo([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const d=e.scales[l.xAxisID];if(d.type!=="linear"&&d.type!=="time"||e.options.parsing)return;let{start:u,count:p}=eN(l,c);const g=s.threshold||4*n;if(p<=g){_b(i);return}jt(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(_){this._data=_}}));let m;switch(s.algorithm){case"lttb":m=ZR(c,u,p,n,s);break;case"min-max":m=tN(c,u,p,n);break;default:throw new Error(`Unsupported decimation algorithm '${s.algorithm}'`)}i._decimated=m})},destroy(e){Ap(e)}};function nN(e,t,s){const n=e.segments,i=e.points,o=t.points,r=[];for(const a of n){let{start:l,end:c}=a;c=uu(l,c,i);const d=Wc(s,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:d,start:i[l],end:i[c]});continue}const u=eb(t,d);for(const p of u){const g=Wc(s,o[p.start],o[p.end],p.loop),m=tb(a,i,g);for(const _ of m)r.push({source:_,target:p,start:{[s]:Cp(d,g,"start",Math.max)},end:{[s]:Cp(d,g,"end",Math.min)}})}}return r}function Wc(e,t,s,n){if(n)return;let i=t[e],o=s[e];return e==="angle"&&(i=Le(i),o=Le(o)),{property:e,start:i,end:o}}function iN(e,t){const{x:s=null,y:n=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=uu(r,a,i);const l=i[r],c=i[a];n!==null?(o.push({x:l.x,y:n}),o.push({x:c.x,y:n})):s!==null&&(o.push({x:s,y:l.y}),o.push({x:s,y:c.y}))}),o}function uu(e,t,s){for(;t>e;t--){const n=s[t];if(!isNaN(n.x)&&!isNaN(n.y))break}return t}function Cp(e,t,s,n){return e&&t?n(e[s],t[s]):e?e[s]:t?t[s]:0}function bb(e,t){let s=[],n=!1;return Jt(e)?(n=!0,s=e):s=iN(e,t),s.length?new dn({points:s,options:{tension:0},_loop:n,_fullLoop:n}):null}function $p(e){return e&&e.fill!==!1}function oN(e,t,s){let i=e[t].fill;const o=[t];let r;if(!s)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!te(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function rN(e,t,s){const n=dN(e);if(Nt(n))return isNaN(n.value)?!1:n;let i=parseFloat(n);return te(i)&&Math.floor(i)===i?aN(n[0],t,i,s):["origin","start","end","stack","shape"].indexOf(n)>=0&&n}function aN(e,t,s,n){return(e==="-"||e==="+")&&(s=t+s),s===t||s<0||s>=n?!1:s}function lN(e,t){let s=null;return e==="start"?s=t.bottom:e==="end"?s=t.top:Nt(e)?s=t.getPixelForValue(e.value):t.getBasePixel&&(s=t.getBasePixel()),s}function cN(e,t,s){let n;return e==="start"?n=s:e==="end"?n=t.options.reverse?t.min:t.max:Nt(e)?n=e.value:n=t.getBaseValue(),n}function dN(e){const t=e.options,s=t.fill;let n=$t(s&&s.target,s);return n===void 0&&(n=!!t.backgroundColor),n===!1||n===null?!1:n===!0?"origin":n}function uN(e){const{scale:t,index:s,line:n}=e,i=[],o=n.segments,r=n.points,a=hN(t,s);a.push(bb({x:null,y:t.bottom},n));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),n&&a.fill&&lc(e.ctx,a,o))}},beforeDatasetsDraw(e,t,s){if(s.drawTime!=="beforeDatasetsDraw")return;const n=e.getSortedVisibleDatasetMetas();for(let i=n.length-1;i>=0;--i){const o=n[i].$filler;$p(o)&&lc(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,s){const n=t.meta.$filler;!$p(n)||s.drawTime!=="beforeDatasetDraw"||lc(e.ctx,n,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Mp=(e,t)=>{let{boxHeight:s=t,boxWidth:n=t}=e;return e.usePointStyle&&(s=Math.min(s,t),n=e.pointStyleWidth||Math.min(n,t)),{boxWidth:n,boxHeight:s,itemHeight:Math.max(t,s)}},SN=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Dp extends zs{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,s,n){this.maxWidth=t,this.maxHeight=s,this._margins=n,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 s=Yt(t.generateLabels,[this.chart],this)||[];t.filter&&(s=s.filter(n=>t.filter(n,this.chart.data))),t.sort&&(s=s.sort((n,i)=>t.sort(n,i,this.chart.data))),this.options.reverse&&s.reverse(),this.legendItems=s}fit(){const{options:t,ctx:s}=this;if(!t.display){this.width=this.height=0;return}const n=t.labels,i=ce(n.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Mp(n,o);let c,d;s.font=i.string,this.isHorizontal()?(c=this.maxWidth,d=this._fitRows(r,o,a,l)+10):(d=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(d,t.maxHeight||this.maxHeight)}_fitRows(t,s,n,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],d=i+a;let u=t;o.textAlign="left",o.textBaseline="middle";let p=-1,g=-d;return this.legendItems.forEach((m,_)=>{const v=n+s/2+o.measureText(m.text).width;(_===0||c[c.length-1]+v+2*a>r)&&(u+=d,c[c.length-(_>0?0:1)]=0,g+=d,p++),l[_]={left:0,top:g,row:p,width:v,height:i},c[c.length-1]+=v+a}),u}_fitCols(t,s,n,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],d=r-t;let u=a,p=0,g=0,m=0,_=0;return this.legendItems.forEach((v,w)=>{const{itemWidth:S,itemHeight:$}=EN(n,s,o,v,i);w>0&&g+$+2*a>d&&(u+=p+a,c.push({width:p,height:g}),m+=p+a,_++,p=g=0),l[w]={left:m,top:g,col:_,width:S,height:$},p=Math.max(p,S),g+=$+a}),u+=p,c.push({width:p,height:g}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:s,options:{align:n,labels:{padding:i},rtl:o}}=this,r=Ti(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=me(n,this.left+i,this.right-this.lineWidths[a]);for(const c of s)a!==c.row&&(a=c.row,l=me(n,this.left+i,this.right-this.lineWidths[a])),c.top+=this.top+t+i,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+i}else{let a=0,l=me(n,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of s)c.col!==a&&(a=c.col,l=me(n,this.top+t+i,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+i,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ul(t,this),this._draw(),hl(t)}}_draw(){const{options:t,columnSizes:s,lineWidths:n,ctx:i}=this,{align:o,labels:r}=t,a=ee.color,l=Ti(t.rtl,this.left,this.width),c=ce(r.font),{padding:d}=r,u=c.size,p=u/2;let g;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:_,itemHeight:v}=Mp(r,u),w=function(x,C,E){if(isNaN(m)||m<=0||isNaN(_)||_<0)return;i.save();const P=$t(E.lineWidth,1);if(i.fillStyle=$t(E.fillStyle,a),i.lineCap=$t(E.lineCap,"butt"),i.lineDashOffset=$t(E.lineDashOffset,0),i.lineJoin=$t(E.lineJoin,"miter"),i.lineWidth=P,i.strokeStyle=$t(E.strokeStyle,a),i.setLineDash($t(E.lineDash,[])),r.usePointStyle){const M={radius:_*Math.SQRT2/2,pointStyle:E.pointStyle,rotation:E.rotation,borderWidth:P},O=l.xPlus(x,m/2),F=C+p;W_(i,M,O,F,r.pointStyleWidth&&m)}else{const M=C+Math.max((u-_)/2,0),O=l.leftForLtr(x,m),F=Qn(E.borderRadius);i.beginPath(),Object.values(F).some(Q=>Q!==0)?Qo(i,{x:O,y:M,w:m,h:_,radius:F}):i.rect(O,M,m,_),i.fill(),P!==0&&i.stroke()}i.restore()},S=function(x,C,E){ii(i,E.text,x,C+v/2,c,{strikethrough:E.hidden,textAlign:l.textAlign(E.textAlign)})},$=this.isHorizontal(),T=this._computeTitleHeight();$?g={x:me(o,this.left+d,this.right-n[0]),y:this.top+d+T,line:0}:g={x:this.left+d,y:me(o,this.top+T+d,this.bottom-s[0].height),line:0},X_(this.ctx,t.textDirection);const y=v+d;this.legendItems.forEach((x,C)=>{i.strokeStyle=x.fontColor,i.fillStyle=x.fontColor;const E=i.measureText(x.text).width,P=l.textAlign(x.textAlign||(x.textAlign=r.textAlign)),M=m+p+E;let O=g.x,F=g.y;l.setWidth(this.width),$?C>0&&O+M+d>this.right&&(F=g.y+=y,g.line++,O=g.x=me(o,this.left+d,this.right-n[g.line])):C>0&&F+y>this.bottom&&(O=g.x=O+s[g.line].width+d,g.line++,F=g.y=me(o,this.top+T+d,this.bottom-s[g.line].height));const Q=l.x(O);if(w(Q,F,x),O=ZO(P,O+m+p,$?O+M:this.right,t.rtl),S(l.x(O),F,x),$)g.x+=M+d;else if(typeof x.text!="string"){const G=c.lineHeight;g.y+=yb(x,G)+d}else g.y+=y}),Q_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,s=t.title,n=ce(s.font),i=be(s.padding);if(!s.display)return;const o=Ti(t.rtl,this.left,this.width),r=this.ctx,a=s.position,l=n.size/2,c=i.top+l;let d,u=this.left,p=this.width;if(this.isHorizontal())p=Math.max(...this.lineWidths),d=this.top+c,u=me(t.align,u,this.right-p);else{const m=this.columnSizes.reduce((_,v)=>Math.max(_,v.height),0);d=c+me(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const g=me(a,u,u+p);r.textAlign=o.textAlign(su(a)),r.textBaseline="middle",r.strokeStyle=s.color,r.fillStyle=s.color,r.font=n.string,ii(r,s.text,g,d,n)}_computeTitleHeight(){const t=this.options.title,s=ce(t.font),n=be(t.padding);return t.display?s.lineHeight+n.height:0}_getLegendItemAt(t,s){let n,i,o;if(Rs(t,this.left,this.right)&&Rs(s,this.top,this.bottom)){for(o=this.legendHitBoxes,n=0;no.length>r.length?o:r)),t+s.size/2+n.measureText(i).width}function CN(e,t,s){let n=e;return typeof t.text!="string"&&(n=yb(t,s)),n}function yb(e,t){const s=e.text?e.text.length:0;return t*s}function $N(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var PN={id:"legend",_element:Dp,start(e,t,s){const n=e.legend=new Dp({ctx:e.ctx,options:s,chart:e});Qe.configure(e,n,s),Qe.addBox(e,n)},stop(e){Qe.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,s){const n=e.legend;Qe.configure(e,n,s),n.options=s},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,s){const n=t.datasetIndex,i=s.chart;i.isDatasetVisible(n)?(i.hide(n),t.hidden=!0):(i.show(n),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:s,pointStyle:n,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(s?0:void 0),d=be(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:(d.width+d.height)/4,strokeStyle:c.borderColor,pointStyle:n||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class xb extends zs{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,s){const n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=s;const i=Jt(n.text)?n.text.length:1;this._padding=be(n.padding);const o=i*ce(n.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:s,left:n,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,d,u;return this.isHorizontal()?(d=me(a,n,o),u=s+t,c=o-n):(r.position==="left"?(d=n+t,u=me(a,i,s),l=Qt*-.5):(d=o-t,u=me(a,s,i),l=Qt*.5),c=i-s),{titleX:d,titleY:u,maxWidth:c,rotation:l}}draw(){const t=this.ctx,s=this.options;if(!s.display)return;const n=ce(s.font),o=n.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ii(t,s.text,0,0,n,{color:s.color,maxWidth:l,rotation:c,textAlign:su(s.align),textBaseline:"middle",translation:[r,a]})}}function kN(e,t){const s=new xb({ctx:e.ctx,options:t,chart:e});Qe.configure(e,s,t),Qe.addBox(e,s),e.titleBlock=s}var TN={id:"title",_element:xb,start(e,t,s){kN(e,s)},stop(e){const t=e.titleBlock;Qe.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,s){const n=e.titleBlock;Qe.configure(e,n,s),n.options=s},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 So={average(e){if(!e.length)return!1;let t,s,n=0,i=0,o=0;for(t=0,s=e.length;t-1?e.split(` -`):e}function MN(e,t){const{element:s,datasetIndex:n,index:i}=t,o=e.getDatasetMeta(n).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[n].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:n,element:s}}function Ip(e,t){const s=e.chart.ctx,{body:n,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=ce(t.bodyFont),c=ce(t.titleFont),d=ce(t.footerFont),u=o.length,p=i.length,g=n.length,m=be(t.padding);let _=m.height,v=0,w=n.reduce((T,y)=>T+y.before.length+y.lines.length+y.after.length,0);if(w+=e.beforeBody.length+e.afterBody.length,u&&(_+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),w){const T=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=g*T+(w-g)*l.lineHeight+(w-1)*t.bodySpacing}p&&(_+=t.footerMarginTop+p*d.lineHeight+(p-1)*t.footerSpacing);let E=0;const $=function(T){v=Math.max(v,s.measureText(T).width+E)};return s.save(),s.font=c.string,zt(e.title,$),s.font=l.string,zt(e.beforeBody.concat(e.afterBody),$),E=t.displayColors?r+2+t.boxPadding:0,zt(n,T=>{zt(T.before,$),zt(T.lines,$),zt(T.after,$)}),E=0,s.font=d.string,zt(e.footer,$),s.restore(),v+=m.width,{width:v,height:_}}function DN(e,t){const{y:s,height:n}=t;return se.height-n/2?"bottom":"center"}function IN(e,t,s,n){const{x:i,width:o}=n,r=s.caretSize+s.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function ON(e,t,s,n){const{x:i,width:o}=s,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return n==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),IN(c,e,t,s)&&(c="center"),c}function Op(e,t,s){const n=s.yAlign||t.yAlign||DN(e,s);return{xAlign:s.xAlign||t.xAlign||ON(e,t,s,n),yAlign:n}}function LN(e,t){let{x:s,width:n}=e;return t==="right"?s-=n:t==="center"&&(s-=n/2),s}function RN(e,t,s){let{y:n,height:i}=e;return t==="top"?n+=s:t==="bottom"?n-=i+s:n-=i/2,n}function Lp(e,t,s,n){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=s,c=i+o,{topLeft:d,topRight:u,bottomLeft:p,bottomRight:g}=Qn(r);let m=LN(t,a);const _=RN(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(d,p)+i:a==="right"&&(m+=Math.max(u,g)+i),{x:fe(m,0,n.width-t.width),y:fe(_,0,n.height-t.height)}}function Jr(e,t,s){const n=be(s.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-n.right:e.x+n.left}function Rp(e){return fs([],Ms(e))}function NN(e,t,s){return Cn(e,{tooltip:t,tooltipItems:s,type:"tooltip"})}function Np(e,t){const s=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return s?e.override(s):e}const wb={beforeTitle:Ps,title(e){if(e.length>0){const t=e[0],s=t.chart.data.labels,n=s?s.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(n>0&&t.dataIndex"u"?wb[t].call(s,n):i}class zc extends zs{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 s=this.chart,n=this.options.setContext(this.getContext()),i=n.enabled&&s.options.animation&&n.animations,o=new sb(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=NN(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,s){const{callbacks:n}=s,i=Pe(n,"beforeTitle",this,t),o=Pe(n,"title",this,t),r=Pe(n,"afterTitle",this,t);let a=[];return a=fs(a,Ms(i)),a=fs(a,Ms(o)),a=fs(a,Ms(r)),a}getBeforeBody(t,s){return Rp(Pe(s.callbacks,"beforeBody",this,t))}getBody(t,s){const{callbacks:n}=s,i=[];return zt(t,o=>{const r={before:[],lines:[],after:[]},a=Np(n,o);fs(r.before,Ms(Pe(a,"beforeLabel",this,o))),fs(r.lines,Pe(a,"label",this,o)),fs(r.after,Ms(Pe(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,s){return Rp(Pe(s.callbacks,"afterBody",this,t))}getFooter(t,s){const{callbacks:n}=s,i=Pe(n,"beforeFooter",this,t),o=Pe(n,"footer",this,t),r=Pe(n,"afterFooter",this,t);let a=[];return a=fs(a,Ms(i)),a=fs(a,Ms(o)),a=fs(a,Ms(r)),a}_createItems(t){const s=this._active,n=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=s.length;lt.filter(d,u,p,n))),t.itemSort&&(a=a.sort((d,u)=>t.itemSort(d,u,n))),zt(a,d=>{const u=Np(t.callbacks,d);i.push(Pe(u,"labelColor",this,d)),o.push(Pe(u,"labelPointStyle",this,d)),r.push(Pe(u,"labelTextColor",this,d))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,s){const n=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=Eo[n.position].call(this,i,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const l=this._size=Ip(this,n),c=Object.assign({},a,l),d=Op(this.chart,n,c),u=Lp(n,c,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:u.x,y:u.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&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:s})}drawCaret(t,s,n,i){const o=this.getCaretPosition(t,n,i);s.lineTo(o.x1,o.y1),s.lineTo(o.x2,o.y2),s.lineTo(o.x3,o.y3)}getCaretPosition(t,s,n){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=n,{topLeft:l,topRight:c,bottomLeft:d,bottomRight:u}=Qn(a),{x:p,y:g}=t,{width:m,height:_}=s;let v,w,E,$,T,y;return o==="center"?(T=g+_/2,i==="left"?(v=p,w=v-r,$=T+r,y=T-r):(v=p+m,w=v+r,$=T-r,y=T+r),E=v):(i==="left"?w=p+Math.max(l,d)+r:i==="right"?w=p+m-Math.max(c,u)-r:w=this.caretX,o==="top"?($=g,T=$-r,v=w-r,E=w+r):($=g+_,T=$+r,v=w+r,E=w-r),y=$),{x1:v,x2:w,x3:E,y1:$,y2:T,y3:y}}drawTitle(t,s,n){const i=this.title,o=i.length;let r,a,l;if(o){const c=Ti(n.rtl,this.x,this.width);for(t.x=Jr(this,n.titleAlign,n),s.textAlign=c.textAlign(n.titleAlign),s.textBaseline="middle",r=ce(n.titleFont),a=n.titleSpacing,s.fillStyle=n.titleColor,s.font=r.string,l=0;lE!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Qo(t,{x:_,y:m,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Qo(t,{x:v,y:m+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(_,m,c,l),t.strokeRect(_,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(v,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,s,n){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:d}=n,u=ce(n.bodyFont);let p=u.lineHeight,g=0;const m=Ti(n.rtl,this.x,this.width),_=function(S){s.fillText(S,m.x(t.x+g),t.y+p/2),t.y+=p+o},v=m.textAlign(r);let w,E,$,T,y,x,C;for(s.textAlign=r,s.textBaseline="middle",s.font=u.string,t.x=Jr(this,v,n),s.fillStyle=n.bodyColor,zt(this.beforeBody,_),g=a&&v!=="right"?r==="center"?c/2+d:c+2+d:0,T=0,x=i.length;T0&&s.stroke()}_updateAnimationTarget(t){const s=this.chart,n=this.$animations,i=n&&n.x,o=n&&n.y;if(i||o){const r=Eo[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ip(this,t),l=Object.assign({},r,this._size),c=Op(s,t,l),d=Lp(t,l,c,s);(i._to!==d.x||o._to!==d.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,d))}}_willRender(){return!!this.opacity}draw(t){const s=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(s);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=be(s.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;s.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,s),X_(t,s.textDirection),o.y+=r.top,this.drawTitle(o,t,s),this.drawBody(o,t,s),this.drawFooter(o,t,s),Q_(t,s.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,s){const n=this._active,i=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=!ka(n,i),r=this._positionChanged(i,s);(o||r)&&(this._active=i,this._eventPosition=s,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,s,n=!0){if(s&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,s,n),a=this._positionChanged(r,t),l=s||!ka(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,s))),l}_getActiveElements(t,s,n,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return s.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,n);return o.reverse&&r.reverse(),r}_positionChanged(t,s){const{caretX:n,caretY:i,options:o}=this,r=Eo[o.position].call(this,t,s);return r!==!1&&(n!==r.x||i!==r.y)}}ot(zc,"positioners",Eo);var FN={id:"tooltip",_element:zc,positioners:Eo,afterInit(e,t,s){s&&(e.tooltip=new zc({chart:e,options:s}))},beforeUpdate(e,t,s){e.tooltip&&e.tooltip.initialize(s)},reset(e,t,s){e.tooltip&&e.tooltip.initialize(s)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const s={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...s,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",s)}},afterEvent(e,t){if(e.tooltip){const s=t.replay;e.tooltip.handleEvent(t.event,s,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:(e,t)=>t.bodyFont.size,boxWidth:(e,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:wb},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const BN=(e,t,s,n)=>(typeof t=="string"?(s=e.push(t)-1,n.unshift({index:s,label:t})):isNaN(t)&&(s=null),s);function VN(e,t,s,n){const i=e.indexOf(t);if(i===-1)return BN(e,t,s,n);const o=e.lastIndexOf(t);return i!==o?s:i}const jN=(e,t)=>e===null?null:fe(Math.round(e),0,t);function Fp(e){const t=this.getLabels();return e>=0&&es.length-1?null:this.getPixelForValue(s[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}ot(Kc,"id","category"),ot(Kc,"defaults",{ticks:{callback:Fp}});function HN(e,t){const s=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:d,maxDigits:u,includeBounds:p}=e,g=o||1,m=d-1,{min:_,max:v}=t,w=!jt(r),E=!jt(a),$=!jt(c),T=(v-_)/(u+1);let y=Of((v-_)/m/g)*g,x,C,S,P;if(y<1e-14&&!w&&!E)return[{value:_},{value:v}];P=Math.ceil(v/y)-Math.floor(_/y),P>m&&(y=Of(P*y/m/g)*g),jt(l)||(x=Math.pow(10,l),y=Math.ceil(y*x)/x),i==="ticks"?(C=Math.floor(_/y)*y,S=Math.ceil(v/y)*y):(C=_,S=v),w&&E&&o&&UO((a-r)/o,y/1e3)?(P=Math.round(Math.min((a-r)/y,d)),y=(a-r)/P,C=r,S=a):$?(C=w?r:C,S=E?a:S,P=c-1,y=(S-C)/P):(P=(S-C)/y,Lo(P,Math.round(P),y/1e3)?P=Math.round(P):P=Math.ceil(P));const M=Math.max(Lf(y),Lf(C));x=Math.pow(10,jt(l)?M:l),C=Math.round(C*x)/x,S=Math.round(S*x)/x;let O=0;for(w&&(p&&C!==r?(s.push({value:r}),Ca)break;s.push({value:F})}return E&&p&&S!==a?s.length&&Lo(s[s.length-1].value,a,Bp(a,T,e))?s[s.length-1].value=a:s.push({value:a}):(!E||S===a)&&s.push({value:S}),s}function Bp(e,t,{horizontal:s,minRotation:n}){const i=ls(n),o=(s?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class Ra extends ai{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,s){return jt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:s,maxDefined:n}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=s?i:l,a=l=>o=n?o:l;if(t){const l=ys(i),c=ys(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:s,stepSize:n}=t,i;return n?(i=Math.ceil(this.max/n)-Math.floor(this.min/n)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${n} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),s=s||11),s&&(i=Math.min(s,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,s=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:s.precision,step:s.stepSize,count:s.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:s.minRotation||0,includeBounds:s.includeBounds!==!1},o=this._range||this,r=HN(i,o);return t.bounds==="ticks"&&O_(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 s=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const i=(n-s)/Math.max(t.length-1,1)/2;s-=i,n+=i}this._startValue=s,this._endValue=n,this._valueRange=n-s}getLabelForValue(t){return dr(t,this.chart.options.locale,this.options.ticks.format)}}class Uc extends Ra{determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=te(t)?t:0,this.max=te(s)?s:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),s=t?this.width:this.height,n=ls(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(s/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}ot(Uc,"id","linear"),ot(Uc,"defaults",{ticks:{callback:dl.formatters.numeric}});const tr=e=>Math.floor(cn(e)),Hn=(e,t)=>Math.pow(10,tr(e)+t);function Vp(e){return e/Math.pow(10,tr(e))===1}function jp(e,t,s){const n=Math.pow(10,s),i=Math.floor(e/n);return Math.ceil(t/n)-i}function WN(e,t){const s=t-e;let n=tr(s);for(;jp(e,t,n)>10;)n++;for(;jp(e,t,n)<10;)n--;return Math.min(n,tr(e))}function zN(e,{min:t,max:s}){t=Ie(e.min,t);const n=[],i=tr(t);let o=WN(t,s),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,d=Math.floor((t-l)/a/10)*a*10;let u=Math.floor((c-d)/Math.pow(10,o)),p=Ie(e.min,Math.round((l+d+u*Math.pow(10,o))*r)/r);for(;p=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,r=o>=0?1:r),p=Math.round((l+d+u*Math.pow(10,o))*r)/r;const g=Ie(e.max,p);return n.push({value:g,major:Vp(g),significand:u}),n}class Yc extends ai{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,s){const n=Ra.prototype.parse.apply(this,[t,s]);if(n===0){this._zero=!0;return}return te(n)&&n>0?n:null}determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=te(t)?Math.max(0,t):null,this.max=te(s)?Math.max(0,s):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!te(this._userMin)&&(this.min=t===Hn(this.min,0)?Hn(this.min,-1):Hn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let n=this.min,i=this.max;const o=a=>n=t?n:a,r=a=>i=s?i:a;n===i&&(n<=0?(o(1),r(10)):(o(Hn(n,-1)),r(Hn(i,1)))),n<=0&&o(Hn(i,-1)),i<=0&&r(Hn(n,1)),this.min=n,this.max=i}buildTicks(){const t=this.options,s={min:this._userMin,max:this._userMax},n=zN(s,this);return t.bounds==="ticks"&&O_(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return t===void 0?"0":dr(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=cn(t),this._valueRange=cn(this.max)-cn(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(cn(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const s=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+s*this._valueRange)}}ot(Yc,"id","logarithmic"),ot(Yc,"defaults",{ticks:{callback:dl.formatters.logarithmic,major:{enabled:!0}}});function qc(e){const t=e.ticks;if(t.display&&e.display){const s=be(t.backdropPadding);return $t(t.font&&t.font.size,ee.font.size)+s.height}return 0}function KN(e,t,s){return s=Jt(s)?s:[s],{w:c2(e,t.string,s),h:s.length*t.lineHeight}}function Hp(e,t,s,n,i){return e===n||e===i?{start:t-s/2,end:t+s/2}:ei?{start:t-s,end:t}:{start:t,end:t+s}}function UN(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},s=Object.assign({},t),n=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?Qt/o:0;for(let l=0;lt.r&&(a=(n.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),i.startt.b&&(l=(i.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function qN(e,t,s){const n=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=s,l=e.getPointPosition(t,n+i+r,o),c=Math.round(tu(Le(l.angle+se))),d=ZN(l.y,a.h,c),u=XN(c),p=QN(l.x,a.w,u);return{visible:!0,x:l.x,y:d,textAlign:u,left:p,top:d,right:p+a.w,bottom:d+a.h}}function GN(e,t){if(!t)return!0;const{left:s,top:n,right:i,bottom:o}=e;return!(Ns({x:s,y:n},t)||Ns({x:s,y:o},t)||Ns({x:i,y:n},t)||Ns({x:i,y:o},t))}function JN(e,t,s){const n=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:qc(o)/2,additionalAngle:r?Qt/i:0};let c;for(let d=0;d270||s<90)&&(e-=t),e}function tF(e,t,s){const{left:n,top:i,right:o,bottom:r}=s,{backdropColor:a}=t;if(!jt(a)){const l=Qn(t.borderRadius),c=be(t.backdropPadding);e.fillStyle=a;const d=n-c.left,u=i-c.top,p=o-n+c.width,g=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Qo(e,{x:d,y:u,w:p,h:g,radius:l}),e.fill()):e.fillRect(d,u,p,g)}}function eF(e,t){const{ctx:s,options:{pointLabels:n}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=n.setContext(e.getPointLabelContext(i));tF(s,r,o);const a=ce(r.font),{x:l,y:c,textAlign:d}=o;ii(s,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:d,textBaseline:"middle"})}}function Eb(e,t,s,n){const{ctx:i}=e;if(s)i.arc(e.xCenter,e.yCenter,t,0,Xt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=Yt(this.options.pointLabels.callback,[s,n],this);return i||i===0?i:""}).filter((s,n)=>this.chart.getDataVisibility(n))}fit(){const t=this.options;t.display&&t.pointLabels.display?UN(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,s,n,i){this.xCenter+=Math.floor((t-s)/2),this.yCenter+=Math.floor((n-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,s,n,i))}getIndexAngle(t){const s=Xt/(this._pointLabels.length||1),n=this.options.startAngle||0;return Le(t*s+ls(n))}getDistanceFromCenterForValue(t){if(jt(t))return NaN;const s=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*s:(t-this.min)*s}getValueForDistanceFromCenter(t){if(jt(t))return NaN;const s=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-s:this.min+s}getPointLabelContext(t){const s=this._pointLabels||[];if(t>=0&&t{if(u!==0){l=this.getDistanceFromCenterForValue(d.value);const p=this.getContext(u),g=i.setContext(p),m=o.setContext(p);sF(this,g,l,r,m)}}),n.display){for(t.save(),a=r-1;a>=0;a--){const d=n.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:p}=d;!p||!u||(t.lineWidth=p,t.strokeStyle=u,t.setLineDash(d.borderDash),t.lineDashOffset=d.borderDashOffset,l=this.getDistanceFromCenterForValue(s.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,s=this.options,n=s.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!s.reverse)return;const c=n.setContext(this.getContext(l)),d=ce(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=d.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const u=be(c.backdropPadding);t.fillRect(-r/2-u.left,-o-d.size/2-u.top,r+u.width,d.size+u.height)}ii(t,a.label,0,-o,d,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}ot(So,"id","radialLinear"),ot(So,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:dl.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),ot(So,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),ot(So,"descriptors",{angleLines:{_fallback:"grid"}});const gl={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}},Me=Object.keys(gl);function Wp(e,t){return e-t}function zp(e,t){if(jt(t))return null;const s=e._adapter,{parser:n,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof n=="function"&&(r=n(r)),te(r)||(r=typeof n=="string"?s.parse(r,n):s.parse(r)),r===null?null:(i&&(r=i==="week"&&(qi(o)||o===!0)?s.startOf(r,"isoWeek",o):s.startOf(r,i)),+r)}function Kp(e,t,s,n){const i=Me.length;for(let o=Me.indexOf(e);o=Me.indexOf(s);o--){const r=Me[o];if(gl[r].common&&e._adapter.diff(i,n,r)>=t-1)return r}return Me[s?Me.indexOf(s):0]}function oF(e){for(let t=Me.indexOf(e)+1,s=Me.length;t=t?s[n]:s[i];e[o]=!0}}function rF(e,t,s,n){const i=e._adapter,o=+i.startOf(t[0].value,n),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,n))l=s[a],l>=0&&(t[l].major=!0);return t}function Yp(e,t,s){const n=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let s=0,n=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?s=1-i:s=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?n=o:n=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;s=fe(s,0,r),n=fe(n,0,r),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,s=this.min,n=this.max,i=this.options,o=i.time,r=o.unit||Kp(o.minUnit,s,n,this._getLabelCapacity(s)),a=$t(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=qi(l)||l===!0,d={};let u=s,p,g;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(n,s,r)>1e5*a)throw new Error(s+" and "+n+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(p=u,g=0;p+_)}getLabelForValue(t){const s=this._adapter,n=this.options.time;return n.tooltipFormat?s.format(t,n.tooltipFormat):s.format(t,n.displayFormats.datetime)}format(t,s){const i=this.options.time.displayFormats,o=this._unit,r=s||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,s,n,i){const o=this.options,r=o.ticks.callback;if(r)return Yt(r,[t,s,n],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=l&&a[l],u=c&&a[c],p=n[s],g=c&&u&&p&&p.major;return this._adapter.format(t,i||(g?u:d))}generateTickLabels(t){let s,n,i;for(s=0,n=t.length;s0?a:1}getDataTimestamps(){let t=this._cache.data||[],s,n;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(s=0,n=i.length;s=e[n].pos&&t<=e[i].pos&&({lo:n,hi:i}=Rs(e,"pos",t)),{pos:o,time:a}=e[n],{pos:r,time:l}=e[i]):(t>=e[n].time&&t<=e[i].time&&({lo:n,hi:i}=Rs(e,"time",t)),{time:o,pos:a}=e[n],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Gc extends er{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),s=this._table=this.buildLookupTable(t);this._minPos=Xr(s,this.min),this._tableRange=Xr(s,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:s,max:n}=this,i=[],o=[];let r,a,l,c,d;for(r=0,a=t.length;r=s&&c<=n&&i.push(c);if(i.length<2)return[{time:s,pos:0},{time:n,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const s=this.getDataTimestamps(),n=this.getLabelTimestamps();return s.length&&n.length?t=this.normalize(s.concat(n)):t=s.length?s:n,t=this._cache.all=t,t}getDecimalForValue(t){return(Xr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return Xr(this._table,n*this._tableRange+this._minPos,!0)}}ot(Gc,"id","timeseries"),ot(Gc,"defaults",er.defaults);const Sb={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},aF={ariaLabel:{type:String},ariaDescribedby:{type:String}},lF={type:{type:String,required:!0},...Sb,...aF},cF=Dm[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function yi(e){return Ka(e)?Ot(e):e}function dF(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Ka(t)?new Proxy(e,{}):e}function uF(e,t){const s=e.options;s&&t&&Object.assign(s,t)}function Ab(e,t){e.labels=t}function Cb(e,t,s){const n=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[s]===i[s]);return!o||!i.data||n.includes(o)?{...i}:(n.push(o),Object.assign(o,i),o)})}function hF(e,t){const s={labels:[],datasets:[]};return Ab(s,e.labels),Cb(s,e.datasets,t),s}const fF=Xa({props:lF,setup(e,t){let{expose:s,slots:n}=t;const i=Bs(null),o=$d(null);s({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:d,options:u,plugins:p,datasetIdKey:g}=e,m=hF(d,g),_=dF(m,d);o.value=new pl(i.value,{type:c,data:_,options:{...u},plugins:p})},a=()=>{const c=Ot(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return Od(r),Ld(a),Xn([()=>e.options,()=>e.data],(c,d)=>{let[u,p]=c,[g,m]=d;const _=Ot(o.value);if(!_)return;let v=!1;if(u){const w=yi(u),E=yi(g);w&&w!==E&&(uF(_,w),v=!0)}if(p){const w=yi(p.labels),E=yi(m.labels),$=yi(p.datasets),T=yi(m.datasets);w!==E&&(Ab(_.config.data,w),v=!0),$&&$!==T&&(Cb(_.config.data,$,e.datasetIdKey),v=!0)}v&&rr(()=>{l(_)})},{deep:!0}),()=>Bi("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Bi("p",{},[n.default?n.default():""])])}});function $b(e,t){return pl.register(t),Xa({props:Sb,setup(s,n){let{expose:i}=n;const o=$d(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Bi(fF,cF({ref:r},{type:e,...s}))}})}const pF=$b("bar",Fo),gF=$b("line",Bo);function Hs(e){return Array.isArray?Array.isArray(e):Tb(e)==="[object Array]"}const mF=1/0;function _F(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-mF?"-0":t}function bF(e){return e==null?"":_F(e)}function _s(e){return typeof e=="string"}function Pb(e){return typeof e=="number"}function vF(e){return e===!0||e===!1||yF(e)&&Tb(e)=="[object Boolean]"}function kb(e){return typeof e=="object"}function yF(e){return kb(e)&&e!==null}function Re(e){return e!=null}function cc(e){return!e.trim().length}function Tb(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const xF="Incorrect 'index' type",wF=e=>`Invalid value for key ${e}`,EF=e=>`Pattern length exceeds max of ${e}.`,SF=e=>`Missing ${e} property in key`,AF=e=>`Property 'weight' in key '${e}' must be a positive integer`,qp=Object.prototype.hasOwnProperty;class CF{constructor(t){this._keys=[],this._keyMap={};let s=0;t.forEach(n=>{let i=Mb(n);this._keys.push(i),this._keyMap[i.id]=i,s+=i.weight}),this._keys.forEach(n=>{n.weight/=s})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Mb(e){let t=null,s=null,n=null,i=1,o=null;if(_s(e)||Hs(e))n=e,t=Gp(e),s=Jc(e);else{if(!qp.call(e,"name"))throw new Error(SF("name"));const r=e.name;if(n=r,qp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(AF(r));t=Gp(r),s=Jc(r),o=e.getFn}return{path:t,id:s,weight:i,src:n,getFn:o}}function Gp(e){return Hs(e)?e:e.split(".")}function Jc(e){return Hs(e)?e.join("."):e}function $F(e,t){let s=[],n=!1;const i=(o,r,a)=>{if(Re(o))if(!r[a])s.push(o);else{let l=r[a];const c=o[l];if(!Re(c))return;if(a===r.length-1&&(_s(c)||Pb(c)||vF(c)))s.push(bF(c));else if(Hs(c)){n=!0;for(let d=0,u=c.length;de.score===t.score?e.idx{this._keysMap[s.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,_s(this.docs[0])?this.docs.forEach((t,s)=>{this._addString(t,s)}):this.docs.forEach((t,s)=>{this._addObject(t,s)}),this.norm.clear())}add(t){const s=this.size();_s(t)?this._addString(t,s):this._addObject(t,s)}removeAt(t){this.records.splice(t,1);for(let s=t,n=this.size();s{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(Re(r)){if(Hs(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:d}=l.pop();if(Re(d))if(_s(d)&&!cc(d)){let u={v:d,i:c,n:this.norm.get(d)};a.push(u)}else Hs(d)&&d.forEach((u,p)=>{l.push({nestedArrIndex:p,value:u})})}n.$[o]=a}else if(_s(r)&&!cc(r)){let a={v:r,n:this.norm.get(r)};n.$[o]=a}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Db(e,t,{getFn:s=wt.getFn,fieldNormWeight:n=wt.fieldNormWeight}={}){const i=new hu({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(Mb)),i.setSources(t),i.create(),i}function OF(e,{getFn:t=wt.getFn,fieldNormWeight:s=wt.fieldNormWeight}={}){const{keys:n,records:i}=e,o=new hu({getFn:t,fieldNormWeight:s});return o.setKeys(n),o.setIndexRecords(i),o}function Qr(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=wt.distance,ignoreLocation:o=wt.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(n-s);return i?r+a/i:a?1:r}function LF(e=[],t=wt.minMatchCharLength){let s=[],n=-1,i=-1,o=0;for(let r=e.length;o=t&&s.push([n,i]),n=-1)}return e[o-1]&&o-n>=t&&s.push([n,o-1]),s}const Un=32;function RF(e,t,s,{location:n=wt.location,distance:i=wt.distance,threshold:o=wt.threshold,findAllMatches:r=wt.findAllMatches,minMatchCharLength:a=wt.minMatchCharLength,includeMatches:l=wt.includeMatches,ignoreLocation:c=wt.ignoreLocation}={}){if(t.length>Un)throw new Error(EF(Un));const d=t.length,u=e.length,p=Math.max(0,Math.min(n,u));let g=o,m=p;const _=a>1||l,v=_?Array(u):[];let w;for(;(w=e.indexOf(t,m))>-1;){let C=Qr(t,{currentLocation:w,expectedLocation:p,distance:i,ignoreLocation:c});if(g=Math.min(C,g),m=w+d,_){let S=0;for(;S=M;G-=1){let H=G-1,R=s[e.charAt(H)];if(_&&(v[H]=+!!R),F[G]=(F[G+1]<<1|1)&R,C&&(F[G]|=(E[G+1]|E[G])<<1|1|E[G+1]),F[G]&y&&($=Qr(t,{errors:C,currentLocation:H,expectedLocation:p,distance:i,ignoreLocation:c}),$<=g)){if(g=$,m=H,m<=p)break;M=Math.max(1,2*p-m)}}if(Qr(t,{errors:C+1,currentLocation:p,expectedLocation:p,distance:i,ignoreLocation:c})>g)break;E=F}const x={isMatch:m>=0,score:Math.max(.001,$)};if(_){const C=LF(v,a);C.length?l&&(x.indices=C):x.isMatch=!1}return x}function NF(e){let t={};for(let s=0,n=e.length;s{this.chunks.push({pattern:p,alphabet:NF(p),startIndex:g})},u=this.pattern.length;if(u>Un){let p=0;const g=u%Un,m=u-g;for(;p{const{isMatch:w,score:E,indices:$}=RF(t,m,_,{location:i+v,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:n,ignoreLocation:c});w&&(p=!0),u+=E,w&&$&&(d=[...d,...$])});let g={isMatch:p,score:p?u/this.chunks.length:1};return p&&n&&(g.indices=d),g}}class $n{constructor(t){this.pattern=t}static isMultiMatch(t){return Jp(t,this.multiRegex)}static isSingleMatch(t){return Jp(t,this.singleRegex)}search(){}}function Jp(e,t){const s=e.match(t);return s?s[1]:null}class FF extends $n{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const s=t===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class BF extends $n{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const n=t.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class VF extends $n{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const s=t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class jF extends $n{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const s=!t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class HF extends $n{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const s=t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class WF extends $n{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const s=!t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class Ob extends $n{constructor(t,{location:s=wt.location,threshold:n=wt.threshold,distance:i=wt.distance,includeMatches:o=wt.includeMatches,findAllMatches:r=wt.findAllMatches,minMatchCharLength:a=wt.minMatchCharLength,isCaseSensitive:l=wt.isCaseSensitive,ignoreLocation:c=wt.ignoreLocation}={}){super(t),this._bitapSearch=new Ib(t,{location:s,threshold:n,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Lb extends $n{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let s=0,n;const i=[],o=this.pattern.length;for(;(n=t.indexOf(this.pattern,s))>-1;)s=n+o,i.push([n,s-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Xc=[FF,Lb,VF,jF,WF,HF,BF,Ob],Xp=Xc.length,zF=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,KF="|";function UF(e,t={}){return e.split(KF).map(s=>{let n=s.trim().split(zF).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=n.length;o!!(e[Na.AND]||e[Na.OR]),JF=e=>!!e[td.PATH],XF=e=>!Hs(e)&&kb(e)&&!ed(e),Qp=e=>({[Na.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Rb(e,t,{auto:s=!0}={}){const n=i=>{let o=Object.keys(i);const r=JF(i);if(!r&&o.length>1&&!ed(i))return n(Qp(i));if(XF(i)){const l=r?i[td.PATH]:o[0],c=r?i[td.PATTERN]:i[l];if(!_s(c))throw new Error(wF(l));const d={keyId:Jc(l),pattern:c};return s&&(d.searcher=Zc(c,t)),d}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];Hs(c)&&c.forEach(d=>{a.children.push(n(d))})}),a};return ed(e)||(e=Qp(e)),n(e)}function QF(e,{ignoreFieldNorm:t=wt.ignoreFieldNorm}){e.forEach(s=>{let n=1;s.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;n*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),s.score=n})}function ZF(e,t){const s=e.matches;t.matches=[],Re(s)&&s.forEach(n=>{if(!Re(n.indices)||!n.indices.length)return;const{indices:i,value:o}=n;let r={indices:i,value:o};n.key&&(r.key=n.key.src),n.idx>-1&&(r.refIndex=n.idx),t.matches.push(r)})}function t3(e,t){t.score=e.score}function e3(e,t,{includeMatches:s=wt.includeMatches,includeScore:n=wt.includeScore}={}){const i=[];return s&&i.push(ZF),n&&i.push(t3),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class eo{constructor(t,s={},n){this.options={...wt,...s},this.options.useExtendedSearch,this._keyStore=new CF(this.options.keys),this.setCollection(t,n)}setCollection(t,s){if(this._docs=t,s&&!(s instanceof hu))throw new Error(xF);this._myIndex=s||Db(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Re(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const s=[];for(let n=0,i=this._docs.length;n-1&&(l=l.slice(0,s)),e3(l,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){const s=Zc(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:o,i:r,n:a})=>{if(!Re(o))return;const{isMatch:l,score:c,indices:d}=s.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:d}]})}),i}_searchLogical(t){const s=Rb(t,this.options),n=(a,l,c)=>{if(!a.children){const{keyId:u,searcher:p}=a,g=this._findMatches({key:this._keyStore.get(u),value:this._myIndex.getValueForItemAtKeyId(l,u),searcher:p});return g&&g.length?[{idx:c,item:l,matches:g}]:[]}const d=[];for(let u=0,p=a.children.length;u{if(Re(a)){let c=n(s,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:d})=>{o[l].matches.push(...d)}))}}),r}_searchObjectList(t){const s=Zc(t,this.options),{keys:n,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!Re(r))return;let l=[];n.forEach((c,d)=>{l.push(...this._findMatches({key:c,value:r[d],searcher:s}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:s,searcher:n}){if(!Re(s))return[];let i=[];if(Hs(s))s.forEach(({v:o,i:r,n:a})=>{if(!Re(o))return;const{isMatch:l,score:c,indices:d}=n.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:d})});else{const{v:o,n:r}=s,{isMatch:a,score:l,indices:c}=n.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}eo.version="7.0.0";eo.createIndex=Db;eo.parseIndex=OF;eo.config=wt;eo.parseQuery=Rb;GF(qF);const s3={name:"peerQRCode",props:{peerConfigData:String},mounted(){to.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,e=>{console.log(this.peerConfigData),e&&console.error(e)})}},n3={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},i3={class:"container d-flex h-100 w-100"},o3={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},r3={class:"card rounded-3 shadow"},a3={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},l3=h("h4",{class:"mb-0"},"QR Code",-1),c3={class:"card-body"},d3={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function u3(e,t,s,n,i,o){return L(),V("div",n3,[h("div",i3,[h("div",o3,[h("div",r3,[h("div",a3,[l3,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",c3,[h("canvas",d3,null,512)])])])])])}const h3=St(s3,[["render",u3]]),f3={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},p3=h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1),g3=["disabled"];function m3(e,t,s,n,i,o){return L(),V("div",{class:Mt({inactiveField:this.bulk})},[p3,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,g3),[[bt,this.data.name]])],2)}const _3=St(f3,[["render",m3]]),b3={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:Kt()}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},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},checkMatching(){try{window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey&&(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private Key and Public Key does not match.","danger"))}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()}}}},v3=h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1),y3={class:"input-group"},x3=["disabled"],w3=["disabled"],E3=h("i",{class:"bi bi-arrow-repeat"},null,-1),S3=[E3],A3={class:"d-flex"},C3=h("label",{for:"public_key",class:"form-label"},[h("small",{class:"text-muted"},[ct("Public Key "),h("code",null,"(Required)")])],-1),$3={class:"form-check form-switch ms-auto"},P3=["disabled"],k3=h("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[h("small",null,"Edit")],-1),T3=["disabled"];function M3(e,t,s,n,i,o){return L(),V("div",{class:Mt(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[h("div",null,[v3,h("div",y3,[ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.keypair.privateKey=r),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=r=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,x3),[[bt,this.keypair.privateKey]]),h("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=r=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},S3,8,w3)])]),h("div",null,[h("div",A3,[C3,h("div",$3,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=r=>this.editKey=r)},null,8,P3),[[Xe,this.editKey]]),k3])]),ft(h("input",{class:Mt(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=r=>this.keypair.publicKey=r),onBlur:t[5]||(t[5]=r=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,T3),[[bt,this.keypair.publicKey]])])],2)}const D3=St(b3,[["render",M3]]),I3={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ips.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ips.push(e),!0):!1}},watch:{customAvailableIp(){this.allowedIpFormatError=!1}}},hr=e=>(ss("data-v-99ae26e7"),e=e(),ns(),e),O3=hr(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Allowed IPs "),h("code",null,"(Required)")])],-1)),L3=["onClick"],R3=hr(()=>h("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),N3=[R3],F3={class:"d-flex gap-2 align-items-center"},B3={class:"input-group"},V3=["disabled"],j3=["disabled"],H3=hr(()=>h("i",{class:"bi bi-plus-lg"},null,-1)),W3=[H3],z3=hr(()=>h("small",{class:"text-muted"},"or",-1)),K3={class:"dropdown flex-grow-1"},U3=["disabled"],Y3=hr(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),q3={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3",style:{"overflow-y":"scroll","max-height":"270px",width:"300px !important"}},G3={class:"px-3 pb-2 pt-1"},J3=["onClick"],X3={class:"me-auto"},Q3={key:0},Z3={class:"px-3 text-muted"};function tB(e,t,s,n,i,o){return L(),V("div",{class:Mt({inactiveField:this.bulk})},[O3,h("div",{class:Mt(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[dt(oi,{name:"list"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.data.allowed_ips,(r,a)=>(L(),V("span",{class:"badge rounded-pill text-bg-success",key:r},[ct(nt(r)+" ",1),h("a",{role:"button",onClick:l=>this.data.allowed_ips.splice(a,1)},N3,8,L3)]))),128))]),_:1})],2),h("div",F3,[h("div",B3,[ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:"Enter IP Address/CIDR","onUpdate:modelValue":t[0]||(t[0]=r=>i.customAvailableIp=r),disabled:s.bulk},null,10,V3),[[bt,i.customAvailableIp]]),h("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:s.bulk||!this.customAvailableIp,onClick:t[1]||(t[1]=r=>{this.addAllowedIp(this.customAvailableIp)?this.customAvailableIp="":this.allowedIpFormatError=!0,this.dashboardStore.newMessage("WGDashboard","Allowed IP is invalid","danger")}),type:"button",id:"button-addon2"},W3,8,j3)]),z3,h("div",K3,[h("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!s.availableIp||s.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[Y3,ct(" Pick Available IP ")],8,U3),this.availableIp?(L(),V("ul",q3,[h("li",null,[h("div",G3,[ft(h("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[bt,this.availableIpSearchString]])])]),(L(!0),V(Bt,null,ae(this.searchAvailableIps,r=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[h("span",X3,[h("small",null,nt(r),1)])],8,J3)]))),256)),this.searchAvailableIps.length===0?(L(),V("li",Q3,[h("small",Z3,'No available IP containing "'+nt(this.availableIpSearchString)+'"',1)])):xt("",!0)])):xt("",!0)])])],2)}const eB=St(I3,[["render",tB],["__scopeId","data-v-99ae26e7"]]),sB={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let e=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.regexCheckIP(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS is invalid","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},nB=h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1),iB=["disabled"];function oB(e,t,s,n,i,o){return L(),V("div",null,[nB,ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.dns=r),id:"peer_DNS_textbox"},null,10,iB),[[bt,this.dns]])])}const rB=St(sB,[["render",oB]]),aB={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let e=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.checkCIDR(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IP is invalid.","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},lB=h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ct("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1),cB=["disabled"];function dB(e,t,s,n,i,o){return L(),V("div",null,[lB,ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-3",{"is-invalid":i.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.endpointAllowedIps=r),onBlur:t[1]||(t[1]=r=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,cB),[[bt,this.endpointAllowedIps]])])}const uB=St(aB,[["render",dB]]),hB={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},fB=h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1),pB=["disabled"];function gB(e,t,s,n,i,o){return L(),V("div",null,[fB,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,pB),[[bt,this.data.preshared_key]])])}const mB=St(hB,[["render",gB]]),_B={name:"mtuInput",props:{data:Object,saving:Boolean}},bB=h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1),vB=["disabled"];function yB(e,t,s,n,i,o){return L(),V("div",null,[bB,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,vB),[[bt,this.data.mtu]])])}const xB=St(_B,[["render",yB]]),wB={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},EB=h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1),SB=["disabled"];function AB(e,t,s,n,i,o){return L(),V("div",null,[EB,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,SB),[[bt,this.data.keepalive]])])}const CB=St(wB,[["render",AB]]),$B={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},PB={class:"form-check form-switch"},kB=["disabled"],TB=h("label",{class:"form-check-label me-2",for:"bulk_add"},[h("small",null,[h("strong",null,"Bulk Add")])],-1),MB=h("small",{class:"text-muted d-block"}," By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP. ",-1),DB=[MB],IB={key:0,class:"form-group"},OB=["max"],LB={class:"text-muted"};function RB(e,t,s,n,i,o){return L(),V("div",null,[h("div",PB,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=r=>this.data.bulkAdd=r)},null,8,kB),[[Xe,this.data.bulkAdd]]),TB]),h("p",{class:Mt({"mb-0":!this.data.bulkAdd})},DB,2),this.data.bulkAdd?(L(),V("div",IB,[ft(h("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.bulkAddAmount=r),placeholder:"How many peers you want to add?"},null,8,OB),[[bt,this.data.bulkAddAmount]]),h("small",LB,[ct(" You can add up to "),h("strong",null,nt(this.availableIp.length),1),ct(" peers ")])])):xt("",!0)])}const NB=St($B,[["render",RB]]),FB={name:"peerCreate",components:{BulkAdd:NB,PersistentKeepAliveInput:CB,MtuInput:xB,PresharedKeyInput:mB,EndpointAllowedIps:uB,DnsInput:rB,AllowedIPsInput:eB,PrivatePublicKeyInput:D3,NameInput:_3},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:""},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){le("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},methods:{peerCreate(){this.saving=!0,Zt("/api/addPeers/"+this.$route.params.id,this.data,e=>{e.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer create successfully","success")):this.dashboardStore.newMessage("Server",e.message,"danger"),this.saving=!1})}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(s=>{this.data[s].length===0&&(e=!1)}),e}},watch:{bulkAdd(e){e||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},ml=e=>(ss("data-v-c3292318"),e=e(),ns(),e),BB={class:"container"},VB={class:"mb-4"},jB=ml(()=>h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1)),HB=ml(()=>h("h3",{class:"text-body mb-0"},"Add Peers",-1)),WB={class:"d-flex flex-column gap-2"},zB=ml(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),KB=ml(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),UB={class:"row"},YB={key:0,class:"col-sm"},qB={class:"col-sm"},GB={class:"col-sm"},JB={class:"d-flex mt-2"},XB=["disabled"],QB={key:0,class:"bi bi-plus-circle-fill me-2"};function ZB(e,t,s,n,i,o){const r=Ct("RouterLink"),a=Ct("BulkAdd"),l=Ct("NameInput"),c=Ct("PrivatePublicKeyInput"),d=Ct("AllowedIPsInput"),u=Ct("EndpointAllowedIps"),p=Ct("DnsInput"),g=Ct("PresharedKeyInput"),m=Ct("MtuInput"),_=Ct("PersistentKeepAliveInput");return L(),V("div",BB,[h("div",VB,[dt(r,{to:"peers",is:"div",class:"d-flex align-items-center gap-4 text-decoration-none"},{default:It(()=>[jB,HB]),_:1})]),h("div",WB,[dt(a,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),zB,this.data.bulkAdd?xt("",!0):(L(),Gt(l,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?xt("",!0):(L(),Gt(c,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?xt("",!0):(L(),Gt(d,{key:2,availableIp:this.availableIp,saving:i.saving,data:i.data},null,8,["availableIp","saving","data"])),dt(u,{saving:i.saving,data:i.data},null,8,["saving","data"]),dt(p,{saving:i.saving,data:i.data},null,8,["saving","data"]),KB,h("div",UB,[this.data.bulkAdd?xt("",!0):(L(),V("div",YB,[dt(g,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),h("div",qB,[dt(m,{saving:i.saving,data:i.data},null,8,["saving","data"])]),h("div",GB,[dt(_,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),h("div",JB,[h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled||this.saving,onClick:t[0]||(t[0]=v=>this.peerCreate())},[this.saving?xt("",!0):(L(),V("i",QB)),ct(" "+nt(this.saving?"Saving...":"Add"),1)],8,XB)])])])}const Nb=St(FB,[["render",ZB],["__scopeId","data-v-c3292318"]]),t5={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(e){e.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(e=>e.value===this.data)}}},e5={class:"dropdown scheduleDropdown"},s5={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},n5=["onClick"],i5={key:0,class:"bi bi-check ms-auto"};function o5(e,t,s,n,i,o){return L(),V("div",e5,[h("button",{class:Mt(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!s.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("samp",null,nt(this.currentSelection.display),1)],2),h("ul",s5,[s.edit?(L(!0),V(Bt,{key:0},ae(this.options,r=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:a=>e.$emit("update",r.value)},[h("samp",null,nt(r.display),1),r.value===this.currentSelection.value?(L(),V("i",i5)):xt("",!0)],8,n5)]))),256)):xt("",!0)])])}const Fb=St(t5,[["render",o5],["__scopeId","data-v-6a5aba2a"]]),r5={name:"schedulePeerJob",components:{ScheduleDropdown:Fb},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(e){const t=Bs({}),s=Bs(!1),n=Bs(!1);t.value=JSON.parse(JSON.stringify(e.pjob)),t.value.CreationDate||(s.value=!0,n.value=!0);const i=Kt();return{job:t,edit:s,newJob:n,store:i}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(e){this.edit||(this.job=JSON.parse(JSON.stringify(e)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?Zt("/api/savePeerScheduleJob/",{Job:this.job},e=>{e.status?(this.edit=!1,this.store.newMessage("Server","Job Saved!","success"),console.log(e.data),this.$emit("refresh",e.data[0]),this.newJob=!1):this.store.newMessage("Server",e.message,"danger")}):this.alert()},alert(){let e="animate__flash",t=this.$el.querySelectorAll(".scheduleDropdown"),s=this.$el.querySelectorAll("input");t.forEach(n=>n.classList.add("animate__animated",e)),s.forEach(n=>n.classList.add("animate__animated",e)),setTimeout(()=>{t.forEach(n=>n.classList.remove("animate__animated",e)),s.forEach(n=>n.classList.remove("animate__animated",e))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&Zt("/api/deletePeerScheduleJob/",{Job:this.job},e=>{e.status?this.store.newMessage("Server","Job Deleted!","success"):(this.store.newMessage("Server",e.message,"danger"),this.$emit("delete"))}),this.$emit("delete")}}},so=e=>(ss("data-v-decfcc69"),e=e(),ns(),e),a5={class:"card-header bg-transparent text-muted border-0"},l5={key:0,class:"d-flex"},c5=so(()=>h("strong",{class:"me-auto"},"Job ID",-1)),d5={key:1},u5=so(()=>h("span",{class:"badge text-bg-warning"},"Unsaved Job",-1)),h5=[u5],f5={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},p5={class:"d-flex gap-2 align-items-center mb-2"},g5=so(()=>h("samp",null," if ",-1)),m5=so(()=>h("samp",null," is ",-1)),_5=["disabled"],b5=["disabled"],v5={class:"px-5 d-flex gap-2 align-items-center"},y5=so(()=>h("samp",null,"then",-1)),x5={class:"d-flex gap-3"},w5=so(()=>h("samp",null,"}",-1)),E5={key:0,class:"ms-auto d-flex gap-3"},S5={key:1,class:"ms-auto d-flex gap-3"};function A5(e,t,s,n,i,o){var a;const r=Ct("ScheduleDropdown");return L(),V("div",{class:Mt(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[h("div",a5,[this.newJob?(L(),V("small",d5,h5)):(L(),V("small",l5,[c5,h("samp",null,nt(this.job.JobID),1)]))]),h("div",f5,[h("div",p5,[g5,dt(r,{edit:n.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:t[0]||(t[0]=l=>{this.job.Field=l})},null,8,["edit","options","data"]),m5,dt(r,{edit:n.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:t[1]||(t[1]=l=>this.job.Operator=l)},null,8,["edit","options","data"]),this.job.Field==="date"?ft((L(),V("input",{key:0,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!n.edit,type:"datetime-local","onUpdate:modelValue":t[2]||(t[2]=l=>this.job.Value=l),style:{width:"auto"}},null,8,_5)),[[bt,this.job.Value]]):ft((L(),V("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!n.edit,"onUpdate:modelValue":t[3]||(t[3]=l=>this.job.Value=l),style:{width:"auto"}},null,8,b5)),[[bt,this.job.Value]]),h("samp",null,nt((a=this.dropdowns.Field.find(l=>l.value===this.job.Field))==null?void 0:a.unit)+" { ",1)]),h("div",v5,[y5,dt(r,{edit:n.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:t[4]||(t[4]=l=>this.job.Action=l)},null,8,["edit","options","data"])]),h("div",x5,[w5,this.edit?(L(),V("div",S5,[h("a",{role:"button",class:"text-secondary text-decoration-none",onClick:t[7]||(t[7]=l=>this.reset())},"[C] Cancel"),h("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:t[8]||(t[8]=l=>this.save())},"[S] Save")])):(L(),V("div",E5,[h("a",{role:"button",class:"ms-auto text-decoration-none",onClick:t[5]||(t[5]=l=>this.edit=!0)},"[E] Edit"),h("a",{role:"button",onClick:t[6]||(t[6]=l=>this.delete()),class:"text-danger text-decoration-none"},"[D] Delete")]))])])],2)}const Bb=St(r5,[["render",A5],["__scopeId","data-v-decfcc69"]]),C5={name:"peerJobs",setup(){return{store:Ve()}},props:{selectedPeer:Object},components:{SchedulePeerJob:Bb,ScheduleDropdown:Fb},data(){return{}},methods:{deleteJob(e){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==e.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:Sn().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})))}}},fu=e=>(ss("data-v-31a1606a"),e=e(),ns(),e),$5={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},P5={class:"container d-flex h-100 w-100"},k5={class:"m-auto modal-dialog-centered dashboardModal"},T5={class:"card rounded-3 shadow",style:{width:"700px"}},M5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},D5=fu(()=>h("h4",{class:"mb-0 fw-normal"},[ct("Schedule Jobs "),h("strong")],-1)),I5={class:"card-body px-4 pb-4 pt-2 position-relative"},O5={class:"d-flex align-items-center mb-3"},L5=fu(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),R5={class:"card shadow-sm",key:"none",style:{height:"153px"}},N5=fu(()=>h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"This peer does not have any job yet.")],-1)),F5=[N5];function B5(e,t,s,n,i,o){const r=Ct("SchedulePeerJob");return L(),V("div",$5,[h("div",P5,[h("div",k5,[h("div",T5,[h("div",M5,[D5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",I5,[h("div",O5,[h("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=a=>this.addJob())},[L5,ct(" Job ")])]),dt(oi,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.selectedPeer.jobs,(a,l)=>(L(),Gt(r,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(a),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:a.JobID,pjob:a},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(L(),V("div",R5,F5)):xt("",!0)]),_:1})])])])])])}const V5=St(C5,[["render",B5],["__scopeId","data-v-31a1606a"]]),j5={name:"peerJobsAllModal",setup(){return{store:Ve()}},components:{SchedulePeerJob:Bb},props:{configurationPeers:Array[Object]},methods:{getuuid(){return Sn()}},computed:{getAllJobs(){return this.configurationPeers.filter(e=>e.jobs.length>0)}}},H5={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},W5={class:"container d-flex h-100 w-100"},z5={class:"m-auto modal-dialog-centered dashboardModal"},K5={class:"card rounded-3 shadow",style:{width:"700px"}},U5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Y5=h("h4",{class:"mb-0 fw-normal"},"All Active Jobs ",-1),q5={class:"card-body px-4 pb-4 pt-2"},G5={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},J5={class:"accordion-header"},X5=["data-bs-target"],Q5={key:0},Z5={class:"text-muted"},t4=["id"],e4={class:"accordion-body"},s4={key:1,class:"card shadow-sm",style:{height:"153px"}},n4=h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"No active job at the moment.")],-1),i4=[n4];function o4(e,t,s,n,i,o){const r=Ct("SchedulePeerJob");return L(),V("div",H5,[h("div",W5,[h("div",z5,[h("div",K5,[h("div",U5,[Y5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",q5,[this.getAllJobs.length>0?(L(),V("div",G5,[(L(!0),V(Bt,null,ae(this.getAllJobs,(a,l)=>(L(),V("div",{class:"accordion-item",key:a.id},[h("h2",J5,[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+l},[h("small",null,[h("strong",null,[a.name?(L(),V("span",Q5,nt(a.name)+" • ",1)):xt("",!0),h("samp",Z5,nt(a.id),1)])])],8,X5)]),h("div",{id:"collapse_"+l,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[h("div",e4,[(L(!0),V(Bt,null,ae(a.jobs,c=>(L(),Gt(r,{onDelete:t[1]||(t[1]=d=>this.$emit("refresh")),onRefresh:t[2]||(t[2]=d=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:c.JobID,pjob:c},null,8,["dropdowns","pjob"]))),128))])],8,t4)]))),128))])):(L(),V("div",s4,i4))])])])])])}const r4=St(j5,[["render",o4]]),a4={name:"peerJobsLogsModal",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 le(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},e=>{this.data=e.data,this.logFetchTime=ki().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(e=>this.showSuccessJob&&e.Status==="1"||this.showFailedJob&&e.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},l4={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},c4={class:"container-fluid d-flex h-100 w-100"},d4={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},u4={class:"card rounded-3 shadow w-100"},h4={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},f4=h("h4",{class:"mb-0"},"Jobs Logs",-1),p4={class:"card-body px-4 pb-4 pt-2"},g4={key:0},m4={class:"mb-2 d-flex gap-3"},_4=h("i",{class:"bi bi-arrow-clockwise me-2"},null,-1),b4={class:"d-flex gap-3 align-items-center"},v4=h("span",{class:"text-muted"},"Filter",-1),y4={class:"form-check"},x4=h("label",{class:"form-check-label",for:"jobLogsShowSuccessCheck"},[h("span",{class:"badge text-success-emphasis bg-success-subtle"},"Success")],-1),w4={class:"form-check"},E4=h("label",{class:"form-check-label",for:"jobLogsShowFailedCheck"},[h("span",{class:"badge text-danger-emphasis bg-danger-subtle"},"Failed")],-1),S4={class:"d-flex gap-3 align-items-center ms-auto"},A4=h("span",{class:"text-muted"},"Display",-1),C4={class:"form-check"},$4=h("label",{class:"form-check-label",for:"jobLogsShowJobIDCheck"}," Job ID ",-1),P4={class:"form-check"},k4=h("label",{class:"form-check-label",for:"jobLogsShowLogIDCheck"}," Log ID ",-1),T4={class:"table"},M4=h("th",{scope:"col"},"Date",-1),D4={key:0,scope:"col"},I4={key:1,scope:"col"},O4=h("th",{scope:"col"},"Status",-1),L4=h("th",{scope:"col"},"Message",-1),R4={style:{"font-size":"0.875rem"}},N4={scope:"row"},F4={key:0},B4={class:"text-muted"},V4={key:1},j4={class:"text-muted"},H4={class:"d-flex gap-2"},W4=h("i",{class:"bi bi-chevron-down me-2"},null,-1),z4=h("i",{class:"bi bi-chevron-up me-2"},null,-1),K4={key:1,class:"d-flex align-items-center flex-column"},U4=h("div",{class:"spinner-border text-body",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),Y4=[U4];function q4(e,t,s,n,i,o){return L(),V("div",l4,[h("div",c4,[h("div",d4,[h("div",u4,[h("div",h4,[f4,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",p4,[this.dataLoading?(L(),V("div",K4,Y4)):(L(),V("div",g4,[h("p",null,"Updated at: "+nt(this.logFetchTime),1),h("div",m4,[h("button",{onClick:t[1]||(t[1]=r=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[_4,ct(" Refresh ")]),h("div",b4,[v4,h("div",y4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=r=>this.showSuccessJob=r),id:"jobLogsShowSuccessCheck"},null,512),[[Xe,this.showSuccessJob]]),x4]),h("div",w4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.showFailedJob=r),id:"jobLogsShowFailedCheck"},null,512),[[Xe,this.showFailedJob]]),E4])]),h("div",S4,[A4,h("div",C4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=r=>i.showJobID=r),id:"jobLogsShowJobIDCheck"},null,512),[[Xe,i.showJobID]]),$4]),h("div",P4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=r=>i.showLogID=r),id:"jobLogsShowLogIDCheck"},null,512),[[Xe,i.showLogID]]),k4])])]),h("table",T4,[h("thead",null,[h("tr",null,[M4,i.showLogID?(L(),V("th",D4,"Log ID")):xt("",!0),i.showJobID?(L(),V("th",I4,"Job ID")):xt("",!0),O4,L4])]),h("tbody",null,[(L(!0),V(Bt,null,ae(this.showLogs,r=>(L(),V("tr",R4,[h("th",N4,nt(r.LogDate),1),i.showLogID?(L(),V("td",F4,[h("samp",B4,nt(r.LogID),1)])):xt("",!0),i.showJobID?(L(),V("td",V4,[h("samp",j4,nt(r.JobID),1)])):xt("",!0),h("td",null,[h("span",{class:Mt(["badge",[r.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},nt(r.Status==="1"?"Success":"Failed"),3)]),h("td",null,nt(r.Message),1)]))),256))])]),h("div",H4,[this.getLogs.length>this.showLogAmount?(L(),V("button",{key:0,onClick:t[6]||(t[6]=r=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[W4,ct(" Show More ")])):xt("",!0),this.showLogAmount>20?(L(),V("button",{key:1,onClick:t[7]||(t[7]=r=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[z4,ct(" Collapse ")])):xt("",!0)])]))])])])])])}const G4=St(a4,[["render",q4]]);pl.register(wo,dn,ma,ga,Fo,ca,Ei,Bo,Bc,da,ua,ha,Kc,Uc,Yc,So,er,Gc,sN,wN,PN,TN,FN);const J4={name:"peerList",components:{PeerJobsLogsModal:G4,PeerJobsAllModal:r4,PeerJobs:V5,PeerCreate:Nb,PeerQRCode:h3,PeerSettings:tI,PeerSearch:SI,Peer:fO,Line:gF,Bar:pF},setup(){const e=Kt(),t=Ve();return{dashboardConfigurationStore:e,wireguardConfigurationStore:t}},data(){return{configurationToggling:!1,loading:!1,error:null,configurationInfo:[],configurationPeers:[],historyDataSentDifference:[],historyDataReceivedDifference:[],historySentData:{labels:[],datasets:[{label:"Data Sent",data:[],fill:!1,borderColor:"#198754",tension:0}]},historyReceiveData:{labels:[],datasets:[{label:"Data Received",data:[],fill:!1,borderColor:"#0d6efd",tension:0}]},peerSetting:{modalOpen:!1,selectedPeer:void 0},peerScheduleJobs:{modalOpen:!1,selectedPeer:void 0},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1}}},mounted(){},watch:{$route:{immediate:!0,handler(){console.log(this.interval),clearInterval(this.interval),console.log(this.interval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),console.log("Changed.."),this.setInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.interval),this.setInterval()}},beforeRouteLeave(){clearInterval(this.interval)},methods:{toggle(){this.configurationToggling=!0,le("/api/toggleWireguardConfiguration/",{configurationName:this.configurationInfo.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.configurationInfo.Name} is - ${e.data?"is on":"is off"}`,"Success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.configurationInfo.Status=e.data,this.configurationToggling=!1})},getPeers(e=this.$route.params.id){le("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.configurationPeers.forEach(s=>{s.restricted=!1}),t.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,this.configurationPeers.push(s)}),this.loading=!1,this.configurationPeers.length>0){const s=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),n=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==s&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,ki().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((s-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:" #198754",tension:0}]}),this.historyDataSentDifference.push(s)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==n&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,ki().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((n-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(n))}})},setInterval(){this.interval=setInterval(()=>{this.getPeers()},parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval))}},computed:{configurationSummary(){return{connectedPeers:this.configurationPeers.filter(e=>e.status==="running").length,totalUsage:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_data+e.cumu_data).reduce((e,t)=>e+t):0,totalReceive:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_receive+e.cumu_receive).reduce((e,t)=>e+t):0,totalSent:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_sent+e.cumu_sent).reduce((e,t)=>e+t):0}},receiveData(){return this.historyReceiveData},sentData(){return this.historySentData},individualDataUsage(){return{labels:this.configurationPeers.map(e=>e.name?e.name:`Untitled Peer - ${e.id}`),datasets:[{label:"Total Data Usage",data:this.configurationPeers.map(e=>e.cumu_data+e.total_data),backgroundColor:this.configurationPeers.map(e=>"#0dcaf0"),tooltip:{callbacks:{label:e=>`${e.formattedValue} GB`}}}]}},individualDataUsageChartOption(){return{responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} GB`},grid:{display:!1}}}}},chartOptions(){return{responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} MB/s`},grid:{display:!1}}}}},searchPeers(){const e=new eo(this.configurationPeers,{keys:["name","id","allowed_ip"]}),t=this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(s=>s.item):this.configurationPeers;return this.dashboardConfigurationStore.Configuration.Server.dashboard_sort==="restricted"?t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:0):t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},ve=e=>(ss("data-v-b8355e17"),e=e(),ns(),e),X4={key:0},Q4={class:"d-flex align-items-center"},Z4=ve(()=>h("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),tV={class:"d-flex align-items-center gap-3"},eV={class:"mb-0"},sV={class:"card rounded-3 bg-transparent shadow-sm ms-auto"},nV={class:"card-body py-2 d-flex align-items-center"},iV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Status")],-1)),oV={class:"form-check form-switch ms-auto"},rV=["for"],aV={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},lV=["disabled","id"],cV={class:"row mt-3 gy-2 gx-2 mb-2"},dV={class:"col-6 col-lg-3"},uV={class:"card rounded-3 bg-transparent shadow-sm"},hV={class:"card-body py-2"},fV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),pV={class:"col-6 col-lg-3"},gV={class:"card rounded-3 bg-transparent shadow-sm"},mV={class:"card-body py-2"},_V=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Listen Port")],-1)),bV={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},vV={class:"card rounded-3 bg-transparent shadow-sm"},yV={class:"card-body py-2"},xV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Public Key")],-1)),wV={class:"row gx-2 gy-2 mb-2"},EV={class:"col-6 col-lg-3"},SV={class:"card rounded-3 bg-transparent shadow-sm"},AV={class:"card-body d-flex"},CV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Connected Peers")],-1)),$V={class:"h4"},PV=ve(()=>h("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),kV={class:"col-6 col-lg-3"},TV={class:"card rounded-3 bg-transparent shadow-sm"},MV={class:"card-body d-flex"},DV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Usage")],-1)),IV={class:"h4"},OV=ve(()=>h("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),LV={class:"col-6 col-lg-3"},RV={class:"card rounded-3 bg-transparent shadow-sm"},NV={class:"card-body d-flex"},FV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Received")],-1)),BV={class:"h4 text-primary"},VV=ve(()=>h("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),jV={class:"col-6 col-lg-3"},HV={class:"card rounded-3 bg-transparent shadow-sm"},WV={class:"card-body d-flex"},zV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Sent")],-1)),KV={class:"h4 text-success"},UV=ve(()=>h("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),YV={class:"row gx-2 gy-2 mb-3"},qV={class:"col-12 col-lg-6"},GV={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},JV=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),XV={class:"card-body pt-1"},QV={class:"col-sm col-lg-3"},ZV={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},tj=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),ej={class:"card-body pt-1"},sj={class:"col-sm col-lg-3"},nj={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},ij=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),oj={class:"card-body pt-1"},rj={class:"mb-4"};function aj(e,t,s,n,i,o){const r=Ct("Bar"),a=Ct("Line"),l=Ct("PeerSearch"),c=Ct("Peer"),d=Ct("PeerSettings"),u=Ct("PeerQRCode"),p=Ct("PeerJobs"),g=Ct("PeerJobsAllModal"),m=Ct("PeerJobsLogsModal");return this.loading?xt("",!0):(L(),V("div",X4,[h("div",Q4,[h("div",null,[Z4,h("div",tV,[h("h1",eV,[h("samp",null,nt(this.configurationInfo.Name),1)])])]),h("div",sV,[h("div",nV,[h("div",null,[iV,h("div",oV,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+this.configurationInfo.id},[ct(nt(this.configurationToggling?"Turning ":"")+" "+nt(this.configurationInfo.Status?"On":"Off")+" ",1),this.configurationToggling?(L(),V("span",aV)):xt("",!0)],8,rV),ft(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+this.configurationInfo.id,onChange:t[0]||(t[0]=_=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=_=>this.configurationInfo.Status=_)},null,40,lV),[[Xe,this.configurationInfo.Status]])])]),h("div",{class:Mt(["dot ms-5",{active:this.configurationInfo.Status}])},null,2)])])]),h("div",cV,[h("div",dV,[h("div",uV,[h("div",hV,[fV,ct(" "+nt(this.configurationInfo.Address),1)])])]),h("div",pV,[h("div",gV,[h("div",mV,[_V,ct(" "+nt(this.configurationInfo.ListenPort),1)])])]),h("div",bV,[h("div",vV,[h("div",yV,[xV,h("samp",null,nt(this.configurationInfo.PublicKey),1)])])])]),h("div",wV,[h("div",EV,[h("div",SV,[h("div",AV,[h("div",null,[CV,h("strong",$V,nt(o.configurationSummary.connectedPeers),1)]),PV])])]),h("div",kV,[h("div",TV,[h("div",MV,[h("div",null,[DV,h("strong",IV,nt(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),OV])])]),h("div",LV,[h("div",RV,[h("div",NV,[h("div",null,[FV,h("strong",BV,nt(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),VV])])]),h("div",jV,[h("div",HV,[h("div",WV,[h("div",null,[zV,h("strong",KV,nt(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),UV])])])]),h("div",YV,[h("div",qV,[h("div",GV,[JV,h("div",XV,[dt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),h("div",QV,[h("div",ZV,[tj,h("div",ej,[dt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),h("div",sj,[h("div",nj,[ij,h("div",oj,[dt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]),h("div",rj,[dt(l,{onJobsAll:t[2]||(t[2]=_=>this.peerScheduleJobsAll.modalOpen=!0),onJobLogs:t[3]||(t[3]=_=>this.peerScheduleJobsLogs.modalOpen=!0),configuration:this.configurationInfo},null,8,["configuration"]),dt(oi,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.searchPeers,_=>(L(),V("div",{class:"col-12 col-lg-6 col-xl-4",key:_.id},[dt(c,{Peer:_,onRefresh:t[4]||(t[4]=v=>this.getPeers()),onJobs:v=>{i.peerScheduleJobs.modalOpen=!0,i.peerScheduleJobs.selectedPeer=this.configurationPeers.find(w=>w.id===_.id)},onSetting:v=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find(w=>w.id===_.id)},onQrcode:t[5]||(t[5]=v=>{this.peerQRCode.peerConfigData=v,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onJobs","onSetting"])]))),128))]),_:1})]),dt(Te,{name:"zoom"},{default:It(()=>[this.peerSetting.modalOpen?(L(),Gt(d,{key:"settings",selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[6]||(t[6]=_=>this.getPeers()),onClose:t[7]||(t[7]=_=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[i.peerQRCode.modalOpen?(L(),Gt(u,{peerConfigData:this.peerQRCode.peerConfigData,key:"qrcode",onClose:t[8]||(t[8]=_=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobs.modalOpen?(L(),Gt(p,{key:0,onRefresh:t[9]||(t[9]=_=>this.getPeers()),selectedPeer:this.peerScheduleJobs.selectedPeer,onClose:t[10]||(t[10]=_=>this.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobsAll.modalOpen?(L(),Gt(g,{key:0,onRefresh:t[11]||(t[11]=_=>this.getPeers()),onClose:t[12]||(t[12]=_=>this.peerScheduleJobsAll.modalOpen=!1),configurationPeers:this.configurationPeers},null,8,["configurationPeers"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobsLogs.modalOpen?(L(),Gt(m,{key:0,onClose:t[13]||(t[13]=_=>this.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:this.configurationInfo},null,8,["configurationInfo"])):xt("",!0)]),_:1})]))}const lj=St(J4,[["render",aj],["__scopeId","data-v-b8355e17"]]),cj={name:"ping",data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:Kt()}},mounted(){le("/api/ping/getAllPeersIpAddress",{},e=>{e.status&&(this.loading=!0,this.cips=e.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,le("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},e=>{e.status?this.pingResult=e.data:this.store.newMessage("Server",e.message,"danger")}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},He=e=>(ss("data-v-875f5a3c"),e=e(),ns(),e),dj={class:"mt-5 text-body"},uj={class:"container"},hj=He(()=>h("h3",{class:"mb-3 text-body"},"Ping",-1)),fj={class:"row"},pj={class:"col-sm-4 d-flex gap-2 flex-column"},gj=He(()=>h("label",{class:"mb-1 text-muted",for:"configuration"},[h("small",null,"Configuration")],-1)),mj=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Configuration...",-1)),_j=["value"],bj=He(()=>h("label",{class:"mb-1 text-muted",for:"peer"},[h("small",null,"Peer")],-1)),vj=["disabled"],yj=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Peer...",-1)),xj=["value"],wj=He(()=>h("label",{class:"mb-1 text-muted",for:"ip"},[h("small",null,"IP Address")],-1)),Ej=["disabled"],Sj=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a IP...",-1)),Aj=He(()=>h("label",{class:"mb-1 text-muted",for:"count"},[h("small",null,"Ping Count")],-1)),Cj=["disabled"],$j=He(()=>h("i",{class:"bi bi-person-walking me-2"},null,-1)),Pj={class:"col-sm-8"},kj={key:"pingPlaceholder"},Tj={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},Mj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},Dj={class:"card-body"},Ij=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),Oj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},Lj={class:"card-body"},Rj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Is Alive")],-1)),Nj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},Fj={class:"card-body"},Bj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Average / Min / Max Round Trip Time")],-1)),Vj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},jj={class:"card-body"},Hj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Sent / Received / Lost Package")],-1));function Wj(e,t,s,n,i,o){return L(),V("div",dj,[h("div",uj,[hj,h("div",fj,[h("div",pj,[h("div",null,[gj,ft(h("select",{class:"form-select","onUpdate:modelValue":t[0]||(t[0]=r=>this.selectedConfiguration=r)},[mj,(L(!0),V(Bt,null,ae(this.cips,(r,a)=>(L(),V("option",{value:a},nt(a),9,_j))),256))],512),[[aa,this.selectedConfiguration]])]),h("div",null,[bj,ft(h("select",{id:"peer",class:"form-select","onUpdate:modelValue":t[1]||(t[1]=r=>this.selectedPeer=r),disabled:this.selectedConfiguration===void 0},[yj,this.selectedConfiguration!==void 0?(L(!0),V(Bt,{key:0},ae(this.cips[this.selectedConfiguration],(r,a)=>(L(),V("option",{value:a},nt(a),9,xj))),256)):xt("",!0)],8,vj),[[aa,this.selectedPeer]])]),h("div",null,[wj,ft(h("select",{id:"ip",class:"form-select","onUpdate:modelValue":t[2]||(t[2]=r=>this.selectedIp=r),disabled:this.selectedPeer===void 0},[Sj,this.selectedPeer!==void 0?(L(!0),V(Bt,{key:0},ae(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,r=>(L(),V("option",null,nt(r),1))),256)):xt("",!0)],8,Ej),[[aa,this.selectedIp]])]),h("div",null,[Aj,ft(h("input",{class:"form-control",type:"number","onUpdate:modelValue":t[3]||(t[3]=r=>this.count=r),min:"1",id:"count",placeholder:"How many times you want to ping?"},null,512),[[bt,this.count]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.selectedIp,onClick:t[4]||(t[4]=r=>this.execute())},[$j,ct("Go! ")],8,Cj)]),h("div",Pj,[dt(oi,{name:"ping"},{default:It(()=>[this.pingResult?(L(),V("div",Tj,[h("div",Mj,[h("div",Dj,[Ij,ct(" "+nt(this.pingResult.address),1)])]),h("div",Oj,[h("div",Lj,[Rj,h("span",{class:Mt([this.pingResult.is_alive?"text-success":"text-danger"])},[h("i",{class:Mt(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),ct(" "+nt(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),h("div",Nj,[h("div",Fj,[Bj,h("samp",null,nt(this.pingResult.avg_rtt)+"ms / "+nt(this.pingResult.min_rtt)+"ms / "+nt(this.pingResult.max_rtt)+"ms ",1)])]),h("div",Vj,[h("div",jj,[Hj,h("samp",null,nt(this.pingResult.package_sent)+" / "+nt(this.pingResult.package_received)+" / "+nt(this.pingResult.package_loss),1)])])])):(L(),V("div",kj,[(L(),V(Bt,null,ae(4,r=>h("div",{class:Mt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:Ri({"animation-delay":`${r*.15}s`})},null,6)),64))]))]),_:1})])])])])}const zj=St(cj,[["render",Wj],["__scopeId","data-v-875f5a3c"]]),Kj={name:"traceroute",data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:Ve()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,le("/api/traceroute/execute",{ipAddress:this.ipAddress},e=>{e.status?this.tracerouteResult=e.data:this.store.newMessage("Server",e.message,"danger"),this.tracing=!1}))}}},_l=e=>(ss("data-v-dda37ccf"),e=e(),ns(),e),Uj={class:"mt-5 text-body"},Yj={class:"container"},qj=_l(()=>h("h3",{class:"mb-3 text-body"},"Traceroute",-1)),Gj={class:"row"},Jj={class:"col-sm-4 d-flex gap-2 flex-column"},Xj=_l(()=>h("label",{class:"mb-1 text-muted",for:"ipAddress"},[h("small",null,"IP Address")],-1)),Qj=["disabled"],Zj=_l(()=>h("i",{class:"bi bi-bullseye me-2"},null,-1)),t8={class:"col-sm-8 position-relative"},e8={key:"pingPlaceholder"},s8={key:"table",class:"w-100"},n8={class:"table table-borderless rounded-3 w-100"},i8=_l(()=>h("thead",null,[h("tr",null,[h("th",{scope:"col"},"Hop"),h("th",{scope:"col"},"IP Address"),h("th",{scope:"col"},"Average / Min / Max Round Trip Time")])],-1));function o8(e,t,s,n,i,o){return L(),V("div",Uj,[h("div",Yj,[qj,h("div",Gj,[h("div",Jj,[h("div",null,[Xj,ft(h("input",{id:"ipAddress",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=r=>this.ipAddress=r),type:"text",placeholder:"Enter an IP Address you want to trace :)"},null,512),[[bt,this.ipAddress]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.store.regexCheckIP(this.ipAddress)||this.tracing,onClick:t[1]||(t[1]=r=>this.execute())},[Zj,ct(" "+nt(this.tracing?"Tracing...":"Trace It!"),1)],8,Qj)]),h("div",t8,[dt(oi,{name:"ping"},{default:It(()=>[this.tracerouteResult?(L(),V("div",s8,[h("table",n8,[i8,h("tbody",null,[(L(!0),V(Bt,null,ae(this.tracerouteResult,(r,a)=>(L(),V("tr",{class:"animate__fadeInUp animate__animated",style:Ri({"animation-delay":`${a*.05}s`})},[h("td",null,nt(r.hop),1),h("td",null,nt(r.ip),1),h("td",null,nt(r.avg_rtt)+" / "+nt(r.min_rtt)+" / "+nt(r.max_rtt),1)],4))),256))])])])):(L(),V("div",e8,[(L(),V(Bt,null,ae(10,r=>h("div",{class:Mt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:Ri({"animation-delay":`${r*.05}s`})},null,6)),64))]))]),_:1})])])])])}const r8=St(Kj,[["render",o8],["__scopeId","data-v-dda37ccf"]]),a8=async()=>{let e=!1;return await le("/api/validateAuthentication",{},t=>{e=t.status}),e},pu=qS({history:uS(),routes:[{name:"Index",path:"/",component:UA,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:BC,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:bk,meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:zj},{path:"/traceroute",name:"Traceroute",component:r8},{name:"New Configuration",path:"/new_configuration",component:cD,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:fD,meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:lj},{name:"Peers Create",path:"create",component:Nb}]}]},{path:"/signin",component:fC,meta:{title:"Sign In"}},{path:"/welcome",component:qT,meta:{requiresAuth:!0}}]});pu.beforeEach(async(e,t,s)=>{const n=Ve(),i=Kt();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",e.meta.requiresAuth?iA.getCookie("authToken")&&await a8()?(await i.getConfiguration(),!n.Configurations&&e.name!=="Configuration List"&&await n.getConfigurations(),i.Redirect=void 0,s()):(i.Redirect=e,s("/signin")):s()});const gu=NE(nA);gu.use(pu);const Vb=jE();Vb.use(({store:e})=>{e.$router=Ua(pu)});gu.use(Vb);gu.mount("#app"); +`):e}function MN(e,t){const{element:s,datasetIndex:n,index:i}=t,o=e.getDatasetMeta(n).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[n].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:n,element:s}}function Ip(e,t){const s=e.chart.ctx,{body:n,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=ce(t.bodyFont),c=ce(t.titleFont),d=ce(t.footerFont),u=o.length,p=i.length,g=n.length,m=be(t.padding);let _=m.height,v=0,w=n.reduce((T,y)=>T+y.before.length+y.lines.length+y.after.length,0);if(w+=e.beforeBody.length+e.afterBody.length,u&&(_+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),w){const T=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=g*T+(w-g)*l.lineHeight+(w-1)*t.bodySpacing}p&&(_+=t.footerMarginTop+p*d.lineHeight+(p-1)*t.footerSpacing);let S=0;const $=function(T){v=Math.max(v,s.measureText(T).width+S)};return s.save(),s.font=c.string,zt(e.title,$),s.font=l.string,zt(e.beforeBody.concat(e.afterBody),$),S=t.displayColors?r+2+t.boxPadding:0,zt(n,T=>{zt(T.before,$),zt(T.lines,$),zt(T.after,$)}),S=0,s.font=d.string,zt(e.footer,$),s.restore(),v+=m.width,{width:v,height:_}}function DN(e,t){const{y:s,height:n}=t;return se.height-n/2?"bottom":"center"}function IN(e,t,s,n){const{x:i,width:o}=n,r=s.caretSize+s.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function ON(e,t,s,n){const{x:i,width:o}=s,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return n==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),IN(c,e,t,s)&&(c="center"),c}function Op(e,t,s){const n=s.yAlign||t.yAlign||DN(e,s);return{xAlign:s.xAlign||t.xAlign||ON(e,t,s,n),yAlign:n}}function LN(e,t){let{x:s,width:n}=e;return t==="right"?s-=n:t==="center"&&(s-=n/2),s}function RN(e,t,s){let{y:n,height:i}=e;return t==="top"?n+=s:t==="bottom"?n-=i+s:n-=i/2,n}function Lp(e,t,s,n){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=s,c=i+o,{topLeft:d,topRight:u,bottomLeft:p,bottomRight:g}=Qn(r);let m=LN(t,a);const _=RN(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(d,p)+i:a==="right"&&(m+=Math.max(u,g)+i),{x:fe(m,0,n.width-t.width),y:fe(_,0,n.height-t.height)}}function Jr(e,t,s){const n=be(s.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-n.right:e.x+n.left}function Rp(e){return fs([],Ds(e))}function NN(e,t,s){return Cn(e,{tooltip:t,tooltipItems:s,type:"tooltip"})}function Np(e,t){const s=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return s?e.override(s):e}const wb={beforeTitle:ks,title(e){if(e.length>0){const t=e[0],s=t.chart.data.labels,n=s?s.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(n>0&&t.dataIndex"u"?wb[t].call(s,n):i}class zc extends zs{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 s=this.chart,n=this.options.setContext(this.getContext()),i=n.enabled&&s.options.animation&&n.animations,o=new sb(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=NN(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,s){const{callbacks:n}=s,i=Pe(n,"beforeTitle",this,t),o=Pe(n,"title",this,t),r=Pe(n,"afterTitle",this,t);let a=[];return a=fs(a,Ds(i)),a=fs(a,Ds(o)),a=fs(a,Ds(r)),a}getBeforeBody(t,s){return Rp(Pe(s.callbacks,"beforeBody",this,t))}getBody(t,s){const{callbacks:n}=s,i=[];return zt(t,o=>{const r={before:[],lines:[],after:[]},a=Np(n,o);fs(r.before,Ds(Pe(a,"beforeLabel",this,o))),fs(r.lines,Pe(a,"label",this,o)),fs(r.after,Ds(Pe(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,s){return Rp(Pe(s.callbacks,"afterBody",this,t))}getFooter(t,s){const{callbacks:n}=s,i=Pe(n,"beforeFooter",this,t),o=Pe(n,"footer",this,t),r=Pe(n,"afterFooter",this,t);let a=[];return a=fs(a,Ds(i)),a=fs(a,Ds(o)),a=fs(a,Ds(r)),a}_createItems(t){const s=this._active,n=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=s.length;lt.filter(d,u,p,n))),t.itemSort&&(a=a.sort((d,u)=>t.itemSort(d,u,n))),zt(a,d=>{const u=Np(t.callbacks,d);i.push(Pe(u,"labelColor",this,d)),o.push(Pe(u,"labelPointStyle",this,d)),r.push(Pe(u,"labelTextColor",this,d))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,s){const n=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=So[n.position].call(this,i,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const l=this._size=Ip(this,n),c=Object.assign({},a,l),d=Op(this.chart,n,c),u=Lp(n,c,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:u.x,y:u.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&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:s})}drawCaret(t,s,n,i){const o=this.getCaretPosition(t,n,i);s.lineTo(o.x1,o.y1),s.lineTo(o.x2,o.y2),s.lineTo(o.x3,o.y3)}getCaretPosition(t,s,n){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=n,{topLeft:l,topRight:c,bottomLeft:d,bottomRight:u}=Qn(a),{x:p,y:g}=t,{width:m,height:_}=s;let v,w,S,$,T,y;return o==="center"?(T=g+_/2,i==="left"?(v=p,w=v-r,$=T+r,y=T-r):(v=p+m,w=v+r,$=T-r,y=T+r),S=v):(i==="left"?w=p+Math.max(l,d)+r:i==="right"?w=p+m-Math.max(c,u)-r:w=this.caretX,o==="top"?($=g,T=$-r,v=w-r,S=w+r):($=g+_,T=$+r,v=w+r,S=w-r),y=$),{x1:v,x2:w,x3:S,y1:$,y2:T,y3:y}}drawTitle(t,s,n){const i=this.title,o=i.length;let r,a,l;if(o){const c=Ti(n.rtl,this.x,this.width);for(t.x=Jr(this,n.titleAlign,n),s.textAlign=c.textAlign(n.titleAlign),s.textBaseline="middle",r=ce(n.titleFont),a=n.titleSpacing,s.fillStyle=n.titleColor,s.font=r.string,l=0;lS!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Qo(t,{x:_,y:m,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Qo(t,{x:v,y:m+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(_,m,c,l),t.strokeRect(_,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(v,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,s,n){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:d}=n,u=ce(n.bodyFont);let p=u.lineHeight,g=0;const m=Ti(n.rtl,this.x,this.width),_=function(E){s.fillText(E,m.x(t.x+g),t.y+p/2),t.y+=p+o},v=m.textAlign(r);let w,S,$,T,y,x,C;for(s.textAlign=r,s.textBaseline="middle",s.font=u.string,t.x=Jr(this,v,n),s.fillStyle=n.bodyColor,zt(this.beforeBody,_),g=a&&v!=="right"?r==="center"?c/2+d:c+2+d:0,T=0,x=i.length;T0&&s.stroke()}_updateAnimationTarget(t){const s=this.chart,n=this.$animations,i=n&&n.x,o=n&&n.y;if(i||o){const r=So[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ip(this,t),l=Object.assign({},r,this._size),c=Op(s,t,l),d=Lp(t,l,c,s);(i._to!==d.x||o._to!==d.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,d))}}_willRender(){return!!this.opacity}draw(t){const s=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(s);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=be(s.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;s.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,s),X_(t,s.textDirection),o.y+=r.top,this.drawTitle(o,t,s),this.drawBody(o,t,s),this.drawFooter(o,t,s),Q_(t,s.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,s){const n=this._active,i=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=!ka(n,i),r=this._positionChanged(i,s);(o||r)&&(this._active=i,this._eventPosition=s,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,s,n=!0){if(s&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,s,n),a=this._positionChanged(r,t),l=s||!ka(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,s))),l}_getActiveElements(t,s,n,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return s.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,n);return o.reverse&&r.reverse(),r}_positionChanged(t,s){const{caretX:n,caretY:i,options:o}=this,r=So[o.position].call(this,t,s);return r!==!1&&(n!==r.x||i!==r.y)}}ot(zc,"positioners",So);var FN={id:"tooltip",_element:zc,positioners:So,afterInit(e,t,s){s&&(e.tooltip=new zc({chart:e,options:s}))},beforeUpdate(e,t,s){e.tooltip&&e.tooltip.initialize(s)},reset(e,t,s){e.tooltip&&e.tooltip.initialize(s)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const s={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...s,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",s)}},afterEvent(e,t){if(e.tooltip){const s=t.replay;e.tooltip.handleEvent(t.event,s,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:(e,t)=>t.bodyFont.size,boxWidth:(e,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:wb},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const BN=(e,t,s,n)=>(typeof t=="string"?(s=e.push(t)-1,n.unshift({index:s,label:t})):isNaN(t)&&(s=null),s);function VN(e,t,s,n){const i=e.indexOf(t);if(i===-1)return BN(e,t,s,n);const o=e.lastIndexOf(t);return i!==o?s:i}const jN=(e,t)=>e===null?null:fe(Math.round(e),0,t);function Fp(e){const t=this.getLabels();return e>=0&&es.length-1?null:this.getPixelForValue(s[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}ot(Kc,"id","category"),ot(Kc,"defaults",{ticks:{callback:Fp}});function HN(e,t){const s=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:d,maxDigits:u,includeBounds:p}=e,g=o||1,m=d-1,{min:_,max:v}=t,w=!jt(r),S=!jt(a),$=!jt(c),T=(v-_)/(u+1);let y=Of((v-_)/m/g)*g,x,C,E,P;if(y<1e-14&&!w&&!S)return[{value:_},{value:v}];P=Math.ceil(v/y)-Math.floor(_/y),P>m&&(y=Of(P*y/m/g)*g),jt(l)||(x=Math.pow(10,l),y=Math.ceil(y*x)/x),i==="ticks"?(C=Math.floor(_/y)*y,E=Math.ceil(v/y)*y):(C=_,E=v),w&&S&&o&&UO((a-r)/o,y/1e3)?(P=Math.round(Math.min((a-r)/y,d)),y=(a-r)/P,C=r,E=a):$?(C=w?r:C,E=S?a:E,P=c-1,y=(E-C)/P):(P=(E-C)/y,Lo(P,Math.round(P),y/1e3)?P=Math.round(P):P=Math.ceil(P));const M=Math.max(Lf(y),Lf(C));x=Math.pow(10,jt(l)?M:l),C=Math.round(C*x)/x,E=Math.round(E*x)/x;let O=0;for(w&&(p&&C!==r?(s.push({value:r}),Ca)break;s.push({value:F})}return S&&p&&E!==a?s.length&&Lo(s[s.length-1].value,a,Bp(a,T,e))?s[s.length-1].value=a:s.push({value:a}):(!S||E===a)&&s.push({value:E}),s}function Bp(e,t,{horizontal:s,minRotation:n}){const i=ls(n),o=(s?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class Ra extends ai{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,s){return jt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:s,maxDefined:n}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=s?i:l,a=l=>o=n?o:l;if(t){const l=xs(i),c=xs(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:s,stepSize:n}=t,i;return n?(i=Math.ceil(this.max/n)-Math.floor(this.min/n)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${n} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),s=s||11),s&&(i=Math.min(s,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,s=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:s.precision,step:s.stepSize,count:s.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:s.minRotation||0,includeBounds:s.includeBounds!==!1},o=this._range||this,r=HN(i,o);return t.bounds==="ticks"&&O_(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 s=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const i=(n-s)/Math.max(t.length-1,1)/2;s-=i,n+=i}this._startValue=s,this._endValue=n,this._valueRange=n-s}getLabelForValue(t){return dr(t,this.chart.options.locale,this.options.ticks.format)}}class Uc extends Ra{determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=te(t)?t:0,this.max=te(s)?s:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),s=t?this.width:this.height,n=ls(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(s/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}ot(Uc,"id","linear"),ot(Uc,"defaults",{ticks:{callback:dl.formatters.numeric}});const tr=e=>Math.floor(cn(e)),Hn=(e,t)=>Math.pow(10,tr(e)+t);function Vp(e){return e/Math.pow(10,tr(e))===1}function jp(e,t,s){const n=Math.pow(10,s),i=Math.floor(e/n);return Math.ceil(t/n)-i}function WN(e,t){const s=t-e;let n=tr(s);for(;jp(e,t,n)>10;)n++;for(;jp(e,t,n)<10;)n--;return Math.min(n,tr(e))}function zN(e,{min:t,max:s}){t=Ie(e.min,t);const n=[],i=tr(t);let o=WN(t,s),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,d=Math.floor((t-l)/a/10)*a*10;let u=Math.floor((c-d)/Math.pow(10,o)),p=Ie(e.min,Math.round((l+d+u*Math.pow(10,o))*r)/r);for(;p=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,r=o>=0?1:r),p=Math.round((l+d+u*Math.pow(10,o))*r)/r;const g=Ie(e.max,p);return n.push({value:g,major:Vp(g),significand:u}),n}class Yc extends ai{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,s){const n=Ra.prototype.parse.apply(this,[t,s]);if(n===0){this._zero=!0;return}return te(n)&&n>0?n:null}determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=te(t)?Math.max(0,t):null,this.max=te(s)?Math.max(0,s):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!te(this._userMin)&&(this.min=t===Hn(this.min,0)?Hn(this.min,-1):Hn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let n=this.min,i=this.max;const o=a=>n=t?n:a,r=a=>i=s?i:a;n===i&&(n<=0?(o(1),r(10)):(o(Hn(n,-1)),r(Hn(i,1)))),n<=0&&o(Hn(i,-1)),i<=0&&r(Hn(n,1)),this.min=n,this.max=i}buildTicks(){const t=this.options,s={min:this._userMin,max:this._userMax},n=zN(s,this);return t.bounds==="ticks"&&O_(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return t===void 0?"0":dr(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=cn(t),this._valueRange=cn(this.max)-cn(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(cn(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const s=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+s*this._valueRange)}}ot(Yc,"id","logarithmic"),ot(Yc,"defaults",{ticks:{callback:dl.formatters.logarithmic,major:{enabled:!0}}});function qc(e){const t=e.ticks;if(t.display&&e.display){const s=be(t.backdropPadding);return $t(t.font&&t.font.size,ee.font.size)+s.height}return 0}function KN(e,t,s){return s=Jt(s)?s:[s],{w:c2(e,t.string,s),h:s.length*t.lineHeight}}function Hp(e,t,s,n,i){return e===n||e===i?{start:t-s/2,end:t+s/2}:ei?{start:t-s,end:t}:{start:t,end:t+s}}function UN(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},s=Object.assign({},t),n=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?Qt/o:0;for(let l=0;lt.r&&(a=(n.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),i.startt.b&&(l=(i.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function qN(e,t,s){const n=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=s,l=e.getPointPosition(t,n+i+r,o),c=Math.round(tu(Le(l.angle+se))),d=ZN(l.y,a.h,c),u=XN(c),p=QN(l.x,a.w,u);return{visible:!0,x:l.x,y:d,textAlign:u,left:p,top:d,right:p+a.w,bottom:d+a.h}}function GN(e,t){if(!t)return!0;const{left:s,top:n,right:i,bottom:o}=e;return!(Fs({x:s,y:n},t)||Fs({x:s,y:o},t)||Fs({x:i,y:n},t)||Fs({x:i,y:o},t))}function JN(e,t,s){const n=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:qc(o)/2,additionalAngle:r?Qt/i:0};let c;for(let d=0;d270||s<90)&&(e-=t),e}function tF(e,t,s){const{left:n,top:i,right:o,bottom:r}=s,{backdropColor:a}=t;if(!jt(a)){const l=Qn(t.borderRadius),c=be(t.backdropPadding);e.fillStyle=a;const d=n-c.left,u=i-c.top,p=o-n+c.width,g=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Qo(e,{x:d,y:u,w:p,h:g,radius:l}),e.fill()):e.fillRect(d,u,p,g)}}function eF(e,t){const{ctx:s,options:{pointLabels:n}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=n.setContext(e.getPointLabelContext(i));tF(s,r,o);const a=ce(r.font),{x:l,y:c,textAlign:d}=o;ii(s,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:d,textBaseline:"middle"})}}function Sb(e,t,s,n){const{ctx:i}=e;if(s)i.arc(e.xCenter,e.yCenter,t,0,Xt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=Yt(this.options.pointLabels.callback,[s,n],this);return i||i===0?i:""}).filter((s,n)=>this.chart.getDataVisibility(n))}fit(){const t=this.options;t.display&&t.pointLabels.display?UN(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,s,n,i){this.xCenter+=Math.floor((t-s)/2),this.yCenter+=Math.floor((n-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,s,n,i))}getIndexAngle(t){const s=Xt/(this._pointLabels.length||1),n=this.options.startAngle||0;return Le(t*s+ls(n))}getDistanceFromCenterForValue(t){if(jt(t))return NaN;const s=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*s:(t-this.min)*s}getValueForDistanceFromCenter(t){if(jt(t))return NaN;const s=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-s:this.min+s}getPointLabelContext(t){const s=this._pointLabels||[];if(t>=0&&t{if(u!==0){l=this.getDistanceFromCenterForValue(d.value);const p=this.getContext(u),g=i.setContext(p),m=o.setContext(p);sF(this,g,l,r,m)}}),n.display){for(t.save(),a=r-1;a>=0;a--){const d=n.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:p}=d;!p||!u||(t.lineWidth=p,t.strokeStyle=u,t.setLineDash(d.borderDash),t.lineDashOffset=d.borderDashOffset,l=this.getDistanceFromCenterForValue(s.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,s=this.options,n=s.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!s.reverse)return;const c=n.setContext(this.getContext(l)),d=ce(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=d.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const u=be(c.backdropPadding);t.fillRect(-r/2-u.left,-o-d.size/2-u.top,r+u.width,d.size+u.height)}ii(t,a.label,0,-o,d,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}ot(Eo,"id","radialLinear"),ot(Eo,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:dl.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),ot(Eo,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),ot(Eo,"descriptors",{angleLines:{_fallback:"grid"}});const gl={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}},Me=Object.keys(gl);function Wp(e,t){return e-t}function zp(e,t){if(jt(t))return null;const s=e._adapter,{parser:n,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof n=="function"&&(r=n(r)),te(r)||(r=typeof n=="string"?s.parse(r,n):s.parse(r)),r===null?null:(i&&(r=i==="week"&&(qi(o)||o===!0)?s.startOf(r,"isoWeek",o):s.startOf(r,i)),+r)}function Kp(e,t,s,n){const i=Me.length;for(let o=Me.indexOf(e);o=Me.indexOf(s);o--){const r=Me[o];if(gl[r].common&&e._adapter.diff(i,n,r)>=t-1)return r}return Me[s?Me.indexOf(s):0]}function oF(e){for(let t=Me.indexOf(e)+1,s=Me.length;t=t?s[n]:s[i];e[o]=!0}}function rF(e,t,s,n){const i=e._adapter,o=+i.startOf(t[0].value,n),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,n))l=s[a],l>=0&&(t[l].major=!0);return t}function Yp(e,t,s){const n=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let s=0,n=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?s=1-i:s=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?n=o:n=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;s=fe(s,0,r),n=fe(n,0,r),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,s=this.min,n=this.max,i=this.options,o=i.time,r=o.unit||Kp(o.minUnit,s,n,this._getLabelCapacity(s)),a=$t(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=qi(l)||l===!0,d={};let u=s,p,g;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(n,s,r)>1e5*a)throw new Error(s+" and "+n+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(p=u,g=0;p+_)}getLabelForValue(t){const s=this._adapter,n=this.options.time;return n.tooltipFormat?s.format(t,n.tooltipFormat):s.format(t,n.displayFormats.datetime)}format(t,s){const i=this.options.time.displayFormats,o=this._unit,r=s||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,s,n,i){const o=this.options,r=o.ticks.callback;if(r)return Yt(r,[t,s,n],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=l&&a[l],u=c&&a[c],p=n[s],g=c&&u&&p&&p.major;return this._adapter.format(t,i||(g?u:d))}generateTickLabels(t){let s,n,i;for(s=0,n=t.length;s0?a:1}getDataTimestamps(){let t=this._cache.data||[],s,n;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(s=0,n=i.length;s=e[n].pos&&t<=e[i].pos&&({lo:n,hi:i}=Ns(e,"pos",t)),{pos:o,time:a}=e[n],{pos:r,time:l}=e[i]):(t>=e[n].time&&t<=e[i].time&&({lo:n,hi:i}=Ns(e,"time",t)),{time:o,pos:a}=e[n],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Gc extends er{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),s=this._table=this.buildLookupTable(t);this._minPos=Xr(s,this.min),this._tableRange=Xr(s,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:s,max:n}=this,i=[],o=[];let r,a,l,c,d;for(r=0,a=t.length;r=s&&c<=n&&i.push(c);if(i.length<2)return[{time:s,pos:0},{time:n,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const s=this.getDataTimestamps(),n=this.getLabelTimestamps();return s.length&&n.length?t=this.normalize(s.concat(n)):t=s.length?s:n,t=this._cache.all=t,t}getDecimalForValue(t){return(Xr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return Xr(this._table,n*this._tableRange+this._minPos,!0)}}ot(Gc,"id","timeseries"),ot(Gc,"defaults",er.defaults);const Eb={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},aF={ariaLabel:{type:String},ariaDescribedby:{type:String}},lF={type:{type:String,required:!0},...Eb,...aF},cF=Dm[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function yi(e){return Ka(e)?Ot(e):e}function dF(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Ka(t)?new Proxy(e,{}):e}function uF(e,t){const s=e.options;s&&t&&Object.assign(s,t)}function Ab(e,t){e.labels=t}function Cb(e,t,s){const n=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[s]===i[s]);return!o||!i.data||n.includes(o)?{...i}:(n.push(o),Object.assign(o,i),o)})}function hF(e,t){const s={labels:[],datasets:[]};return Ab(s,e.labels),Cb(s,e.datasets,t),s}const fF=Xa({props:lF,setup(e,t){let{expose:s,slots:n}=t;const i=vs(null),o=$d(null);s({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:d,options:u,plugins:p,datasetIdKey:g}=e,m=hF(d,g),_=dF(m,d);o.value=new pl(i.value,{type:c,data:_,options:{...u},plugins:p})},a=()=>{const c=Ot(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return Od(r),Ld(a),Xn([()=>e.options,()=>e.data],(c,d)=>{let[u,p]=c,[g,m]=d;const _=Ot(o.value);if(!_)return;let v=!1;if(u){const w=yi(u),S=yi(g);w&&w!==S&&(uF(_,w),v=!0)}if(p){const w=yi(p.labels),S=yi(m.labels),$=yi(p.datasets),T=yi(m.datasets);w!==S&&(Ab(_.config.data,w),v=!0),$&&$!==T&&(Cb(_.config.data,$,e.datasetIdKey),v=!0)}v&&rr(()=>{l(_)})},{deep:!0}),()=>Bi("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Bi("p",{},[n.default?n.default():""])])}});function $b(e,t){return pl.register(t),Xa({props:Eb,setup(s,n){let{expose:i}=n;const o=$d(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Bi(fF,cF({ref:r},{type:e,...s}))}})}const pF=$b("bar",Fo),gF=$b("line",Bo);function Hs(e){return Array.isArray?Array.isArray(e):Tb(e)==="[object Array]"}const mF=1/0;function _F(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-mF?"-0":t}function bF(e){return e==null?"":_F(e)}function _s(e){return typeof e=="string"}function Pb(e){return typeof e=="number"}function vF(e){return e===!0||e===!1||yF(e)&&Tb(e)=="[object Boolean]"}function kb(e){return typeof e=="object"}function yF(e){return kb(e)&&e!==null}function Re(e){return e!=null}function cc(e){return!e.trim().length}function Tb(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const xF="Incorrect 'index' type",wF=e=>`Invalid value for key ${e}`,SF=e=>`Pattern length exceeds max of ${e}.`,EF=e=>`Missing ${e} property in key`,AF=e=>`Property 'weight' in key '${e}' must be a positive integer`,qp=Object.prototype.hasOwnProperty;class CF{constructor(t){this._keys=[],this._keyMap={};let s=0;t.forEach(n=>{let i=Mb(n);this._keys.push(i),this._keyMap[i.id]=i,s+=i.weight}),this._keys.forEach(n=>{n.weight/=s})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Mb(e){let t=null,s=null,n=null,i=1,o=null;if(_s(e)||Hs(e))n=e,t=Gp(e),s=Jc(e);else{if(!qp.call(e,"name"))throw new Error(EF("name"));const r=e.name;if(n=r,qp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(AF(r));t=Gp(r),s=Jc(r),o=e.getFn}return{path:t,id:s,weight:i,src:n,getFn:o}}function Gp(e){return Hs(e)?e:e.split(".")}function Jc(e){return Hs(e)?e.join("."):e}function $F(e,t){let s=[],n=!1;const i=(o,r,a)=>{if(Re(o))if(!r[a])s.push(o);else{let l=r[a];const c=o[l];if(!Re(c))return;if(a===r.length-1&&(_s(c)||Pb(c)||vF(c)))s.push(bF(c));else if(Hs(c)){n=!0;for(let d=0,u=c.length;de.score===t.score?e.idx{this._keysMap[s.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,_s(this.docs[0])?this.docs.forEach((t,s)=>{this._addString(t,s)}):this.docs.forEach((t,s)=>{this._addObject(t,s)}),this.norm.clear())}add(t){const s=this.size();_s(t)?this._addString(t,s):this._addObject(t,s)}removeAt(t){this.records.splice(t,1);for(let s=t,n=this.size();s{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(Re(r)){if(Hs(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:d}=l.pop();if(Re(d))if(_s(d)&&!cc(d)){let u={v:d,i:c,n:this.norm.get(d)};a.push(u)}else Hs(d)&&d.forEach((u,p)=>{l.push({nestedArrIndex:p,value:u})})}n.$[o]=a}else if(_s(r)&&!cc(r)){let a={v:r,n:this.norm.get(r)};n.$[o]=a}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Db(e,t,{getFn:s=wt.getFn,fieldNormWeight:n=wt.fieldNormWeight}={}){const i=new hu({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(Mb)),i.setSources(t),i.create(),i}function OF(e,{getFn:t=wt.getFn,fieldNormWeight:s=wt.fieldNormWeight}={}){const{keys:n,records:i}=e,o=new hu({getFn:t,fieldNormWeight:s});return o.setKeys(n),o.setIndexRecords(i),o}function Qr(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=wt.distance,ignoreLocation:o=wt.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(n-s);return i?r+a/i:a?1:r}function LF(e=[],t=wt.minMatchCharLength){let s=[],n=-1,i=-1,o=0;for(let r=e.length;o=t&&s.push([n,i]),n=-1)}return e[o-1]&&o-n>=t&&s.push([n,o-1]),s}const Un=32;function RF(e,t,s,{location:n=wt.location,distance:i=wt.distance,threshold:o=wt.threshold,findAllMatches:r=wt.findAllMatches,minMatchCharLength:a=wt.minMatchCharLength,includeMatches:l=wt.includeMatches,ignoreLocation:c=wt.ignoreLocation}={}){if(t.length>Un)throw new Error(SF(Un));const d=t.length,u=e.length,p=Math.max(0,Math.min(n,u));let g=o,m=p;const _=a>1||l,v=_?Array(u):[];let w;for(;(w=e.indexOf(t,m))>-1;){let C=Qr(t,{currentLocation:w,expectedLocation:p,distance:i,ignoreLocation:c});if(g=Math.min(C,g),m=w+d,_){let E=0;for(;E=M;G-=1){let H=G-1,R=s[e.charAt(H)];if(_&&(v[H]=+!!R),F[G]=(F[G+1]<<1|1)&R,C&&(F[G]|=(S[G+1]|S[G])<<1|1|S[G+1]),F[G]&y&&($=Qr(t,{errors:C,currentLocation:H,expectedLocation:p,distance:i,ignoreLocation:c}),$<=g)){if(g=$,m=H,m<=p)break;M=Math.max(1,2*p-m)}}if(Qr(t,{errors:C+1,currentLocation:p,expectedLocation:p,distance:i,ignoreLocation:c})>g)break;S=F}const x={isMatch:m>=0,score:Math.max(.001,$)};if(_){const C=LF(v,a);C.length?l&&(x.indices=C):x.isMatch=!1}return x}function NF(e){let t={};for(let s=0,n=e.length;s{this.chunks.push({pattern:p,alphabet:NF(p),startIndex:g})},u=this.pattern.length;if(u>Un){let p=0;const g=u%Un,m=u-g;for(;p{const{isMatch:w,score:S,indices:$}=RF(t,m,_,{location:i+v,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:n,ignoreLocation:c});w&&(p=!0),u+=S,w&&$&&(d=[...d,...$])});let g={isMatch:p,score:p?u/this.chunks.length:1};return p&&n&&(g.indices=d),g}}class $n{constructor(t){this.pattern=t}static isMultiMatch(t){return Jp(t,this.multiRegex)}static isSingleMatch(t){return Jp(t,this.singleRegex)}search(){}}function Jp(e,t){const s=e.match(t);return s?s[1]:null}class FF extends $n{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const s=t===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class BF extends $n{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const n=t.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class VF extends $n{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const s=t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class jF extends $n{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const s=!t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class HF extends $n{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const s=t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class WF extends $n{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const s=!t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class Ob extends $n{constructor(t,{location:s=wt.location,threshold:n=wt.threshold,distance:i=wt.distance,includeMatches:o=wt.includeMatches,findAllMatches:r=wt.findAllMatches,minMatchCharLength:a=wt.minMatchCharLength,isCaseSensitive:l=wt.isCaseSensitive,ignoreLocation:c=wt.ignoreLocation}={}){super(t),this._bitapSearch=new Ib(t,{location:s,threshold:n,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Lb extends $n{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let s=0,n;const i=[],o=this.pattern.length;for(;(n=t.indexOf(this.pattern,s))>-1;)s=n+o,i.push([n,s-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Xc=[FF,Lb,VF,jF,WF,HF,BF,Ob],Xp=Xc.length,zF=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,KF="|";function UF(e,t={}){return e.split(KF).map(s=>{let n=s.trim().split(zF).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=n.length;o!!(e[Na.AND]||e[Na.OR]),JF=e=>!!e[td.PATH],XF=e=>!Hs(e)&&kb(e)&&!ed(e),Qp=e=>({[Na.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Rb(e,t,{auto:s=!0}={}){const n=i=>{let o=Object.keys(i);const r=JF(i);if(!r&&o.length>1&&!ed(i))return n(Qp(i));if(XF(i)){const l=r?i[td.PATH]:o[0],c=r?i[td.PATTERN]:i[l];if(!_s(c))throw new Error(wF(l));const d={keyId:Jc(l),pattern:c};return s&&(d.searcher=Zc(c,t)),d}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];Hs(c)&&c.forEach(d=>{a.children.push(n(d))})}),a};return ed(e)||(e=Qp(e)),n(e)}function QF(e,{ignoreFieldNorm:t=wt.ignoreFieldNorm}){e.forEach(s=>{let n=1;s.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;n*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),s.score=n})}function ZF(e,t){const s=e.matches;t.matches=[],Re(s)&&s.forEach(n=>{if(!Re(n.indices)||!n.indices.length)return;const{indices:i,value:o}=n;let r={indices:i,value:o};n.key&&(r.key=n.key.src),n.idx>-1&&(r.refIndex=n.idx),t.matches.push(r)})}function t3(e,t){t.score=e.score}function e3(e,t,{includeMatches:s=wt.includeMatches,includeScore:n=wt.includeScore}={}){const i=[];return s&&i.push(ZF),n&&i.push(t3),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class eo{constructor(t,s={},n){this.options={...wt,...s},this.options.useExtendedSearch,this._keyStore=new CF(this.options.keys),this.setCollection(t,n)}setCollection(t,s){if(this._docs=t,s&&!(s instanceof hu))throw new Error(xF);this._myIndex=s||Db(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Re(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const s=[];for(let n=0,i=this._docs.length;n-1&&(l=l.slice(0,s)),e3(l,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){const s=Zc(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:o,i:r,n:a})=>{if(!Re(o))return;const{isMatch:l,score:c,indices:d}=s.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:d}]})}),i}_searchLogical(t){const s=Rb(t,this.options),n=(a,l,c)=>{if(!a.children){const{keyId:u,searcher:p}=a,g=this._findMatches({key:this._keyStore.get(u),value:this._myIndex.getValueForItemAtKeyId(l,u),searcher:p});return g&&g.length?[{idx:c,item:l,matches:g}]:[]}const d=[];for(let u=0,p=a.children.length;u{if(Re(a)){let c=n(s,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:d})=>{o[l].matches.push(...d)}))}}),r}_searchObjectList(t){const s=Zc(t,this.options),{keys:n,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!Re(r))return;let l=[];n.forEach((c,d)=>{l.push(...this._findMatches({key:c,value:r[d],searcher:s}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:s,searcher:n}){if(!Re(s))return[];let i=[];if(Hs(s))s.forEach(({v:o,i:r,n:a})=>{if(!Re(o))return;const{isMatch:l,score:c,indices:d}=n.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:d})});else{const{v:o,n:r}=s,{isMatch:a,score:l,indices:c}=n.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}eo.version="7.0.0";eo.createIndex=Db;eo.parseIndex=OF;eo.config=wt;eo.parseQuery=Rb;GF(qF);const s3={name:"peerQRCode",props:{peerConfigData:String},mounted(){to.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,e=>{console.log(this.peerConfigData),e&&console.error(e)})}},n3={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},i3={class:"container d-flex h-100 w-100"},o3={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},r3={class:"card rounded-3 shadow"},a3={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},l3=h("h4",{class:"mb-0"},"QR Code",-1),c3={class:"card-body"},d3={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function u3(e,t,s,n,i,o){return L(),V("div",n3,[h("div",i3,[h("div",o3,[h("div",r3,[h("div",a3,[l3,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",c3,[h("canvas",d3,null,512)])])])])])}const h3=Et(s3,[["render",u3]]),f3={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},p3=h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1),g3=["disabled"];function m3(e,t,s,n,i,o){return L(),V("div",{class:Mt({inactiveField:this.bulk})},[p3,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,g3),[[bt,this.data.name]])],2)}const _3=Et(f3,[["render",m3]]),b3={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:Kt()}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},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},checkMatching(){try{window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey&&(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private Key and Public Key does not match.","danger"))}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()}}}},v3=h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1),y3={class:"input-group"},x3=["disabled"],w3=["disabled"],S3=h("i",{class:"bi bi-arrow-repeat"},null,-1),E3=[S3],A3={class:"d-flex"},C3=h("label",{for:"public_key",class:"form-label"},[h("small",{class:"text-muted"},[ct("Public Key "),h("code",null,"(Required)")])],-1),$3={class:"form-check form-switch ms-auto"},P3=["disabled"],k3=h("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[h("small",null,"Edit")],-1),T3=["disabled"];function M3(e,t,s,n,i,o){return L(),V("div",{class:Mt(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[h("div",null,[v3,h("div",y3,[ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.keypair.privateKey=r),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=r=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,x3),[[bt,this.keypair.privateKey]]),h("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=r=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},E3,8,w3)])]),h("div",null,[h("div",A3,[C3,h("div",$3,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=r=>this.editKey=r)},null,8,P3),[[Xe,this.editKey]]),k3])]),ft(h("input",{class:Mt(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=r=>this.keypair.publicKey=r),onBlur:t[5]||(t[5]=r=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,T3),[[bt,this.keypair.publicKey]])])],2)}const D3=Et(b3,[["render",M3]]),I3={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ips.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ips.push(e),!0):!1}},watch:{customAvailableIp(){this.allowedIpFormatError=!1}}},hr=e=>(ss("data-v-99ae26e7"),e=e(),ns(),e),O3=hr(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ct("Allowed IPs "),h("code",null,"(Required)")])],-1)),L3=["onClick"],R3=hr(()=>h("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),N3=[R3],F3={class:"d-flex gap-2 align-items-center"},B3={class:"input-group"},V3=["disabled"],j3=["disabled"],H3=hr(()=>h("i",{class:"bi bi-plus-lg"},null,-1)),W3=[H3],z3=hr(()=>h("small",{class:"text-muted"},"or",-1)),K3={class:"dropdown flex-grow-1"},U3=["disabled"],Y3=hr(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),q3={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3",style:{"overflow-y":"scroll","max-height":"270px",width:"300px !important"}},G3={class:"px-3 pb-2 pt-1"},J3=["onClick"],X3={class:"me-auto"},Q3={key:0},Z3={class:"px-3 text-muted"};function tB(e,t,s,n,i,o){return L(),V("div",{class:Mt({inactiveField:this.bulk})},[O3,h("div",{class:Mt(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[dt(oi,{name:"list"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.data.allowed_ips,(r,a)=>(L(),V("span",{class:"badge rounded-pill text-bg-success",key:r},[ct(nt(r)+" ",1),h("a",{role:"button",onClick:l=>this.data.allowed_ips.splice(a,1)},N3,8,L3)]))),128))]),_:1})],2),h("div",F3,[h("div",B3,[ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:"Enter IP Address/CIDR","onUpdate:modelValue":t[0]||(t[0]=r=>i.customAvailableIp=r),disabled:s.bulk},null,10,V3),[[bt,i.customAvailableIp]]),h("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:s.bulk||!this.customAvailableIp,onClick:t[1]||(t[1]=r=>{this.addAllowedIp(this.customAvailableIp)?this.customAvailableIp="":this.allowedIpFormatError=!0,this.dashboardStore.newMessage("WGDashboard","Allowed IP is invalid","danger")}),type:"button",id:"button-addon2"},W3,8,j3)]),z3,h("div",K3,[h("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!s.availableIp||s.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[Y3,ct(" Pick Available IP ")],8,U3),this.availableIp?(L(),V("ul",q3,[h("li",null,[h("div",G3,[ft(h("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[bt,this.availableIpSearchString]])])]),(L(!0),V(Bt,null,ae(this.searchAvailableIps,r=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[h("span",X3,[h("small",null,nt(r),1)])],8,J3)]))),256)),this.searchAvailableIps.length===0?(L(),V("li",Q3,[h("small",Z3,'No available IP containing "'+nt(this.availableIpSearchString)+'"',1)])):xt("",!0)])):xt("",!0)])])],2)}const eB=Et(I3,[["render",tB],["__scopeId","data-v-99ae26e7"]]),sB={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let e=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.regexCheckIP(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS is invalid","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},nB=h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1),iB=["disabled"];function oB(e,t,s,n,i,o){return L(),V("div",null,[nB,ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.dns=r),id:"peer_DNS_textbox"},null,10,iB),[[bt,this.dns]])])}const rB=Et(sB,[["render",oB]]),aB={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let e=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.checkCIDR(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IP is invalid.","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},lB=h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ct("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1),cB=["disabled"];function dB(e,t,s,n,i,o){return L(),V("div",null,[lB,ft(h("input",{type:"text",class:Mt(["form-control form-control-sm rounded-3",{"is-invalid":i.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.endpointAllowedIps=r),onBlur:t[1]||(t[1]=r=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,cB),[[bt,this.endpointAllowedIps]])])}const uB=Et(aB,[["render",dB]]),hB={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},fB=h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1),pB=["disabled"];function gB(e,t,s,n,i,o){return L(),V("div",null,[fB,ft(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,pB),[[bt,this.data.preshared_key]])])}const mB=Et(hB,[["render",gB]]),_B={name:"mtuInput",props:{data:Object,saving:Boolean}},bB=h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1),vB=["disabled"];function yB(e,t,s,n,i,o){return L(),V("div",null,[bB,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,vB),[[bt,this.data.mtu]])])}const xB=Et(_B,[["render",yB]]),wB={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},SB=h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1),EB=["disabled"];function AB(e,t,s,n,i,o){return L(),V("div",null,[SB,ft(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,EB),[[bt,this.data.keepalive]])])}const CB=Et(wB,[["render",AB]]),$B={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},PB={class:"form-check form-switch"},kB=["disabled"],TB=h("label",{class:"form-check-label me-2",for:"bulk_add"},[h("small",null,[h("strong",null,"Bulk Add")])],-1),MB=h("small",{class:"text-muted d-block"}," By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP. ",-1),DB=[MB],IB={key:0,class:"form-group"},OB=["max"],LB={class:"text-muted"};function RB(e,t,s,n,i,o){return L(),V("div",null,[h("div",PB,[ft(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=r=>this.data.bulkAdd=r)},null,8,kB),[[Xe,this.data.bulkAdd]]),TB]),h("p",{class:Mt({"mb-0":!this.data.bulkAdd})},DB,2),this.data.bulkAdd?(L(),V("div",IB,[ft(h("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.bulkAddAmount=r),placeholder:"How many peers you want to add?"},null,8,OB),[[bt,this.data.bulkAddAmount]]),h("small",LB,[ct(" You can add up to "),h("strong",null,nt(this.availableIp.length),1),ct(" peers ")])])):xt("",!0)])}const NB=Et($B,[["render",RB]]),FB={name:"peerCreate",components:{BulkAdd:NB,PersistentKeepAliveInput:CB,MtuInput:xB,PresharedKeyInput:mB,EndpointAllowedIps:uB,DnsInput:rB,AllowedIPsInput:eB,PrivatePublicKeyInput:D3,NameInput:_3},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:""},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){le("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=Ve(),t=Kt();return{store:e,dashboardStore:t}},methods:{peerCreate(){this.saving=!0,Zt("/api/addPeers/"+this.$route.params.id,this.data,e=>{e.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer create successfully","success")):this.dashboardStore.newMessage("Server",e.message,"danger"),this.saving=!1})}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(s=>{this.data[s].length===0&&(e=!1)}),e}},watch:{bulkAdd(e){e||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},ml=e=>(ss("data-v-c3292318"),e=e(),ns(),e),BB={class:"container"},VB={class:"mb-4"},jB=ml(()=>h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1)),HB=ml(()=>h("h3",{class:"text-body mb-0"},"Add Peers",-1)),WB={class:"d-flex flex-column gap-2"},zB=ml(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),KB=ml(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),UB={class:"row"},YB={key:0,class:"col-sm"},qB={class:"col-sm"},GB={class:"col-sm"},JB={class:"d-flex mt-2"},XB=["disabled"],QB={key:0,class:"bi bi-plus-circle-fill me-2"};function ZB(e,t,s,n,i,o){const r=Ct("RouterLink"),a=Ct("BulkAdd"),l=Ct("NameInput"),c=Ct("PrivatePublicKeyInput"),d=Ct("AllowedIPsInput"),u=Ct("EndpointAllowedIps"),p=Ct("DnsInput"),g=Ct("PresharedKeyInput"),m=Ct("MtuInput"),_=Ct("PersistentKeepAliveInput");return L(),V("div",BB,[h("div",VB,[dt(r,{to:"peers",is:"div",class:"d-flex align-items-center gap-4 text-decoration-none"},{default:It(()=>[jB,HB]),_:1})]),h("div",WB,[dt(a,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),zB,this.data.bulkAdd?xt("",!0):(L(),Gt(l,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?xt("",!0):(L(),Gt(c,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?xt("",!0):(L(),Gt(d,{key:2,availableIp:this.availableIp,saving:i.saving,data:i.data},null,8,["availableIp","saving","data"])),dt(u,{saving:i.saving,data:i.data},null,8,["saving","data"]),dt(p,{saving:i.saving,data:i.data},null,8,["saving","data"]),KB,h("div",UB,[this.data.bulkAdd?xt("",!0):(L(),V("div",YB,[dt(g,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),h("div",qB,[dt(m,{saving:i.saving,data:i.data},null,8,["saving","data"])]),h("div",GB,[dt(_,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),h("div",JB,[h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled||this.saving,onClick:t[0]||(t[0]=v=>this.peerCreate())},[this.saving?xt("",!0):(L(),V("i",QB)),ct(" "+nt(this.saving?"Saving...":"Add"),1)],8,XB)])])])}const Nb=Et(FB,[["render",ZB],["__scopeId","data-v-c3292318"]]),t5={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(e){e.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(e=>e.value===this.data)}}},e5={class:"dropdown scheduleDropdown"},s5={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},n5=["onClick"],i5={key:0,class:"bi bi-check ms-auto"};function o5(e,t,s,n,i,o){return L(),V("div",e5,[h("button",{class:Mt(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!s.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("samp",null,nt(this.currentSelection.display),1)],2),h("ul",s5,[s.edit?(L(!0),V(Bt,{key:0},ae(this.options,r=>(L(),V("li",null,[h("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:a=>e.$emit("update",r.value)},[h("samp",null,nt(r.display),1),r.value===this.currentSelection.value?(L(),V("i",i5)):xt("",!0)],8,n5)]))),256)):xt("",!0)])])}const Fb=Et(t5,[["render",o5],["__scopeId","data-v-6a5aba2a"]]),r5={name:"schedulePeerJob",components:{ScheduleDropdown:Fb},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(e){const t=vs({}),s=vs(!1),n=vs(!1);t.value=JSON.parse(JSON.stringify(e.pjob)),t.value.CreationDate||(s.value=!0,n.value=!0);const i=Kt();return{job:t,edit:s,newJob:n,store:i}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(e){this.edit||(this.job=JSON.parse(JSON.stringify(e)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?Zt("/api/savePeerScheduleJob/",{Job:this.job},e=>{e.status?(this.edit=!1,this.store.newMessage("Server","Job Saved!","success"),console.log(e.data),this.$emit("refresh",e.data[0]),this.newJob=!1):this.store.newMessage("Server",e.message,"danger")}):this.alert()},alert(){let e="animate__flash",t=this.$el.querySelectorAll(".scheduleDropdown"),s=this.$el.querySelectorAll("input");t.forEach(n=>n.classList.add("animate__animated",e)),s.forEach(n=>n.classList.add("animate__animated",e)),setTimeout(()=>{t.forEach(n=>n.classList.remove("animate__animated",e)),s.forEach(n=>n.classList.remove("animate__animated",e))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&Zt("/api/deletePeerScheduleJob/",{Job:this.job},e=>{e.status?this.store.newMessage("Server","Job Deleted!","success"):(this.store.newMessage("Server",e.message,"danger"),this.$emit("delete"))}),this.$emit("delete")}}},so=e=>(ss("data-v-decfcc69"),e=e(),ns(),e),a5={class:"card-header bg-transparent text-muted border-0"},l5={key:0,class:"d-flex"},c5=so(()=>h("strong",{class:"me-auto"},"Job ID",-1)),d5={key:1},u5=so(()=>h("span",{class:"badge text-bg-warning"},"Unsaved Job",-1)),h5=[u5],f5={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},p5={class:"d-flex gap-2 align-items-center mb-2"},g5=so(()=>h("samp",null," if ",-1)),m5=so(()=>h("samp",null," is ",-1)),_5=["disabled"],b5=["disabled"],v5={class:"px-5 d-flex gap-2 align-items-center"},y5=so(()=>h("samp",null,"then",-1)),x5={class:"d-flex gap-3"},w5=so(()=>h("samp",null,"}",-1)),S5={key:0,class:"ms-auto d-flex gap-3"},E5={key:1,class:"ms-auto d-flex gap-3"};function A5(e,t,s,n,i,o){var a;const r=Ct("ScheduleDropdown");return L(),V("div",{class:Mt(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[h("div",a5,[this.newJob?(L(),V("small",d5,h5)):(L(),V("small",l5,[c5,h("samp",null,nt(this.job.JobID),1)]))]),h("div",f5,[h("div",p5,[g5,dt(r,{edit:n.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:t[0]||(t[0]=l=>{this.job.Field=l})},null,8,["edit","options","data"]),m5,dt(r,{edit:n.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:t[1]||(t[1]=l=>this.job.Operator=l)},null,8,["edit","options","data"]),this.job.Field==="date"?ft((L(),V("input",{key:0,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!n.edit,type:"datetime-local","onUpdate:modelValue":t[2]||(t[2]=l=>this.job.Value=l),style:{width:"auto"}},null,8,_5)),[[bt,this.job.Value]]):ft((L(),V("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!n.edit,"onUpdate:modelValue":t[3]||(t[3]=l=>this.job.Value=l),style:{width:"auto"}},null,8,b5)),[[bt,this.job.Value]]),h("samp",null,nt((a=this.dropdowns.Field.find(l=>l.value===this.job.Field))==null?void 0:a.unit)+" { ",1)]),h("div",v5,[y5,dt(r,{edit:n.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:t[4]||(t[4]=l=>this.job.Action=l)},null,8,["edit","options","data"])]),h("div",x5,[w5,this.edit?(L(),V("div",E5,[h("a",{role:"button",class:"text-secondary text-decoration-none",onClick:t[7]||(t[7]=l=>this.reset())},"[C] Cancel"),h("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:t[8]||(t[8]=l=>this.save())},"[S] Save")])):(L(),V("div",S5,[h("a",{role:"button",class:"ms-auto text-decoration-none",onClick:t[5]||(t[5]=l=>this.edit=!0)},"[E] Edit"),h("a",{role:"button",onClick:t[6]||(t[6]=l=>this.delete()),class:"text-danger text-decoration-none"},"[D] Delete")]))])])],2)}const Bb=Et(r5,[["render",A5],["__scopeId","data-v-decfcc69"]]),C5={name:"peerJobs",setup(){return{store:Ve()}},props:{selectedPeer:Object},components:{SchedulePeerJob:Bb,ScheduleDropdown:Fb},data(){return{}},methods:{deleteJob(e){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==e.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:En().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})))}}},fu=e=>(ss("data-v-31a1606a"),e=e(),ns(),e),$5={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},P5={class:"container d-flex h-100 w-100"},k5={class:"m-auto modal-dialog-centered dashboardModal"},T5={class:"card rounded-3 shadow",style:{width:"700px"}},M5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},D5=fu(()=>h("h4",{class:"mb-0 fw-normal"},[ct("Schedule Jobs "),h("strong")],-1)),I5={class:"card-body px-4 pb-4 pt-2 position-relative"},O5={class:"d-flex align-items-center mb-3"},L5=fu(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),R5={class:"card shadow-sm",key:"none",style:{height:"153px"}},N5=fu(()=>h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"This peer does not have any job yet.")],-1)),F5=[N5];function B5(e,t,s,n,i,o){const r=Ct("SchedulePeerJob");return L(),V("div",$5,[h("div",P5,[h("div",k5,[h("div",T5,[h("div",M5,[D5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",I5,[h("div",O5,[h("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=a=>this.addJob())},[L5,ct(" Job ")])]),dt(oi,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.selectedPeer.jobs,(a,l)=>(L(),Gt(r,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(a),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:a.JobID,pjob:a},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(L(),V("div",R5,F5)):xt("",!0)]),_:1})])])])])])}const V5=Et(C5,[["render",B5],["__scopeId","data-v-31a1606a"]]),j5={name:"peerJobsAllModal",setup(){return{store:Ve()}},components:{SchedulePeerJob:Bb},props:{configurationPeers:Array[Object]},methods:{getuuid(){return En()}},computed:{getAllJobs(){return this.configurationPeers.filter(e=>e.jobs.length>0)}}},H5={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},W5={class:"container d-flex h-100 w-100"},z5={class:"m-auto modal-dialog-centered dashboardModal"},K5={class:"card rounded-3 shadow",style:{width:"700px"}},U5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Y5=h("h4",{class:"mb-0 fw-normal"},"All Active Jobs ",-1),q5={class:"card-body px-4 pb-4 pt-2"},G5={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},J5={class:"accordion-header"},X5=["data-bs-target"],Q5={key:0},Z5={class:"text-muted"},t4=["id"],e4={class:"accordion-body"},s4={key:1,class:"card shadow-sm",style:{height:"153px"}},n4=h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"No active job at the moment.")],-1),i4=[n4];function o4(e,t,s,n,i,o){const r=Ct("SchedulePeerJob");return L(),V("div",H5,[h("div",W5,[h("div",z5,[h("div",K5,[h("div",U5,[Y5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",q5,[this.getAllJobs.length>0?(L(),V("div",G5,[(L(!0),V(Bt,null,ae(this.getAllJobs,(a,l)=>(L(),V("div",{class:"accordion-item",key:a.id},[h("h2",J5,[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+l},[h("small",null,[h("strong",null,[a.name?(L(),V("span",Q5,nt(a.name)+" • ",1)):xt("",!0),h("samp",Z5,nt(a.id),1)])])],8,X5)]),h("div",{id:"collapse_"+l,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[h("div",e4,[(L(!0),V(Bt,null,ae(a.jobs,c=>(L(),Gt(r,{onDelete:t[1]||(t[1]=d=>this.$emit("refresh")),onRefresh:t[2]||(t[2]=d=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:c.JobID,pjob:c},null,8,["dropdowns","pjob"]))),128))])],8,t4)]))),128))])):(L(),V("div",s4,i4))])])])])])}const r4=Et(j5,[["render",o4]]),a4={name:"peerJobsLogsModal",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 le(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},e=>{this.data=e.data,this.logFetchTime=ki().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(e=>this.showSuccessJob&&e.Status==="1"||this.showFailedJob&&e.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},l4={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},c4={class:"container-fluid d-flex h-100 w-100"},d4={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},u4={class:"card rounded-3 shadow w-100"},h4={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},f4=h("h4",{class:"mb-0"},"Jobs Logs",-1),p4={class:"card-body px-4 pb-4 pt-2"},g4={key:0},m4={class:"mb-2 d-flex gap-3"},_4=h("i",{class:"bi bi-arrow-clockwise me-2"},null,-1),b4={class:"d-flex gap-3 align-items-center"},v4=h("span",{class:"text-muted"},"Filter",-1),y4={class:"form-check"},x4=h("label",{class:"form-check-label",for:"jobLogsShowSuccessCheck"},[h("span",{class:"badge text-success-emphasis bg-success-subtle"},"Success")],-1),w4={class:"form-check"},S4=h("label",{class:"form-check-label",for:"jobLogsShowFailedCheck"},[h("span",{class:"badge text-danger-emphasis bg-danger-subtle"},"Failed")],-1),E4={class:"d-flex gap-3 align-items-center ms-auto"},A4=h("span",{class:"text-muted"},"Display",-1),C4={class:"form-check"},$4=h("label",{class:"form-check-label",for:"jobLogsShowJobIDCheck"}," Job ID ",-1),P4={class:"form-check"},k4=h("label",{class:"form-check-label",for:"jobLogsShowLogIDCheck"}," Log ID ",-1),T4={class:"table"},M4=h("th",{scope:"col"},"Date",-1),D4={key:0,scope:"col"},I4={key:1,scope:"col"},O4=h("th",{scope:"col"},"Status",-1),L4=h("th",{scope:"col"},"Message",-1),R4={style:{"font-size":"0.875rem"}},N4={scope:"row"},F4={key:0},B4={class:"text-muted"},V4={key:1},j4={class:"text-muted"},H4={class:"d-flex gap-2"},W4=h("i",{class:"bi bi-chevron-down me-2"},null,-1),z4=h("i",{class:"bi bi-chevron-up me-2"},null,-1),K4={key:1,class:"d-flex align-items-center flex-column"},U4=h("div",{class:"spinner-border text-body",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),Y4=[U4];function q4(e,t,s,n,i,o){return L(),V("div",l4,[h("div",c4,[h("div",d4,[h("div",u4,[h("div",h4,[f4,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",p4,[this.dataLoading?(L(),V("div",K4,Y4)):(L(),V("div",g4,[h("p",null,"Updated at: "+nt(this.logFetchTime),1),h("div",m4,[h("button",{onClick:t[1]||(t[1]=r=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[_4,ct(" Refresh ")]),h("div",b4,[v4,h("div",y4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=r=>this.showSuccessJob=r),id:"jobLogsShowSuccessCheck"},null,512),[[Xe,this.showSuccessJob]]),x4]),h("div",w4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.showFailedJob=r),id:"jobLogsShowFailedCheck"},null,512),[[Xe,this.showFailedJob]]),S4])]),h("div",E4,[A4,h("div",C4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=r=>i.showJobID=r),id:"jobLogsShowJobIDCheck"},null,512),[[Xe,i.showJobID]]),$4]),h("div",P4,[ft(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=r=>i.showLogID=r),id:"jobLogsShowLogIDCheck"},null,512),[[Xe,i.showLogID]]),k4])])]),h("table",T4,[h("thead",null,[h("tr",null,[M4,i.showLogID?(L(),V("th",D4,"Log ID")):xt("",!0),i.showJobID?(L(),V("th",I4,"Job ID")):xt("",!0),O4,L4])]),h("tbody",null,[(L(!0),V(Bt,null,ae(this.showLogs,r=>(L(),V("tr",R4,[h("th",N4,nt(r.LogDate),1),i.showLogID?(L(),V("td",F4,[h("samp",B4,nt(r.LogID),1)])):xt("",!0),i.showJobID?(L(),V("td",V4,[h("samp",j4,nt(r.JobID),1)])):xt("",!0),h("td",null,[h("span",{class:Mt(["badge",[r.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},nt(r.Status==="1"?"Success":"Failed"),3)]),h("td",null,nt(r.Message),1)]))),256))])]),h("div",H4,[this.getLogs.length>this.showLogAmount?(L(),V("button",{key:0,onClick:t[6]||(t[6]=r=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[W4,ct(" Show More ")])):xt("",!0),this.showLogAmount>20?(L(),V("button",{key:1,onClick:t[7]||(t[7]=r=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[z4,ct(" Collapse ")])):xt("",!0)])]))])])])])])}const G4=Et(a4,[["render",q4]]);pl.register(wo,dn,ma,ga,Fo,ca,Si,Bo,Bc,da,ua,ha,Kc,Uc,Yc,Eo,er,Gc,sN,wN,PN,TN,FN);const J4={name:"peerList",components:{PeerJobsLogsModal:G4,PeerJobsAllModal:r4,PeerJobs:V5,PeerCreate:Nb,PeerQRCode:h3,PeerSettings:tI,PeerSearch:EI,Peer:fO,Line:gF,Bar:pF},setup(){const e=Kt(),t=Ve(),s=vs(void 0);return{dashboardConfigurationStore:e,wireguardConfigurationStore:t,interval:s}},data(){return{configurationToggling:!1,loading:!1,error:null,configurationInfo:[],configurationPeers:[],historyDataSentDifference:[],historyDataReceivedDifference:[],historySentData:{labels:[],datasets:[{label:"Data Sent",data:[],fill:!1,borderColor:"#198754",tension:0}]},historyReceiveData:{labels:[],datasets:[{label:"Data Received",data:[],fill:!1,borderColor:"#0d6efd",tension:0}]},peerSetting:{modalOpen:!1,selectedPeer:void 0},peerScheduleJobs:{modalOpen:!1,selectedPeer:void 0},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1}}},mounted(){},watch:{$route:{immediate:!0,handler(){console.log(this.dashboardConfigurationStore.Peers.RefreshInterval),clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),console.log(this.dashboardConfigurationStore.Peers.RefreshInterval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),console.log("Changed.."),this.setPeerInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){console.log("Changed?"),clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),this.setPeerInterval()}},beforeRouteLeave(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval)},methods:{toggle(){this.configurationToggling=!0,le("/api/toggleWireguardConfiguration/",{configurationName:this.configurationInfo.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.configurationInfo.Name} is + ${e.data?"is on":"is off"}`,"Success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.configurationInfo.Status=e.data,this.configurationToggling=!1})},getPeers(e=this.$route.params.id){le("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.configurationPeers.forEach(s=>{s.restricted=!1}),t.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,this.configurationPeers.push(s)}),this.loading=!1,this.configurationPeers.length>0){const s=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),n=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==s&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,ki().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((s-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:" #198754",tension:0}]}),this.historyDataSentDifference.push(s)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==n&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,ki().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((n-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(n))}})},setPeerInterval(){this.dashboardConfigurationStore.Peers.RefreshInterval=setInterval(()=>{this.getPeers()},parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval)),console.log(this.dashboardConfigurationStore.Peers.RefreshInterval)}},computed:{configurationSummary(){return{connectedPeers:this.configurationPeers.filter(e=>e.status==="running").length,totalUsage:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_data+e.cumu_data).reduce((e,t)=>e+t):0,totalReceive:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_receive+e.cumu_receive).reduce((e,t)=>e+t):0,totalSent:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_sent+e.cumu_sent).reduce((e,t)=>e+t):0}},receiveData(){return this.historyReceiveData},sentData(){return this.historySentData},individualDataUsage(){return{labels:this.configurationPeers.map(e=>e.name?e.name:`Untitled Peer - ${e.id}`),datasets:[{label:"Total Data Usage",data:this.configurationPeers.map(e=>e.cumu_data+e.total_data),backgroundColor:this.configurationPeers.map(e=>"#0dcaf0"),tooltip:{callbacks:{label:e=>`${e.formattedValue} GB`}}}]}},individualDataUsageChartOption(){return{responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} GB`},grid:{display:!1}}}}},chartOptions(){return{responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} MB/s`},grid:{display:!1}}}}},searchPeers(){const e=new eo(this.configurationPeers,{keys:["name","id","allowed_ip"]}),t=this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(s=>s.item):this.configurationPeers;return this.dashboardConfigurationStore.Configuration.Server.dashboard_sort==="restricted"?t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:0):t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},ve=e=>(ss("data-v-4f6e612a"),e=e(),ns(),e),X4={key:0},Q4={class:"d-flex align-items-center"},Z4=ve(()=>h("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),tV={class:"d-flex align-items-center gap-3"},eV={class:"mb-0"},sV={class:"card rounded-3 bg-transparent shadow-sm ms-auto"},nV={class:"card-body py-2 d-flex align-items-center"},iV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Status")],-1)),oV={class:"form-check form-switch ms-auto"},rV=["for"],aV={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},lV=["disabled","id"],cV={class:"row mt-3 gy-2 gx-2 mb-2"},dV={class:"col-6 col-lg-3"},uV={class:"card rounded-3 bg-transparent shadow-sm"},hV={class:"card-body py-2"},fV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),pV={class:"col-6 col-lg-3"},gV={class:"card rounded-3 bg-transparent shadow-sm"},mV={class:"card-body py-2"},_V=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Listen Port")],-1)),bV={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},vV={class:"card rounded-3 bg-transparent shadow-sm"},yV={class:"card-body py-2"},xV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Public Key")],-1)),wV={class:"row gx-2 gy-2 mb-2"},SV={class:"col-6 col-lg-3"},EV={class:"card rounded-3 bg-transparent shadow-sm"},AV={class:"card-body d-flex"},CV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Connected Peers")],-1)),$V={class:"h4"},PV=ve(()=>h("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),kV={class:"col-6 col-lg-3"},TV={class:"card rounded-3 bg-transparent shadow-sm"},MV={class:"card-body d-flex"},DV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Usage")],-1)),IV={class:"h4"},OV=ve(()=>h("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),LV={class:"col-6 col-lg-3"},RV={class:"card rounded-3 bg-transparent shadow-sm"},NV={class:"card-body d-flex"},FV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Received")],-1)),BV={class:"h4 text-primary"},VV=ve(()=>h("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),jV={class:"col-6 col-lg-3"},HV={class:"card rounded-3 bg-transparent shadow-sm"},WV={class:"card-body d-flex"},zV=ve(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Sent")],-1)),KV={class:"h4 text-success"},UV=ve(()=>h("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),YV={class:"row gx-2 gy-2 mb-3"},qV={class:"col-12 col-lg-6"},GV={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},JV=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),XV={class:"card-body pt-1"},QV={class:"col-sm col-lg-3"},ZV={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},tj=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),ej={class:"card-body pt-1"},sj={class:"col-sm col-lg-3"},nj={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},ij=ve(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),oj={class:"card-body pt-1"},rj={class:"mb-4"};function aj(e,t,s,n,i,o){const r=Ct("Bar"),a=Ct("Line"),l=Ct("PeerSearch"),c=Ct("Peer"),d=Ct("PeerSettings"),u=Ct("PeerQRCode"),p=Ct("PeerJobs"),g=Ct("PeerJobsAllModal"),m=Ct("PeerJobsLogsModal");return this.loading?xt("",!0):(L(),V("div",X4,[h("div",Q4,[h("div",null,[Z4,h("div",tV,[h("h1",eV,[h("samp",null,nt(this.configurationInfo.Name),1)])])]),h("div",sV,[h("div",nV,[h("div",null,[iV,h("div",oV,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+this.configurationInfo.id},[ct(nt(this.configurationToggling?"Turning ":"")+" "+nt(this.configurationInfo.Status?"On":"Off")+" ",1),this.configurationToggling?(L(),V("span",aV)):xt("",!0)],8,rV),ft(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+this.configurationInfo.id,onChange:t[0]||(t[0]=_=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=_=>this.configurationInfo.Status=_)},null,40,lV),[[Xe,this.configurationInfo.Status]])])]),h("div",{class:Mt(["dot ms-5",{active:this.configurationInfo.Status}])},null,2)])])]),h("div",cV,[h("div",dV,[h("div",uV,[h("div",hV,[fV,ct(" "+nt(this.configurationInfo.Address),1)])])]),h("div",pV,[h("div",gV,[h("div",mV,[_V,ct(" "+nt(this.configurationInfo.ListenPort),1)])])]),h("div",bV,[h("div",vV,[h("div",yV,[xV,h("samp",null,nt(this.configurationInfo.PublicKey),1)])])])]),h("div",wV,[h("div",SV,[h("div",EV,[h("div",AV,[h("div",null,[CV,h("strong",$V,nt(o.configurationSummary.connectedPeers),1)]),PV])])]),h("div",kV,[h("div",TV,[h("div",MV,[h("div",null,[DV,h("strong",IV,nt(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),OV])])]),h("div",LV,[h("div",RV,[h("div",NV,[h("div",null,[FV,h("strong",BV,nt(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),VV])])]),h("div",jV,[h("div",HV,[h("div",WV,[h("div",null,[zV,h("strong",KV,nt(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),UV])])])]),h("div",YV,[h("div",qV,[h("div",GV,[JV,h("div",XV,[dt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),h("div",QV,[h("div",ZV,[tj,h("div",ej,[dt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),h("div",sj,[h("div",nj,[ij,h("div",oj,[dt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]),h("div",rj,[dt(l,{onJobsAll:t[2]||(t[2]=_=>this.peerScheduleJobsAll.modalOpen=!0),onJobLogs:t[3]||(t[3]=_=>this.peerScheduleJobsLogs.modalOpen=!0),configuration:this.configurationInfo},null,8,["configuration"]),dt(oi,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:It(()=>[(L(!0),V(Bt,null,ae(this.searchPeers,_=>(L(),V("div",{class:"col-12 col-lg-6 col-xl-4",key:_.id},[dt(c,{Peer:_,onRefresh:t[4]||(t[4]=v=>this.getPeers()),onJobs:v=>{i.peerScheduleJobs.modalOpen=!0,i.peerScheduleJobs.selectedPeer=this.configurationPeers.find(w=>w.id===_.id)},onSetting:v=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find(w=>w.id===_.id)},onQrcode:t[5]||(t[5]=v=>{this.peerQRCode.peerConfigData=v,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onJobs","onSetting"])]))),128))]),_:1})]),dt(Te,{name:"zoom"},{default:It(()=>[this.peerSetting.modalOpen?(L(),Gt(d,{key:"settings",selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[6]||(t[6]=_=>this.getPeers()),onClose:t[7]||(t[7]=_=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[i.peerQRCode.modalOpen?(L(),Gt(u,{peerConfigData:this.peerQRCode.peerConfigData,key:"qrcode",onClose:t[8]||(t[8]=_=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobs.modalOpen?(L(),Gt(p,{key:0,onRefresh:t[9]||(t[9]=_=>this.getPeers()),selectedPeer:this.peerScheduleJobs.selectedPeer,onClose:t[10]||(t[10]=_=>this.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobsAll.modalOpen?(L(),Gt(g,{key:0,onRefresh:t[11]||(t[11]=_=>this.getPeers()),onClose:t[12]||(t[12]=_=>this.peerScheduleJobsAll.modalOpen=!1),configurationPeers:this.configurationPeers},null,8,["configurationPeers"])):xt("",!0)]),_:1}),dt(Te,{name:"zoom"},{default:It(()=>[this.peerScheduleJobsLogs.modalOpen?(L(),Gt(m,{key:0,onClose:t[13]||(t[13]=_=>this.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:this.configurationInfo},null,8,["configurationInfo"])):xt("",!0)]),_:1})]))}const lj=Et(J4,[["render",aj],["__scopeId","data-v-4f6e612a"]]),cj={name:"ping",data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:Kt()}},mounted(){le("/api/ping/getAllPeersIpAddress",{},e=>{e.status&&(this.loading=!0,this.cips=e.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,le("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},e=>{e.status?this.pingResult=e.data:this.store.newMessage("Server",e.message,"danger")}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},He=e=>(ss("data-v-875f5a3c"),e=e(),ns(),e),dj={class:"mt-5 text-body"},uj={class:"container"},hj=He(()=>h("h3",{class:"mb-3 text-body"},"Ping",-1)),fj={class:"row"},pj={class:"col-sm-4 d-flex gap-2 flex-column"},gj=He(()=>h("label",{class:"mb-1 text-muted",for:"configuration"},[h("small",null,"Configuration")],-1)),mj=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Configuration...",-1)),_j=["value"],bj=He(()=>h("label",{class:"mb-1 text-muted",for:"peer"},[h("small",null,"Peer")],-1)),vj=["disabled"],yj=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Peer...",-1)),xj=["value"],wj=He(()=>h("label",{class:"mb-1 text-muted",for:"ip"},[h("small",null,"IP Address")],-1)),Sj=["disabled"],Ej=He(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a IP...",-1)),Aj=He(()=>h("label",{class:"mb-1 text-muted",for:"count"},[h("small",null,"Ping Count")],-1)),Cj=["disabled"],$j=He(()=>h("i",{class:"bi bi-person-walking me-2"},null,-1)),Pj={class:"col-sm-8"},kj={key:"pingPlaceholder"},Tj={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},Mj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},Dj={class:"card-body"},Ij=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),Oj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},Lj={class:"card-body"},Rj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Is Alive")],-1)),Nj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},Fj={class:"card-body"},Bj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Average / Min / Max Round Trip Time")],-1)),Vj={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},jj={class:"card-body"},Hj=He(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Sent / Received / Lost Package")],-1));function Wj(e,t,s,n,i,o){return L(),V("div",dj,[h("div",uj,[hj,h("div",fj,[h("div",pj,[h("div",null,[gj,ft(h("select",{class:"form-select","onUpdate:modelValue":t[0]||(t[0]=r=>this.selectedConfiguration=r)},[mj,(L(!0),V(Bt,null,ae(this.cips,(r,a)=>(L(),V("option",{value:a},nt(a),9,_j))),256))],512),[[aa,this.selectedConfiguration]])]),h("div",null,[bj,ft(h("select",{id:"peer",class:"form-select","onUpdate:modelValue":t[1]||(t[1]=r=>this.selectedPeer=r),disabled:this.selectedConfiguration===void 0},[yj,this.selectedConfiguration!==void 0?(L(!0),V(Bt,{key:0},ae(this.cips[this.selectedConfiguration],(r,a)=>(L(),V("option",{value:a},nt(a),9,xj))),256)):xt("",!0)],8,vj),[[aa,this.selectedPeer]])]),h("div",null,[wj,ft(h("select",{id:"ip",class:"form-select","onUpdate:modelValue":t[2]||(t[2]=r=>this.selectedIp=r),disabled:this.selectedPeer===void 0},[Ej,this.selectedPeer!==void 0?(L(!0),V(Bt,{key:0},ae(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,r=>(L(),V("option",null,nt(r),1))),256)):xt("",!0)],8,Sj),[[aa,this.selectedIp]])]),h("div",null,[Aj,ft(h("input",{class:"form-control",type:"number","onUpdate:modelValue":t[3]||(t[3]=r=>this.count=r),min:"1",id:"count",placeholder:"How many times you want to ping?"},null,512),[[bt,this.count]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.selectedIp,onClick:t[4]||(t[4]=r=>this.execute())},[$j,ct("Go! ")],8,Cj)]),h("div",Pj,[dt(oi,{name:"ping"},{default:It(()=>[this.pingResult?(L(),V("div",Tj,[h("div",Mj,[h("div",Dj,[Ij,ct(" "+nt(this.pingResult.address),1)])]),h("div",Oj,[h("div",Lj,[Rj,h("span",{class:Mt([this.pingResult.is_alive?"text-success":"text-danger"])},[h("i",{class:Mt(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),ct(" "+nt(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),h("div",Nj,[h("div",Fj,[Bj,h("samp",null,nt(this.pingResult.avg_rtt)+"ms / "+nt(this.pingResult.min_rtt)+"ms / "+nt(this.pingResult.max_rtt)+"ms ",1)])]),h("div",Vj,[h("div",jj,[Hj,h("samp",null,nt(this.pingResult.package_sent)+" / "+nt(this.pingResult.package_received)+" / "+nt(this.pingResult.package_loss),1)])])])):(L(),V("div",kj,[(L(),V(Bt,null,ae(4,r=>h("div",{class:Mt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:Ri({"animation-delay":`${r*.15}s`})},null,6)),64))]))]),_:1})])])])])}const zj=Et(cj,[["render",Wj],["__scopeId","data-v-875f5a3c"]]),Kj={name:"traceroute",data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:Ve()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,le("/api/traceroute/execute",{ipAddress:this.ipAddress},e=>{e.status?this.tracerouteResult=e.data:this.store.newMessage("Server",e.message,"danger"),this.tracing=!1}))}}},_l=e=>(ss("data-v-dda37ccf"),e=e(),ns(),e),Uj={class:"mt-5 text-body"},Yj={class:"container"},qj=_l(()=>h("h3",{class:"mb-3 text-body"},"Traceroute",-1)),Gj={class:"row"},Jj={class:"col-sm-4 d-flex gap-2 flex-column"},Xj=_l(()=>h("label",{class:"mb-1 text-muted",for:"ipAddress"},[h("small",null,"IP Address")],-1)),Qj=["disabled"],Zj=_l(()=>h("i",{class:"bi bi-bullseye me-2"},null,-1)),t6={class:"col-sm-8 position-relative"},e6={key:"pingPlaceholder"},s6={key:"table",class:"w-100"},n6={class:"table table-borderless rounded-3 w-100"},i6=_l(()=>h("thead",null,[h("tr",null,[h("th",{scope:"col"},"Hop"),h("th",{scope:"col"},"IP Address"),h("th",{scope:"col"},"Average / Min / Max Round Trip Time")])],-1));function o6(e,t,s,n,i,o){return L(),V("div",Uj,[h("div",Yj,[qj,h("div",Gj,[h("div",Jj,[h("div",null,[Xj,ft(h("input",{id:"ipAddress",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=r=>this.ipAddress=r),type:"text",placeholder:"Enter an IP Address you want to trace :)"},null,512),[[bt,this.ipAddress]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.store.regexCheckIP(this.ipAddress)||this.tracing,onClick:t[1]||(t[1]=r=>this.execute())},[Zj,ct(" "+nt(this.tracing?"Tracing...":"Trace It!"),1)],8,Qj)]),h("div",t6,[dt(oi,{name:"ping"},{default:It(()=>[this.tracerouteResult?(L(),V("div",s6,[h("table",n6,[i6,h("tbody",null,[(L(!0),V(Bt,null,ae(this.tracerouteResult,(r,a)=>(L(),V("tr",{class:"animate__fadeInUp animate__animated",style:Ri({"animation-delay":`${a*.05}s`})},[h("td",null,nt(r.hop),1),h("td",null,nt(r.ip),1),h("td",null,nt(r.avg_rtt)+" / "+nt(r.min_rtt)+" / "+nt(r.max_rtt),1)],4))),256))])])])):(L(),V("div",e6,[(L(),V(Bt,null,ae(10,r=>h("div",{class:Mt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:Ri({"animation-delay":`${r*.05}s`})},null,6)),64))]))]),_:1})])])])])}const r6=Et(Kj,[["render",o6],["__scopeId","data-v-dda37ccf"]]),a6=async()=>{let e=!1;return await le("/api/validateAuthentication",{},t=>{e=t.status}),e},pu=qE({history:uE(),routes:[{name:"Index",path:"/",component:UA,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:BC,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:bk,meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:zj},{path:"/traceroute",name:"Traceroute",component:r6},{name:"New Configuration",path:"/new_configuration",component:cD,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:fD,meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:lj},{name:"Peers Create",path:"create",component:Nb}]}]},{path:"/signin",component:fC,meta:{title:"Sign In"}},{path:"/welcome",component:qT,meta:{requiresAuth:!0}}]});pu.beforeEach(async(e,t,s)=>{const n=Ve(),i=Kt();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",e.meta.requiresAuth?iA.getCookie("authToken")&&await a6()?(await i.getConfiguration(),!n.Configurations&&e.name!=="Configuration List"&&await n.getConfigurations(),i.Redirect=void 0,s()):(i.Redirect=e,s("/signin")):s()});const gu=NS(nA);gu.use(pu);const Vb=jS();Vb.use(({store:e})=>{e.$router=Ua(pu)});gu.use(Vb);gu.mount("#app"); diff --git a/src/wgd.sh b/src/wgd.sh index 72c480b..da048ca 100755 --- a/src/wgd.sh +++ b/src/wgd.sh @@ -183,7 +183,7 @@ install_wgd(){ _installPythonPip - version_pass=$(python3 -c 'import sys; print("1") if (sys.version_info.major == 3 and sys.version_info.minor >= 7) else print("0");') + version_pass=$(python3 -c 'import sys; print("1") if (sys.version_info.major == 3 and sys.version_info.minor >= 10) else print("0");') if [ $version_pass == "0" ] then printf "[WGDashboard] WGDashboard required Python 3.7 or above\n"