From 914a0bf5147dee0c48bde69777aebedf6922e299 Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Wed, 3 Apr 2024 01:16:56 -0400 Subject: [PATCH] Minor updates... --- src/dashboard_new.py | 38 + src/static/app/dist/assets/index.css | 8 +- src/static/app/dist/assets/index.js | 39 +- src/static/app/package-lock.json | 2602 +++++++++++++++++ src/static/app/package.json | 4 + .../newPeersComponents/allowedIPsInput.vue | 135 + .../newPeersComponents/bulkAdd.vue | 41 + .../newPeersComponents/dnsInput.vue | 64 + .../newPeersComponents/endpointAllowedIps.vue | 63 + .../newPeersComponents/mtuInput.vue | 23 + .../newPeersComponents/nameInput.vue | 26 + .../persistentKeepAliveInput.vue | 25 + .../newPeersComponents/presharedKeyInput.vue | 25 + .../privatePublicKeyInput.vue | 108 + .../configurationComponents/peerCreate.vue | 151 + .../configurationComponents/peerList.vue | 15 +- .../configurationComponents/peerQRCode.vue | 2 - .../configurationComponents/peerSearch.vue | 15 +- src/static/app/src/main.js | 1 + .../stores/WireguardConfigurationsStore.js | 8 + 20 files changed, 3372 insertions(+), 21 deletions(-) create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/allowedIPsInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/bulkAdd.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/dnsInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/endpointAllowedIps.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/mtuInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/nameInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/persistentKeepAliveInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/presharedKeyInput.vue create mode 100644 src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue create mode 100644 src/static/app/src/components/configurationComponents/peerCreate.vue diff --git a/src/dashboard_new.py b/src/dashboard_new.py index 8aede0f..7aa0825 100644 --- a/src/dashboard_new.py +++ b/src/dashboard_new.py @@ -729,6 +729,38 @@ def _generatePublicKey(privateKey) -> [bool, str]: return False, None +def _getWireguardConfigurationAvailableIP(configName) -> [bool, list[str]]: + if configName not in WireguardConfigurations.keys(): + return False, None + configuration = WireguardConfigurations[configName] + if len(configuration.Address) > 0: + address = configuration.Address.split(',') + print(address) + existedAddress = [] + availableAddress = [] + for p in configuration.Peers: + if len(p.allowed_ip) > 0: + add = p.allowed_ip.split(',') + for i in add: + a, c = i.split('/') + existedAddress.append(ipaddress.ip_address(a.replace(" ", ""))) + for i in address: + addressSplit, cidr = i.split('/') + existedAddress.append(ipaddress.ip_address(addressSplit.replace(" ", ""))) + for i in address: + network = ipaddress.ip_network(i.replace(" ", ""), False) + count = 0 + for h in network.hosts(): + if h not in existedAddress: + availableAddress.append(ipaddress.ip_network(h).compressed) + count += 1 + if network.version == 6 and count > 255: + break + return True, availableAddress + + return False, None + + ''' API Routes ''' @@ -1001,6 +1033,12 @@ PersistentKeepalive = {str(peer.keepalive)} }) +@app.route("/api/getAvailableIPs/") +def API_getAvailableIPs(configName): + status, ips = _getWireguardConfigurationAvailableIP(configName) + return ResponseObject(status=status, data=ips) + + @app.route('/api/getWireguardConfigurationInfo', methods=["GET"]) def API_getConfigurationInfo(): configurationName = request.args.get("configurationName") diff --git a/src/static/app/dist/assets/index.css b/src/static/app/dist/assets/index.css index e242792..a9412e0 100644 --- a/src/static/app/dist/assets/index.css +++ b/src/static/app/dist/assets/index.css @@ -6,4 +6,10 @@ * Bootstrap Icons v1.11.2 (https://icons.getbootstrap.com/) * Copyright 2019-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) -*/@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/app/dist/assets/bootstrap-icons.woff2?7141511ac37f13e1a387fb9fc6646256) format("woff2"),url(/static/app/dist/assets/bootstrap-icons.woff?7141511ac37f13e1a387fb9fc6646256) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.messageCentre[data-v-54755a4a]{top:calc(50px + 1rem);right:1rem}.dropdown-menu[data-v-3a072aae]{right:1rem}.slide-fade-leave-active[data-v-315acdc2],.slide-fade-enter-active[data-v-315acdc2]{transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-315acdc2],.slide-fade-leave-to[data-v-315acdc2]{transform:translateY(20px);opacity:0}.subMenuBtn.active[data-v-315acdc2]{background-color:#ffffff20}.peerSettingContainer[data-v-6fc123c2]{background-color:#00000060;z-index:1000}.toggleShowKey[data-v-6fc123c2]{position:absolute;top:35px;right:12px}.peerSettingContainer[data-v-e65783b8]{background-color:#00000060;z-index:1000}.peerNav .nav-link[data-v-7129ca22].active[data-v-7129ca22]{//background: linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);//color: white;background-color:#efefef}.list-move[data-v-7129ca22],.list-enter-active[data-v-7129ca22],.list-leave-active[data-v-7129ca22]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.list-enter-from[data-v-7129ca22],.list-leave-to[data-v-7129ca22]{opacity:0;transform:translateY(30px)}.list-leave-active[data-v-7129ca22]{position:absolute} +*/@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/app/dist/assets/bootstrap-icons.woff2?7141511ac37f13e1a387fb9fc6646256) format("woff2"),url(/static/app/dist/assets/bootstrap-icons.woff?7141511ac37f13e1a387fb9fc6646256) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}/*! + * animate.css - https://animate.style/ + * Version - 4.1.1 + * 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}.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}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animated.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)}.animated.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)}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*.8);animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.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}.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:translateZ(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:translateZ(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:translateZ(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:translateZ(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)}}.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}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.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:scaleX(1);transform:scaleX(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:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(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:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(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:translateZ(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)}}.shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(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:translateZ(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)}}.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)}}.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:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(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:translateZ(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)}}.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)}}.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(0) 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(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.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(0) 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(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.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(0) 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(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.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(0) 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(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.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(0) 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(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.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(0) 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(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}.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(0) 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(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}.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(0) 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(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.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:scaleX(1);transform:scaleX(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:scaleX(1);transform:scaleX(1)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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)}}.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)}}.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)}}.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)}}.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)}}.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}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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}}.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)}}.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)}}.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)}}.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)}}.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)}}.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)}}.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)}}.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)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(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:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(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:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(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:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(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:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(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) translateZ(0) rotateY(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) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(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) translateZ(0) rotateY(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) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.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) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.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) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.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) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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:translateZ(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:translateZ(0);transform:translateZ(0)}}.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}}.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}}.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:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.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:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.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:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.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:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.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:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.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:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(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:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(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}}.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)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.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}}.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)}}.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)}}.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)}}.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)}}.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}}.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)}}.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)}}.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)}}.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)}}.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:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.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:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.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:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.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:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.messageCentre[data-v-54755a4a]{top:calc(50px + 1rem);right:1rem}.dropdown-menu[data-v-3a072aae]{right:1rem}.slide-fade-leave-active[data-v-315acdc2],.slide-fade-enter-active[data-v-315acdc2]{transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-315acdc2],.slide-fade-leave-to[data-v-315acdc2]{transform:translateY(20px);opacity:0}.subMenuBtn.active[data-v-315acdc2]{background-color:#ffffff20}.peerSettingContainer[data-v-6fc123c2]{background-color:#00000060;z-index:1000}.toggleShowKey[data-v-6fc123c2]{position:absolute;top:35px;right:12px}.peerSettingContainer[data-v-0f1cea80]{background-color:#00000060;z-index:1000}.list-move[data-v-f2538e55],.list-enter-active[data-v-f2538e55],.list-leave-active[data-v-f2538e55]{transition:all .3s ease}.list-enter-from[data-v-f2538e55],.list-leave-to[data-v-f2538e55]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-f2538e55]{position:absolute}.peerSettingContainer[data-v-01862fad]{background-color:#00000060;z-index:9998}div[data-v-01862fad]{transition:.2s ease-in-out}.inactiveField[data-v-01862fad]{opacity:.4}.card[data-v-01862fad]{max-height:100%}.peerNav .nav-link[data-v-ce1252aa].active[data-v-ce1252aa]{//background: linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);//color: white;background-color:#efefef}.list-move[data-v-ce1252aa],.list-enter-active[data-v-ce1252aa],.list-leave-active[data-v-ce1252aa]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.list-enter-from[data-v-ce1252aa],.list-leave-to[data-v-ce1252aa]{opacity:0;transform:translateY(30px)}.list-leave-active[data-v-ce1252aa]{position:absolute} diff --git a/src/static/app/dist/assets/index.js b/src/static/app/dist/assets/index.js index fd6cde5..cfd7d06 100644 --- a/src/static/app/dist/assets/index.js +++ b/src/static/app/dist/assets/index.js @@ -1,40 +1,51 @@ -var q0=Object.defineProperty;var G0=(e,t,n)=>t in e?q0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var st=(e,t,n)=>(G0(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(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"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Rp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function X0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Q0(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),n}var J0={exports:{}},ge="top",De="bottom",$e="right",me="left",Da="auto",Ui=[ge,De,$e,me],Ws="start",wi="end",Np="clippingParents",Vc="viewport",ui="popper",Fp="reference",Jl=Ui.reduce(function(e,t){return e.concat([t+"-"+Ws,t+"-"+wi])},[]),Hc=[].concat(Ui,[Da]).reduce(function(e,t){return e.concat([t,t+"-"+Ws,t+"-"+wi])},[]),Bp="beforeRead",Vp="read",Hp="afterRead",jp="beforeMain",Wp="main",zp="afterMain",Up="beforeWrite",Kp="write",Yp="afterWrite",qp=[Bp,Vp,Hp,jp,Wp,zp,Up,Kp,Yp];function hn(e){return e?(e.nodeName||"").toLowerCase():null}function Le(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function zs(e){var t=Le(e).Element;return e instanceof t||e instanceof Element}function Ue(e){var t=Le(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function jc(e){if(typeof ShadowRoot>"u")return!1;var t=Le(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Z0(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!Ue(o)||!hn(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function tx(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],o=t.attributes[s]||{},r=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),a=r.reduce(function(l,c){return l[c]="",l},{});!Ue(i)||!hn(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const Wc={name:"applyStyles",enabled:!0,phase:"write",fn:Z0,effect:tx,requires:["computeStyles"]};function cn(e){return e.split("-")[0]}var Rs=Math.max,aa=Math.min,Ei=Math.round;function Zl(){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 Gp(){return!/^((?!chrome|android).)*safari/i.test(Zl())}function Si(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),i=1,o=1;t&&Ue(e)&&(i=e.offsetWidth>0&&Ei(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Ei(s.height)/e.offsetHeight||1);var r=zs(e)?Le(e):window,a=r.visualViewport,l=!Gp()&&n,c=(s.left+(l&&a?a.offsetLeft:0))/i,u=(s.top+(l&&a?a.offsetTop:0))/o,d=s.width/i,f=s.height/o;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function zc(e){var t=Si(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function Xp(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&jc(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function On(e){return Le(e).getComputedStyle(e)}function ex(e){return["table","td","th"].indexOf(hn(e))>=0}function us(e){return((zs(e)?e.ownerDocument:e.document)||window.document).documentElement}function $a(e){return hn(e)==="html"?e:e.assignedSlot||e.parentNode||(jc(e)?e.host:null)||us(e)}function Wd(e){return!Ue(e)||On(e).position==="fixed"?null:e.offsetParent}function nx(e){var t=/firefox/i.test(Zl()),n=/Trident/i.test(Zl());if(n&&Ue(e)){var s=On(e);if(s.position==="fixed")return null}var i=$a(e);for(jc(i)&&(i=i.host);Ue(i)&&["html","body"].indexOf(hn(i))<0;){var o=On(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 Jo(e){for(var t=Le(e),n=Wd(e);n&&ex(n)&&On(n).position==="static";)n=Wd(n);return n&&(hn(n)==="html"||hn(n)==="body"&&On(n).position==="static")?t:n||nx(e)||t}function Uc(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function bo(e,t,n){return Rs(e,aa(t,n))}function sx(e,t,n){var s=bo(e,t,n);return s>n?n:s}function Qp(){return{top:0,right:0,bottom:0,left:0}}function Jp(e){return Object.assign({},Qp(),e)}function Zp(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var ix=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Jp(typeof t!="number"?t:Zp(t,Ui))};function ox(e){var t,n=e.state,s=e.name,i=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=cn(n.placement),l=Uc(a),c=[me,$e].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!r)){var d=ix(i.padding,n),f=zc(o),p=l==="y"?ge:me,m=l==="y"?De:$e,_=n.rects.reference[u]+n.rects.reference[l]-r[l]-n.rects.popper[u],y=r[l]-n.rects.reference[l],x=Jo(o),S=x?l==="y"?x.clientHeight||0:x.clientWidth||0:0,P=_/2-y/2,C=d[p],v=S-f[u]-d[m],E=S/2-f[u]/2+P,A=bo(C,E,v),w=l;n.modifiersData[s]=(t={},t[w]=A,t.centerOffset=A-E,t)}}function rx(e){var t=e.state,n=e.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||Xp(t.elements.popper,i)&&(t.elements.arrow=i))}const tg={name:"arrow",enabled:!0,phase:"main",fn:ox,effect:rx,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ci(e){return e.split("-")[1]}var ax={top:"auto",right:"auto",bottom:"auto",left:"auto"};function lx(e,t){var n=e.x,s=e.y,i=t.devicePixelRatio||1;return{x:Ei(n*i)/i||0,y:Ei(s*i)/i||0}}function zd(e){var t,n=e.popper,s=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=r.x,p=f===void 0?0:f,m=r.y,_=m===void 0?0:m,y=typeof u=="function"?u({x:p,y:_}):{x:p,y:_};p=y.x,_=y.y;var x=r.hasOwnProperty("x"),S=r.hasOwnProperty("y"),P=me,C=ge,v=window;if(c){var E=Jo(n),A="clientHeight",w="clientWidth";if(E===Le(n)&&(E=us(n),On(E).position!=="static"&&a==="absolute"&&(A="scrollHeight",w="scrollWidth")),E=E,i===ge||(i===me||i===$e)&&o===wi){C=De;var k=d&&E===v&&v.visualViewport?v.visualViewport.height:E[A];_-=k-s.height,_*=l?1:-1}if(i===me||(i===ge||i===De)&&o===wi){P=$e;var $=d&&E===v&&v.visualViewport?v.visualViewport.width:E[w];p-=$-s.width,p*=l?1:-1}}var L=Object.assign({position:a},c&&ax),N=u===!0?lx({x:p,y:_},Le(n)):{x:p,y:_};if(p=N.x,_=N.y,l){var X;return Object.assign({},L,(X={},X[C]=S?"0":"",X[P]=x?"0":"",X.transform=(v.devicePixelRatio||1)<=1?"translate("+p+"px, "+_+"px)":"translate3d("+p+"px, "+_+"px, 0)",X))}return Object.assign({},L,(t={},t[C]=S?_+"px":"",t[P]=x?p+"px":"",t.transform="",t))}function cx(e){var t=e.state,n=e.options,s=n.gpuAcceleration,i=s===void 0?!0:s,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:cn(t.placement),variation:Ci(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,zd(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,zd(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 Kc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:cx,data:{}};var Sr={passive:!0};function ux(e){var t=e.state,n=e.instance,s=e.options,i=s.scroll,o=i===void 0?!0:i,r=s.resize,a=r===void 0?!0:r,l=Le(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,Sr)}),a&&l.addEventListener("resize",n.update,Sr),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,Sr)}),a&&l.removeEventListener("resize",n.update,Sr)}}const Yc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ux,data:{}};var dx={left:"right",right:"left",bottom:"top",top:"bottom"};function Qr(e){return e.replace(/left|right|bottom|top/g,function(t){return dx[t]})}var hx={start:"end",end:"start"};function Ud(e){return e.replace(/start|end/g,function(t){return hx[t]})}function qc(e){var t=Le(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function Gc(e){return Si(us(e)).left+qc(e).scrollLeft}function fx(e,t){var n=Le(e),s=us(e),i=n.visualViewport,o=s.clientWidth,r=s.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=Gp();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+Gc(e),y:l}}function px(e){var t,n=us(e),s=qc(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Rs(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Rs(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+Gc(e),l=-s.scrollTop;return On(i||n).direction==="rtl"&&(a+=Rs(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Xc(e){var t=On(e),n=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function eg(e){return["html","body","#document"].indexOf(hn(e))>=0?e.ownerDocument.body:Ue(e)&&Xc(e)?e:eg($a(e))}function yo(e,t){var n;t===void 0&&(t=[]);var s=eg(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),o=Le(s),r=i?[o].concat(o.visualViewport||[],Xc(s)?s:[]):s,a=t.concat(r);return i?a:a.concat(yo($a(r)))}function tc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function gx(e,t){var n=Si(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Kd(e,t,n){return t===Vc?tc(fx(e,n)):zs(t)?gx(t,n):tc(px(us(e)))}function mx(e){var t=yo($a(e)),n=["absolute","fixed"].indexOf(On(e).position)>=0,s=n&&Ue(e)?Jo(e):e;return zs(s)?t.filter(function(i){return zs(i)&&Xp(i,s)&&hn(i)!=="body"}):[]}function _x(e,t,n,s){var i=t==="clippingParents"?mx(e):[].concat(t),o=[].concat(i,[n]),r=o[0],a=o.reduce(function(l,c){var u=Kd(e,c,s);return l.top=Rs(u.top,l.top),l.right=aa(u.right,l.right),l.bottom=aa(u.bottom,l.bottom),l.left=Rs(u.left,l.left),l},Kd(e,r,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function ng(e){var t=e.reference,n=e.element,s=e.placement,i=s?cn(s):null,o=s?Ci(s):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case ge:l={x:r,y:t.y-n.height};break;case De:l={x:r,y:t.y+t.height};break;case $e:l={x:t.x+t.width,y:a};break;case me:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?Uc(i):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case Ws:l[c]=l[c]-(t[u]/2-n[u]/2);break;case wi:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function Ai(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=s===void 0?e.placement:s,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Np:a,c=n.rootBoundary,u=c===void 0?Vc:c,d=n.elementContext,f=d===void 0?ui:d,p=n.altBoundary,m=p===void 0?!1:p,_=n.padding,y=_===void 0?0:_,x=Jp(typeof y!="number"?y:Zp(y,Ui)),S=f===ui?Fp:ui,P=e.rects.popper,C=e.elements[m?S:f],v=_x(zs(C)?C:C.contextElement||us(e.elements.popper),l,u,r),E=Si(e.elements.reference),A=ng({reference:E,element:P,strategy:"absolute",placement:i}),w=tc(Object.assign({},P,A)),k=f===ui?w:E,$={top:v.top-k.top+x.top,bottom:k.bottom-v.bottom+x.bottom,left:v.left-k.left+x.left,right:k.right-v.right+x.right},L=e.modifiersData.offset;if(f===ui&&L){var N=L[i];Object.keys($).forEach(function(X){var Y=[$e,De].indexOf(X)>=0?1:-1,H=[ge,De].indexOf(X)>=0?"y":"x";$[X]+=N[H]*Y})}return $}function bx(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Hc:l,u=Ci(s),d=u?a?Jl:Jl.filter(function(m){return Ci(m)===u}):Ui,f=d.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=d);var p=f.reduce(function(m,_){return m[_]=Ai(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[cn(_)],m},{});return Object.keys(p).sort(function(m,_){return p[m]-p[_]})}function yx(e){if(cn(e)===Da)return[];var t=Qr(e);return[Ud(e),t,Ud(t)]}function vx(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,_=n.allowedAutoPlacements,y=t.options.placement,x=cn(y),S=x===y,P=l||(S||!m?[Qr(y)]:yx(y)),C=[y].concat(P).reduce(function(wt,Mt){return wt.concat(cn(Mt)===Da?bx(t,{placement:Mt,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:_}):Mt)},[]),v=t.rects.reference,E=t.rects.popper,A=new Map,w=!0,k=C[0],$=0;$=0,H=Y?"width":"height",R=Ai(t,{placement:L,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),W=Y?X?$e:me:X?De:ge;v[H]>E[H]&&(W=Qr(W));var U=Qr(W),it=[];if(o&&it.push(R[N]<=0),a&&it.push(R[W]<=0,R[U]<=0),it.every(function(wt){return wt})){k=L,w=!1;break}A.set(L,it)}if(w)for(var lt=m?3:1,pt=function(Mt){var Et=C.find(function(j){var et=A.get(j);if(et)return et.slice(0,Mt).every(function(J){return J})});if(Et)return k=Et,"break"},ft=lt;ft>0;ft--){var At=pt(ft);if(At==="break")break}t.placement!==k&&(t.modifiersData[s]._skip=!0,t.placement=k,t.reset=!0)}}const sg={name:"flip",enabled:!0,phase:"main",fn:vx,requiresIfExists:["offset"],data:{_skip:!1}};function Yd(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qd(e){return[ge,$e,De,me].some(function(t){return e[t]>=0})}function xx(e){var t=e.state,n=e.name,s=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Ai(t,{elementContext:"reference"}),a=Ai(t,{altBoundary:!0}),l=Yd(r,s),c=Yd(a,i,o),u=qd(l),d=qd(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const ig={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:xx};function wx(e,t,n){var s=cn(e),i=[me,ge].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[me,$e].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}function Ex(e){var t=e.state,n=e.options,s=e.name,i=n.offset,o=i===void 0?[0,0]:i,r=Hc.reduce(function(u,d){return u[d]=wx(d,t.rects,o),u},{}),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[s]=r}const og={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Ex};function Sx(e){var t=e.state,n=e.name;t.modifiersData[n]=ng({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Qc={name:"popperOffsets",enabled:!0,phase:"read",fn:Sx,data:{}};function Cx(e){return e==="x"?"y":"x"}function Ax(e){var t=e.state,n=e.options,s=e.name,i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,_=m===void 0?0:m,y=Ai(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),x=cn(t.placement),S=Ci(t.placement),P=!S,C=Uc(x),v=Cx(C),E=t.modifiersData.popperOffsets,A=t.rects.reference,w=t.rects.popper,k=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,$=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(E){if(o){var X,Y=C==="y"?ge:me,H=C==="y"?De:$e,R=C==="y"?"height":"width",W=E[C],U=W+y[Y],it=W-y[H],lt=p?-w[R]/2:0,pt=S===Ws?A[R]:w[R],ft=S===Ws?-w[R]:-A[R],At=t.elements.arrow,wt=p&&At?zc(At):{width:0,height:0},Mt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Qp(),Et=Mt[Y],j=Mt[H],et=bo(0,A[R],wt[R]),J=P?A[R]/2-lt-et-Et-$.mainAxis:pt-et-Et-$.mainAxis,rt=P?-A[R]/2+lt+et+j+$.mainAxis:ft+et+j+$.mainAxis,F=t.elements.arrow&&Jo(t.elements.arrow),T=F?C==="y"?F.clientTop||0:F.clientLeft||0:0,D=(X=L==null?void 0:L[C])!=null?X:0,I=W+J-D-T,V=W+rt-D,K=bo(p?aa(U,I):U,W,p?Rs(it,V):it);E[C]=K,N[C]=K-W}if(a){var G,Z=C==="x"?ge:me,Q=C==="x"?De:$e,B=E[v],q=v==="y"?"height":"width",at=B+y[Z],ht=B-y[Q],ut=[ge,me].indexOf(x)!==-1,gt=(G=L==null?void 0:L[v])!=null?G:0,vt=ut?at:B-A[q]-w[q]-gt+$.altAxis,Dt=ut?B+A[q]+w[q]-gt-$.altAxis:ht,It=p&&ut?sx(vt,B,Dt):bo(p?vt:at,B,p?Dt:ht);E[v]=It,N[v]=It-B}t.modifiersData[s]=N}}const rg={name:"preventOverflow",enabled:!0,phase:"main",fn:Ax,requiresIfExists:["offset"]};function Tx(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Px(e){return e===Le(e)||!Ue(e)?qc(e):Tx(e)}function Mx(e){var t=e.getBoundingClientRect(),n=Ei(t.width)/e.offsetWidth||1,s=Ei(t.height)/e.offsetHeight||1;return n!==1||s!==1}function kx(e,t,n){n===void 0&&(n=!1);var s=Ue(t),i=Ue(t)&&Mx(t),o=us(t),r=Si(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(s||!s&&!n)&&((hn(t)!=="body"||Xc(o))&&(a=Px(t)),Ue(t)?(l=Si(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Gc(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function Ox(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),s}function Dx(e){var t=Ox(e);return qp.reduce(function(n,s){return n.concat(t.filter(function(i){return i.phase===s}))},[])}function $x(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Lx(e){var t=e.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var Gd={placement:"bottom",modifiers:[],strategy:"absolute"};function Xd(){for(var e=arguments.length,t=new Array(e),n=0;nt in e?lx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var it=(e,t,n)=>(cx(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(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"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Kp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ux(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function dx(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),n}var hx={exports:{}},_e="top",De="bottom",Ie="right",be="left",Na="auto",Qi=[_e,De,Ie,be],qs="start",ki="end",Yp="clippingParents",qc="viewport",_i="popper",qp="reference",rc=Qi.reduce(function(e,t){return e.concat([t+"-"+qs,t+"-"+ki])},[]),Gc=[].concat(Qi,[Na]).reduce(function(e,t){return e.concat([t,t+"-"+qs,t+"-"+ki])},[]),Gp="beforeRead",Xp="read",Qp="afterRead",Jp="beforeMain",Zp="main",tg="afterMain",eg="beforeWrite",ng="write",sg="afterWrite",ig=[Gp,Xp,Qp,Jp,Zp,tg,eg,ng,sg];function pn(e){return e?(e.nodeName||"").toLowerCase():null}function Le(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gs(e){var t=Le(e).Element;return e instanceof t||e instanceof Element}function Ye(e){var t=Le(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Xc(e){if(typeof ShadowRoot>"u")return!1;var t=Le(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function fx(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!Ye(o)||!pn(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function px(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],o=t.attributes[s]||{},r=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),a=r.reduce(function(l,c){return l[c]="",l},{});!Ye(i)||!pn(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const Qc={name:"applyStyles",enabled:!0,phase:"write",fn:fx,effect:px,requires:["computeStyles"]};function dn(e){return e.split("-")[0]}var Hs=Math.max,ha=Math.min,$i=Math.round;function ac(){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 og(){return!/^((?!chrome|android).)*safari/i.test(ac())}function Mi(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),i=1,o=1;t&&Ye(e)&&(i=e.offsetWidth>0&&$i(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&$i(s.height)/e.offsetHeight||1);var r=Gs(e)?Le(e):window,a=r.visualViewport,l=!og()&&n,c=(s.left+(l&&a?a.offsetLeft:0))/i,u=(s.top+(l&&a?a.offsetTop:0))/o,d=s.width/i,f=s.height/o;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function Jc(e){var t=Mi(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function rg(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Xc(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function In(e){return Le(e).getComputedStyle(e)}function gx(e){return["table","td","th"].indexOf(pn(e))>=0}function gs(e){return((Gs(e)?e.ownerDocument:e.document)||window.document).documentElement}function Fa(e){return pn(e)==="html"?e:e.assignedSlot||e.parentNode||(Xc(e)?e.host:null)||gs(e)}function Jd(e){return!Ye(e)||In(e).position==="fixed"?null:e.offsetParent}function mx(e){var t=/firefox/i.test(ac()),n=/Trident/i.test(ac());if(n&&Ye(e)){var s=In(e);if(s.position==="fixed")return null}var i=Fa(e);for(Xc(i)&&(i=i.host);Ye(i)&&["html","body"].indexOf(pn(i))<0;){var o=In(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=Le(e),n=Jd(e);n&&gx(n)&&In(n).position==="static";)n=Jd(n);return n&&(pn(n)==="html"||pn(n)==="body"&&In(n).position==="static")?t:n||mx(e)||t}function Zc(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Eo(e,t,n){return Hs(e,ha(t,n))}function _x(e,t,n){var s=Eo(e,t,n);return s>n?n:s}function ag(){return{top:0,right:0,bottom:0,left:0}}function lg(e){return Object.assign({},ag(),e)}function cg(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var bx=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,lg(typeof t!="number"?t:cg(t,Qi))};function vx(e){var t,n=e.state,s=e.name,i=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=dn(n.placement),l=Zc(a),c=[be,Ie].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!r)){var d=bx(i.padding,n),f=Jc(o),p=l==="y"?_e:be,m=l==="y"?De:Ie,_=n.rects.reference[u]+n.rects.reference[l]-r[l]-n.rects.popper[u],v=r[l]-n.rects.reference[l],x=sr(o),S=x?l==="y"?x.clientHeight||0:x.clientWidth||0:0,P=_/2-v/2,A=d[p],y=S-f[u]-d[m],E=S/2-f[u]/2+P,C=Eo(A,E,y),w=l;n.modifiersData[s]=(t={},t[w]=C,t.centerOffset=C-E,t)}}function yx(e){var t=e.state,n=e.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||rg(t.elements.popper,i)&&(t.elements.arrow=i))}const ug={name:"arrow",enabled:!0,phase:"main",fn:vx,effect:yx,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Oi(e){return e.split("-")[1]}var xx={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wx(e,t){var n=e.x,s=e.y,i=t.devicePixelRatio||1;return{x:$i(n*i)/i||0,y:$i(s*i)/i||0}}function Zd(e){var t,n=e.popper,s=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=r.x,p=f===void 0?0:f,m=r.y,_=m===void 0?0:m,v=typeof u=="function"?u({x:p,y:_}):{x:p,y:_};p=v.x,_=v.y;var x=r.hasOwnProperty("x"),S=r.hasOwnProperty("y"),P=be,A=_e,y=window;if(c){var E=sr(n),C="clientHeight",w="clientWidth";if(E===Le(n)&&(E=gs(n),In(E).position!=="static"&&a==="absolute"&&(C="scrollHeight",w="scrollWidth")),E=E,i===_e||(i===be||i===Ie)&&o===ki){A=De;var $=d&&E===y&&y.visualViewport?y.visualViewport.height:E[C];_-=$-s.height,_*=l?1:-1}if(i===be||(i===_e||i===De)&&o===ki){P=Ie;var D=d&&E===y&&y.visualViewport?y.visualViewport.width:E[w];p-=D-s.width,p*=l?1:-1}}var I=Object.assign({position:a},c&&xx),N=u===!0?wx({x:p,y:_},Le(n)):{x:p,y:_};if(p=N.x,_=N.y,l){var Q;return Object.assign({},I,(Q={},Q[A]=S?"0":"",Q[P]=x?"0":"",Q.transform=(y.devicePixelRatio||1)<=1?"translate("+p+"px, "+_+"px)":"translate3d("+p+"px, "+_+"px, 0)",Q))}return Object.assign({},I,(t={},t[A]=S?_+"px":"",t[P]=x?p+"px":"",t.transform="",t))}function Ex(e){var t=e.state,n=e.options,s=n.gpuAcceleration,i=s===void 0?!0:s,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:dn(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,Zd(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,Zd(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 tu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ex,data:{}};var kr={passive:!0};function Sx(e){var t=e.state,n=e.instance,s=e.options,i=s.scroll,o=i===void 0?!0:i,r=s.resize,a=r===void 0?!0:r,l=Le(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,kr)}),a&&l.addEventListener("resize",n.update,kr),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,kr)}),a&&l.removeEventListener("resize",n.update,kr)}}const eu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Sx,data:{}};var Ax={left:"right",right:"left",bottom:"top",top:"bottom"};function na(e){return e.replace(/left|right|bottom|top/g,function(t){return Ax[t]})}var Cx={start:"end",end:"start"};function th(e){return e.replace(/start|end/g,function(t){return Cx[t]})}function nu(e){var t=Le(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function su(e){return Mi(gs(e)).left+nu(e).scrollLeft}function Tx(e,t){var n=Le(e),s=gs(e),i=n.visualViewport,o=s.clientWidth,r=s.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=og();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+su(e),y:l}}function Px(e){var t,n=gs(e),s=nu(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Hs(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Hs(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+su(e),l=-s.scrollTop;return In(i||n).direction==="rtl"&&(a+=Hs(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function iu(e){var t=In(e),n=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function dg(e){return["html","body","#document"].indexOf(pn(e))>=0?e.ownerDocument.body:Ye(e)&&iu(e)?e:dg(Fa(e))}function So(e,t){var n;t===void 0&&(t=[]);var s=dg(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),o=Le(s),r=i?[o].concat(o.visualViewport||[],iu(s)?s:[]):s,a=t.concat(r);return i?a:a.concat(So(Fa(r)))}function lc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function kx(e,t){var n=Mi(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function eh(e,t,n){return t===qc?lc(Tx(e,n)):Gs(t)?kx(t,n):lc(Px(gs(e)))}function $x(e){var t=So(Fa(e)),n=["absolute","fixed"].indexOf(In(e).position)>=0,s=n&&Ye(e)?sr(e):e;return Gs(s)?t.filter(function(i){return Gs(i)&&rg(i,s)&&pn(i)!=="body"}):[]}function Mx(e,t,n,s){var i=t==="clippingParents"?$x(e):[].concat(t),o=[].concat(i,[n]),r=o[0],a=o.reduce(function(l,c){var u=eh(e,c,s);return l.top=Hs(u.top,l.top),l.right=ha(u.right,l.right),l.bottom=ha(u.bottom,l.bottom),l.left=Hs(u.left,l.left),l},eh(e,r,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function hg(e){var t=e.reference,n=e.element,s=e.placement,i=s?dn(s):null,o=s?Oi(s):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case _e:l={x:r,y:t.y-n.height};break;case De:l={x:r,y:t.y+t.height};break;case Ie:l={x:t.x+t.width,y:a};break;case be:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?Zc(i):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case qs:l[c]=l[c]-(t[u]/2-n[u]/2);break;case ki:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function Di(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=s===void 0?e.placement:s,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Yp:a,c=n.rootBoundary,u=c===void 0?qc:c,d=n.elementContext,f=d===void 0?_i:d,p=n.altBoundary,m=p===void 0?!1:p,_=n.padding,v=_===void 0?0:_,x=lg(typeof v!="number"?v:cg(v,Qi)),S=f===_i?qp:_i,P=e.rects.popper,A=e.elements[m?S:f],y=Mx(Gs(A)?A:A.contextElement||gs(e.elements.popper),l,u,r),E=Mi(e.elements.reference),C=hg({reference:E,element:P,strategy:"absolute",placement:i}),w=lc(Object.assign({},P,C)),$=f===_i?w:E,D={top:y.top-$.top+x.top,bottom:$.bottom-y.bottom+x.bottom,left:y.left-$.left+x.left,right:$.right-y.right+x.right},I=e.modifiersData.offset;if(f===_i&&I){var N=I[i];Object.keys(D).forEach(function(Q){var Y=[Ie,De].indexOf(Q)>=0?1:-1,H=[_e,De].indexOf(Q)>=0?"y":"x";D[Q]+=N[H]*Y})}return D}function Ox(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Gc:l,u=Oi(s),d=u?a?rc:rc.filter(function(m){return Oi(m)===u}):Qi,f=d.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=d);var p=f.reduce(function(m,_){return m[_]=Di(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[dn(_)],m},{});return Object.keys(p).sort(function(m,_){return p[m]-p[_]})}function Dx(e){if(dn(e)===Na)return[];var t=na(e);return[th(e),t,th(t)]}function Ix(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,_=n.allowedAutoPlacements,v=t.options.placement,x=dn(v),S=x===v,P=l||(S||!m?[na(v)]:Dx(v)),A=[v].concat(P).reduce(function(At,Mt){return At.concat(dn(Mt)===Na?Ox(t,{placement:Mt,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:_}):Mt)},[]),y=t.rects.reference,E=t.rects.popper,C=new Map,w=!0,$=A[0],D=0;D=0,H=Y?"width":"height",R=Di(t,{placement:I,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),W=Y?Q?Ie:be:Q?De:_e;y[H]>E[H]&&(W=na(W));var U=na(W),rt=[];if(o&&rt.push(R[N]<=0),a&&rt.push(R[W]<=0,R[U]<=0),rt.every(function(At){return At})){$=I,w=!1;break}C.set(I,rt)}if(w)for(var ct=m?3:1,mt=function(Mt){var Ct=A.find(function(j){var nt=C.get(j);if(nt)return nt.slice(0,Mt).every(function(Z){return Z})});if(Ct)return $=Ct,"break"},pt=ct;pt>0;pt--){var Pt=mt(pt);if(Pt==="break")break}t.placement!==$&&(t.modifiersData[s]._skip=!0,t.placement=$,t.reset=!0)}}const fg={name:"flip",enabled:!0,phase:"main",fn:Ix,requiresIfExists:["offset"],data:{_skip:!1}};function nh(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function sh(e){return[_e,Ie,De,be].some(function(t){return e[t]>=0})}function Lx(e){var t=e.state,n=e.name,s=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Di(t,{elementContext:"reference"}),a=Di(t,{altBoundary:!0}),l=nh(r,s),c=nh(a,i,o),u=sh(l),d=sh(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const pg={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Lx};function Rx(e,t,n){var s=dn(e),i=[be,_e].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[be,Ie].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}function Nx(e){var t=e.state,n=e.options,s=e.name,i=n.offset,o=i===void 0?[0,0]:i,r=Gc.reduce(function(u,d){return u[d]=Rx(d,t.rects,o),u},{}),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[s]=r}const gg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Nx};function Fx(e){var t=e.state,n=e.name;t.modifiersData[n]=hg({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const ou={name:"popperOffsets",enabled:!0,phase:"read",fn:Fx,data:{}};function Bx(e){return e==="x"?"y":"x"}function Vx(e){var t=e.state,n=e.options,s=e.name,i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,_=m===void 0?0:m,v=Di(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),x=dn(t.placement),S=Oi(t.placement),P=!S,A=Zc(x),y=Bx(A),E=t.modifiersData.popperOffsets,C=t.rects.reference,w=t.rects.popper,$=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,D=typeof $=="number"?{mainAxis:$,altAxis:$}:Object.assign({mainAxis:0,altAxis:0},$),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(E){if(o){var Q,Y=A==="y"?_e:be,H=A==="y"?De:Ie,R=A==="y"?"height":"width",W=E[A],U=W+v[Y],rt=W-v[H],ct=p?-w[R]/2:0,mt=S===qs?C[R]:w[R],pt=S===qs?-w[R]:-C[R],Pt=t.elements.arrow,At=p&&Pt?Jc(Pt):{width:0,height:0},Mt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:ag(),Ct=Mt[Y],j=Mt[H],nt=Eo(0,C[R],At[R]),Z=P?C[R]/2-ct-nt-Ct-D.mainAxis:mt-nt-Ct-D.mainAxis,at=P?-C[R]/2+ct+nt+j+D.mainAxis:pt+nt+j+D.mainAxis,F=t.elements.arrow&&sr(t.elements.arrow),T=F?A==="y"?F.clientTop||0:F.clientLeft||0:0,O=(Q=I==null?void 0:I[A])!=null?Q:0,L=W+Z-O-T,V=W+at-O,K=Eo(p?ha(U,L):U,W,p?Hs(rt,V):rt);E[A]=K,N[A]=K-W}if(a){var G,tt=A==="x"?_e:be,J=A==="x"?De:Ie,B=E[y],q=y==="y"?"height":"width",lt=B+v[tt],ft=B-v[J],ut=[_e,be].indexOf(x)!==-1,_t=(G=I==null?void 0:I[y])!=null?G:0,St=ut?lt:B-C[q]-w[q]-_t+D.altAxis,Ot=ut?B+C[q]+w[q]-_t-D.altAxis:ft,Nt=p&&ut?_x(St,B,Ot):Eo(p?St:lt,B,p?Ot:ft);E[y]=Nt,N[y]=Nt-B}t.modifiersData[s]=N}}const mg={name:"preventOverflow",enabled:!0,phase:"main",fn:Vx,requiresIfExists:["offset"]};function Hx(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function jx(e){return e===Le(e)||!Ye(e)?nu(e):Hx(e)}function Wx(e){var t=e.getBoundingClientRect(),n=$i(t.width)/e.offsetWidth||1,s=$i(t.height)/e.offsetHeight||1;return n!==1||s!==1}function zx(e,t,n){n===void 0&&(n=!1);var s=Ye(t),i=Ye(t)&&Wx(t),o=gs(t),r=Mi(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(s||!s&&!n)&&((pn(t)!=="body"||iu(o))&&(a=jx(t)),Ye(t)?(l=Mi(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=su(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function Ux(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),s}function Kx(e){var t=Ux(e);return ig.reduce(function(n,s){return n.concat(t.filter(function(i){return i.phase===s}))},[])}function Yx(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function qx(e){var t=e.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var ih={placement:"bottom",modifiers:[],strategy:"absolute"};function oh(){for(var e=arguments.length,t=new Array(e),n=0;nM[b]})}}return h.default=M,Object.freeze(h)}const i=s(n),o=new Map,r={set(M,h,b){o.has(M)||o.set(M,new Map);const O=o.get(M);if(!O.has(h)&&O.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(O.keys())[0]}.`);return}O.set(h,b)},get(M,h){return o.has(M)&&o.get(M).get(h)||null},remove(M,h){if(!o.has(M))return;const b=o.get(M);b.delete(h),b.size===0&&o.delete(M)}},a=1e6,l=1e3,c="transitionend",u=M=>(M&&window.CSS&&window.CSS.escape&&(M=M.replace(/#([^\s"#']+)/g,(h,b)=>`#${CSS.escape(b)}`)),M),d=M=>M==null?`${M}`:Object.prototype.toString.call(M).match(/\s([a-z]+)/i)[1].toLowerCase(),f=M=>{do M+=Math.floor(Math.random()*a);while(document.getElementById(M));return M},p=M=>{if(!M)return 0;let{transitionDuration:h,transitionDelay:b}=window.getComputedStyle(M);const O=Number.parseFloat(h),z=Number.parseFloat(b);return!O&&!z?0:(h=h.split(",")[0],b=b.split(",")[0],(Number.parseFloat(h)+Number.parseFloat(b))*l)},m=M=>{M.dispatchEvent(new Event(c))},_=M=>!M||typeof M!="object"?!1:(typeof M.jquery<"u"&&(M=M[0]),typeof M.nodeType<"u"),y=M=>_(M)?M.jquery?M[0]:M:typeof M=="string"&&M.length>0?document.querySelector(u(M)):null,x=M=>{if(!_(M)||M.getClientRects().length===0)return!1;const h=getComputedStyle(M).getPropertyValue("visibility")==="visible",b=M.closest("details:not([open])");if(!b)return h;if(b!==M){const O=M.closest("summary");if(O&&O.parentNode!==b||O===null)return!1}return h},S=M=>!M||M.nodeType!==Node.ELEMENT_NODE||M.classList.contains("disabled")?!0:typeof M.disabled<"u"?M.disabled:M.hasAttribute("disabled")&&M.getAttribute("disabled")!=="false",P=M=>{if(!document.documentElement.attachShadow)return null;if(typeof M.getRootNode=="function"){const h=M.getRootNode();return h instanceof ShadowRoot?h:null}return M instanceof ShadowRoot?M:M.parentNode?P(M.parentNode):null},C=()=>{},v=M=>{M.offsetHeight},E=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,A=[],w=M=>{document.readyState==="loading"?(A.length||document.addEventListener("DOMContentLoaded",()=>{for(const h of A)h()}),A.push(M)):M()},k=()=>document.documentElement.dir==="rtl",$=M=>{w(()=>{const h=E();if(h){const b=M.NAME,O=h.fn[b];h.fn[b]=M.jQueryInterface,h.fn[b].Constructor=M,h.fn[b].noConflict=()=>(h.fn[b]=O,M.jQueryInterface)}})},L=(M,h=[],b=M)=>typeof M=="function"?M(...h):b,N=(M,h,b=!0)=>{if(!b){L(M);return}const z=p(h)+5;let nt=!1;const tt=({target:St})=>{St===h&&(nt=!0,h.removeEventListener(c,tt),L(M))};h.addEventListener(c,tt),setTimeout(()=>{nt||m(h)},z)},X=(M,h,b,O)=>{const z=M.length;let nt=M.indexOf(h);return nt===-1?!b&&O?M[z-1]:M[0]:(nt+=b?1:-1,O&&(nt=(nt+z)%z),M[Math.max(0,Math.min(nt,z-1))])},Y=/[^.]*(?=\..*)\.|.*/,H=/\..*/,R=/::\d+$/,W={};let U=1;const it={mouseenter:"mouseover",mouseleave:"mouseout"},lt=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 pt(M,h){return h&&`${h}::${U++}`||M.uidEvent||U++}function ft(M){const h=pt(M);return M.uidEvent=h,W[h]=W[h]||{},W[h]}function At(M,h){return function b(O){return T(O,{delegateTarget:M}),b.oneOff&&F.off(M,O.type,h),h.apply(M,[O])}}function wt(M,h,b){return function O(z){const nt=M.querySelectorAll(h);for(let{target:tt}=z;tt&&tt!==this;tt=tt.parentNode)for(const St of nt)if(St===tt)return T(z,{delegateTarget:tt}),O.oneOff&&F.off(M,z.type,h,b),b.apply(tt,[z])}}function Mt(M,h,b=null){return Object.values(M).find(O=>O.callable===h&&O.delegationSelector===b)}function Et(M,h,b){const O=typeof h=="string",z=O?b:h||b;let nt=rt(M);return lt.has(nt)||(nt=M),[O,z,nt]}function j(M,h,b,O,z){if(typeof h!="string"||!M)return;let[nt,tt,St]=Et(h,b,O);h in it&&(tt=(Y0=>function(oi){if(!oi.relatedTarget||oi.relatedTarget!==oi.delegateTarget&&!oi.delegateTarget.contains(oi.relatedTarget))return Y0.call(this,oi)})(tt));const be=ft(M),Fe=be[St]||(be[St]={}),se=Mt(Fe,tt,nt?b:null);if(se){se.oneOff=se.oneOff&&z;return}const en=pt(tt,h.replace(Y,"")),Xe=nt?wt(M,b,tt):At(M,tt);Xe.delegationSelector=nt?b:null,Xe.callable=tt,Xe.oneOff=z,Xe.uidEvent=en,Fe[en]=Xe,M.addEventListener(St,Xe,nt)}function et(M,h,b,O,z){const nt=Mt(h[b],O,z);nt&&(M.removeEventListener(b,nt,!!z),delete h[b][nt.uidEvent])}function J(M,h,b,O){const z=h[b]||{};for(const[nt,tt]of Object.entries(z))nt.includes(O)&&et(M,h,b,tt.callable,tt.delegationSelector)}function rt(M){return M=M.replace(H,""),it[M]||M}const F={on(M,h,b,O){j(M,h,b,O,!1)},one(M,h,b,O){j(M,h,b,O,!0)},off(M,h,b,O){if(typeof h!="string"||!M)return;const[z,nt,tt]=Et(h,b,O),St=tt!==h,be=ft(M),Fe=be[tt]||{},se=h.startsWith(".");if(typeof nt<"u"){if(!Object.keys(Fe).length)return;et(M,be,tt,nt,z?b:null);return}if(se)for(const en of Object.keys(be))J(M,be,en,h.slice(1));for(const[en,Xe]of Object.entries(Fe)){const Er=en.replace(R,"");(!St||h.includes(Er))&&et(M,be,tt,Xe.callable,Xe.delegationSelector)}},trigger(M,h,b){if(typeof h!="string"||!M)return null;const O=E(),z=rt(h),nt=h!==z;let tt=null,St=!0,be=!0,Fe=!1;nt&&O&&(tt=O.Event(h,b),O(M).trigger(tt),St=!tt.isPropagationStopped(),be=!tt.isImmediatePropagationStopped(),Fe=tt.isDefaultPrevented());const se=T(new Event(h,{bubbles:St,cancelable:!0}),b);return Fe&&se.preventDefault(),be&&M.dispatchEvent(se),se.defaultPrevented&&tt&&tt.preventDefault(),se}};function T(M,h={}){for(const[b,O]of Object.entries(h))try{M[b]=O}catch{Object.defineProperty(M,b,{configurable:!0,get(){return O}})}return M}function D(M){if(M==="true")return!0;if(M==="false")return!1;if(M===Number(M).toString())return Number(M);if(M===""||M==="null")return null;if(typeof M!="string")return M;try{return JSON.parse(decodeURIComponent(M))}catch{return M}}function I(M){return M.replace(/[A-Z]/g,h=>`-${h.toLowerCase()}`)}const V={setDataAttribute(M,h,b){M.setAttribute(`data-bs-${I(h)}`,b)},removeDataAttribute(M,h){M.removeAttribute(`data-bs-${I(h)}`)},getDataAttributes(M){if(!M)return{};const h={},b=Object.keys(M.dataset).filter(O=>O.startsWith("bs")&&!O.startsWith("bsConfig"));for(const O of b){let z=O.replace(/^bs/,"");z=z.charAt(0).toLowerCase()+z.slice(1,z.length),h[z]=D(M.dataset[O])}return h},getDataAttribute(M,h){return D(M.getAttribute(`data-bs-${I(h)}`))}};class K{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(h){return h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h}_mergeConfigObj(h,b){const O=_(b)?V.getDataAttribute(b,"config"):{};return{...this.constructor.Default,...typeof O=="object"?O:{},..._(b)?V.getDataAttributes(b):{},...typeof h=="object"?h:{}}}_typeCheckConfig(h,b=this.constructor.DefaultType){for(const[O,z]of Object.entries(b)){const nt=h[O],tt=_(nt)?"element":d(nt);if(!new RegExp(z).test(tt))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${O}" provided type "${tt}" but expected type "${z}".`)}}}const G="5.3.2";class Z extends K{constructor(h,b){super(),h=y(h),h&&(this._element=h,this._config=this._getConfig(b),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY);for(const h of Object.getOwnPropertyNames(this))this[h]=null}_queueCallback(h,b,O=!0){N(h,b,O)}_getConfig(h){return h=this._mergeConfigObj(h,this._element),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}static getInstance(h){return r.get(y(h),this.DATA_KEY)}static getOrCreateInstance(h,b={}){return this.getInstance(h)||new this(h,typeof b=="object"?b:null)}static get VERSION(){return G}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(h){return`${h}${this.EVENT_KEY}`}}const Q=M=>{let h=M.getAttribute("data-bs-target");if(!h||h==="#"){let b=M.getAttribute("href");if(!b||!b.includes("#")&&!b.startsWith("."))return null;b.includes("#")&&!b.startsWith("#")&&(b=`#${b.split("#")[1]}`),h=b&&b!=="#"?u(b.trim()):null}return h},B={find(M,h=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(h,M))},findOne(M,h=document.documentElement){return Element.prototype.querySelector.call(h,M)},children(M,h){return[].concat(...M.children).filter(b=>b.matches(h))},parents(M,h){const b=[];let O=M.parentNode.closest(h);for(;O;)b.push(O),O=O.parentNode.closest(h);return b},prev(M,h){let b=M.previousElementSibling;for(;b;){if(b.matches(h))return[b];b=b.previousElementSibling}return[]},next(M,h){let b=M.nextElementSibling;for(;b;){if(b.matches(h))return[b];b=b.nextElementSibling}return[]},focusableChildren(M){const h=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(b=>`${b}:not([tabindex^="-"])`).join(",");return this.find(h,M).filter(b=>!S(b)&&x(b))},getSelectorFromElement(M){const h=Q(M);return h&&B.findOne(h)?h:null},getElementFromSelector(M){const h=Q(M);return h?B.findOne(h):null},getMultipleElementsFromSelector(M){const h=Q(M);return h?B.find(h):[]}},q=(M,h="hide")=>{const b=`click.dismiss${M.EVENT_KEY}`,O=M.NAME;F.on(document,b,`[data-bs-dismiss="${O}"]`,function(z){if(["A","AREA"].includes(this.tagName)&&z.preventDefault(),S(this))return;const nt=B.getElementFromSelector(this)||this.closest(`.${O}`);M.getOrCreateInstance(nt)[h]()})},at="alert",ut=".bs.alert",gt=`close${ut}`,vt=`closed${ut}`,Dt="fade",It="show";class zt extends Z{static get NAME(){return at}close(){if(F.trigger(this._element,gt).defaultPrevented)return;this._element.classList.remove(It);const b=this._element.classList.contains(Dt);this._queueCallback(()=>this._destroyElement(),this._element,b)}_destroyElement(){this._element.remove(),F.trigger(this._element,vt),this.dispose()}static jQueryInterface(h){return this.each(function(){const b=zt.getOrCreateInstance(this);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}q(zt,"close"),$(zt);const Ae="button",ur=".bs.button",ms=".data-api",dr="active",ce='[data-bs-toggle="button"]',Re=`click${ur}${ms}`;class Rn extends Z{static get NAME(){return Ae}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(dr))}static jQueryInterface(h){return this.each(function(){const b=Rn.getOrCreateInstance(this);h==="toggle"&&b[h]()})}}F.on(document,Re,ce,M=>{M.preventDefault();const h=M.target.closest(ce);Rn.getOrCreateInstance(h).toggle()}),$(Rn);const _b="swipe",Qs=".bs.swipe",bb=`touchstart${Qs}`,yb=`touchmove${Qs}`,vb=`touchend${Qs}`,xb=`pointerdown${Qs}`,wb=`pointerup${Qs}`,Eb="touch",Sb="pen",Cb="pointer-event",Ab=40,Tb={endCallback:null,leftCallback:null,rightCallback:null},Pb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class hr extends K{constructor(h,b){super(),this._element=h,!(!h||!hr.isSupported())&&(this._config=this._getConfig(b),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Tb}static get DefaultType(){return Pb}static get NAME(){return _b}dispose(){F.off(this._element,Qs)}_start(h){if(!this._supportPointerEvents){this._deltaX=h.touches[0].clientX;return}this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX)}_end(h){this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX-this._deltaX),this._handleSwipe(),L(this._config.endCallback)}_move(h){this._deltaX=h.touches&&h.touches.length>1?0:h.touches[0].clientX-this._deltaX}_handleSwipe(){const h=Math.abs(this._deltaX);if(h<=Ab)return;const b=h/this._deltaX;this._deltaX=0,b&&L(b>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,xb,h=>this._start(h)),F.on(this._element,wb,h=>this._end(h)),this._element.classList.add(Cb)):(F.on(this._element,bb,h=>this._start(h)),F.on(this._element,yb,h=>this._move(h)),F.on(this._element,vb,h=>this._end(h)))}_eventIsPointerPenTouch(h){return this._supportPointerEvents&&(h.pointerType===Sb||h.pointerType===Eb)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Mb="carousel",Nn=".bs.carousel",nd=".data-api",kb="ArrowLeft",Ob="ArrowRight",Db=500,Zi="next",Js="prev",Zs="left",fr="right",$b=`slide${Nn}`,al=`slid${Nn}`,Lb=`keydown${Nn}`,Ib=`mouseenter${Nn}`,Rb=`mouseleave${Nn}`,Nb=`dragstart${Nn}`,Fb=`load${Nn}${nd}`,Bb=`click${Nn}${nd}`,sd="carousel",pr="active",Vb="slide",Hb="carousel-item-end",jb="carousel-item-start",Wb="carousel-item-next",zb="carousel-item-prev",id=".active",od=".carousel-item",Ub=id+od,Kb=".carousel-item img",Yb=".carousel-indicators",qb="[data-bs-slide], [data-bs-slide-to]",Gb='[data-bs-ride="carousel"]',Xb={[kb]:fr,[Ob]:Zs},Qb={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Jb={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ti extends Z{constructor(h,b){super(h,b),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=B.findOne(Yb,this._element),this._addEventListeners(),this._config.ride===sd&&this.cycle()}static get Default(){return Qb}static get DefaultType(){return Jb}static get NAME(){return Mb}next(){this._slide(Zi)}nextWhenVisible(){!document.hidden&&x(this._element)&&this.next()}prev(){this._slide(Js)}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){F.one(this._element,al,()=>this.cycle());return}this.cycle()}}to(h){const b=this._getItems();if(h>b.length-1||h<0)return;if(this._isSliding){F.one(this._element,al,()=>this.to(h));return}const O=this._getItemIndex(this._getActive());if(O===h)return;const z=h>O?Zi:Js;this._slide(z,b[h])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(h){return h.defaultInterval=h.interval,h}_addEventListeners(){this._config.keyboard&&F.on(this._element,Lb,h=>this._keydown(h)),this._config.pause==="hover"&&(F.on(this._element,Ib,()=>this.pause()),F.on(this._element,Rb,()=>this._maybeEnableCycle())),this._config.touch&&hr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const O of B.find(Kb,this._element))F.on(O,Nb,z=>z.preventDefault());const b={leftCallback:()=>this._slide(this._directionToOrder(Zs)),rightCallback:()=>this._slide(this._directionToOrder(fr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Db+this._config.interval))}};this._swipeHelper=new hr(this._element,b)}_keydown(h){if(/input|textarea/i.test(h.target.tagName))return;const b=Xb[h.key];b&&(h.preventDefault(),this._slide(this._directionToOrder(b)))}_getItemIndex(h){return this._getItems().indexOf(h)}_setActiveIndicatorElement(h){if(!this._indicatorsElement)return;const b=B.findOne(id,this._indicatorsElement);b.classList.remove(pr),b.removeAttribute("aria-current");const O=B.findOne(`[data-bs-slide-to="${h}"]`,this._indicatorsElement);O&&(O.classList.add(pr),O.setAttribute("aria-current","true"))}_updateInterval(){const h=this._activeElement||this._getActive();if(!h)return;const b=Number.parseInt(h.getAttribute("data-bs-interval"),10);this._config.interval=b||this._config.defaultInterval}_slide(h,b=null){if(this._isSliding)return;const O=this._getActive(),z=h===Zi,nt=b||X(this._getItems(),O,z,this._config.wrap);if(nt===O)return;const tt=this._getItemIndex(nt),St=Er=>F.trigger(this._element,Er,{relatedTarget:nt,direction:this._orderToDirection(h),from:this._getItemIndex(O),to:tt});if(St($b).defaultPrevented||!O||!nt)return;const Fe=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(tt),this._activeElement=nt;const se=z?jb:Hb,en=z?Wb:zb;nt.classList.add(en),v(nt),O.classList.add(se),nt.classList.add(se);const Xe=()=>{nt.classList.remove(se,en),nt.classList.add(pr),O.classList.remove(pr,en,se),this._isSliding=!1,St(al)};this._queueCallback(Xe,O,this._isAnimated()),Fe&&this.cycle()}_isAnimated(){return this._element.classList.contains(Vb)}_getActive(){return B.findOne(Ub,this._element)}_getItems(){return B.find(od,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(h){return k()?h===Zs?Js:Zi:h===Zs?Zi:Js}_orderToDirection(h){return k()?h===Js?Zs:fr:h===Js?fr:Zs}static jQueryInterface(h){return this.each(function(){const b=ti.getOrCreateInstance(this,h);if(typeof h=="number"){b.to(h);return}if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(document,Bb,qb,function(M){const h=B.getElementFromSelector(this);if(!h||!h.classList.contains(sd))return;M.preventDefault();const b=ti.getOrCreateInstance(h),O=this.getAttribute("data-bs-slide-to");if(O){b.to(O),b._maybeEnableCycle();return}if(V.getDataAttribute(this,"slide")==="next"){b.next(),b._maybeEnableCycle();return}b.prev(),b._maybeEnableCycle()}),F.on(window,Fb,()=>{const M=B.find(Gb);for(const h of M)ti.getOrCreateInstance(h)}),$(ti);const Zb="collapse",to=".bs.collapse",ty=".data-api",ey=`show${to}`,ny=`shown${to}`,sy=`hide${to}`,iy=`hidden${to}`,oy=`click${to}${ty}`,ll="show",ei="collapse",gr="collapsing",ry="collapsed",ay=`:scope .${ei} .${ei}`,ly="collapse-horizontal",cy="width",uy="height",dy=".collapse.show, .collapse.collapsing",cl='[data-bs-toggle="collapse"]',hy={parent:null,toggle:!0},fy={parent:"(null|element)",toggle:"boolean"};class ni extends Z{constructor(h,b){super(h,b),this._isTransitioning=!1,this._triggerArray=[];const O=B.find(cl);for(const z of O){const nt=B.getSelectorFromElement(z),tt=B.find(nt).filter(St=>St===this._element);nt!==null&&tt.length&&this._triggerArray.push(z)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return hy}static get DefaultType(){return fy}static get NAME(){return Zb}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let h=[];if(this._config.parent&&(h=this._getFirstLevelChildren(dy).filter(St=>St!==this._element).map(St=>ni.getOrCreateInstance(St,{toggle:!1}))),h.length&&h[0]._isTransitioning||F.trigger(this._element,ey).defaultPrevented)return;for(const St of h)St.hide();const O=this._getDimension();this._element.classList.remove(ei),this._element.classList.add(gr),this._element.style[O]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const z=()=>{this._isTransitioning=!1,this._element.classList.remove(gr),this._element.classList.add(ei,ll),this._element.style[O]="",F.trigger(this._element,ny)},tt=`scroll${O[0].toUpperCase()+O.slice(1)}`;this._queueCallback(z,this._element,!0),this._element.style[O]=`${this._element[tt]}px`}hide(){if(this._isTransitioning||!this._isShown()||F.trigger(this._element,sy).defaultPrevented)return;const b=this._getDimension();this._element.style[b]=`${this._element.getBoundingClientRect()[b]}px`,v(this._element),this._element.classList.add(gr),this._element.classList.remove(ei,ll);for(const z of this._triggerArray){const nt=B.getElementFromSelector(z);nt&&!this._isShown(nt)&&this._addAriaAndCollapsedClass([z],!1)}this._isTransitioning=!0;const O=()=>{this._isTransitioning=!1,this._element.classList.remove(gr),this._element.classList.add(ei),F.trigger(this._element,iy)};this._element.style[b]="",this._queueCallback(O,this._element,!0)}_isShown(h=this._element){return h.classList.contains(ll)}_configAfterMerge(h){return h.toggle=!!h.toggle,h.parent=y(h.parent),h}_getDimension(){return this._element.classList.contains(ly)?cy:uy}_initializeChildren(){if(!this._config.parent)return;const h=this._getFirstLevelChildren(cl);for(const b of h){const O=B.getElementFromSelector(b);O&&this._addAriaAndCollapsedClass([b],this._isShown(O))}}_getFirstLevelChildren(h){const b=B.find(ay,this._config.parent);return B.find(h,this._config.parent).filter(O=>!b.includes(O))}_addAriaAndCollapsedClass(h,b){if(h.length)for(const O of h)O.classList.toggle(ry,!b),O.setAttribute("aria-expanded",b)}static jQueryInterface(h){const b={};return typeof h=="string"&&/show|hide/.test(h)&&(b.toggle=!1),this.each(function(){const O=ni.getOrCreateInstance(this,b);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h]()}})}}F.on(document,oy,cl,function(M){(M.target.tagName==="A"||M.delegateTarget&&M.delegateTarget.tagName==="A")&&M.preventDefault();for(const h of B.getMultipleElementsFromSelector(this))ni.getOrCreateInstance(h,{toggle:!1}).toggle()}),$(ni);const rd="dropdown",_s=".bs.dropdown",ul=".data-api",py="Escape",ad="Tab",gy="ArrowUp",ld="ArrowDown",my=2,_y=`hide${_s}`,by=`hidden${_s}`,yy=`show${_s}`,vy=`shown${_s}`,cd=`click${_s}${ul}`,ud=`keydown${_s}${ul}`,xy=`keyup${_s}${ul}`,si="show",wy="dropup",Ey="dropend",Sy="dropstart",Cy="dropup-center",Ay="dropdown-center",bs='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ty=`${bs}.${si}`,mr=".dropdown-menu",Py=".navbar",My=".navbar-nav",ky=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Oy=k()?"top-end":"top-start",Dy=k()?"top-start":"top-end",$y=k()?"bottom-end":"bottom-start",Ly=k()?"bottom-start":"bottom-end",Iy=k()?"left-start":"right-start",Ry=k()?"right-start":"left-start",Ny="top",Fy="bottom",By={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Vy={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ge extends Z{constructor(h,b){super(h,b),this._popper=null,this._parent=this._element.parentNode,this._menu=B.next(this._element,mr)[0]||B.prev(this._element,mr)[0]||B.findOne(mr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return By}static get DefaultType(){return Vy}static get NAME(){return rd}toggle(){return this._isShown()?this.hide():this.show()}show(){if(S(this._element)||this._isShown())return;const h={relatedTarget:this._element};if(!F.trigger(this._element,yy,h).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(My))for(const O of[].concat(...document.body.children))F.on(O,"mouseover",C);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(si),this._element.classList.add(si),F.trigger(this._element,vy,h)}}hide(){if(S(this._element)||!this._isShown())return;const h={relatedTarget:this._element};this._completeHide(h)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(h){if(!F.trigger(this._element,_y,h).defaultPrevented){if("ontouchstart"in document.documentElement)for(const O of[].concat(...document.body.children))F.off(O,"mouseover",C);this._popper&&this._popper.destroy(),this._menu.classList.remove(si),this._element.classList.remove(si),this._element.setAttribute("aria-expanded","false"),V.removeDataAttribute(this._menu,"popper"),F.trigger(this._element,by,h)}}_getConfig(h){if(h=super._getConfig(h),typeof h.reference=="object"&&!_(h.reference)&&typeof h.reference.getBoundingClientRect!="function")throw new TypeError(`${rd.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return h}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let h=this._element;this._config.reference==="parent"?h=this._parent:_(this._config.reference)?h=y(this._config.reference):typeof this._config.reference=="object"&&(h=this._config.reference);const b=this._getPopperConfig();this._popper=i.createPopper(h,this._menu,b)}_isShown(){return this._menu.classList.contains(si)}_getPlacement(){const h=this._parent;if(h.classList.contains(Ey))return Iy;if(h.classList.contains(Sy))return Ry;if(h.classList.contains(Cy))return Ny;if(h.classList.contains(Ay))return Fy;const b=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return h.classList.contains(wy)?b?Dy:Oy:b?Ly:$y}_detectNavbar(){return this._element.closest(Py)!==null}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(b=>Number.parseInt(b,10)):typeof h=="function"?b=>h(b,this._element):h}_getPopperConfig(){const h={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(V.setDataAttribute(this._menu,"popper","static"),h.modifiers=[{name:"applyStyles",enabled:!1}]),{...h,...L(this._config.popperConfig,[h])}}_selectMenuItem({key:h,target:b}){const O=B.find(ky,this._menu).filter(z=>x(z));O.length&&X(O,b,h===ld,!O.includes(b)).focus()}static jQueryInterface(h){return this.each(function(){const b=Ge.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}static clearMenus(h){if(h.button===my||h.type==="keyup"&&h.key!==ad)return;const b=B.find(Ty);for(const O of b){const z=Ge.getInstance(O);if(!z||z._config.autoClose===!1)continue;const nt=h.composedPath(),tt=nt.includes(z._menu);if(nt.includes(z._element)||z._config.autoClose==="inside"&&!tt||z._config.autoClose==="outside"&&tt||z._menu.contains(h.target)&&(h.type==="keyup"&&h.key===ad||/input|select|option|textarea|form/i.test(h.target.tagName)))continue;const St={relatedTarget:z._element};h.type==="click"&&(St.clickEvent=h),z._completeHide(St)}}static dataApiKeydownHandler(h){const b=/input|textarea/i.test(h.target.tagName),O=h.key===py,z=[gy,ld].includes(h.key);if(!z&&!O||b&&!O)return;h.preventDefault();const nt=this.matches(bs)?this:B.prev(this,bs)[0]||B.next(this,bs)[0]||B.findOne(bs,h.delegateTarget.parentNode),tt=Ge.getOrCreateInstance(nt);if(z){h.stopPropagation(),tt.show(),tt._selectMenuItem(h);return}tt._isShown()&&(h.stopPropagation(),tt.hide(),nt.focus())}}F.on(document,ud,bs,Ge.dataApiKeydownHandler),F.on(document,ud,mr,Ge.dataApiKeydownHandler),F.on(document,cd,Ge.clearMenus),F.on(document,xy,Ge.clearMenus),F.on(document,cd,bs,function(M){M.preventDefault(),Ge.getOrCreateInstance(this).toggle()}),$(Ge);const dd="backdrop",Hy="fade",hd="show",fd=`mousedown.bs.${dd}`,jy={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Wy={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class pd extends K{constructor(h){super(),this._config=this._getConfig(h),this._isAppended=!1,this._element=null}static get Default(){return jy}static get DefaultType(){return Wy}static get NAME(){return dd}show(h){if(!this._config.isVisible){L(h);return}this._append();const b=this._getElement();this._config.isAnimated&&v(b),b.classList.add(hd),this._emulateAnimation(()=>{L(h)})}hide(h){if(!this._config.isVisible){L(h);return}this._getElement().classList.remove(hd),this._emulateAnimation(()=>{this.dispose(),L(h)})}dispose(){this._isAppended&&(F.off(this._element,fd),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const h=document.createElement("div");h.className=this._config.className,this._config.isAnimated&&h.classList.add(Hy),this._element=h}return this._element}_configAfterMerge(h){return h.rootElement=y(h.rootElement),h}_append(){if(this._isAppended)return;const h=this._getElement();this._config.rootElement.append(h),F.on(h,fd,()=>{L(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(h){N(h,this._getElement(),this._config.isAnimated)}}const zy="focustrap",_r=".bs.focustrap",Uy=`focusin${_r}`,Ky=`keydown.tab${_r}`,Yy="Tab",qy="forward",gd="backward",Gy={autofocus:!0,trapElement:null},Xy={autofocus:"boolean",trapElement:"element"};class md extends K{constructor(h){super(),this._config=this._getConfig(h),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Gy}static get DefaultType(){return Xy}static get NAME(){return zy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,_r),F.on(document,Uy,h=>this._handleFocusin(h)),F.on(document,Ky,h=>this._handleKeydown(h)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,_r))}_handleFocusin(h){const{trapElement:b}=this._config;if(h.target===document||h.target===b||b.contains(h.target))return;const O=B.focusableChildren(b);O.length===0?b.focus():this._lastTabNavDirection===gd?O[O.length-1].focus():O[0].focus()}_handleKeydown(h){h.key===Yy&&(this._lastTabNavDirection=h.shiftKey?gd:qy)}}const _d=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",bd=".sticky-top",br="padding-right",yd="margin-right";class dl{constructor(){this._element=document.body}getWidth(){const h=document.documentElement.clientWidth;return Math.abs(window.innerWidth-h)}hide(){const h=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,br,b=>b+h),this._setElementAttributes(_d,br,b=>b+h),this._setElementAttributes(bd,yd,b=>b-h)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,br),this._resetElementAttributes(_d,br),this._resetElementAttributes(bd,yd)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(h,b,O){const z=this.getWidth(),nt=tt=>{if(tt!==this._element&&window.innerWidth>tt.clientWidth+z)return;this._saveInitialAttribute(tt,b);const St=window.getComputedStyle(tt).getPropertyValue(b);tt.style.setProperty(b,`${O(Number.parseFloat(St))}px`)};this._applyManipulationCallback(h,nt)}_saveInitialAttribute(h,b){const O=h.style.getPropertyValue(b);O&&V.setDataAttribute(h,b,O)}_resetElementAttributes(h,b){const O=z=>{const nt=V.getDataAttribute(z,b);if(nt===null){z.style.removeProperty(b);return}V.removeDataAttribute(z,b),z.style.setProperty(b,nt)};this._applyManipulationCallback(h,O)}_applyManipulationCallback(h,b){if(_(h)){b(h);return}for(const O of B.find(h,this._element))b(O)}}const Qy="modal",Ne=".bs.modal",Jy=".data-api",Zy="Escape",tv=`hide${Ne}`,ev=`hidePrevented${Ne}`,vd=`hidden${Ne}`,xd=`show${Ne}`,nv=`shown${Ne}`,sv=`resize${Ne}`,iv=`click.dismiss${Ne}`,ov=`mousedown.dismiss${Ne}`,rv=`keydown.dismiss${Ne}`,av=`click${Ne}${Jy}`,wd="modal-open",lv="fade",Ed="show",hl="modal-static",cv=".modal.show",uv=".modal-dialog",dv=".modal-body",hv='[data-bs-toggle="modal"]',fv={backdrop:!0,focus:!0,keyboard:!0},pv={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ys extends Z{constructor(h,b){super(h,b),this._dialog=B.findOne(uv,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new dl,this._addEventListeners()}static get Default(){return fv}static get DefaultType(){return pv}static get NAME(){return Qy}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){this._isShown||this._isTransitioning||F.trigger(this._element,xd,{relatedTarget:h}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wd),this._adjustDialog(),this._backdrop.show(()=>this._showElement(h)))}hide(){!this._isShown||this._isTransitioning||F.trigger(this._element,tv).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ed),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){F.off(window,Ne),F.off(this._dialog,Ne),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new pd({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new md({trapElement:this._element})}_showElement(h){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(dv,this._dialog);b&&(b.scrollTop=0),v(this._element),this._element.classList.add(Ed);const O=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,nv,{relatedTarget:h})};this._queueCallback(O,this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,rv,h=>{if(h.key===Zy){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),F.on(window,sv,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),F.on(this._element,ov,h=>{F.one(this._element,iv,b=>{if(!(this._element!==h.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(wd),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,vd)})}_isAnimated(){return this._element.classList.contains(lv)}_triggerBackdropTransition(){if(F.trigger(this._element,ev).defaultPrevented)return;const b=this._element.scrollHeight>document.documentElement.clientHeight,O=this._element.style.overflowY;O==="hidden"||this._element.classList.contains(hl)||(b||(this._element.style.overflowY="hidden"),this._element.classList.add(hl),this._queueCallback(()=>{this._element.classList.remove(hl),this._queueCallback(()=>{this._element.style.overflowY=O},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const h=this._element.scrollHeight>document.documentElement.clientHeight,b=this._scrollBar.getWidth(),O=b>0;if(O&&!h){const z=k()?"paddingLeft":"paddingRight";this._element.style[z]=`${b}px`}if(!O&&h){const z=k()?"paddingRight":"paddingLeft";this._element.style[z]=`${b}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(h,b){return this.each(function(){const O=ys.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h](b)}})}}F.on(document,av,hv,function(M){const h=B.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&M.preventDefault(),F.one(h,xd,z=>{z.defaultPrevented||F.one(h,vd,()=>{x(this)&&this.focus()})});const b=B.findOne(cv);b&&ys.getInstance(b).hide(),ys.getOrCreateInstance(h).toggle(this)}),q(ys),$(ys);const gv="offcanvas",gn=".bs.offcanvas",Sd=".data-api",mv=`load${gn}${Sd}`,_v="Escape",Cd="show",Ad="showing",Td="hiding",bv="offcanvas-backdrop",Pd=".offcanvas.show",yv=`show${gn}`,vv=`shown${gn}`,xv=`hide${gn}`,Md=`hidePrevented${gn}`,kd=`hidden${gn}`,wv=`resize${gn}`,Ev=`click${gn}${Sd}`,Sv=`keydown.dismiss${gn}`,Cv='[data-bs-toggle="offcanvas"]',Av={backdrop:!0,keyboard:!0,scroll:!1},Tv={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class mn extends Z{constructor(h,b){super(h,b),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Av}static get DefaultType(){return Tv}static get NAME(){return gv}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){if(this._isShown||F.trigger(this._element,yv,{relatedTarget:h}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new dl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Ad);const O=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Cd),this._element.classList.remove(Ad),F.trigger(this._element,vv,{relatedTarget:h})};this._queueCallback(O,this._element,!0)}hide(){if(!this._isShown||F.trigger(this._element,xv).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Td),this._backdrop.hide();const b=()=>{this._element.classList.remove(Cd,Td),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new dl().reset(),F.trigger(this._element,kd)};this._queueCallback(b,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const h=()=>{if(this._config.backdrop==="static"){F.trigger(this._element,Md);return}this.hide()},b=!!this._config.backdrop;return new pd({className:bv,isVisible:b,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:b?h:null})}_initializeFocusTrap(){return new md({trapElement:this._element})}_addEventListeners(){F.on(this._element,Sv,h=>{if(h.key===_v){if(this._config.keyboard){this.hide();return}F.trigger(this._element,Md)}})}static jQueryInterface(h){return this.each(function(){const b=mn.getOrCreateInstance(this,h);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}F.on(document,Ev,Cv,function(M){const h=B.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&M.preventDefault(),S(this))return;F.one(h,kd,()=>{x(this)&&this.focus()});const b=B.findOne(Pd);b&&b!==h&&mn.getInstance(b).hide(),mn.getOrCreateInstance(h).toggle(this)}),F.on(window,mv,()=>{for(const M of B.find(Pd))mn.getOrCreateInstance(M).show()}),F.on(window,wv,()=>{for(const M of B.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(M).position!=="fixed"&&mn.getOrCreateInstance(M).hide()}),q(mn),$(mn);const Od={"*":["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:[]},Pv=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Mv=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,kv=(M,h)=>{const b=M.nodeName.toLowerCase();return h.includes(b)?Pv.has(b)?!!Mv.test(M.nodeValue):!0:h.filter(O=>O instanceof RegExp).some(O=>O.test(b))};function Ov(M,h,b){if(!M.length)return M;if(b&&typeof b=="function")return b(M);const z=new window.DOMParser().parseFromString(M,"text/html"),nt=[].concat(...z.body.querySelectorAll("*"));for(const tt of nt){const St=tt.nodeName.toLowerCase();if(!Object.keys(h).includes(St)){tt.remove();continue}const be=[].concat(...tt.attributes),Fe=[].concat(h["*"]||[],h[St]||[]);for(const se of be)kv(se,Fe)||tt.removeAttribute(se.nodeName)}return z.body.innerHTML}const Dv="TemplateFactory",$v={allowList:Od,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Lv={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Iv={entry:"(string|element|function|null)",selector:"(string|element)"};class Rv extends K{constructor(h){super(),this._config=this._getConfig(h)}static get Default(){return $v}static get DefaultType(){return Lv}static get NAME(){return Dv}getContent(){return Object.values(this._config.content).map(h=>this._resolvePossibleFunction(h)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(h){return this._checkContent(h),this._config.content={...this._config.content,...h},this}toHtml(){const h=document.createElement("div");h.innerHTML=this._maybeSanitize(this._config.template);for(const[z,nt]of Object.entries(this._config.content))this._setContent(h,nt,z);const b=h.children[0],O=this._resolvePossibleFunction(this._config.extraClass);return O&&b.classList.add(...O.split(" ")),b}_typeCheckConfig(h){super._typeCheckConfig(h),this._checkContent(h.content)}_checkContent(h){for(const[b,O]of Object.entries(h))super._typeCheckConfig({selector:b,entry:O},Iv)}_setContent(h,b,O){const z=B.findOne(O,h);if(z){if(b=this._resolvePossibleFunction(b),!b){z.remove();return}if(_(b)){this._putElementInTemplate(y(b),z);return}if(this._config.html){z.innerHTML=this._maybeSanitize(b);return}z.textContent=b}}_maybeSanitize(h){return this._config.sanitize?Ov(h,this._config.allowList,this._config.sanitizeFn):h}_resolvePossibleFunction(h){return L(h,[this])}_putElementInTemplate(h,b){if(this._config.html){b.innerHTML="",b.append(h);return}b.textContent=h.textContent}}const Nv="tooltip",Fv=new Set(["sanitize","allowList","sanitizeFn"]),fl="fade",Bv="modal",yr="show",Vv=".tooltip-inner",Dd=`.${Bv}`,$d="hide.bs.modal",eo="hover",pl="focus",Hv="click",jv="manual",Wv="hide",zv="hidden",Uv="show",Kv="shown",Yv="inserted",qv="click",Gv="focusin",Xv="focusout",Qv="mouseenter",Jv="mouseleave",Zv={AUTO:"auto",TOP:"top",RIGHT:k()?"left":"right",BOTTOM:"bottom",LEFT:k()?"right":"left"},t0={allowList:Od,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 vs extends Z{constructor(h,b){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(h,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 t0}static get DefaultType(){return e0}static get NAME(){return Nv}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),F.off(this._element.closest(Dd),$d,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 h=F.trigger(this._element,this.constructor.eventName(Uv)),O=(P(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(h.defaultPrevented||!O)return;this._disposePopper();const z=this._getTipElement();this._element.setAttribute("aria-describedby",z.getAttribute("id"));const{container:nt}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(nt.append(z),F.trigger(this._element,this.constructor.eventName(Yv))),this._popper=this._createPopper(z),z.classList.add(yr),"ontouchstart"in document.documentElement)for(const St of[].concat(...document.body.children))F.on(St,"mouseover",C);const tt=()=>{F.trigger(this._element,this.constructor.eventName(Kv)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(tt,this.tip,this._isAnimated())}hide(){if(!this._isShown()||F.trigger(this._element,this.constructor.eventName(Wv)).defaultPrevented)return;if(this._getTipElement().classList.remove(yr),"ontouchstart"in document.documentElement)for(const z of[].concat(...document.body.children))F.off(z,"mouseover",C);this._activeTrigger[Hv]=!1,this._activeTrigger[pl]=!1,this._activeTrigger[eo]=!1,this._isHovered=null;const O=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName(zv)))};this._queueCallback(O,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(h){const b=this._getTemplateFactory(h).toHtml();if(!b)return null;b.classList.remove(fl,yr),b.classList.add(`bs-${this.constructor.NAME}-auto`);const O=f(this.constructor.NAME).toString();return b.setAttribute("id",O),this._isAnimated()&&b.classList.add(fl),b}setContent(h){this._newContent=h,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(h){return this._templateFactory?this._templateFactory.changeContent(h):this._templateFactory=new Rv({...this._config,content:h,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Vv]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(h){return this.constructor.getOrCreateInstance(h.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(fl)}_isShown(){return this.tip&&this.tip.classList.contains(yr)}_createPopper(h){const b=L(this._config.placement,[this,h,this._element]),O=Zv[b.toUpperCase()];return i.createPopper(this._element,h,this._getPopperConfig(O))}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(b=>Number.parseInt(b,10)):typeof h=="function"?b=>h(b,this._element):h}_resolvePossibleFunction(h){return L(h,[this._element])}_getPopperConfig(h){const b={placement:h,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:O=>{this._getTipElement().setAttribute("data-popper-placement",O.state.placement)}}]};return{...b,...L(this._config.popperConfig,[b])}}_setListeners(){const h=this._config.trigger.split(" ");for(const b of h)if(b==="click")F.on(this._element,this.constructor.eventName(qv),this._config.selector,O=>{this._initializeOnDelegatedTarget(O).toggle()});else if(b!==jv){const O=b===eo?this.constructor.eventName(Qv):this.constructor.eventName(Gv),z=b===eo?this.constructor.eventName(Jv):this.constructor.eventName(Xv);F.on(this._element,O,this._config.selector,nt=>{const tt=this._initializeOnDelegatedTarget(nt);tt._activeTrigger[nt.type==="focusin"?pl:eo]=!0,tt._enter()}),F.on(this._element,z,this._config.selector,nt=>{const tt=this._initializeOnDelegatedTarget(nt);tt._activeTrigger[nt.type==="focusout"?pl:eo]=tt._element.contains(nt.relatedTarget),tt._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Dd),$d,this._hideModalHandler)}_fixTitle(){const h=this._element.getAttribute("title");h&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",h),this._element.setAttribute("data-bs-original-title",h),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(h,b){clearTimeout(this._timeout),this._timeout=setTimeout(h,b)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(h){const b=V.getDataAttributes(this._element);for(const O of Object.keys(b))Fv.has(O)&&delete b[O];return h={...b,...typeof h=="object"&&h?h:{}},h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h.container=h.container===!1?document.body:y(h.container),typeof h.delay=="number"&&(h.delay={show:h.delay,hide:h.delay}),typeof h.title=="number"&&(h.title=h.title.toString()),typeof h.content=="number"&&(h.content=h.content.toString()),h}_getDelegateConfig(){const h={};for(const[b,O]of Object.entries(this._config))this.constructor.Default[b]!==O&&(h[b]=O);return h.selector=!1,h.trigger="manual",h}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(h){return this.each(function(){const b=vs.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}}$(vs);const n0="popover",s0=".popover-header",i0=".popover-body",o0={...vs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},r0={...vs.DefaultType,content:"(null|string|element|function)"};class vr extends vs{static get Default(){return o0}static get DefaultType(){return r0}static get NAME(){return n0}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[s0]:this._getTitle(),[i0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(h){return this.each(function(){const b=vr.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}}$(vr);const a0="scrollspy",gl=".bs.scrollspy",l0=".data-api",c0=`activate${gl}`,Ld=`click${gl}`,u0=`load${gl}${l0}`,d0="dropdown-item",ii="active",h0='[data-bs-spy="scroll"]',ml="[href]",f0=".nav, .list-group",Id=".nav-link",p0=`${Id}, .nav-item > ${Id}, .list-group-item`,g0=".dropdown",m0=".dropdown-toggle",_0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},b0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class no extends Z{constructor(h,b){super(h,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 _0}static get DefaultType(){return b0}static get NAME(){return a0}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const h of this._observableSections.values())this._observer.observe(h)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(h){return h.target=y(h.target)||document.body,h.rootMargin=h.offset?`${h.offset}px 0px -30%`:h.rootMargin,typeof h.threshold=="string"&&(h.threshold=h.threshold.split(",").map(b=>Number.parseFloat(b))),h}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,Ld),F.on(this._config.target,Ld,ml,h=>{const b=this._observableSections.get(h.target.hash);if(b){h.preventDefault();const O=this._rootElement||window,z=b.offsetTop-this._element.offsetTop;if(O.scrollTo){O.scrollTo({top:z,behavior:"smooth"});return}O.scrollTop=z}}))}_getNewObserver(){const h={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(b=>this._observerCallback(b),h)}_observerCallback(h){const b=tt=>this._targetLinks.get(`#${tt.target.id}`),O=tt=>{this._previousScrollData.visibleEntryTop=tt.target.offsetTop,this._process(b(tt))},z=(this._rootElement||document.documentElement).scrollTop,nt=z>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=z;for(const tt of h){if(!tt.isIntersecting){this._activeTarget=null,this._clearActiveClass(b(tt));continue}const St=tt.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(nt&&St){if(O(tt),!z)return;continue}!nt&&!St&&O(tt)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const h=B.find(ml,this._config.target);for(const b of h){if(!b.hash||S(b))continue;const O=B.findOne(decodeURI(b.hash),this._element);x(O)&&(this._targetLinks.set(decodeURI(b.hash),b),this._observableSections.set(b.hash,O))}}_process(h){this._activeTarget!==h&&(this._clearActiveClass(this._config.target),this._activeTarget=h,h.classList.add(ii),this._activateParents(h),F.trigger(this._element,c0,{relatedTarget:h}))}_activateParents(h){if(h.classList.contains(d0)){B.findOne(m0,h.closest(g0)).classList.add(ii);return}for(const b of B.parents(h,f0))for(const O of B.prev(b,p0))O.classList.add(ii)}_clearActiveClass(h){h.classList.remove(ii);const b=B.find(`${ml}.${ii}`,h);for(const O of b)O.classList.remove(ii)}static jQueryInterface(h){return this.each(function(){const b=no.getOrCreateInstance(this,h);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(window,u0,()=>{for(const M of B.find(h0))no.getOrCreateInstance(M)}),$(no);const y0="tab",xs=".bs.tab",v0=`hide${xs}`,x0=`hidden${xs}`,w0=`show${xs}`,E0=`shown${xs}`,S0=`click${xs}`,C0=`keydown${xs}`,A0=`load${xs}`,T0="ArrowLeft",Rd="ArrowRight",P0="ArrowUp",Nd="ArrowDown",_l="Home",Fd="End",ws="active",Bd="fade",bl="show",M0="dropdown",Vd=".dropdown-toggle",k0=".dropdown-menu",yl=`:not(${Vd})`,O0='.list-group, .nav, [role="tablist"]',D0=".nav-item, .list-group-item",$0=`.nav-link${yl}, .list-group-item${yl}, [role="tab"]${yl}`,Hd='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',vl=`${$0}, ${Hd}`,L0=`.${ws}[data-bs-toggle="tab"], .${ws}[data-bs-toggle="pill"], .${ws}[data-bs-toggle="list"]`;class Es extends Z{constructor(h){super(h),this._parent=this._element.closest(O0),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,C0,b=>this._keydown(b)))}static get NAME(){return y0}show(){const h=this._element;if(this._elemIsActive(h))return;const b=this._getActiveElem(),O=b?F.trigger(b,v0,{relatedTarget:h}):null;F.trigger(h,w0,{relatedTarget:b}).defaultPrevented||O&&O.defaultPrevented||(this._deactivate(b,h),this._activate(h,b))}_activate(h,b){if(!h)return;h.classList.add(ws),this._activate(B.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.add(bl);return}h.removeAttribute("tabindex"),h.setAttribute("aria-selected",!0),this._toggleDropDown(h,!0),F.trigger(h,E0,{relatedTarget:b})};this._queueCallback(O,h,h.classList.contains(Bd))}_deactivate(h,b){if(!h)return;h.classList.remove(ws),h.blur(),this._deactivate(B.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.remove(bl);return}h.setAttribute("aria-selected",!1),h.setAttribute("tabindex","-1"),this._toggleDropDown(h,!1),F.trigger(h,x0,{relatedTarget:b})};this._queueCallback(O,h,h.classList.contains(Bd))}_keydown(h){if(![T0,Rd,P0,Nd,_l,Fd].includes(h.key))return;h.stopPropagation(),h.preventDefault();const b=this._getChildren().filter(z=>!S(z));let O;if([_l,Fd].includes(h.key))O=b[h.key===_l?0:b.length-1];else{const z=[Rd,Nd].includes(h.key);O=X(b,h.target,z,!0)}O&&(O.focus({preventScroll:!0}),Es.getOrCreateInstance(O).show())}_getChildren(){return B.find(vl,this._parent)}_getActiveElem(){return this._getChildren().find(h=>this._elemIsActive(h))||null}_setInitialAttributes(h,b){this._setAttributeIfNotExists(h,"role","tablist");for(const O of b)this._setInitialAttributesOnChild(O)}_setInitialAttributesOnChild(h){h=this._getInnerElement(h);const b=this._elemIsActive(h),O=this._getOuterElement(h);h.setAttribute("aria-selected",b),O!==h&&this._setAttributeIfNotExists(O,"role","presentation"),b||h.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(h,"role","tab"),this._setInitialAttributesOnTargetPanel(h)}_setInitialAttributesOnTargetPanel(h){const b=B.getElementFromSelector(h);b&&(this._setAttributeIfNotExists(b,"role","tabpanel"),h.id&&this._setAttributeIfNotExists(b,"aria-labelledby",`${h.id}`))}_toggleDropDown(h,b){const O=this._getOuterElement(h);if(!O.classList.contains(M0))return;const z=(nt,tt)=>{const St=B.findOne(nt,O);St&&St.classList.toggle(tt,b)};z(Vd,ws),z(k0,bl),O.setAttribute("aria-expanded",b)}_setAttributeIfNotExists(h,b,O){h.hasAttribute(b)||h.setAttribute(b,O)}_elemIsActive(h){return h.classList.contains(ws)}_getInnerElement(h){return h.matches(vl)?h:B.findOne(vl,h)}_getOuterElement(h){return h.closest(D0)||h}static jQueryInterface(h){return this.each(function(){const b=Es.getOrCreateInstance(this);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(document,S0,Hd,function(M){["A","AREA"].includes(this.tagName)&&M.preventDefault(),!S(this)&&Es.getOrCreateInstance(this).show()}),F.on(window,A0,()=>{for(const M of B.find(L0))Es.getOrCreateInstance(M)}),$(Es);const I0="toast",Fn=".bs.toast",R0=`mouseover${Fn}`,N0=`mouseout${Fn}`,F0=`focusin${Fn}`,B0=`focusout${Fn}`,V0=`hide${Fn}`,H0=`hidden${Fn}`,j0=`show${Fn}`,W0=`shown${Fn}`,z0="fade",jd="hide",xr="show",wr="showing",U0={animation:"boolean",autohide:"boolean",delay:"number"},K0={animation:!0,autohide:!0,delay:5e3};class so extends Z{constructor(h,b){super(h,b),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return K0}static get DefaultType(){return U0}static get NAME(){return I0}show(){if(F.trigger(this._element,j0).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(z0);const b=()=>{this._element.classList.remove(wr),F.trigger(this._element,W0),this._maybeScheduleHide()};this._element.classList.remove(jd),v(this._element),this._element.classList.add(xr,wr),this._queueCallback(b,this._element,this._config.animation)}hide(){if(!this.isShown()||F.trigger(this._element,V0).defaultPrevented)return;const b=()=>{this._element.classList.add(jd),this._element.classList.remove(wr,xr),F.trigger(this._element,H0)};this._element.classList.add(wr),this._queueCallback(b,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(xr),super.dispose()}isShown(){return this._element.classList.contains(xr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(h,b){switch(h.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=b;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=b;break}}if(b){this._clearTimeout();return}const O=h.relatedTarget;this._element===O||this._element.contains(O)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,R0,h=>this._onInteraction(h,!0)),F.on(this._element,N0,h=>this._onInteraction(h,!1)),F.on(this._element,F0,h=>this._onInteraction(h,!0)),F.on(this._element,B0,h=>this._onInteraction(h,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(h){return this.each(function(){const b=so.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}return q(so),$(so),{Alert:zt,Button:Rn,Carousel:ti,Collapse:ni,Dropdown:Ge,Modal:ys,Offcanvas:mn,Popover:vr,ScrollSpy:no,Tab:Es,Toast:so,Tooltip:vs}})})(J0);function Jc(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const Vt={},gi=[],je=()=>{},jx=()=>!1,Ia=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Zc=e=>e.startsWith("onUpdate:"),Zt=Object.assign,tu=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Wx=Object.prototype.hasOwnProperty,$t=(e,t)=>Wx.call(e,t),dt=Array.isArray,mi=e=>Zo(e)==="[object Map]",Ki=e=>Zo(e)==="[object Set]",Qd=e=>Zo(e)==="[object Date]",bt=e=>typeof e=="function",Qt=e=>typeof e=="string",is=e=>typeof e=="symbol",Ft=e=>e!==null&&typeof e=="object",ag=e=>(Ft(e)||bt(e))&&bt(e.then)&&bt(e.catch),lg=Object.prototype.toString,Zo=e=>lg.call(e),zx=e=>Zo(e).slice(8,-1),cg=e=>Zo(e)==="[object Object]",eu=e=>Qt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Jr=Jc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ra=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ux=/-(\w)/g,fn=Ra(e=>e.replace(Ux,(t,n)=>n?n.toUpperCase():"")),Kx=/\B([A-Z])/g,Yi=Ra(e=>e.replace(Kx,"-$1").toLowerCase()),Na=Ra(e=>e.charAt(0).toUpperCase()+e.slice(1)),xl=Ra(e=>e?`on${Na(e)}`:""),os=(e,t)=>!Object.is(e,t),Zr=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ca=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ug=e=>{const t=Qt(e)?Number(e):NaN;return isNaN(t)?e:t};let Jd;const dg=()=>Jd||(Jd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function nu(e){if(dt(e)){const t={};for(let n=0;n{if(n){const s=n.split(qx);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function he(e){let t="";if(Qt(e))t=e;else if(dt(e))for(let n=0;nUs(n,t))}const Ct=e=>Qt(e)?e:e==null?"":dt(e)||Ft(e)&&(e.toString===lg||!bt(e.toString))?JSON.stringify(e,fg,2):String(e),fg=(e,t)=>t&&t.__v_isRef?fg(e,t.value):mi(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[wl(s,o)+" =>"]=i,n),{})}:Ki(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>wl(n))}:is(t)?wl(t):Ft(t)&&!dt(t)&&!cg(t)?String(t):t,wl=(e,t="")=>{var n;return is(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Pe;class pg{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Pe,!t&&Pe&&(this.index=(Pe.scopes||(Pe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Pe;try{return Pe=this,t()}finally{Pe=n}}}on(){Pe=this}off(){Pe=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break;Gs(),this._queryings--}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Zn,n=Ns;try{return Zn=!0,Ns=this,this._runnings++,Zd(this),this.fn()}finally{th(this),this._runnings--,Ns=n,Zn=t}}stop(){var t;this.active&&(Zd(this),th(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function ew(e){return e.value}function Zd(e){e._trackId++,e._depsLength=0}function th(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},ua=new WeakMap,Fs=Symbol(""),sc=Symbol("");function Se(e,t,n){if(Zn&&Ns){let s=ua.get(e);s||ua.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=xg(()=>s.delete(n))),yg(Ns,i)}}function kn(e,t,n,s,i,o){const r=ua.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(n==="length"&&dt(e)){const l=Number(s);r.forEach((c,u)=>{(u==="length"||!is(u)&&u>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":dt(e)?eu(n)&&a.push(r.get("length")):(a.push(r.get(Fs)),mi(e)&&a.push(r.get(sc)));break;case"delete":dt(e)||(a.push(r.get(Fs)),mi(e)&&a.push(r.get(sc)));break;case"set":mi(e)&&a.push(r.get(Fs));break}ru();for(const l of a)l&&vg(l,3);au()}function nw(e,t){var n;return(n=ua.get(e))==null?void 0:n.get(t)}const sw=Jc("__proto__,__v_isRef,__isVue"),wg=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(is)),eh=iw();function iw(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Tt(this);for(let o=0,r=this.length;o{e[t]=function(...n){qs(),ru();const s=Tt(this)[t].apply(this,n);return au(),Gs(),s}}),e}function ow(e){const t=Tt(this);return Se(t,"has",e),t.hasOwnProperty(e)}class Eg{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const i=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(i?o?bw:Tg:o?Ag:Cg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=dt(t);if(!i){if(r&&$t(eh,n))return Reflect.get(eh,n,s);if(n==="hasOwnProperty")return ow}const a=Reflect.get(t,n,s);return(is(n)?wg.has(n):sw(n))||(i||Se(t,"get",n),o)?a:ne(a)?r&&eu(n)?a:a.value:Ft(a)?i?Mg(a):tr(a):a}}class Sg extends Eg{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._shallow){const l=Ti(o);if(!hi(s)&&!Ti(s)&&(o=Tt(o),s=Tt(s)),!dt(t)&&ne(o)&&!ne(s))return l?!1:(o.value=s,!0)}const r=dt(t)&&eu(n)?Number(n)e,Fa=e=>Reflect.getPrototypeOf(e);function Cr(e,t,n=!1,s=!1){e=e.__v_raw;const i=Tt(e),o=Tt(t);n||(os(t,o)&&Se(i,"get",t),Se(i,"get",o));const{has:r}=Fa(i),a=s?lu:n?du:Ro;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 Ar(e,t=!1){const n=this.__v_raw,s=Tt(n),i=Tt(e);return t||(os(e,i)&&Se(s,"has",e),Se(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Tr(e,t=!1){return e=e.__v_raw,!t&&Se(Tt(e),"iterate",Fs),Reflect.get(e,"size",e)}function nh(e){e=Tt(e);const t=Tt(this);return Fa(t).has.call(t,e)||(t.add(e),kn(t,"add",e,e)),this}function sh(e,t){t=Tt(t);const n=Tt(this),{has:s,get:i}=Fa(n);let o=s.call(n,e);o||(e=Tt(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?os(t,r)&&kn(n,"set",e,t):kn(n,"add",e,t),this}function ih(e){const t=Tt(this),{has:n,get:s}=Fa(t);let i=n.call(t,e);i||(e=Tt(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&kn(t,"delete",e,void 0),o}function oh(){const e=Tt(this),t=e.size!==0,n=e.clear();return t&&kn(e,"clear",void 0,void 0),n}function Pr(e,t){return function(s,i){const o=this,r=o.__v_raw,a=Tt(r),l=t?lu:e?du:Ro;return!e&&Se(a,"iterate",Fs),r.forEach((c,u)=>s.call(i,l(c),l(u),o))}}function Mr(e,t,n){return function(...s){const i=this.__v_raw,o=Tt(i),r=mi(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...s),u=n?lu:t?du:Ro;return!t&&Se(o,"iterate",l?sc:Fs),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:a?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function Bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function uw(){const e={get(o){return Cr(this,o)},get size(){return Tr(this)},has:Ar,add:nh,set:sh,delete:ih,clear:oh,forEach:Pr(!1,!1)},t={get(o){return Cr(this,o,!1,!0)},get size(){return Tr(this)},has:Ar,add:nh,set:sh,delete:ih,clear:oh,forEach:Pr(!1,!0)},n={get(o){return Cr(this,o,!0)},get size(){return Tr(this,!0)},has(o){return Ar.call(this,o,!0)},add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear"),forEach:Pr(!0,!1)},s={get(o){return Cr(this,o,!0,!0)},get size(){return Tr(this,!0)},has(o){return Ar.call(this,o,!0)},add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear"),forEach:Pr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Mr(o,!1,!1),n[o]=Mr(o,!0,!1),t[o]=Mr(o,!1,!0),s[o]=Mr(o,!0,!0)}),[e,n,t,s]}const[dw,hw,fw,pw]=uw();function cu(e,t){const n=t?e?pw:fw:e?hw:dw;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get($t(n,i)&&i in s?n:s,i,o)}const gw={get:cu(!1,!1)},mw={get:cu(!1,!0)},_w={get:cu(!0,!1)},Cg=new WeakMap,Ag=new WeakMap,Tg=new WeakMap,bw=new WeakMap;function yw(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vw(e){return e.__v_skip||!Object.isExtensible(e)?0:yw(zx(e))}function tr(e){return Ti(e)?e:uu(e,!1,aw,gw,Cg)}function Pg(e){return uu(e,!1,cw,mw,Ag)}function Mg(e){return uu(e,!0,lw,_w,Tg)}function uu(e,t,n,s,i){if(!Ft(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=vw(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function ts(e){return Ti(e)?ts(e.__v_raw):!!(e&&e.__v_isReactive)}function Ti(e){return!!(e&&e.__v_isReadonly)}function hi(e){return!!(e&&e.__v_isShallow)}function Ba(e){return ts(e)||Ti(e)}function Tt(e){const t=e&&e.__v_raw;return t?Tt(t):e}function er(e){return la(e,"__v_skip",!0),e}const Ro=e=>Ft(e)?tr(e):e,du=e=>Ft(e)?Mg(e):e;class kg{constructor(t,n,s,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ou(()=>t(this._value),()=>ic(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=Tt(this);return Og(t),(!t._cacheable||t.effect.dirty)&&os(t._value,t._value=t.effect.run())&&ic(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function xw(e,t,n=!1){let s,i;const o=bt(e);return o?(s=e,i=je):(s=e.get,i=e.set),new kg(s,i,o||!i,n)}function Og(e){Zn&&Ns&&(e=Tt(e),yg(Ns,e.dep||(e.dep=xg(()=>e.dep=void 0,e instanceof kg?e:void 0))))}function ic(e,t=3,n){e=Tt(e);const s=e.dep;s&&vg(s,t)}function ne(e){return!!(e&&e.__v_isRef===!0)}function Pi(e){return Dg(e,!1)}function hu(e){return Dg(e,!0)}function Dg(e,t){return ne(e)?e:new ww(e,t)}class ww{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Tt(t),this._value=n?t:Ro(t)}get value(){return Og(this),this._value}set value(t){const n=this.__v_isShallow||hi(t)||Ti(t);t=n?t:Tt(t),os(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ro(t),ic(this,3))}}function es(e){return ne(e)?e.value:e}const Ew={get:(e,t,n)=>es(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return ne(i)&&!ne(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function $g(e){return ts(e)?e:new Proxy(e,Ew)}function Sw(e){const t=dt(e)?new Array(e.length):{};for(const n in e)t[n]=Aw(e,n);return t}class Cw{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,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 nw(Tt(this._object),this._key)}}function Aw(e,t,n){const s=e[t];return ne(s)?s:new Cw(e,t,n)}function ns(e,t,n,s){let i;try{i=s?e(...s):e()}catch(o){nr(o,t,n)}return i}function Ke(e,t,n,s){if(bt(e)){const o=ns(e,t,n,s);return o&&ag(o)&&o.catch(r=>{nr(r,t,n)}),o}const i=[];for(let o=0;o>>1,i=de[s],o=Fo(i);orn&&de.splice(t,1)}function rc(e){dt(e)?_i.push(...e):(!wn||!wn.includes(e,e.allowRecurse?$s+1:$s))&&_i.push(e),Ig()}function rh(e,t,n=No?rn+1:0){for(;nFo(n)-Fo(s)),$s=0;$se.id==null?1/0:e.id,kw=(e,t)=>{const n=Fo(e)-Fo(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ng(e){oc=!1,No=!0,de.sort(kw);try{for(rn=0;rnQt(p)?p.trim():p)),d&&(i=n.map(ca))}let a,l=s[a=xl(t)]||s[a=xl(fn(t))];!l&&o&&(l=s[a=xl(Yi(t))]),l&&Ke(l,e,6,i);const c=s[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Ke(c,e,6,i)}}function Fg(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!bt(e)){const l=c=>{const u=Fg(c,t,!0);u&&(a=!0,Zt(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(Ft(e)&&s.set(e,null),null):(dt(o)?o.forEach(l=>r[l]=null):Zt(r,o),Ft(e)&&s.set(e,r),r)}function Ha(e,t){return!e||!Ia(t)?!1:(t=t.slice(2).replace(/Once$/,""),$t(e,t[0].toLowerCase()+t.slice(1))||$t(e,Yi(t))||$t(e,t))}let we=null,ja=null;function da(e){const t=we;return we=e,ja=e&&e.type.__scopeId||null,t}function sr(e){ja=e}function ir(){ja=null}function Yt(e,t=we,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&vh(-1);const o=da(t);let r;try{r=e(...i)}finally{da(o),s._d&&vh(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function El(e){const{type:t,vnode:n,proxy:s,withProxy:i,props:o,propsOptions:[r],slots:a,attrs:l,emit:c,render:u,renderCache:d,data:f,setupState:p,ctx:m,inheritAttrs:_}=e;let y,x;const S=da(e);try{if(n.shapeFlag&4){const C=i||s,v=C;y=Qe(u.call(v,C,d,o,p,f,m)),x=l}else{const C=t;y=Qe(C.length>1?C(o,{attrs:l,slots:a,emit:c}):C(o,null)),x=t.props?l:$w(l)}}catch(C){xo.length=0,nr(C,e,1),y=mt(Oe)}let P=y;if(x&&_!==!1){const C=Object.keys(x),{shapeFlag:v}=P;C.length&&v&7&&(r&&C.some(Zc)&&(x=Lw(x,r)),P=rs(P,x))}return n.dirs&&(P=rs(P),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition&&(P.transition=n.transition),y=P,da(S),y}function Dw(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Ia(n))&&((t||(t={}))[n]=e[n]);return t},Lw=(e,t)=>{const n={};for(const s in e)(!Zc(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Iw(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?ah(s,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;let ch=0;const Nw={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,o,r,a,l,c){e==null?Fw(t,n,s,i,o,r,a,l,c):Bw(e,t,n,s,i,r,a,l,c)},hydrate:Vw,create:yu,normalize:Hw},bu=Nw;function Bo(e,t){const n=e.props&&e.props[t];bt(n)&&n()}function Fw(e,t,n,s,i,o,r,a,l){const{p:c,o:{createElement:u}}=l,d=u("div"),f=e.suspense=yu(e,i,s,t,d,n,o,r,a,l);c(null,f.pendingBranch=e.ssContent,d,null,s,f,o,r),f.deps>0?(Bo(e,"onPending"),Bo(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,o,r),bi(f,e.ssFallback)):f.resolve(!1,!0)}function Bw(e,t,n,s,i,o,r,a,{p:l,um:c,o:{createElement:u}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:y,isHydrating:x}=d;if(_)d.pendingBranch=f,an(f,_)?(l(_,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():y&&(x||(l(m,p,n,s,i,null,o,r,a),bi(d,p)))):(d.pendingId=ch++,x?(d.isHydrating=!1,d.activeBranch=_):c(_,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u("div"),y?(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():(l(m,p,n,s,i,null,o,r,a),bi(d,p))):m&&an(f,m)?(l(m,f,n,s,i,d,o,r,a),d.resolve(!0)):(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0&&d.resolve()));else if(m&&an(f,m))l(m,f,n,s,i,d,o,r,a),bi(d,f);else if(Bo(t,"onPending"),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=ch++,l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0)d.resolve();else{const{timeout:S,pendingId:P}=d;S>0?setTimeout(()=>{d.pendingId===P&&d.fallback(p)},S):S===0&&d.fallback(p)}}function yu(e,t,n,s,i,o,r,a,l,c,u=!1){const{p:d,m:f,um:p,n:m,o:{parentNode:_,remove:y}}=c;let x;const S=Ww(e);S&&t!=null&&t.pendingBranch&&(x=t.pendingId,t.deps++);const P=e.props?ug(e.props.timeout):void 0,C={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:i,anchor:o,deps:0,pendingId:0,timeout:typeof P=="number"?P:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(v=!1,E=!1){const{vnode:A,activeBranch:w,pendingBranch:k,pendingId:$,effects:L,parentComponent:N,container:X}=C;let Y=!1;if(C.isHydrating)C.isHydrating=!1;else if(!v){Y=w&&k.transition&&k.transition.mode==="out-in",Y&&(w.transition.afterLeave=()=>{$===C.pendingId&&(f(k,X,m(w),0),rc(L))});let{anchor:W}=C;w&&(W=m(w),p(w,N,C,!0)),Y||f(k,X,W,0)}bi(C,k),C.pendingBranch=null,C.isInFallback=!1;let H=C.parent,R=!1;for(;H;){if(H.pendingBranch){H.effects.push(...L),R=!0;break}H=H.parent}!R&&!Y&&rc(L),C.effects=[],S&&t&&t.pendingBranch&&x===t.pendingId&&(t.deps--,t.deps===0&&!E&&t.resolve()),Bo(A,"onResolve")},fallback(v){if(!C.pendingBranch)return;const{vnode:E,activeBranch:A,parentComponent:w,container:k,namespace:$}=C;Bo(E,"onFallback");const L=m(A),N=()=>{C.isInFallback&&(d(null,v,k,L,w,null,$,a,l),bi(C,v))},X=v.transition&&v.transition.mode==="out-in";X&&(A.transition.afterLeave=N),C.isInFallback=!0,p(A,w,null,!0),X||N()},move(v,E,A){C.activeBranch&&f(C.activeBranch,v,E,A),C.container=v},next(){return C.activeBranch&&m(C.activeBranch)},registerDep(v,E){const A=!!C.pendingBranch;A&&C.deps++;const w=v.vnode.el;v.asyncDep.catch(k=>{nr(k,v,0)}).then(k=>{if(v.isUnmounted||C.isUnmounted||C.pendingId!==v.suspenseId)return;v.asyncResolved=!0;const{vnode:$}=v;fc(v,k,!1),w&&($.el=w);const L=!w&&v.subTree.el;E(v,$,_(w||v.subTree.el),w?null:m(v.subTree),C,r,l),L&&y(L),gu(v,$.el),A&&--C.deps===0&&C.resolve()})},unmount(v,E){C.isUnmounted=!0,C.activeBranch&&p(C.activeBranch,n,v,E),C.pendingBranch&&p(C.pendingBranch,n,v,E)}};return C}function Vw(e,t,n,s,i,o,r,a,l){const c=t.suspense=yu(t,s,n,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,o,r);return c.deps===0&&c.resolve(!1,!0),u}function Hw(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=uh(s?n.default:n),e.ssFallback=s?uh(n.fallback):mt(Oe)}function uh(e){let t;if(bt(e)){const n=ki&&e._c;n&&(e._d=!1,ot()),e=e(),n&&(e._d=!0,t=We,im())}return dt(e)&&(e=Dw(e)),e=Qe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function jw(e,t){t&&t.pendingBranch?dt(e)?t.effects.push(...e):t.effects.push(e):rc(e)}function bi(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,i=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=i,gu(s,i))}function Ww(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}const zw=Symbol.for("v-scx"),Uw=()=>un(zw),kr={};function Bs(e,t,n){return Hg(e,t,n)}function Hg(e,t,{immediate:n,deep:s,flush:i,once:o,onTrack:r,onTrigger:a}=Vt){var l;if(t&&o){const v=t;t=(...E)=>{v(...E),C()}}const c=iu()===((l=te)==null?void 0:l.scope)?te:null;let u,d=!1,f=!1;if(ne(e)?(u=()=>e.value,d=hi(e)):ts(e)?(u=hi(e)||s===!1?()=>Cn(e,1):()=>Cn(e),d=!0):dt(e)?(f=!0,d=e.some(v=>ts(v)||hi(v)),u=()=>e.map(v=>{if(ne(v))return v.value;if(ts(v))return Cn(v,hi(v)||s===!1?1:void 0);if(bt(v))return ns(v,c,2)})):bt(e)?t?u=()=>ns(e,c,2):u=()=>{if(!(c&&c.isUnmounted))return p&&p(),Ke(e,c,3,[m])}:u=je,t&&s){const v=u;u=()=>Cn(v())}let p,m=v=>{p=P.onStop=()=>{ns(v,c,4),p=P.onStop=void 0}},_;if(qa)if(m=je,t?n&&Ke(t,c,3,[u(),f?[]:void 0,m]):u(),i==="sync"){const v=Uw();_=v.__watcherHandles||(v.__watcherHandles=[])}else return je;let y=f?new Array(e.length).fill(kr):kr;const x=()=>{if(!(!P.active||!P.dirty))if(t){const v=P.run();(s||d||(f?v.some((E,A)=>os(E,y[A])):os(v,y)))&&(p&&p(),Ke(t,c,3,[v,y===kr?void 0:f&&y[0]===kr?[]:y,m]),y=v)}else P.run()};x.allowRecurse=!!t;let S;i==="sync"?S=x:i==="post"?S=()=>ve(x,c&&c.suspense):(x.pre=!0,c&&(x.id=c.uid),S=()=>pu(x));const P=new ou(u,je,S),C=()=>{P.stop(),c&&c.scope&&tu(c.scope.effects,P)};return t?n?x():y=P.run():i==="post"?ve(P.run.bind(P),c&&c.suspense):P.run(),_&&_.push(C),C}function Kw(e,t,n){const s=this.proxy,i=Qt(e)?e.includes(".")?jg(s,e):()=>s[e]:e.bind(s,s);let o;bt(t)?o=t:(o=t.handler,n=t);const r=te;Oi(this);const a=Hg(i,o.bind(s),n);return r?Oi(r):Vs(),a}function jg(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),ne(e))Cn(e.value,t,n,s);else if(dt(e))for(let i=0;i{Cn(i,t,n,s)});else if(cg(e))for(const i in e)Cn(e[i],t,n,s);return e}function kt(e,t){const n=we;if(n===null)return e;const s=Ga(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),wu(()=>{e.isUnmounting=!0}),e}const Be=[Function,Array],zg={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Be,onEnter:Be,onAfterEnter:Be,onEnterCancelled:Be,onBeforeLeave:Be,onLeave:Be,onAfterLeave:Be,onLeaveCancelled:Be,onBeforeAppear:Be,onAppear:Be,onAfterAppear:Be,onAppearCancelled:Be},Yw={name:"BaseTransition",props:zg,setup(e,{slots:t}){const n=am(),s=Wg();let i;return()=>{const o=t.default&&vu(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const _ of o)if(_.type!==Oe){r=_;break}}const a=Tt(e),{mode:l}=a;if(s.isLeaving)return Sl(r);const c=dh(r);if(!c)return Sl(r);const u=Vo(c,a,s,n);Ho(c,u);const d=n.subTree,f=d&&dh(d);let p=!1;const{getTransitionKey:m}=c.type;if(m){const _=m();i===void 0?i=_:_!==i&&(i=_,p=!0)}if(f&&f.type!==Oe&&(!an(c,f)||p)){const _=Vo(f,a,s,n);if(Ho(f,_),l==="out-in")return s.isLeaving=!0,_.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Sl(r);l==="in-out"&&c.type!==Oe&&(_.delayLeave=(y,x,S)=>{const P=Ug(s,f);P[String(f.key)]=f,y[Un]=()=>{x(),y[Un]=void 0,delete u.delayedLeave},u.delayedLeave=S})}return r}}},qw=Yw;function Ug(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Vo(e,t,n,s){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:f,onAfterLeave:p,onLeaveCancelled:m,onBeforeAppear:_,onAppear:y,onAfterAppear:x,onAppearCancelled:S}=t,P=String(e.key),C=Ug(n,e),v=(w,k)=>{w&&Ke(w,s,9,k)},E=(w,k)=>{const $=k[1];v(w,k),dt(w)?w.every(L=>L.length<=1)&&$():w.length<=1&&$()},A={mode:o,persisted:r,beforeEnter(w){let k=a;if(!n.isMounted)if(i)k=_||a;else return;w[Un]&&w[Un](!0);const $=C[P];$&&an(e,$)&&$.el[Un]&&$.el[Un](),v(k,[w])},enter(w){let k=l,$=c,L=u;if(!n.isMounted)if(i)k=y||l,$=x||c,L=S||u;else return;let N=!1;const X=w[Or]=Y=>{N||(N=!0,Y?v(L,[w]):v($,[w]),A.delayedLeave&&A.delayedLeave(),w[Or]=void 0)};k?E(k,[w,X]):X()},leave(w,k){const $=String(e.key);if(w[Or]&&w[Or](!0),n.isUnmounting)return k();v(d,[w]);let L=!1;const N=w[Un]=X=>{L||(L=!0,k(),X?v(m,[w]):v(p,[w]),w[Un]=void 0,C[$]===e&&delete C[$])};C[$]=e,f?E(f,[w,N]):N()},clone(w){return Vo(w,t,n,s)}};return A}function Sl(e){if(za(e))return e=rs(e),e.children=null,e}function dh(e){return za(e)?e.children?e.children[0]:void 0:e}function Ho(e,t){e.shapeFlag&6&&e.component?Ho(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 vu(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,za=e=>e.type.__isKeepAlive;function Gw(e,t){Kg(e,"a",t)}function Xw(e,t){Kg(e,"da",t)}function Kg(e,t,n=te){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ua(t,s,n),n){let i=n.parent;for(;i&&i.parent;)za(i.parent.vnode)&&Qw(s,t,n,i),i=i.parent}}function Qw(e,t,n,s){const i=Ua(t,e,s,!0);qg(()=>{tu(s[t],i)},n)}function Ua(e,t,n=te,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;qs(),Oi(n);const a=Ke(t,n,e,r);return Vs(),Gs(),a});return s?i.unshift(o):i.push(o),o}}const Ln=e=>(t,n=te)=>(!qa||e==="sp")&&Ua(e,(...s)=>t(...s),n),Jw=Ln("bm"),xu=Ln("m"),Zw=Ln("bu"),Yg=Ln("u"),wu=Ln("bum"),qg=Ln("um"),t1=Ln("sp"),e1=Ln("rtg"),n1=Ln("rtc");function s1(e,t=te){Ua("ec",e,t)}function Mi(e,t,n,s){let i;const o=n&&n[s];if(dt(e)||Qt(e)){i=new Array(e.length);for(let r=0,a=e.length;rt(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;ae?lm(e)?Ga(e)||e.proxy:ac(e.parent):null,vo=Zt(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=>ac(e.parent),$root:e=>ac(e.root),$emit:e=>e.emit,$options:e=>Eu(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,pu(e.update)}),$nextTick:e=>e.n||(e.n=Va.bind(e.proxy)),$watch:e=>Kw.bind(e)}),Cl=(e,t)=>e!==Vt&&!e.__isScriptSetup&&$t(e,t),i1={get({_:e},t){const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(Cl(s,t))return r[t]=1,s[t];if(i!==Vt&&$t(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&$t(c,t))return r[t]=3,o[t];if(n!==Vt&&$t(n,t))return r[t]=4,n[t];lc&&(r[t]=0)}}const u=vo[t];let d,f;if(u)return t==="$attrs"&&Se(e,"get",t),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Vt&&$t(n,t))return r[t]=4,n[t];if(f=l.config.globalProperties,$t(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return Cl(i,t)?(i[t]=n,!0):s!==Vt&&$t(s,t)?(s[t]=n,!0):$t(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==Vt&&$t(e,r)||Cl(t,r)||(a=o[0])&&$t(a,r)||$t(s,r)||$t(vo,r)||$t(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$t(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function hh(e){return dt(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let lc=!0;function o1(e){const t=Eu(e),n=e.proxy,s=e.ctx;lc=!1,t.beforeCreate&&fh(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:_,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:P,unmounted:C,render:v,renderTracked:E,renderTriggered:A,errorCaptured:w,serverPrefetch:k,expose:$,inheritAttrs:L,components:N,directives:X,filters:Y}=t;if(c&&r1(c,s,null),r)for(const W in r){const U=r[W];bt(U)&&(s[W]=U.bind(n))}if(i){const W=i.call(n,n);Ft(W)&&(e.data=tr(W))}if(lc=!0,o)for(const W in o){const U=o[W],it=bt(U)?U.bind(n,n):bt(U.get)?U.get.bind(n,n):je,lt=!bt(U)&&bt(U.set)?U.set.bind(n):je,pt=He({get:it,set:lt});Object.defineProperty(s,W,{enumerable:!0,configurable:!0,get:()=>pt.value,set:ft=>pt.value=ft})}if(a)for(const W in a)Gg(a[W],s,n,W);if(l){const W=bt(l)?l.call(n):l;Reflect.ownKeys(W).forEach(U=>{ea(U,W[U])})}u&&fh(u,e,"c");function R(W,U){dt(U)?U.forEach(it=>W(it.bind(n))):U&&W(U.bind(n))}if(R(Jw,d),R(xu,f),R(Zw,p),R(Yg,m),R(Gw,_),R(Xw,y),R(s1,w),R(n1,E),R(e1,A),R(wu,S),R(qg,C),R(t1,k),dt($))if($.length){const W=e.exposed||(e.exposed={});$.forEach(U=>{Object.defineProperty(W,U,{get:()=>n[U],set:it=>n[U]=it})})}else e.exposed||(e.exposed={});v&&e.render===je&&(e.render=v),L!=null&&(e.inheritAttrs=L),N&&(e.components=N),X&&(e.directives=X)}function r1(e,t,n=je){dt(e)&&(e=cc(e));for(const s in e){const i=e[s];let o;Ft(i)?"default"in i?o=un(i.from||s,i.default,!0):o=un(i.from||s):o=un(i),ne(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[s]=o}}function fh(e,t,n){Ke(dt(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Gg(e,t,n,s){const i=s.includes(".")?jg(n,s):()=>n[s];if(Qt(e)){const o=t[e];bt(o)&&Bs(i,o)}else if(bt(e))Bs(i,e.bind(n));else if(Ft(e))if(dt(e))e.forEach(o=>Gg(o,t,n,s));else{const o=bt(e.handler)?e.handler.bind(n):t[e.handler];bt(o)&&Bs(i,o,e)}}function Eu(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!n&&!s?l=t:(l={},i.length&&i.forEach(c=>ha(l,c,r,!0)),ha(l,t,r)),Ft(t)&&o.set(t,l),l}function ha(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&ha(e,o,n,!0),i&&i.forEach(r=>ha(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=a1[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const a1={data:ph,props:gh,emits:gh,methods:ho,computed:ho,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:ho,directives:ho,watch:c1,provide:ph,inject:l1};function ph(e,t){return t?e?function(){return Zt(bt(e)?e.call(this,this):e,bt(t)?t.call(this,this):t)}:t:e}function l1(e,t){return ho(cc(e),cc(t))}function cc(e){if(dt(e)){const t={};for(let n=0;n1)return n&&bt(t)?t.call(s&&s.proxy):t}}function h1(){return!!(te||we||jo)}function f1(e,t,n,s=!1){const i={},o={};la(o,Ya,1),e.propsDefaults=Object.create(null),Qg(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=s?i:Pg(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function p1(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Tt(i),[l]=e.propsOptions;let c=!1;if((s||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,p]=Jg(d,t,!0);Zt(r,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return Ft(e)&&s.set(e,gi),gi;if(dt(o))for(let u=0;u-1,p[1]=_<0||m<_,(m>-1||$t(p,"default"))&&a.push(d)}}}const c=[r,a];return Ft(e)&&s.set(e,c),c}function mh(e){return e[0]!=="$"}function _h(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function bh(e,t){return _h(e)===_h(t)}function yh(e,t){return dt(t)?t.findIndex(n=>bh(n,e)):bt(t)&&bh(t,e)?0:-1}const Zg=e=>e[0]==="_"||e==="$stable",Su=e=>dt(e)?e.map(Qe):[Qe(e)],g1=(e,t,n)=>{if(t._n)return t;const s=Yt((...i)=>Su(t(...i)),n);return s._c=!1,s},tm=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Zg(i))continue;const o=e[i];if(bt(o))t[i]=g1(i,o,s);else if(o!=null){const r=Su(o);t[i]=()=>r}}},em=(e,t)=>{const n=Su(t);e.slots.default=()=>n},m1=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Tt(t),la(t,"_",n)):tm(t,e.slots={})}else e.slots={},t&&em(e,t);la(e.slots,Ya,1)},_1=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=Vt;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(Zt(i,t),!n&&a===1&&delete i._):(o=!t.$stable,tm(t,i)),r=t}else t&&(em(e,t),r={default:1});if(o)for(const a in i)!Zg(a)&&r[a]==null&&delete i[a]};function dc(e,t,n,s,i=!1){if(dt(e)){e.forEach((f,p)=>dc(f,t&&(dt(t)?t[p]:t),n,s,i));return}if(ta(s)&&!i)return;const o=s.shapeFlag&4?Ga(s.component)||s.component.proxy:s.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===Vt?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==l&&(Qt(c)?(u[c]=null,$t(d,c)&&(d[c]=null)):ne(c)&&(c.value=null)),bt(l))ns(l,a,12,[r,u]);else{const f=Qt(l),p=ne(l);if(f||p){const m=()=>{if(e.f){const _=f?$t(d,l)?d[l]:u[l]:l.value;i?dt(_)&&tu(_,o):dt(_)?_.includes(o)||_.push(o):f?(u[l]=[o],$t(d,l)&&(d[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else f?(u[l]=r,$t(d,l)&&(d[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(m.id=-1,ve(m,n)):m()}}}const ve=jw;function b1(e){return y1(e)}function y1(e,t){const n=dg();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=je,insertStaticContent:m}=e,_=(T,D,I,V=null,K=null,G=null,Z=void 0,Q=null,B=!!D.dynamicChildren)=>{if(T===D)return;T&&!an(T,D)&&(V=j(T),ft(T,K,G,!0),T=null),D.patchFlag===-2&&(B=!1,D.dynamicChildren=null);const{type:q,ref:at,shapeFlag:ht}=D;switch(q){case Ka:y(T,D,I,V);break;case Oe:x(T,D,I,V);break;case na:T==null&&S(D,I,V,Z);break;case Jt:N(T,D,I,V,K,G,Z,Q,B);break;default:ht&1?v(T,D,I,V,K,G,Z,Q,B):ht&6?X(T,D,I,V,K,G,Z,Q,B):(ht&64||ht&128)&&q.process(T,D,I,V,K,G,Z,Q,B,J)}at!=null&&K&&dc(at,T&&T.ref,G,D||T,!D)},y=(T,D,I,V)=>{if(T==null)s(D.el=a(D.children),I,V);else{const K=D.el=T.el;D.children!==T.children&&c(K,D.children)}},x=(T,D,I,V)=>{T==null?s(D.el=l(D.children||""),I,V):D.el=T.el},S=(T,D,I,V)=>{[T.el,T.anchor]=m(T.children,D,I,V,T.el,T.anchor)},P=({el:T,anchor:D},I,V)=>{let K;for(;T&&T!==D;)K=f(T),s(T,I,V),T=K;s(D,I,V)},C=({el:T,anchor:D})=>{let I;for(;T&&T!==D;)I=f(T),i(T),T=I;i(D)},v=(T,D,I,V,K,G,Z,Q,B)=>{D.type==="svg"?Z="svg":D.type==="math"&&(Z="mathml"),T==null?E(D,I,V,K,G,Z,Q,B):k(T,D,K,G,Z,Q,B)},E=(T,D,I,V,K,G,Z,Q)=>{let B,q;const{props:at,shapeFlag:ht,transition:ut,dirs:gt}=T;if(B=T.el=r(T.type,G,at&&at.is,at),ht&8?u(B,T.children):ht&16&&w(T.children,B,null,V,K,Al(T,G),Z,Q),gt&&Ss(T,null,V,"created"),A(B,T,T.scopeId,Z,V),at){for(const Dt in at)Dt!=="value"&&!Jr(Dt)&&o(B,Dt,null,at[Dt],G,T.children,V,K,Et);"value"in at&&o(B,"value",null,at.value,G),(q=at.onVnodeBeforeMount)&&nn(q,V,T)}gt&&Ss(T,null,V,"beforeMount");const vt=v1(K,ut);vt&&ut.beforeEnter(B),s(B,D,I),((q=at&&at.onVnodeMounted)||vt||gt)&&ve(()=>{q&&nn(q,V,T),vt&&ut.enter(B),gt&&Ss(T,null,V,"mounted")},K)},A=(T,D,I,V,K)=>{if(I&&p(T,I),V)for(let G=0;G{for(let q=B;q{const Q=D.el=T.el;let{patchFlag:B,dynamicChildren:q,dirs:at}=D;B|=T.patchFlag&16;const ht=T.props||Vt,ut=D.props||Vt;let gt;if(I&&Cs(I,!1),(gt=ut.onVnodeBeforeUpdate)&&nn(gt,I,D,T),at&&Ss(D,T,I,"beforeUpdate"),I&&Cs(I,!0),q?$(T.dynamicChildren,q,Q,I,V,Al(D,K),G):Z||U(T,D,Q,null,I,V,Al(D,K),G,!1),B>0){if(B&16)L(Q,D,ht,ut,I,V,K);else if(B&2&&ht.class!==ut.class&&o(Q,"class",null,ut.class,K),B&4&&o(Q,"style",ht.style,ut.style,K),B&8){const vt=D.dynamicProps;for(let Dt=0;Dt{gt&&nn(gt,I,D,T),at&&Ss(D,T,I,"updated")},V)},$=(T,D,I,V,K,G,Z)=>{for(let Q=0;Q{if(I!==V){if(I!==Vt)for(const Q in I)!Jr(Q)&&!(Q in V)&&o(T,Q,I[Q],null,Z,D.children,K,G,Et);for(const Q in V){if(Jr(Q))continue;const B=V[Q],q=I[Q];B!==q&&Q!=="value"&&o(T,Q,q,B,Z,D.children,K,G,Et)}"value"in V&&o(T,"value",I.value,V.value,Z)}},N=(T,D,I,V,K,G,Z,Q,B)=>{const q=D.el=T?T.el:a(""),at=D.anchor=T?T.anchor:a("");let{patchFlag:ht,dynamicChildren:ut,slotScopeIds:gt}=D;gt&&(Q=Q?Q.concat(gt):gt),T==null?(s(q,I,V),s(at,I,V),w(D.children,I,at,K,G,Z,Q,B)):ht>0&&ht&64&&ut&&T.dynamicChildren?($(T.dynamicChildren,ut,I,K,G,Z,Q),(D.key!=null||K&&D===K.subTree)&&nm(T,D,!0)):U(T,D,I,at,K,G,Z,Q,B)},X=(T,D,I,V,K,G,Z,Q,B)=>{D.slotScopeIds=Q,T==null?D.shapeFlag&512?K.ctx.activate(D,I,V,Z,B):Y(D,I,V,K,G,Z,B):H(T,D,B)},Y=(T,D,I,V,K,G,Z)=>{const Q=T.component=M1(T,V,K);if(za(T)&&(Q.ctx.renderer=J),k1(Q),Q.asyncDep){if(K&&K.registerDep(Q,R),!T.el){const B=Q.subTree=mt(Oe);x(null,B,D,I)}}else R(Q,T,D,I,K,G,Z)},H=(T,D,I)=>{const V=D.component=T.component;if(Iw(T,D,I))if(V.asyncDep&&!V.asyncResolved){W(V,D,I);return}else V.next=D,Mw(V.update),V.effect.dirty=!0,V.update();else D.el=T.el,V.vnode=D},R=(T,D,I,V,K,G,Z)=>{const Q=()=>{if(T.isMounted){let{next:at,bu:ht,u:ut,parent:gt,vnode:vt}=T;{const gs=sm(T);if(gs){at&&(at.el=vt.el,W(T,at,Z)),gs.asyncDep.then(()=>{T.isUnmounted||Q()});return}}let Dt=at,It;Cs(T,!1),at?(at.el=vt.el,W(T,at,Z)):at=vt,ht&&Zr(ht),(It=at.props&&at.props.onVnodeBeforeUpdate)&&nn(It,gt,at,vt),Cs(T,!0);const zt=El(T),Ae=T.subTree;T.subTree=zt,_(Ae,zt,d(Ae.el),j(Ae),T,K,G),at.el=zt.el,Dt===null&&gu(T,zt.el),ut&&ve(ut,K),(It=at.props&&at.props.onVnodeUpdated)&&ve(()=>nn(It,gt,at,vt),K)}else{let at;const{el:ht,props:ut}=D,{bm:gt,m:vt,parent:Dt}=T,It=ta(D);if(Cs(T,!1),gt&&Zr(gt),!It&&(at=ut&&ut.onVnodeBeforeMount)&&nn(at,Dt,D),Cs(T,!0),ht&&F){const zt=()=>{T.subTree=El(T),F(ht,T.subTree,T,K,null)};It?D.type.__asyncLoader().then(()=>!T.isUnmounted&&zt()):zt()}else{const zt=T.subTree=El(T);_(null,zt,I,V,T,K,G),D.el=zt.el}if(vt&&ve(vt,K),!It&&(at=ut&&ut.onVnodeMounted)){const zt=D;ve(()=>nn(at,Dt,zt),K)}(D.shapeFlag&256||Dt&&ta(Dt.vnode)&&Dt.vnode.shapeFlag&256)&&T.a&&ve(T.a,K),T.isMounted=!0,D=I=V=null}},B=T.effect=new ou(Q,je,()=>pu(q),T.scope),q=T.update=()=>{B.dirty&&B.run()};q.id=T.uid,Cs(T,!0),q()},W=(T,D,I)=>{D.component=T;const V=T.vnode.props;T.vnode=D,T.next=null,p1(T,D.props,V,I),_1(T,D.children,I),qs(),rh(T),Gs()},U=(T,D,I,V,K,G,Z,Q,B=!1)=>{const q=T&&T.children,at=T?T.shapeFlag:0,ht=D.children,{patchFlag:ut,shapeFlag:gt}=D;if(ut>0){if(ut&128){lt(q,ht,I,V,K,G,Z,Q,B);return}else if(ut&256){it(q,ht,I,V,K,G,Z,Q,B);return}}gt&8?(at&16&&Et(q,K,G),ht!==q&&u(I,ht)):at&16?gt&16?lt(q,ht,I,V,K,G,Z,Q,B):Et(q,K,G,!0):(at&8&&u(I,""),gt&16&&w(ht,I,V,K,G,Z,Q,B))},it=(T,D,I,V,K,G,Z,Q,B)=>{T=T||gi,D=D||gi;const q=T.length,at=D.length,ht=Math.min(q,at);let ut;for(ut=0;utat?Et(T,K,G,!0,!1,ht):w(D,I,V,K,G,Z,Q,B,ht)},lt=(T,D,I,V,K,G,Z,Q,B)=>{let q=0;const at=D.length;let ht=T.length-1,ut=at-1;for(;q<=ht&&q<=ut;){const gt=T[q],vt=D[q]=B?Kn(D[q]):Qe(D[q]);if(an(gt,vt))_(gt,vt,I,null,K,G,Z,Q,B);else break;q++}for(;q<=ht&&q<=ut;){const gt=T[ht],vt=D[ut]=B?Kn(D[ut]):Qe(D[ut]);if(an(gt,vt))_(gt,vt,I,null,K,G,Z,Q,B);else break;ht--,ut--}if(q>ht){if(q<=ut){const gt=ut+1,vt=gtut)for(;q<=ht;)ft(T[q],K,G,!0),q++;else{const gt=q,vt=q,Dt=new Map;for(q=vt;q<=ut;q++){const ce=D[q]=B?Kn(D[q]):Qe(D[q]);ce.key!=null&&Dt.set(ce.key,q)}let It,zt=0;const Ae=ut-vt+1;let gs=!1,ur=0;const ms=new Array(Ae);for(q=0;q=Ae){ft(ce,K,G,!0);continue}let Re;if(ce.key!=null)Re=Dt.get(ce.key);else for(It=vt;It<=ut;It++)if(ms[It-vt]===0&&an(ce,D[It])){Re=It;break}Re===void 0?ft(ce,K,G,!0):(ms[Re-vt]=q+1,Re>=ur?ur=Re:gs=!0,_(ce,D[Re],I,null,K,G,Z,Q,B),zt++)}const dr=gs?x1(ms):gi;for(It=dr.length-1,q=Ae-1;q>=0;q--){const ce=vt+q,Re=D[ce],Rn=ce+1{const{el:G,type:Z,transition:Q,children:B,shapeFlag:q}=T;if(q&6){pt(T.component.subTree,D,I,V);return}if(q&128){T.suspense.move(D,I,V);return}if(q&64){Z.move(T,D,I,J);return}if(Z===Jt){s(G,D,I);for(let ht=0;htQ.enter(G),K);else{const{leave:ht,delayLeave:ut,afterLeave:gt}=Q,vt=()=>s(G,D,I),Dt=()=>{ht(G,()=>{vt(),gt&>()})};ut?ut(G,vt,Dt):Dt()}else s(G,D,I)},ft=(T,D,I,V=!1,K=!1)=>{const{type:G,props:Z,ref:Q,children:B,dynamicChildren:q,shapeFlag:at,patchFlag:ht,dirs:ut}=T;if(Q!=null&&dc(Q,null,I,T,!0),at&256){D.ctx.deactivate(T);return}const gt=at&1&&ut,vt=!ta(T);let Dt;if(vt&&(Dt=Z&&Z.onVnodeBeforeUnmount)&&nn(Dt,D,T),at&6)Mt(T.component,I,V);else{if(at&128){T.suspense.unmount(I,V);return}gt&&Ss(T,null,D,"beforeUnmount"),at&64?T.type.remove(T,D,I,K,J,V):q&&(G!==Jt||ht>0&&ht&64)?Et(q,D,I,!1,!0):(G===Jt&&ht&384||!K&&at&16)&&Et(B,D,I),V&&At(T)}(vt&&(Dt=Z&&Z.onVnodeUnmounted)||gt)&&ve(()=>{Dt&&nn(Dt,D,T),gt&&Ss(T,null,D,"unmounted")},I)},At=T=>{const{type:D,el:I,anchor:V,transition:K}=T;if(D===Jt){wt(I,V);return}if(D===na){C(T);return}const G=()=>{i(I),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(T.shapeFlag&1&&K&&!K.persisted){const{leave:Z,delayLeave:Q}=K,B=()=>Z(I,G);Q?Q(T.el,G,B):B()}else G()},wt=(T,D)=>{let I;for(;T!==D;)I=f(T),i(T),T=I;i(D)},Mt=(T,D,I)=>{const{bum:V,scope:K,update:G,subTree:Z,um:Q}=T;V&&Zr(V),K.stop(),G&&(G.active=!1,ft(Z,T,D,I)),Q&&ve(Q,D),ve(()=>{T.isUnmounted=!0},D),D&&D.pendingBranch&&!D.isUnmounted&&T.asyncDep&&!T.asyncResolved&&T.suspenseId===D.pendingId&&(D.deps--,D.deps===0&&D.resolve())},Et=(T,D,I,V=!1,K=!1,G=0)=>{for(let Z=G;ZT.shapeFlag&6?j(T.component.subTree):T.shapeFlag&128?T.suspense.next():f(T.anchor||T.el),et=(T,D,I)=>{T==null?D._vnode&&ft(D._vnode,null,null,!0):_(D._vnode||null,T,D,null,null,null,I),rh(),Rg(),D._vnode=T},J={p:_,um:ft,m:pt,r:At,mt:Y,mc:w,pc:U,pbc:$,n:j,o:e};let rt,F;return t&&([rt,F]=t(J)),{render:et,hydrate:rt,createApp:d1(et,rt)}}function Al({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Cs({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function v1(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function nm(e,t,n=!1){const s=e.children,i=t.children;if(dt(s)&&dt(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}function sm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sm(t)}const w1=e=>e.__isTeleport,Jt=Symbol.for("v-fgt"),Ka=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),na=Symbol.for("v-stc"),xo=[];let We=null;function ot(e=!1){xo.push(We=e?null:[])}function im(){xo.pop(),We=xo[xo.length-1]||null}let ki=1;function vh(e){ki+=e}function om(e){return e.dynamicChildren=ki>0?We||gi:null,im(),ki>0&&We&&We.push(e),e}function ct(e,t,n,s,i,o){return om(g(e,t,n,s,i,o,!0))}function Ee(e,t,n,s,i){return om(mt(e,t,n,s,i,!0))}function fa(e){return e?e.__v_isVNode===!0:!1}function an(e,t){return e.type===t.type&&e.key===t.key}const Ya="__vInternal",rm=({key:e})=>e??null,sa=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Qt(e)||ne(e)||bt(e)?{i:we,r:e,k:t,f:!!n}:e:null);function g(e,t=null,n=null,s=0,i=null,o=e===Jt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&rm(t),ref:t&&sa(t),scopeId:ja,slotScopeIds:null,children:n,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:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:we};return a?(Cu(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=Qt(n)?8:16),ki>0&&!r&&We&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&We.push(l),l}const mt=E1;function E1(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===Bg)&&(e=Oe),fa(e)){const a=rs(e,t,!0);return n&&Cu(a,n),ki>0&&!o&&We&&(a.shapeFlag&6?We[We.indexOf(e)]=a:We.push(a)),a.patchFlag|=-2,a}if(I1(e)&&(e=e.__vccOpts),t){t=S1(t);let{class:a,style:l}=t;a&&!Qt(a)&&(t.class=he(a)),Ft(l)&&(Ba(l)&&!dt(l)&&(l=Zt({},l)),t.style=nu(l))}const r=Qt(e)?1:Rw(e)?128:w1(e)?64:Ft(e)?4:bt(e)?2:0;return g(e,t,n,s,i,r,o,!0)}function S1(e){return e?Ba(e)||Ya in e?Zt({},e):e:null}function rs(e,t,n=!1){const{props:s,ref:i,patchFlag:o,children:r}=e,a=t?A1(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&rm(a),ref:t&&t.ref?n&&i?dt(i)?i.concat(sa(t)):[i,sa(t)]:sa(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Jt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rs(e.ssContent),ssFallback:e.ssFallback&&rs(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function xt(e=" ",t=0){return mt(Ka,null,e,t)}function C1(e,t){const n=mt(na,null,e);return n.staticCount=t,n}function oe(e="",t=!1){return t?(ot(),Ee(Oe,null,e)):mt(Oe,null,e)}function Qe(e){return e==null||typeof e=="boolean"?mt(Oe):dt(e)?mt(Jt,null,e.slice()):typeof e=="object"?Kn(e):mt(Ka,null,String(e))}function Kn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rs(e)}function Cu(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(dt(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Cu(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(Ya in t)?t._ctx=we:i===3&&we&&(we.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else bt(t)?(t={default:t,_ctx:we},n=32):(t=String(t),s&64?(n=16,t=[xt(t)]):n=8);e.children=t,e.shapeFlag|=n}function A1(...e){const t={};for(let n=0;nte||we;let Au,hc;{const e=dg(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Au=t("__VUE_INSTANCE_SETTERS__",n=>te=n),hc=t("__VUE_SSR_SETTERS__",n=>qa=n)}const Oi=e=>{Au(e),e.scope.on()},Vs=()=>{te&&te.scope.off(),Au(null)};function lm(e){return e.vnode.shapeFlag&4}let qa=!1;function k1(e,t=!1){t&&hc(t);const{props:n,children:s}=e.vnode,i=lm(e);f1(e,n,i,t),m1(e,s);const o=i?O1(e,t):void 0;return t&&hc(!1),o}function O1(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=er(new Proxy(e.ctx,i1));const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?$1(e):null;Oi(e),qs();const o=ns(s,e,0,[e.props,i]);if(Gs(),Vs(),ag(o)){if(o.then(Vs,Vs),t)return o.then(r=>{fc(e,r,t)}).catch(r=>{nr(r,e,0)});e.asyncDep=o}else fc(e,o,t)}else cm(e,t)}function fc(e,t,n){bt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ft(t)&&(e.setupState=$g(t)),cm(e,n)}let xh;function cm(e,t,n){const s=e.type;if(!e.render){if(!t&&xh&&!s.render){const i=s.template||Eu(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=s,c=Zt(Zt({isCustomElement:o,delimiters:a},r),l);s.render=xh(i,c)}}e.render=s.render||je}{Oi(e),qs();try{o1(e)}finally{Gs(),Vs()}}}function D1(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Se(e,"get","$attrs"),t[n]}}))}function $1(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return D1(e)},slots:e.slots,emit:e.emit,expose:t}}function Ga(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy($g(er(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vo)return vo[n](e)},has(t,n){return n in t||n in vo}}))}function L1(e,t=!0){return bt(e)?e.displayName||e.name:e.name||t&&e.__name}function I1(e){return bt(e)&&"__vccOpts"in e}const He=(e,t)=>xw(e,t,qa);function Di(e,t,n){const s=arguments.length;return s===2?Ft(t)&&!dt(t)?fa(t)?mt(e,null,[t]):mt(e,t):mt(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fa(n)&&(n=[n]),mt(e,t,n))}const um="3.4.3",R1="http://www.w3.org/2000/svg",N1="http://www.w3.org/1998/Math/MathML",Yn=typeof document<"u"?document:null,wh=Yn&&Yn.createElement("template"),F1={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Yn.createElementNS(R1,e):t==="mathml"?Yn.createElementNS(N1,e):Yn.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Yn.createTextNode(e),createComment:e=>Yn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{wh.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const a=wh.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Vn="transition",io="animation",$i=Symbol("_vtc"),Dn=(e,{slots:t})=>Di(qw,hm(e),t);Dn.displayName="Transition";const dm={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},B1=Dn.props=Zt({},zg,dm),As=(e,t=[])=>{dt(e)?e.forEach(n=>n(...t)):e&&e(...t)},Eh=e=>e?dt(e)?e.some(t=>t.length>1):e.length>1:!1;function hm(e){const t={};for(const N in e)N in dm||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=V1(i),_=m&&m[0],y=m&&m[1],{onBeforeEnter:x,onEnter:S,onEnterCancelled:P,onLeave:C,onLeaveCancelled:v,onBeforeAppear:E=x,onAppear:A=S,onAppearCancelled:w=P}=t,k=(N,X,Y)=>{Wn(N,X?u:a),Wn(N,X?c:r),Y&&Y()},$=(N,X)=>{N._isLeaving=!1,Wn(N,d),Wn(N,p),Wn(N,f),X&&X()},L=N=>(X,Y)=>{const H=N?A:S,R=()=>k(X,N,Y);As(H,[X,R]),Sh(()=>{Wn(X,N?l:o),yn(X,N?u:a),Eh(H)||Ch(X,s,_,R)})};return Zt(t,{onBeforeEnter(N){As(x,[N]),yn(N,o),yn(N,r)},onBeforeAppear(N){As(E,[N]),yn(N,l),yn(N,c)},onEnter:L(!1),onAppear:L(!0),onLeave(N,X){N._isLeaving=!0;const Y=()=>$(N,X);yn(N,d),pm(),yn(N,f),Sh(()=>{N._isLeaving&&(Wn(N,d),yn(N,p),Eh(C)||Ch(N,s,y,Y))}),As(C,[N,Y])},onEnterCancelled(N){k(N,!1),As(P,[N])},onAppearCancelled(N){k(N,!0),As(w,[N])},onLeaveCancelled(N){$(N),As(v,[N])}})}function V1(e){if(e==null)return null;if(Ft(e))return[Tl(e.enter),Tl(e.leave)];{const t=Tl(e);return[t,t]}}function Tl(e){return ug(e)}function yn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[$i]||(e[$i]=new Set)).add(t)}function Wn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[$i];n&&(n.delete(t),n.size||(e[$i]=void 0))}function Sh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let H1=0;function Ch(e,t,n,s){const i=e._endId=++H1,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:l}=fm(e,t);if(!r)return s();const c=r+"end";let u=0;const d=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=l&&d()};setTimeout(()=>{u(n[m]||"").split(", "),i=s(`${Vn}Delay`),o=s(`${Vn}Duration`),r=Ah(i,o),a=s(`${io}Delay`),l=s(`${io}Duration`),c=Ah(a,l);let u=null,d=0,f=0;t===Vn?r>0&&(u=Vn,d=r,f=o.length):t===io?c>0&&(u=io,d=c,f=l.length):(d=Math.max(r,c),u=d>0?r>c?Vn:io:null,f=u?u===Vn?o.length:l.length:0);const p=u===Vn&&/\b(transform|all)(,|$)/.test(s(`${Vn}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Ah(e,t){for(;e.lengthTh(n)+Th(e[s])))}function Th(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function pm(){return document.body.offsetHeight}function j1(e,t,n){const s=e[$i];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const W1=Symbol("_vod"),z1=Symbol("");function U1(e,t,n){const s=e.style,i=Qt(n);if(n&&!i){if(t&&!Qt(t))for(const o in t)n[o]==null&&pc(s,o,"");for(const o in n)pc(s,o,n[o])}else{const o=s.display;if(i){if(t!==n){const r=s[z1];r&&(n+=";"+r),s.cssText=n}}else t&&e.removeAttribute("style");W1 in e&&(s.display=o)}}const Ph=/\s*!important$/;function pc(e,t,n){if(dt(n))n.forEach(s=>pc(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=K1(e,t);Ph.test(n)?e.setProperty(Yi(s),n.replace(Ph,""),"important"):e[s]=n}}const Mh=["Webkit","Moz","ms"],Pl={};function K1(e,t){const n=Pl[t];if(n)return n;let s=fn(t);if(s!=="filter"&&s in e)return Pl[t]=s;s=Na(s);for(let i=0;iMl||(J1.then(()=>Ml=0),Ml=Date.now());function tE(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ke(eE(s,n.value),t,5,[s])};return n.value=e,n.attached=Z1(),n}function eE(e,t){if(dt(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const $h=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,nE=(e,t,n,s,i,o,r,a,l)=>{const c=i==="svg";t==="class"?j1(e,s,c):t==="style"?U1(e,n,s):Ia(t)?Zc(t)||X1(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):sE(e,t,s,c))?q1(e,t,s,o,r,a,l):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Y1(e,t,s,c))};function sE(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&$h(t)&&bt(n));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 $h(t)&&Qt(n)?!1:t in e}const gm=new WeakMap,mm=new WeakMap,pa=Symbol("_moveCb"),Lh=Symbol("_enterCb"),_m={name:"TransitionGroup",props:Zt({},B1,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=am(),s=Wg();let i,o;return Yg(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!lE(i[0].el,n.vnode.el,r))return;i.forEach(oE),i.forEach(rE);const a=i.filter(aE);pm(),a.forEach(l=>{const c=l.el,u=c.style;yn(c,r),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[pa]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[pa]=null,Wn(c,r))};c.addEventListener("transitionend",d)})}),()=>{const r=Tt(e),a=hm(r);let l=r.tag||Jt;i=o,o=t.default?vu(t.default()):[];for(let c=0;cdelete e.mode;_m.props;const bm=_m;function oE(e){const t=e.el;t[pa]&&t[pa](),t[Lh]&&t[Lh]()}function rE(e){mm.set(e,e.el.getBoundingClientRect())}function aE(e){const t=gm.get(e),n=mm.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${i}px)`,o.transitionDuration="0s",e}}function lE(e,t,n){const s=e.cloneNode(),i=e[$i];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:r}=fm(s);return o.removeChild(s),r}const as=e=>{const t=e.props["onUpdate:modelValue"]||!1;return dt(t)?n=>Zr(t,n):t};function cE(e){e.target.composing=!0}function Ih(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ye=Symbol("_assign"),Ot={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[Ye]=as(i);const o=s||i.props&&i.props.type==="number";Sn(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=ca(a)),e[Ye](a)}),n&&Sn(e,"change",()=>{e.value=e.value.trim()}),t||(Sn(e,"compositionstart",cE),Sn(e,"compositionend",Ih),Sn(e,"change",Ih))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:i}},o){if(e[Ye]=as(o),e.composing)return;const r=i||e.type==="number"?ca(e.value):e.value,a=t??"";r!==a&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===a)||(e.value=a))}},Tu={deep:!0,created(e,t,n){e[Ye]=as(n),Sn(e,"change",()=>{const s=e._modelValue,i=Li(e),o=e.checked,r=e[Ye];if(dt(s)){const a=su(s,i),l=a!==-1;if(o&&!l)r(s.concat(i));else if(!o&&l){const c=[...s];c.splice(a,1),r(c)}}else if(Ki(s)){const a=new Set(s);o?a.add(i):a.delete(i),r(a)}else r(ym(e,o))})},mounted:Rh,beforeUpdate(e,t,n){e[Ye]=as(n),Rh(e,t,n)}};function Rh(e,{value:t,oldValue:n},s){e._modelValue=t,dt(t)?e.checked=su(t,s.props.value)>-1:Ki(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Us(t,ym(e,!0)))}const uE={created(e,{value:t},n){e.checked=Us(t,n.props.value),e[Ye]=as(n),Sn(e,"change",()=>{e[Ye](Li(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Ye]=as(s),t!==n&&(e.checked=Us(t,s.props.value))}},dE={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=Ki(t);Sn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?ca(Li(r)):Li(r));e[Ye](e.multiple?i?new Set(o):o:o[0])}),e[Ye]=as(s)},mounted(e,{value:t}){Nh(e,t)},beforeUpdate(e,t,n){e[Ye]=as(n)},updated(e,{value:t}){Nh(e,t)}};function Nh(e,t){const n=e.multiple;if(!(n&&!dt(t)&&!Ki(t))){for(let s=0,i=e.options.length;s-1:o.selected=t.has(r);else if(Us(Li(o),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Li(e){return"_value"in e?e._value:e.value}function ym(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const hE={created(e,t,n){Dr(e,t,n,null,"created")},mounted(e,t,n){Dr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Dr(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Dr(e,t,n,s,"updated")}};function fE(e,t){switch(e){case"SELECT":return dE;case"TEXTAREA":return Ot;default:switch(t){case"checkbox":return Tu;case"radio":return uE;default:return Ot}}}function Dr(e,t,n,s,i){const r=fE(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,s)}const pE=Zt({patchProp:nE},F1);let Fh;function gE(){return Fh||(Fh=b1(pE))}const mE=(...e)=>{const t=gE().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=bE(s);if(!i)return;const o=t._component;!bt(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,_E(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function _E(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bE(e){return Qt(e)?document.querySelector(e):e}var yE=!1;/*! + */(function(e,t){(function(n,s){e.exports=s(e1)})(Kp,function(n){function s(k){const h=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const b in k)if(b!=="default"){const M=Object.getOwnPropertyDescriptor(k,b);Object.defineProperty(h,b,M.get?M:{enumerable:!0,get:()=>k[b]})}}return h.default=k,Object.freeze(h)}const i=s(n),o=new Map,r={set(k,h,b){o.has(k)||o.set(k,new Map);const M=o.get(k);if(!M.has(h)&&M.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(M.keys())[0]}.`);return}M.set(h,b)},get(k,h){return o.has(k)&&o.get(k).get(h)||null},remove(k,h){if(!o.has(k))return;const b=o.get(k);b.delete(h),b.size===0&&o.delete(k)}},a=1e6,l=1e3,c="transitionend",u=k=>(k&&window.CSS&&window.CSS.escape&&(k=k.replace(/#([^\s"#']+)/g,(h,b)=>`#${CSS.escape(b)}`)),k),d=k=>k==null?`${k}`:Object.prototype.toString.call(k).match(/\s([a-z]+)/i)[1].toLowerCase(),f=k=>{do k+=Math.floor(Math.random()*a);while(document.getElementById(k));return k},p=k=>{if(!k)return 0;let{transitionDuration:h,transitionDelay:b}=window.getComputedStyle(k);const M=Number.parseFloat(h),z=Number.parseFloat(b);return!M&&!z?0:(h=h.split(",")[0],b=b.split(",")[0],(Number.parseFloat(h)+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(u(k)):null,x=k=>{if(!_(k)||k.getClientRects().length===0)return!1;const h=getComputedStyle(k).getPropertyValue("visibility")==="visible",b=k.closest("details:not([open])");if(!b)return h;if(b!==k){const M=k.closest("summary");if(M&&M.parentNode!==b||M===null)return!1}return h},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",P=k=>{if(!document.documentElement.attachShadow)return null;if(typeof k.getRootNode=="function"){const h=k.getRootNode();return h instanceof ShadowRoot?h:null}return k instanceof ShadowRoot?k:k.parentNode?P(k.parentNode):null},A=()=>{},y=k=>{k.offsetHeight},E=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,C=[],w=k=>{document.readyState==="loading"?(C.length||document.addEventListener("DOMContentLoaded",()=>{for(const h of C)h()}),C.push(k)):k()},$=()=>document.documentElement.dir==="rtl",D=k=>{w(()=>{const h=E();if(h){const b=k.NAME,M=h.fn[b];h.fn[b]=k.jQueryInterface,h.fn[b].Constructor=k,h.fn[b].noConflict=()=>(h.fn[b]=M,k.jQueryInterface)}})},I=(k,h=[],b=k)=>typeof k=="function"?k(...h):b,N=(k,h,b=!0)=>{if(!b){I(k);return}const z=p(h)+5;let st=!1;const et=({target:Tt})=>{Tt===h&&(st=!0,h.removeEventListener(c,et),I(k))};h.addEventListener(c,et),setTimeout(()=>{st||m(h)},z)},Q=(k,h,b,M)=>{const z=k.length;let st=k.indexOf(h);return st===-1?!b&&M?k[z-1]:k[0]:(st+=b?1:-1,M&&(st=(st+z)%z),k[Math.max(0,Math.min(st,z-1))])},Y=/[^.]*(?=\..*)\.|.*/,H=/\..*/,R=/::\d+$/,W={};let U=1;const rt={mouseenter:"mouseover",mouseleave:"mouseout"},ct=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 mt(k,h){return h&&`${h}::${U++}`||k.uidEvent||U++}function pt(k){const h=mt(k);return k.uidEvent=h,W[h]=W[h]||{},W[h]}function Pt(k,h){return function b(M){return T(M,{delegateTarget:k}),b.oneOff&&F.off(k,M.type,h),h.apply(k,[M])}}function At(k,h,b){return function M(z){const st=k.querySelectorAll(h);for(let{target:et}=z;et&&et!==this;et=et.parentNode)for(const Tt of st)if(Tt===et)return T(z,{delegateTarget:et}),M.oneOff&&F.off(k,z.type,h,b),b.apply(et,[z])}}function Mt(k,h,b=null){return Object.values(k).find(M=>M.callable===h&&M.delegationSelector===b)}function Ct(k,h,b){const M=typeof h=="string",z=M?b:h||b;let st=at(k);return ct.has(st)||(st=k),[M,z,st]}function j(k,h,b,M,z){if(typeof h!="string"||!k)return;let[st,et,Tt]=Ct(h,b,M);h in rt&&(et=(ax=>function(hi){if(!hi.relatedTarget||hi.relatedTarget!==hi.delegateTarget&&!hi.delegateTarget.contains(hi.relatedTarget))return ax.call(this,hi)})(et));const ye=pt(k),Ve=ye[Tt]||(ye[Tt]={}),ae=Mt(Ve,et,st?b:null);if(ae){ae.oneOff=ae.oneOff&&z;return}const sn=mt(et,h.replace(Y,"")),Qe=st?At(k,b,et):Pt(k,et);Qe.delegationSelector=st?b:null,Qe.callable=et,Qe.oneOff=z,Qe.uidEvent=sn,Ve[sn]=Qe,k.addEventListener(Tt,Qe,st)}function nt(k,h,b,M,z){const st=Mt(h[b],M,z);st&&(k.removeEventListener(b,st,!!z),delete h[b][st.uidEvent])}function Z(k,h,b,M){const z=h[b]||{};for(const[st,et]of Object.entries(z))st.includes(M)&&nt(k,h,b,et.callable,et.delegationSelector)}function at(k){return k=k.replace(H,""),rt[k]||k}const F={on(k,h,b,M){j(k,h,b,M,!1)},one(k,h,b,M){j(k,h,b,M,!0)},off(k,h,b,M){if(typeof h!="string"||!k)return;const[z,st,et]=Ct(h,b,M),Tt=et!==h,ye=pt(k),Ve=ye[et]||{},ae=h.startsWith(".");if(typeof st<"u"){if(!Object.keys(Ve).length)return;nt(k,ye,et,st,z?b:null);return}if(ae)for(const sn of Object.keys(ye))Z(k,ye,sn,h.slice(1));for(const[sn,Qe]of Object.entries(Ve)){const Pr=sn.replace(R,"");(!Tt||h.includes(Pr))&&nt(k,ye,et,Qe.callable,Qe.delegationSelector)}},trigger(k,h,b){if(typeof h!="string"||!k)return null;const M=E(),z=at(h),st=h!==z;let et=null,Tt=!0,ye=!0,Ve=!1;st&&M&&(et=M.Event(h,b),M(k).trigger(et),Tt=!et.isPropagationStopped(),ye=!et.isImmediatePropagationStopped(),Ve=et.isDefaultPrevented());const ae=T(new Event(h,{bubbles:Tt,cancelable:!0}),b);return Ve&&ae.preventDefault(),ye&&k.dispatchEvent(ae),ae.defaultPrevented&&et&&et.preventDefault(),ae}};function T(k,h={}){for(const[b,M]of Object.entries(h))try{k[b]=M}catch{Object.defineProperty(k,b,{configurable:!0,get(){return M}})}return k}function O(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 L(k){return k.replace(/[A-Z]/g,h=>`-${h.toLowerCase()}`)}const V={setDataAttribute(k,h,b){k.setAttribute(`data-bs-${L(h)}`,b)},removeDataAttribute(k,h){k.removeAttribute(`data-bs-${L(h)}`)},getDataAttributes(k){if(!k)return{};const h={},b=Object.keys(k.dataset).filter(M=>M.startsWith("bs")&&!M.startsWith("bsConfig"));for(const M of b){let z=M.replace(/^bs/,"");z=z.charAt(0).toLowerCase()+z.slice(1,z.length),h[z]=O(k.dataset[M])}return h},getDataAttribute(k,h){return O(k.getAttribute(`data-bs-${L(h)}`))}};class K{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(h){return h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h}_mergeConfigObj(h,b){const M=_(b)?V.getDataAttribute(b,"config"):{};return{...this.constructor.Default,...typeof M=="object"?M:{},..._(b)?V.getDataAttributes(b):{},...typeof h=="object"?h:{}}}_typeCheckConfig(h,b=this.constructor.DefaultType){for(const[M,z]of Object.entries(b)){const st=h[M],et=_(st)?"element":d(st);if(!new RegExp(z).test(et))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${M}" provided type "${et}" but expected type "${z}".`)}}}const G="5.3.2";class tt extends K{constructor(h,b){super(),h=v(h),h&&(this._element=h,this._config=this._getConfig(b),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY);for(const h of Object.getOwnPropertyNames(this))this[h]=null}_queueCallback(h,b,M=!0){N(h,b,M)}_getConfig(h){return h=this._mergeConfigObj(h,this._element),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}static getInstance(h){return r.get(v(h),this.DATA_KEY)}static getOrCreateInstance(h,b={}){return this.getInstance(h)||new this(h,typeof b=="object"?b:null)}static get VERSION(){return G}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(h){return`${h}${this.EVENT_KEY}`}}const J=k=>{let h=k.getAttribute("data-bs-target");if(!h||h==="#"){let b=k.getAttribute("href");if(!b||!b.includes("#")&&!b.startsWith("."))return null;b.includes("#")&&!b.startsWith("#")&&(b=`#${b.split("#")[1]}`),h=b&&b!=="#"?u(b.trim()):null}return h},B={find(k,h=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(h,k))},findOne(k,h=document.documentElement){return Element.prototype.querySelector.call(h,k)},children(k,h){return[].concat(...k.children).filter(b=>b.matches(h))},parents(k,h){const b=[];let M=k.parentNode.closest(h);for(;M;)b.push(M),M=M.parentNode.closest(h);return b},prev(k,h){let b=k.previousElementSibling;for(;b;){if(b.matches(h))return[b];b=b.previousElementSibling}return[]},next(k,h){let b=k.nextElementSibling;for(;b;){if(b.matches(h))return[b];b=b.nextElementSibling}return[]},focusableChildren(k){const h=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(b=>`${b}:not([tabindex^="-"])`).join(",");return this.find(h,k).filter(b=>!S(b)&&x(b))},getSelectorFromElement(k){const h=J(k);return h&&B.findOne(h)?h:null},getElementFromSelector(k){const h=J(k);return h?B.findOne(h):null},getMultipleElementsFromSelector(k){const h=J(k);return h?B.find(h):[]}},q=(k,h="hide")=>{const b=`click.dismiss${k.EVENT_KEY}`,M=k.NAME;F.on(document,b,`[data-bs-dismiss="${M}"]`,function(z){if(["A","AREA"].includes(this.tagName)&&z.preventDefault(),S(this))return;const st=B.getElementFromSelector(this)||this.closest(`.${M}`);k.getOrCreateInstance(st)[h]()})},lt="alert",ut=".bs.alert",_t=`close${ut}`,St=`closed${ut}`,Ot="fade",Nt="show";class qt extends tt{static get NAME(){return lt}close(){if(F.trigger(this._element,_t).defaultPrevented)return;this._element.classList.remove(Nt);const b=this._element.classList.contains(Ot);this._queueCallback(()=>this._destroyElement(),this._element,b)}_destroyElement(){this._element.remove(),F.trigger(this._element,St),this.dispose()}static jQueryInterface(h){return this.each(function(){const b=qt.getOrCreateInstance(this);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}q(qt,"close"),D(qt);const Te="button",gr=".bs.button",xs=".data-api",mr="active",he='[data-bs-toggle="button"]',Fe=`click${gr}${xs}`;class Bn extends tt{static get NAME(){return Te}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(mr))}static jQueryInterface(h){return this.each(function(){const b=Bn.getOrCreateInstance(this);h==="toggle"&&b[h]()})}}F.on(document,Fe,he,k=>{k.preventDefault();const h=k.target.closest(he);Bn.getOrCreateInstance(h).toggle()}),D(Bn);const Mb="swipe",ii=".bs.swipe",Ob=`touchstart${ii}`,Db=`touchmove${ii}`,Ib=`touchend${ii}`,Lb=`pointerdown${ii}`,Rb=`pointerup${ii}`,Nb="touch",Fb="pen",Bb="pointer-event",Vb=40,Hb={endCallback:null,leftCallback:null,rightCallback:null},jb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class _r extends K{constructor(h,b){super(),this._element=h,!(!h||!_r.isSupported())&&(this._config=this._getConfig(b),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Hb}static get DefaultType(){return jb}static get NAME(){return Mb}dispose(){F.off(this._element,ii)}_start(h){if(!this._supportPointerEvents){this._deltaX=h.touches[0].clientX;return}this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX)}_end(h){this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX-this._deltaX),this._handleSwipe(),I(this._config.endCallback)}_move(h){this._deltaX=h.touches&&h.touches.length>1?0:h.touches[0].clientX-this._deltaX}_handleSwipe(){const h=Math.abs(this._deltaX);if(h<=Vb)return;const b=h/this._deltaX;this._deltaX=0,b&&I(b>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,Lb,h=>this._start(h)),F.on(this._element,Rb,h=>this._end(h)),this._element.classList.add(Bb)):(F.on(this._element,Ob,h=>this._start(h)),F.on(this._element,Db,h=>this._move(h)),F.on(this._element,Ib,h=>this._end(h)))}_eventIsPointerPenTouch(h){return this._supportPointerEvents&&(h.pointerType===Fb||h.pointerType===Nb)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Wb="carousel",Vn=".bs.carousel",dd=".data-api",zb="ArrowLeft",Ub="ArrowRight",Kb=500,io="next",oi="prev",ri="left",br="right",Yb=`slide${Vn}`,gl=`slid${Vn}`,qb=`keydown${Vn}`,Gb=`mouseenter${Vn}`,Xb=`mouseleave${Vn}`,Qb=`dragstart${Vn}`,Jb=`load${Vn}${dd}`,Zb=`click${Vn}${dd}`,hd="carousel",vr="active",tv="slide",ev="carousel-item-end",nv="carousel-item-start",sv="carousel-item-next",iv="carousel-item-prev",fd=".active",pd=".carousel-item",ov=fd+pd,rv=".carousel-item img",av=".carousel-indicators",lv="[data-bs-slide], [data-bs-slide-to]",cv='[data-bs-ride="carousel"]',uv={[zb]:br,[Ub]:ri},dv={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},hv={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ai extends tt{constructor(h,b){super(h,b),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=B.findOne(av,this._element),this._addEventListeners(),this._config.ride===hd&&this.cycle()}static get Default(){return dv}static get DefaultType(){return hv}static get NAME(){return Wb}next(){this._slide(io)}nextWhenVisible(){!document.hidden&&x(this._element)&&this.next()}prev(){this._slide(oi)}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){F.one(this._element,gl,()=>this.cycle());return}this.cycle()}}to(h){const b=this._getItems();if(h>b.length-1||h<0)return;if(this._isSliding){F.one(this._element,gl,()=>this.to(h));return}const M=this._getItemIndex(this._getActive());if(M===h)return;const z=h>M?io:oi;this._slide(z,b[h])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(h){return h.defaultInterval=h.interval,h}_addEventListeners(){this._config.keyboard&&F.on(this._element,qb,h=>this._keydown(h)),this._config.pause==="hover"&&(F.on(this._element,Gb,()=>this.pause()),F.on(this._element,Xb,()=>this._maybeEnableCycle())),this._config.touch&&_r.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const M of B.find(rv,this._element))F.on(M,Qb,z=>z.preventDefault());const b={leftCallback:()=>this._slide(this._directionToOrder(ri)),rightCallback:()=>this._slide(this._directionToOrder(br)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Kb+this._config.interval))}};this._swipeHelper=new _r(this._element,b)}_keydown(h){if(/input|textarea/i.test(h.target.tagName))return;const b=uv[h.key];b&&(h.preventDefault(),this._slide(this._directionToOrder(b)))}_getItemIndex(h){return this._getItems().indexOf(h)}_setActiveIndicatorElement(h){if(!this._indicatorsElement)return;const b=B.findOne(fd,this._indicatorsElement);b.classList.remove(vr),b.removeAttribute("aria-current");const M=B.findOne(`[data-bs-slide-to="${h}"]`,this._indicatorsElement);M&&(M.classList.add(vr),M.setAttribute("aria-current","true"))}_updateInterval(){const h=this._activeElement||this._getActive();if(!h)return;const b=Number.parseInt(h.getAttribute("data-bs-interval"),10);this._config.interval=b||this._config.defaultInterval}_slide(h,b=null){if(this._isSliding)return;const M=this._getActive(),z=h===io,st=b||Q(this._getItems(),M,z,this._config.wrap);if(st===M)return;const et=this._getItemIndex(st),Tt=Pr=>F.trigger(this._element,Pr,{relatedTarget:st,direction:this._orderToDirection(h),from:this._getItemIndex(M),to:et});if(Tt(Yb).defaultPrevented||!M||!st)return;const Ve=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(et),this._activeElement=st;const ae=z?nv:ev,sn=z?sv:iv;st.classList.add(sn),y(st),M.classList.add(ae),st.classList.add(ae);const Qe=()=>{st.classList.remove(ae,sn),st.classList.add(vr),M.classList.remove(vr,sn,ae),this._isSliding=!1,Tt(gl)};this._queueCallback(Qe,M,this._isAnimated()),Ve&&this.cycle()}_isAnimated(){return this._element.classList.contains(tv)}_getActive(){return B.findOne(ov,this._element)}_getItems(){return B.find(pd,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(h){return $()?h===ri?oi:io:h===ri?io:oi}_orderToDirection(h){return $()?h===oi?ri:br:h===oi?br:ri}static jQueryInterface(h){return this.each(function(){const b=ai.getOrCreateInstance(this,h);if(typeof h=="number"){b.to(h);return}if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(document,Zb,lv,function(k){const h=B.getElementFromSelector(this);if(!h||!h.classList.contains(hd))return;k.preventDefault();const b=ai.getOrCreateInstance(h),M=this.getAttribute("data-bs-slide-to");if(M){b.to(M),b._maybeEnableCycle();return}if(V.getDataAttribute(this,"slide")==="next"){b.next(),b._maybeEnableCycle();return}b.prev(),b._maybeEnableCycle()}),F.on(window,Jb,()=>{const k=B.find(cv);for(const h of k)ai.getOrCreateInstance(h)}),D(ai);const fv="collapse",oo=".bs.collapse",pv=".data-api",gv=`show${oo}`,mv=`shown${oo}`,_v=`hide${oo}`,bv=`hidden${oo}`,vv=`click${oo}${pv}`,ml="show",li="collapse",yr="collapsing",yv="collapsed",xv=`:scope .${li} .${li}`,wv="collapse-horizontal",Ev="width",Sv="height",Av=".collapse.show, .collapse.collapsing",_l='[data-bs-toggle="collapse"]',Cv={parent:null,toggle:!0},Tv={parent:"(null|element)",toggle:"boolean"};class ci extends tt{constructor(h,b){super(h,b),this._isTransitioning=!1,this._triggerArray=[];const M=B.find(_l);for(const z of M){const st=B.getSelectorFromElement(z),et=B.find(st).filter(Tt=>Tt===this._element);st!==null&&et.length&&this._triggerArray.push(z)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Cv}static get DefaultType(){return Tv}static get NAME(){return fv}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let h=[];if(this._config.parent&&(h=this._getFirstLevelChildren(Av).filter(Tt=>Tt!==this._element).map(Tt=>ci.getOrCreateInstance(Tt,{toggle:!1}))),h.length&&h[0]._isTransitioning||F.trigger(this._element,gv).defaultPrevented)return;for(const Tt of h)Tt.hide();const M=this._getDimension();this._element.classList.remove(li),this._element.classList.add(yr),this._element.style[M]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const z=()=>{this._isTransitioning=!1,this._element.classList.remove(yr),this._element.classList.add(li,ml),this._element.style[M]="",F.trigger(this._element,mv)},et=`scroll${M[0].toUpperCase()+M.slice(1)}`;this._queueCallback(z,this._element,!0),this._element.style[M]=`${this._element[et]}px`}hide(){if(this._isTransitioning||!this._isShown()||F.trigger(this._element,_v).defaultPrevented)return;const b=this._getDimension();this._element.style[b]=`${this._element.getBoundingClientRect()[b]}px`,y(this._element),this._element.classList.add(yr),this._element.classList.remove(li,ml);for(const z of this._triggerArray){const st=B.getElementFromSelector(z);st&&!this._isShown(st)&&this._addAriaAndCollapsedClass([z],!1)}this._isTransitioning=!0;const M=()=>{this._isTransitioning=!1,this._element.classList.remove(yr),this._element.classList.add(li),F.trigger(this._element,bv)};this._element.style[b]="",this._queueCallback(M,this._element,!0)}_isShown(h=this._element){return h.classList.contains(ml)}_configAfterMerge(h){return h.toggle=!!h.toggle,h.parent=v(h.parent),h}_getDimension(){return this._element.classList.contains(wv)?Ev:Sv}_initializeChildren(){if(!this._config.parent)return;const h=this._getFirstLevelChildren(_l);for(const b of h){const M=B.getElementFromSelector(b);M&&this._addAriaAndCollapsedClass([b],this._isShown(M))}}_getFirstLevelChildren(h){const b=B.find(xv,this._config.parent);return B.find(h,this._config.parent).filter(M=>!b.includes(M))}_addAriaAndCollapsedClass(h,b){if(h.length)for(const M of h)M.classList.toggle(yv,!b),M.setAttribute("aria-expanded",b)}static jQueryInterface(h){const b={};return typeof h=="string"&&/show|hide/.test(h)&&(b.toggle=!1),this.each(function(){const M=ci.getOrCreateInstance(this,b);if(typeof h=="string"){if(typeof M[h]>"u")throw new TypeError(`No method named "${h}"`);M[h]()}})}}F.on(document,vv,_l,function(k){(k.target.tagName==="A"||k.delegateTarget&&k.delegateTarget.tagName==="A")&&k.preventDefault();for(const h of B.getMultipleElementsFromSelector(this))ci.getOrCreateInstance(h,{toggle:!1}).toggle()}),D(ci);const gd="dropdown",ws=".bs.dropdown",bl=".data-api",Pv="Escape",md="Tab",kv="ArrowUp",_d="ArrowDown",$v=2,Mv=`hide${ws}`,Ov=`hidden${ws}`,Dv=`show${ws}`,Iv=`shown${ws}`,bd=`click${ws}${bl}`,vd=`keydown${ws}${bl}`,Lv=`keyup${ws}${bl}`,ui="show",Rv="dropup",Nv="dropend",Fv="dropstart",Bv="dropup-center",Vv="dropdown-center",Es='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Hv=`${Es}.${ui}`,xr=".dropdown-menu",jv=".navbar",Wv=".navbar-nav",zv=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Uv=$()?"top-end":"top-start",Kv=$()?"top-start":"top-end",Yv=$()?"bottom-end":"bottom-start",qv=$()?"bottom-start":"bottom-end",Gv=$()?"left-start":"right-start",Xv=$()?"right-start":"left-start",Qv="top",Jv="bottom",Zv={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ty={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Xe extends tt{constructor(h,b){super(h,b),this._popper=null,this._parent=this._element.parentNode,this._menu=B.next(this._element,xr)[0]||B.prev(this._element,xr)[0]||B.findOne(xr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Zv}static get DefaultType(){return ty}static get NAME(){return gd}toggle(){return this._isShown()?this.hide():this.show()}show(){if(S(this._element)||this._isShown())return;const h={relatedTarget:this._element};if(!F.trigger(this._element,Dv,h).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Wv))for(const M of[].concat(...document.body.children))F.on(M,"mouseover",A);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(ui),this._element.classList.add(ui),F.trigger(this._element,Iv,h)}}hide(){if(S(this._element)||!this._isShown())return;const h={relatedTarget:this._element};this._completeHide(h)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(h){if(!F.trigger(this._element,Mv,h).defaultPrevented){if("ontouchstart"in document.documentElement)for(const M of[].concat(...document.body.children))F.off(M,"mouseover",A);this._popper&&this._popper.destroy(),this._menu.classList.remove(ui),this._element.classList.remove(ui),this._element.setAttribute("aria-expanded","false"),V.removeDataAttribute(this._menu,"popper"),F.trigger(this._element,Ov,h)}}_getConfig(h){if(h=super._getConfig(h),typeof h.reference=="object"&&!_(h.reference)&&typeof h.reference.getBoundingClientRect!="function")throw new TypeError(`${gd.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return h}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let h=this._element;this._config.reference==="parent"?h=this._parent:_(this._config.reference)?h=v(this._config.reference):typeof this._config.reference=="object"&&(h=this._config.reference);const b=this._getPopperConfig();this._popper=i.createPopper(h,this._menu,b)}_isShown(){return this._menu.classList.contains(ui)}_getPlacement(){const h=this._parent;if(h.classList.contains(Nv))return Gv;if(h.classList.contains(Fv))return Xv;if(h.classList.contains(Bv))return Qv;if(h.classList.contains(Vv))return Jv;const b=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return h.classList.contains(Rv)?b?Kv:Uv:b?qv:Yv}_detectNavbar(){return this._element.closest(jv)!==null}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(b=>Number.parseInt(b,10)):typeof h=="function"?b=>h(b,this._element):h}_getPopperConfig(){const h={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(V.setDataAttribute(this._menu,"popper","static"),h.modifiers=[{name:"applyStyles",enabled:!1}]),{...h,...I(this._config.popperConfig,[h])}}_selectMenuItem({key:h,target:b}){const M=B.find(zv,this._menu).filter(z=>x(z));M.length&&Q(M,b,h===_d,!M.includes(b)).focus()}static jQueryInterface(h){return this.each(function(){const b=Xe.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}static clearMenus(h){if(h.button===$v||h.type==="keyup"&&h.key!==md)return;const b=B.find(Hv);for(const M of b){const z=Xe.getInstance(M);if(!z||z._config.autoClose===!1)continue;const st=h.composedPath(),et=st.includes(z._menu);if(st.includes(z._element)||z._config.autoClose==="inside"&&!et||z._config.autoClose==="outside"&&et||z._menu.contains(h.target)&&(h.type==="keyup"&&h.key===md||/input|select|option|textarea|form/i.test(h.target.tagName)))continue;const Tt={relatedTarget:z._element};h.type==="click"&&(Tt.clickEvent=h),z._completeHide(Tt)}}static dataApiKeydownHandler(h){const b=/input|textarea/i.test(h.target.tagName),M=h.key===Pv,z=[kv,_d].includes(h.key);if(!z&&!M||b&&!M)return;h.preventDefault();const st=this.matches(Es)?this:B.prev(this,Es)[0]||B.next(this,Es)[0]||B.findOne(Es,h.delegateTarget.parentNode),et=Xe.getOrCreateInstance(st);if(z){h.stopPropagation(),et.show(),et._selectMenuItem(h);return}et._isShown()&&(h.stopPropagation(),et.hide(),st.focus())}}F.on(document,vd,Es,Xe.dataApiKeydownHandler),F.on(document,vd,xr,Xe.dataApiKeydownHandler),F.on(document,bd,Xe.clearMenus),F.on(document,Lv,Xe.clearMenus),F.on(document,bd,Es,function(k){k.preventDefault(),Xe.getOrCreateInstance(this).toggle()}),D(Xe);const yd="backdrop",ey="fade",xd="show",wd=`mousedown.bs.${yd}`,ny={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},sy={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ed extends K{constructor(h){super(),this._config=this._getConfig(h),this._isAppended=!1,this._element=null}static get Default(){return ny}static get DefaultType(){return sy}static get NAME(){return yd}show(h){if(!this._config.isVisible){I(h);return}this._append();const b=this._getElement();this._config.isAnimated&&y(b),b.classList.add(xd),this._emulateAnimation(()=>{I(h)})}hide(h){if(!this._config.isVisible){I(h);return}this._getElement().classList.remove(xd),this._emulateAnimation(()=>{this.dispose(),I(h)})}dispose(){this._isAppended&&(F.off(this._element,wd),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const h=document.createElement("div");h.className=this._config.className,this._config.isAnimated&&h.classList.add(ey),this._element=h}return this._element}_configAfterMerge(h){return h.rootElement=v(h.rootElement),h}_append(){if(this._isAppended)return;const h=this._getElement();this._config.rootElement.append(h),F.on(h,wd,()=>{I(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(h){N(h,this._getElement(),this._config.isAnimated)}}const iy="focustrap",wr=".bs.focustrap",oy=`focusin${wr}`,ry=`keydown.tab${wr}`,ay="Tab",ly="forward",Sd="backward",cy={autofocus:!0,trapElement:null},uy={autofocus:"boolean",trapElement:"element"};class Ad extends K{constructor(h){super(),this._config=this._getConfig(h),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return cy}static get DefaultType(){return uy}static get NAME(){return iy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,wr),F.on(document,oy,h=>this._handleFocusin(h)),F.on(document,ry,h=>this._handleKeydown(h)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,wr))}_handleFocusin(h){const{trapElement:b}=this._config;if(h.target===document||h.target===b||b.contains(h.target))return;const M=B.focusableChildren(b);M.length===0?b.focus():this._lastTabNavDirection===Sd?M[M.length-1].focus():M[0].focus()}_handleKeydown(h){h.key===ay&&(this._lastTabNavDirection=h.shiftKey?Sd:ly)}}const Cd=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Td=".sticky-top",Er="padding-right",Pd="margin-right";class vl{constructor(){this._element=document.body}getWidth(){const h=document.documentElement.clientWidth;return Math.abs(window.innerWidth-h)}hide(){const h=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Er,b=>b+h),this._setElementAttributes(Cd,Er,b=>b+h),this._setElementAttributes(Td,Pd,b=>b-h)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Er),this._resetElementAttributes(Cd,Er),this._resetElementAttributes(Td,Pd)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(h,b,M){const z=this.getWidth(),st=et=>{if(et!==this._element&&window.innerWidth>et.clientWidth+z)return;this._saveInitialAttribute(et,b);const Tt=window.getComputedStyle(et).getPropertyValue(b);et.style.setProperty(b,`${M(Number.parseFloat(Tt))}px`)};this._applyManipulationCallback(h,st)}_saveInitialAttribute(h,b){const M=h.style.getPropertyValue(b);M&&V.setDataAttribute(h,b,M)}_resetElementAttributes(h,b){const M=z=>{const st=V.getDataAttribute(z,b);if(st===null){z.style.removeProperty(b);return}V.removeDataAttribute(z,b),z.style.setProperty(b,st)};this._applyManipulationCallback(h,M)}_applyManipulationCallback(h,b){if(_(h)){b(h);return}for(const M of B.find(h,this._element))b(M)}}const dy="modal",Be=".bs.modal",hy=".data-api",fy="Escape",py=`hide${Be}`,gy=`hidePrevented${Be}`,kd=`hidden${Be}`,$d=`show${Be}`,my=`shown${Be}`,_y=`resize${Be}`,by=`click.dismiss${Be}`,vy=`mousedown.dismiss${Be}`,yy=`keydown.dismiss${Be}`,xy=`click${Be}${hy}`,Md="modal-open",wy="fade",Od="show",yl="modal-static",Ey=".modal.show",Sy=".modal-dialog",Ay=".modal-body",Cy='[data-bs-toggle="modal"]',Ty={backdrop:!0,focus:!0,keyboard:!0},Py={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ss extends tt{constructor(h,b){super(h,b),this._dialog=B.findOne(Sy,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new vl,this._addEventListeners()}static get Default(){return Ty}static get DefaultType(){return Py}static get NAME(){return dy}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){this._isShown||this._isTransitioning||F.trigger(this._element,$d,{relatedTarget:h}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Md),this._adjustDialog(),this._backdrop.show(()=>this._showElement(h)))}hide(){!this._isShown||this._isTransitioning||F.trigger(this._element,py).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Od),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){F.off(window,Be),F.off(this._dialog,Be),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ed({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ad({trapElement:this._element})}_showElement(h){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(Ay,this._dialog);b&&(b.scrollTop=0),y(this._element),this._element.classList.add(Od);const M=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,my,{relatedTarget:h})};this._queueCallback(M,this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,yy,h=>{if(h.key===fy){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),F.on(window,_y,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),F.on(this._element,vy,h=>{F.one(this._element,by,b=>{if(!(this._element!==h.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(Md),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,kd)})}_isAnimated(){return this._element.classList.contains(wy)}_triggerBackdropTransition(){if(F.trigger(this._element,gy).defaultPrevented)return;const b=this._element.scrollHeight>document.documentElement.clientHeight,M=this._element.style.overflowY;M==="hidden"||this._element.classList.contains(yl)||(b||(this._element.style.overflowY="hidden"),this._element.classList.add(yl),this._queueCallback(()=>{this._element.classList.remove(yl),this._queueCallback(()=>{this._element.style.overflowY=M},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const h=this._element.scrollHeight>document.documentElement.clientHeight,b=this._scrollBar.getWidth(),M=b>0;if(M&&!h){const z=$()?"paddingLeft":"paddingRight";this._element.style[z]=`${b}px`}if(!M&&h){const z=$()?"paddingRight":"paddingLeft";this._element.style[z]=`${b}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(h,b){return this.each(function(){const M=Ss.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof M[h]>"u")throw new TypeError(`No method named "${h}"`);M[h](b)}})}}F.on(document,xy,Cy,function(k){const h=B.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&k.preventDefault(),F.one(h,$d,z=>{z.defaultPrevented||F.one(h,kd,()=>{x(this)&&this.focus()})});const b=B.findOne(Ey);b&&Ss.getInstance(b).hide(),Ss.getOrCreateInstance(h).toggle(this)}),q(Ss),D(Ss);const ky="offcanvas",bn=".bs.offcanvas",Dd=".data-api",$y=`load${bn}${Dd}`,My="Escape",Id="show",Ld="showing",Rd="hiding",Oy="offcanvas-backdrop",Nd=".offcanvas.show",Dy=`show${bn}`,Iy=`shown${bn}`,Ly=`hide${bn}`,Fd=`hidePrevented${bn}`,Bd=`hidden${bn}`,Ry=`resize${bn}`,Ny=`click${bn}${Dd}`,Fy=`keydown.dismiss${bn}`,By='[data-bs-toggle="offcanvas"]',Vy={backdrop:!0,keyboard:!0,scroll:!1},Hy={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class vn extends tt{constructor(h,b){super(h,b),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vy}static get DefaultType(){return Hy}static get NAME(){return ky}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){if(this._isShown||F.trigger(this._element,Dy,{relatedTarget:h}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new vl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Ld);const M=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Id),this._element.classList.remove(Ld),F.trigger(this._element,Iy,{relatedTarget:h})};this._queueCallback(M,this._element,!0)}hide(){if(!this._isShown||F.trigger(this._element,Ly).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Rd),this._backdrop.hide();const b=()=>{this._element.classList.remove(Id,Rd),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new vl().reset(),F.trigger(this._element,Bd)};this._queueCallback(b,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const h=()=>{if(this._config.backdrop==="static"){F.trigger(this._element,Fd);return}this.hide()},b=!!this._config.backdrop;return new Ed({className:Oy,isVisible:b,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:b?h:null})}_initializeFocusTrap(){return new Ad({trapElement:this._element})}_addEventListeners(){F.on(this._element,Fy,h=>{if(h.key===My){if(this._config.keyboard){this.hide();return}F.trigger(this._element,Fd)}})}static jQueryInterface(h){return this.each(function(){const b=vn.getOrCreateInstance(this,h);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}F.on(document,Ny,By,function(k){const h=B.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),S(this))return;F.one(h,Bd,()=>{x(this)&&this.focus()});const b=B.findOne(Nd);b&&b!==h&&vn.getInstance(b).hide(),vn.getOrCreateInstance(h).toggle(this)}),F.on(window,$y,()=>{for(const k of B.find(Nd))vn.getOrCreateInstance(k).show()}),F.on(window,Ry,()=>{for(const k of B.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(k).position!=="fixed"&&vn.getOrCreateInstance(k).hide()}),q(vn),D(vn);const Vd={"*":["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:[]},jy=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Wy=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,zy=(k,h)=>{const b=k.nodeName.toLowerCase();return h.includes(b)?jy.has(b)?!!Wy.test(k.nodeValue):!0:h.filter(M=>M instanceof RegExp).some(M=>M.test(b))};function Uy(k,h,b){if(!k.length)return k;if(b&&typeof b=="function")return b(k);const z=new window.DOMParser().parseFromString(k,"text/html"),st=[].concat(...z.body.querySelectorAll("*"));for(const et of st){const Tt=et.nodeName.toLowerCase();if(!Object.keys(h).includes(Tt)){et.remove();continue}const ye=[].concat(...et.attributes),Ve=[].concat(h["*"]||[],h[Tt]||[]);for(const ae of ye)zy(ae,Ve)||et.removeAttribute(ae.nodeName)}return z.body.innerHTML}const Ky="TemplateFactory",Yy={allowList:Vd,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},qy={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gy={entry:"(string|element|function|null)",selector:"(string|element)"};class Xy extends K{constructor(h){super(),this._config=this._getConfig(h)}static get Default(){return Yy}static get DefaultType(){return qy}static get NAME(){return Ky}getContent(){return Object.values(this._config.content).map(h=>this._resolvePossibleFunction(h)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(h){return this._checkContent(h),this._config.content={...this._config.content,...h},this}toHtml(){const h=document.createElement("div");h.innerHTML=this._maybeSanitize(this._config.template);for(const[z,st]of Object.entries(this._config.content))this._setContent(h,st,z);const b=h.children[0],M=this._resolvePossibleFunction(this._config.extraClass);return M&&b.classList.add(...M.split(" ")),b}_typeCheckConfig(h){super._typeCheckConfig(h),this._checkContent(h.content)}_checkContent(h){for(const[b,M]of Object.entries(h))super._typeCheckConfig({selector:b,entry:M},Gy)}_setContent(h,b,M){const z=B.findOne(M,h);if(z){if(b=this._resolvePossibleFunction(b),!b){z.remove();return}if(_(b)){this._putElementInTemplate(v(b),z);return}if(this._config.html){z.innerHTML=this._maybeSanitize(b);return}z.textContent=b}}_maybeSanitize(h){return this._config.sanitize?Uy(h,this._config.allowList,this._config.sanitizeFn):h}_resolvePossibleFunction(h){return I(h,[this])}_putElementInTemplate(h,b){if(this._config.html){b.innerHTML="",b.append(h);return}b.textContent=h.textContent}}const Qy="tooltip",Jy=new Set(["sanitize","allowList","sanitizeFn"]),xl="fade",Zy="modal",Sr="show",t0=".tooltip-inner",Hd=`.${Zy}`,jd="hide.bs.modal",ro="hover",wl="focus",e0="click",n0="manual",s0="hide",i0="hidden",o0="show",r0="shown",a0="inserted",l0="click",c0="focusin",u0="focusout",d0="mouseenter",h0="mouseleave",f0={AUTO:"auto",TOP:"top",RIGHT:$()?"left":"right",BOTTOM:"bottom",LEFT:$()?"right":"left"},p0={allowList:Vd,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"},g0={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 As extends tt{constructor(h,b){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(h,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 p0}static get DefaultType(){return g0}static get NAME(){return Qy}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),F.off(this._element.closest(Hd),jd,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 h=F.trigger(this._element,this.constructor.eventName(o0)),M=(P(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(h.defaultPrevented||!M)return;this._disposePopper();const z=this._getTipElement();this._element.setAttribute("aria-describedby",z.getAttribute("id"));const{container:st}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(st.append(z),F.trigger(this._element,this.constructor.eventName(a0))),this._popper=this._createPopper(z),z.classList.add(Sr),"ontouchstart"in document.documentElement)for(const Tt of[].concat(...document.body.children))F.on(Tt,"mouseover",A);const et=()=>{F.trigger(this._element,this.constructor.eventName(r0)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(et,this.tip,this._isAnimated())}hide(){if(!this._isShown()||F.trigger(this._element,this.constructor.eventName(s0)).defaultPrevented)return;if(this._getTipElement().classList.remove(Sr),"ontouchstart"in document.documentElement)for(const z of[].concat(...document.body.children))F.off(z,"mouseover",A);this._activeTrigger[e0]=!1,this._activeTrigger[wl]=!1,this._activeTrigger[ro]=!1,this._isHovered=null;const M=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName(i0)))};this._queueCallback(M,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(h){const b=this._getTemplateFactory(h).toHtml();if(!b)return null;b.classList.remove(xl,Sr),b.classList.add(`bs-${this.constructor.NAME}-auto`);const M=f(this.constructor.NAME).toString();return b.setAttribute("id",M),this._isAnimated()&&b.classList.add(xl),b}setContent(h){this._newContent=h,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(h){return this._templateFactory?this._templateFactory.changeContent(h):this._templateFactory=new Xy({...this._config,content:h,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[t0]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(h){return this.constructor.getOrCreateInstance(h.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(xl)}_isShown(){return this.tip&&this.tip.classList.contains(Sr)}_createPopper(h){const b=I(this._config.placement,[this,h,this._element]),M=f0[b.toUpperCase()];return i.createPopper(this._element,h,this._getPopperConfig(M))}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(b=>Number.parseInt(b,10)):typeof h=="function"?b=>h(b,this._element):h}_resolvePossibleFunction(h){return I(h,[this._element])}_getPopperConfig(h){const b={placement:h,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:M=>{this._getTipElement().setAttribute("data-popper-placement",M.state.placement)}}]};return{...b,...I(this._config.popperConfig,[b])}}_setListeners(){const h=this._config.trigger.split(" ");for(const b of h)if(b==="click")F.on(this._element,this.constructor.eventName(l0),this._config.selector,M=>{this._initializeOnDelegatedTarget(M).toggle()});else if(b!==n0){const M=b===ro?this.constructor.eventName(d0):this.constructor.eventName(c0),z=b===ro?this.constructor.eventName(h0):this.constructor.eventName(u0);F.on(this._element,M,this._config.selector,st=>{const et=this._initializeOnDelegatedTarget(st);et._activeTrigger[st.type==="focusin"?wl:ro]=!0,et._enter()}),F.on(this._element,z,this._config.selector,st=>{const et=this._initializeOnDelegatedTarget(st);et._activeTrigger[st.type==="focusout"?wl:ro]=et._element.contains(st.relatedTarget),et._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Hd),jd,this._hideModalHandler)}_fixTitle(){const h=this._element.getAttribute("title");h&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",h),this._element.setAttribute("data-bs-original-title",h),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(h,b){clearTimeout(this._timeout),this._timeout=setTimeout(h,b)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(h){const b=V.getDataAttributes(this._element);for(const M of Object.keys(b))Jy.has(M)&&delete b[M];return h={...b,...typeof h=="object"&&h?h:{}},h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h.container=h.container===!1?document.body:v(h.container),typeof h.delay=="number"&&(h.delay={show:h.delay,hide:h.delay}),typeof h.title=="number"&&(h.title=h.title.toString()),typeof h.content=="number"&&(h.content=h.content.toString()),h}_getDelegateConfig(){const h={};for(const[b,M]of Object.entries(this._config))this.constructor.Default[b]!==M&&(h[b]=M);return h.selector=!1,h.trigger="manual",h}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(h){return this.each(function(){const b=As.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}}D(As);const m0="popover",_0=".popover-header",b0=".popover-body",v0={...As.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},y0={...As.DefaultType,content:"(null|string|element|function)"};class Ar extends As{static get Default(){return v0}static get DefaultType(){return y0}static get NAME(){return m0}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[_0]:this._getTitle(),[b0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(h){return this.each(function(){const b=Ar.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h]()}})}}D(Ar);const x0="scrollspy",El=".bs.scrollspy",w0=".data-api",E0=`activate${El}`,Wd=`click${El}`,S0=`load${El}${w0}`,A0="dropdown-item",di="active",C0='[data-bs-spy="scroll"]',Sl="[href]",T0=".nav, .list-group",zd=".nav-link",P0=`${zd}, .nav-item > ${zd}, .list-group-item`,k0=".dropdown",$0=".dropdown-toggle",M0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},O0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ao extends tt{constructor(h,b){super(h,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 M0}static get DefaultType(){return O0}static get NAME(){return x0}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const h of this._observableSections.values())this._observer.observe(h)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(h){return h.target=v(h.target)||document.body,h.rootMargin=h.offset?`${h.offset}px 0px -30%`:h.rootMargin,typeof h.threshold=="string"&&(h.threshold=h.threshold.split(",").map(b=>Number.parseFloat(b))),h}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,Wd),F.on(this._config.target,Wd,Sl,h=>{const b=this._observableSections.get(h.target.hash);if(b){h.preventDefault();const M=this._rootElement||window,z=b.offsetTop-this._element.offsetTop;if(M.scrollTo){M.scrollTo({top:z,behavior:"smooth"});return}M.scrollTop=z}}))}_getNewObserver(){const h={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(b=>this._observerCallback(b),h)}_observerCallback(h){const b=et=>this._targetLinks.get(`#${et.target.id}`),M=et=>{this._previousScrollData.visibleEntryTop=et.target.offsetTop,this._process(b(et))},z=(this._rootElement||document.documentElement).scrollTop,st=z>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=z;for(const et of h){if(!et.isIntersecting){this._activeTarget=null,this._clearActiveClass(b(et));continue}const Tt=et.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(st&&Tt){if(M(et),!z)return;continue}!st&&!Tt&&M(et)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const h=B.find(Sl,this._config.target);for(const b of h){if(!b.hash||S(b))continue;const M=B.findOne(decodeURI(b.hash),this._element);x(M)&&(this._targetLinks.set(decodeURI(b.hash),b),this._observableSections.set(b.hash,M))}}_process(h){this._activeTarget!==h&&(this._clearActiveClass(this._config.target),this._activeTarget=h,h.classList.add(di),this._activateParents(h),F.trigger(this._element,E0,{relatedTarget:h}))}_activateParents(h){if(h.classList.contains(A0)){B.findOne($0,h.closest(k0)).classList.add(di);return}for(const b of B.parents(h,T0))for(const M of B.prev(b,P0))M.classList.add(di)}_clearActiveClass(h){h.classList.remove(di);const b=B.find(`${Sl}.${di}`,h);for(const M of b)M.classList.remove(di)}static jQueryInterface(h){return this.each(function(){const b=ao.getOrCreateInstance(this,h);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(window,S0,()=>{for(const k of B.find(C0))ao.getOrCreateInstance(k)}),D(ao);const D0="tab",Cs=".bs.tab",I0=`hide${Cs}`,L0=`hidden${Cs}`,R0=`show${Cs}`,N0=`shown${Cs}`,F0=`click${Cs}`,B0=`keydown${Cs}`,V0=`load${Cs}`,H0="ArrowLeft",Ud="ArrowRight",j0="ArrowUp",Kd="ArrowDown",Al="Home",Yd="End",Ts="active",qd="fade",Cl="show",W0="dropdown",Gd=".dropdown-toggle",z0=".dropdown-menu",Tl=`:not(${Gd})`,U0='.list-group, .nav, [role="tablist"]',K0=".nav-item, .list-group-item",Y0=`.nav-link${Tl}, .list-group-item${Tl}, [role="tab"]${Tl}`,Xd='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Pl=`${Y0}, ${Xd}`,q0=`.${Ts}[data-bs-toggle="tab"], .${Ts}[data-bs-toggle="pill"], .${Ts}[data-bs-toggle="list"]`;class Ps extends tt{constructor(h){super(h),this._parent=this._element.closest(U0),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,B0,b=>this._keydown(b)))}static get NAME(){return D0}show(){const h=this._element;if(this._elemIsActive(h))return;const b=this._getActiveElem(),M=b?F.trigger(b,I0,{relatedTarget:h}):null;F.trigger(h,R0,{relatedTarget:b}).defaultPrevented||M&&M.defaultPrevented||(this._deactivate(b,h),this._activate(h,b))}_activate(h,b){if(!h)return;h.classList.add(Ts),this._activate(B.getElementFromSelector(h));const M=()=>{if(h.getAttribute("role")!=="tab"){h.classList.add(Cl);return}h.removeAttribute("tabindex"),h.setAttribute("aria-selected",!0),this._toggleDropDown(h,!0),F.trigger(h,N0,{relatedTarget:b})};this._queueCallback(M,h,h.classList.contains(qd))}_deactivate(h,b){if(!h)return;h.classList.remove(Ts),h.blur(),this._deactivate(B.getElementFromSelector(h));const M=()=>{if(h.getAttribute("role")!=="tab"){h.classList.remove(Cl);return}h.setAttribute("aria-selected",!1),h.setAttribute("tabindex","-1"),this._toggleDropDown(h,!1),F.trigger(h,L0,{relatedTarget:b})};this._queueCallback(M,h,h.classList.contains(qd))}_keydown(h){if(![H0,Ud,j0,Kd,Al,Yd].includes(h.key))return;h.stopPropagation(),h.preventDefault();const b=this._getChildren().filter(z=>!S(z));let M;if([Al,Yd].includes(h.key))M=b[h.key===Al?0:b.length-1];else{const z=[Ud,Kd].includes(h.key);M=Q(b,h.target,z,!0)}M&&(M.focus({preventScroll:!0}),Ps.getOrCreateInstance(M).show())}_getChildren(){return B.find(Pl,this._parent)}_getActiveElem(){return this._getChildren().find(h=>this._elemIsActive(h))||null}_setInitialAttributes(h,b){this._setAttributeIfNotExists(h,"role","tablist");for(const M of b)this._setInitialAttributesOnChild(M)}_setInitialAttributesOnChild(h){h=this._getInnerElement(h);const b=this._elemIsActive(h),M=this._getOuterElement(h);h.setAttribute("aria-selected",b),M!==h&&this._setAttributeIfNotExists(M,"role","presentation"),b||h.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(h,"role","tab"),this._setInitialAttributesOnTargetPanel(h)}_setInitialAttributesOnTargetPanel(h){const b=B.getElementFromSelector(h);b&&(this._setAttributeIfNotExists(b,"role","tabpanel"),h.id&&this._setAttributeIfNotExists(b,"aria-labelledby",`${h.id}`))}_toggleDropDown(h,b){const M=this._getOuterElement(h);if(!M.classList.contains(W0))return;const z=(st,et)=>{const Tt=B.findOne(st,M);Tt&&Tt.classList.toggle(et,b)};z(Gd,Ts),z(z0,Cl),M.setAttribute("aria-expanded",b)}_setAttributeIfNotExists(h,b,M){h.hasAttribute(b)||h.setAttribute(b,M)}_elemIsActive(h){return h.classList.contains(Ts)}_getInnerElement(h){return h.matches(Pl)?h:B.findOne(Pl,h)}_getOuterElement(h){return h.closest(K0)||h}static jQueryInterface(h){return this.each(function(){const b=Ps.getOrCreateInstance(this);if(typeof h=="string"){if(b[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);b[h]()}})}}F.on(document,F0,Xd,function(k){["A","AREA"].includes(this.tagName)&&k.preventDefault(),!S(this)&&Ps.getOrCreateInstance(this).show()}),F.on(window,V0,()=>{for(const k of B.find(q0))Ps.getOrCreateInstance(k)}),D(Ps);const G0="toast",Hn=".bs.toast",X0=`mouseover${Hn}`,Q0=`mouseout${Hn}`,J0=`focusin${Hn}`,Z0=`focusout${Hn}`,tx=`hide${Hn}`,ex=`hidden${Hn}`,nx=`show${Hn}`,sx=`shown${Hn}`,ix="fade",Qd="hide",Cr="show",Tr="showing",ox={animation:"boolean",autohide:"boolean",delay:"number"},rx={animation:!0,autohide:!0,delay:5e3};class lo extends tt{constructor(h,b){super(h,b),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return rx}static get DefaultType(){return ox}static get NAME(){return G0}show(){if(F.trigger(this._element,nx).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(ix);const b=()=>{this._element.classList.remove(Tr),F.trigger(this._element,sx),this._maybeScheduleHide()};this._element.classList.remove(Qd),y(this._element),this._element.classList.add(Cr,Tr),this._queueCallback(b,this._element,this._config.animation)}hide(){if(!this.isShown()||F.trigger(this._element,tx).defaultPrevented)return;const b=()=>{this._element.classList.add(Qd),this._element.classList.remove(Tr,Cr),F.trigger(this._element,ex)};this._element.classList.add(Tr),this._queueCallback(b,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Cr),super.dispose()}isShown(){return this._element.classList.contains(Cr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(h,b){switch(h.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=b;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=b;break}}if(b){this._clearTimeout();return}const M=h.relatedTarget;this._element===M||this._element.contains(M)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,X0,h=>this._onInteraction(h,!0)),F.on(this._element,Q0,h=>this._onInteraction(h,!1)),F.on(this._element,J0,h=>this._onInteraction(h,!0)),F.on(this._element,Z0,h=>this._onInteraction(h,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(h){return this.each(function(){const b=lo.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof b[h]>"u")throw new TypeError(`No method named "${h}"`);b[h](this)}})}}return q(lo),D(lo),{Alert:qt,Button:Bn,Carousel:ai,Collapse:ci,Dropdown:Xe,Modal:Ss,Offcanvas:vn,Popover:Ar,ScrollSpy:ao,Tab:Ps,Toast:lo,Tooltip:As}})})(hx);function ru(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const Wt={},wi=[],ze=()=>{},n1=()=>!1,Va=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),au=e=>e.startsWith("onUpdate:"),se=Object.assign,lu=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},s1=Object.prototype.hasOwnProperty,Dt=(e,t)=>s1.call(e,t),ht=Array.isArray,Ei=e=>ir(e)==="[object Map]",Ji=e=>ir(e)==="[object Set]",rh=e=>ir(e)==="[object Date]",xt=e=>typeof e=="function",ee=e=>typeof e=="string",ls=e=>typeof e=="symbol",Vt=e=>e!==null&&typeof e=="object",_g=e=>(Vt(e)||xt(e))&&xt(e.then)&&xt(e.catch),bg=Object.prototype.toString,ir=e=>bg.call(e),i1=e=>ir(e).slice(8,-1),vg=e=>ir(e)==="[object Object]",cu=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,sa=ru(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ha=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},o1=/-(\w)/g,gn=Ha(e=>e.replace(o1,(t,n)=>n?n.toUpperCase():"")),r1=/\B([A-Z])/g,Zi=Ha(e=>e.replace(r1,"-$1").toLowerCase()),ja=Ha(e=>e.charAt(0).toUpperCase()+e.slice(1)),kl=Ha(e=>e?`on${ja(e)}`:""),cs=(e,t)=>!Object.is(e,t),ia=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},pa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},yg=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let ah;const xg=()=>ah||(ah=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function uu(e){if(ht(e)){const t={};for(let n=0;n{if(n){const s=n.split(l1);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function jt(e){let t="";if(ee(e))t=e;else if(ht(e))for(let n=0;nXs(n,t))}const wt=e=>ee(e)?e:e==null?"":ht(e)||Vt(e)&&(e.toString===bg||!xt(e.toString))?JSON.stringify(e,Eg,2):String(e),Eg=(e,t)=>t&&t.__v_isRef?Eg(e,t.value):Ei(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[$l(s,o)+" =>"]=i,n),{})}:Ji(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>$l(n))}:ls(t)?$l(t):Vt(t)&&!ht(t)&&!vg(t)?String(t):t,$l=(e,t="")=>{var n;return ls(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let ke;class Sg{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ke,!t&&ke&&(this.index=(ke.scopes||(ke.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ke;try{return ke=this,t()}finally{ke=n}}}on(){ke=this}off(){ke=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break;ti(),this._queryings--}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=ss,n=js;try{return ss=!0,js=this,this._runnings++,lh(this),this.fn()}finally{ch(this),this._runnings--,js=n,ss=t}}stop(){var t;this.active&&(lh(this),ch(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function g1(e){return e.value}function lh(e){e._trackId++,e._depsLength=0}function ch(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},ga=new WeakMap,Ws=Symbol(""),dc=Symbol("");function Ae(e,t,n){if(ss&&js){let s=ga.get(e);s||ga.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=Mg(()=>s.delete(n))),kg(js,i)}}function Dn(e,t,n,s,i,o){const r=ga.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(n==="length"&&ht(e)){const l=Number(s);r.forEach((c,u)=>{(u==="length"||!ls(u)&&u>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":ht(e)?cu(n)&&a.push(r.get("length")):(a.push(r.get(Ws)),Ei(e)&&a.push(r.get(dc)));break;case"delete":ht(e)||(a.push(r.get(Ws)),Ei(e)&&a.push(r.get(dc)));break;case"set":Ei(e)&&a.push(r.get(Ws));break}pu();for(const l of a)l&&$g(l,3);gu()}function m1(e,t){var n;return(n=ga.get(e))==null?void 0:n.get(t)}const _1=ru("__proto__,__v_isRef,__isVue"),Og=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ls)),uh=b1();function b1(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=kt(this);for(let o=0,r=this.length;o{e[t]=function(...n){Zs(),pu();const s=kt(this)[t].apply(this,n);return gu(),ti(),s}}),e}function v1(e){const t=kt(this);return Ae(t,"has",e),t.hasOwnProperty(e)}class Dg{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const i=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(i?o?O1:Ng:o?Rg:Lg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=ht(t);if(!i){if(r&&Dt(uh,n))return Reflect.get(uh,n,s);if(n==="hasOwnProperty")return v1}const a=Reflect.get(t,n,s);return(ls(n)?Og.has(n):_1(n))||(i||Ae(t,"get",n),o)?a:re(a)?r&&cu(n)?a:a.value:Vt(a)?i?Bg(a):or(a):a}}class Ig extends Dg{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._shallow){const l=Ii(o);if(!vi(s)&&!Ii(s)&&(o=kt(o),s=kt(s)),!ht(t)&&re(o)&&!re(s))return l?!1:(o.value=s,!0)}const r=ht(t)&&cu(n)?Number(n)e,Wa=e=>Reflect.getPrototypeOf(e);function $r(e,t,n=!1,s=!1){e=e.__v_raw;const i=kt(e),o=kt(t);n||(cs(t,o)&&Ae(i,"get",t),Ae(i,"get",o));const{has:r}=Wa(i),a=s?mu:n?vu:Ho;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 Mr(e,t=!1){const n=this.__v_raw,s=kt(n),i=kt(e);return t||(cs(e,i)&&Ae(s,"has",e),Ae(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Or(e,t=!1){return e=e.__v_raw,!t&&Ae(kt(e),"iterate",Ws),Reflect.get(e,"size",e)}function dh(e){e=kt(e);const t=kt(this);return Wa(t).has.call(t,e)||(t.add(e),Dn(t,"add",e,e)),this}function hh(e,t){t=kt(t);const n=kt(this),{has:s,get:i}=Wa(n);let o=s.call(n,e);o||(e=kt(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?cs(t,r)&&Dn(n,"set",e,t):Dn(n,"add",e,t),this}function fh(e){const t=kt(this),{has:n,get:s}=Wa(t);let i=n.call(t,e);i||(e=kt(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Dn(t,"delete",e,void 0),o}function ph(){const e=kt(this),t=e.size!==0,n=e.clear();return t&&Dn(e,"clear",void 0,void 0),n}function Dr(e,t){return function(s,i){const o=this,r=o.__v_raw,a=kt(r),l=t?mu:e?vu:Ho;return!e&&Ae(a,"iterate",Ws),r.forEach((c,u)=>s.call(i,l(c),l(u),o))}}function Ir(e,t,n){return function(...s){const i=this.__v_raw,o=kt(i),r=Ei(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...s),u=n?mu:t?vu:Ho;return!t&&Ae(o,"iterate",l?dc:Ws),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:a?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function jn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function S1(){const e={get(o){return $r(this,o)},get size(){return Or(this)},has:Mr,add:dh,set:hh,delete:fh,clear:ph,forEach:Dr(!1,!1)},t={get(o){return $r(this,o,!1,!0)},get size(){return Or(this)},has:Mr,add:dh,set:hh,delete:fh,clear:ph,forEach:Dr(!1,!0)},n={get(o){return $r(this,o,!0)},get size(){return Or(this,!0)},has(o){return Mr.call(this,o,!0)},add:jn("add"),set:jn("set"),delete:jn("delete"),clear:jn("clear"),forEach:Dr(!0,!1)},s={get(o){return $r(this,o,!0,!0)},get size(){return Or(this,!0)},has(o){return Mr.call(this,o,!0)},add:jn("add"),set:jn("set"),delete:jn("delete"),clear:jn("clear"),forEach:Dr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Ir(o,!1,!1),n[o]=Ir(o,!0,!1),t[o]=Ir(o,!1,!0),s[o]=Ir(o,!0,!0)}),[e,n,t,s]}const[A1,C1,T1,P1]=S1();function _u(e,t){const n=t?e?P1:T1:e?C1:A1;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(Dt(n,i)&&i in s?n:s,i,o)}const k1={get:_u(!1,!1)},$1={get:_u(!1,!0)},M1={get:_u(!0,!1)},Lg=new WeakMap,Rg=new WeakMap,Ng=new WeakMap,O1=new WeakMap;function D1(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function I1(e){return e.__v_skip||!Object.isExtensible(e)?0:D1(i1(e))}function or(e){return Ii(e)?e:bu(e,!1,x1,k1,Lg)}function Fg(e){return bu(e,!1,E1,$1,Rg)}function Bg(e){return bu(e,!0,w1,M1,Ng)}function bu(e,t,n,s,i){if(!Vt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=I1(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function is(e){return Ii(e)?is(e.__v_raw):!!(e&&e.__v_isReactive)}function Ii(e){return!!(e&&e.__v_isReadonly)}function vi(e){return!!(e&&e.__v_isShallow)}function za(e){return is(e)||Ii(e)}function kt(e){const t=e&&e.__v_raw;return t?kt(t):e}function rr(e){return fa(e,"__v_skip",!0),e}const Ho=e=>Vt(e)?or(e):e,vu=e=>Vt(e)?Bg(e):e;class Vg{constructor(t,n,s,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new fu(()=>t(this._value),()=>hc(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=kt(this);return Hg(t),(!t._cacheable||t.effect.dirty)&&cs(t._value,t._value=t.effect.run())&&hc(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function L1(e,t,n=!1){let s,i;const o=xt(e);return o?(s=e,i=ze):(s=e.get,i=e.set),new Vg(s,i,o||!i,n)}function Hg(e){ss&&js&&(e=kt(e),kg(js,e.dep||(e.dep=Mg(()=>e.dep=void 0,e instanceof Vg?e:void 0))))}function hc(e,t=3,n){e=kt(e);const s=e.dep;s&&$g(s,t)}function re(e){return!!(e&&e.__v_isRef===!0)}function Li(e){return jg(e,!1)}function yu(e){return jg(e,!0)}function jg(e,t){return re(e)?e:new R1(e,t)}class R1{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:kt(t),this._value=n?t:Ho(t)}get value(){return Hg(this),this._value}set value(t){const n=this.__v_isShallow||vi(t)||Ii(t);t=n?t:kt(t),cs(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ho(t),hc(this,3))}}function os(e){return re(e)?e.value:e}const N1={get:(e,t,n)=>os(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return re(i)&&!re(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Wg(e){return is(e)?e:new Proxy(e,N1)}function F1(e){const t=ht(e)?new Array(e.length):{};for(const n in e)t[n]=V1(e,n);return t}class B1{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,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 m1(kt(this._object),this._key)}}function V1(e,t,n){const s=e[t];return re(s)?s:new B1(e,t,n)}function rs(e,t,n,s){let i;try{i=s?e(...s):e()}catch(o){ar(o,t,n)}return i}function qe(e,t,n,s){if(xt(e)){const o=rs(e,t,n,s);return o&&_g(o)&&o.catch(r=>{ar(r,t,n)}),o}const i=[];for(let o=0;o>>1,i=pe[s],o=Wo(i);oln&&pe.splice(t,1)}function pc(e){ht(e)?Si.push(...e):(!An||!An.includes(e,e.allowRecurse?Fs+1:Fs))&&Si.push(e),Ug()}function gh(e,t,n=jo?ln+1:0){for(;nWo(n)-Wo(s)),Fs=0;Fse.id==null?1/0:e.id,z1=(e,t)=>{const n=Wo(e)-Wo(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Yg(e){fc=!1,jo=!0,pe.sort(z1);try{for(ln=0;lnee(p)?p.trim():p)),d&&(i=n.map(pa))}let a,l=s[a=kl(t)]||s[a=kl(gn(t))];!l&&o&&(l=s[a=kl(Zi(t))]),l&&qe(l,e,6,i);const c=s[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,qe(c,e,6,i)}}function qg(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!xt(e)){const l=c=>{const u=qg(c,t,!0);u&&(a=!0,se(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(Vt(e)&&s.set(e,null),null):(ht(o)?o.forEach(l=>r[l]=null):se(r,o),Vt(e)&&s.set(e,r),r)}function Ka(e,t){return!e||!Va(t)?!1:(t=t.slice(2).replace(/Once$/,""),Dt(e,t[0].toLowerCase()+t.slice(1))||Dt(e,Zi(t))||Dt(e,t))}let Se=null,Ya=null;function ma(e){const t=Se;return Se=e,Ya=e&&e.type.__scopeId||null,t}function ei(e){Ya=e}function ni(){Ya=null}function Gt(e,t=Se,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&kh(-1);const o=ma(t);let r;try{r=e(...i)}finally{ma(o),s._d&&kh(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function Ml(e){const{type:t,vnode:n,proxy:s,withProxy:i,props:o,propsOptions:[r],slots:a,attrs:l,emit:c,render:u,renderCache:d,data:f,setupState:p,ctx:m,inheritAttrs:_}=e;let v,x;const S=ma(e);try{if(n.shapeFlag&4){const A=i||s,y=A;v=Ze(u.call(y,A,d,o,p,f,m)),x=l}else{const A=t;v=Ze(A.length>1?A(o,{attrs:l,slots:a,emit:c}):A(o,null)),x=t.props?l:Y1(l)}}catch(A){Co.length=0,ar(A,e,1),v=dt(Oe)}let P=v;if(x&&_!==!1){const A=Object.keys(x),{shapeFlag:y}=P;A.length&&y&7&&(r&&A.some(au)&&(x=q1(x,r)),P=ds(P,x))}return n.dirs&&(P=ds(P),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition&&(P.transition=n.transition),v=P,ma(S),v}function K1(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Va(n))&&((t||(t={}))[n]=e[n]);return t},q1=(e,t)=>{const n={};for(const s in e)(!au(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function G1(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?mh(s,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;let bh=0;const Q1={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,o,r,a,l,c){e==null?J1(t,n,s,i,o,r,a,l,c):Z1(e,t,n,s,i,r,a,l,c)},hydrate:tw,create:Tu,normalize:ew},Cu=Q1;function zo(e,t){const n=e.props&&e.props[t];xt(n)&&n()}function J1(e,t,n,s,i,o,r,a,l){const{p:c,o:{createElement:u}}=l,d=u("div"),f=e.suspense=Tu(e,i,s,t,d,n,o,r,a,l);c(null,f.pendingBranch=e.ssContent,d,null,s,f,o,r),f.deps>0?(zo(e,"onPending"),zo(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,o,r),Ai(f,e.ssFallback)):f.resolve(!1,!0)}function Z1(e,t,n,s,i,o,r,a,{p:l,um:c,o:{createElement:u}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:v,isHydrating:x}=d;if(_)d.pendingBranch=f,cn(f,_)?(l(_,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():v&&(x||(l(m,p,n,s,i,null,o,r,a),Ai(d,p)))):(d.pendingId=bh++,x?(d.isHydrating=!1,d.activeBranch=_):c(_,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u("div"),v?(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():(l(m,p,n,s,i,null,o,r,a),Ai(d,p))):m&&cn(f,m)?(l(m,f,n,s,i,d,o,r,a),d.resolve(!0)):(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0&&d.resolve()));else if(m&&cn(f,m))l(m,f,n,s,i,d,o,r,a),Ai(d,f);else if(zo(t,"onPending"),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=bh++,l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0)d.resolve();else{const{timeout:S,pendingId:P}=d;S>0?setTimeout(()=>{d.pendingId===P&&d.fallback(p)},S):S===0&&d.fallback(p)}}function Tu(e,t,n,s,i,o,r,a,l,c,u=!1){const{p:d,m:f,um:p,n:m,o:{parentNode:_,remove:v}}=c;let x;const S=sw(e);S&&t!=null&&t.pendingBranch&&(x=t.pendingId,t.deps++);const P=e.props?yg(e.props.timeout):void 0,A={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:i,anchor:o,deps:0,pendingId:0,timeout:typeof P=="number"?P:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(y=!1,E=!1){const{vnode:C,activeBranch:w,pendingBranch:$,pendingId:D,effects:I,parentComponent:N,container:Q}=A;let Y=!1;if(A.isHydrating)A.isHydrating=!1;else if(!y){Y=w&&$.transition&&$.transition.mode==="out-in",Y&&(w.transition.afterLeave=()=>{D===A.pendingId&&(f($,Q,m(w),0),pc(I))});let{anchor:W}=A;w&&(W=m(w),p(w,N,A,!0)),Y||f($,Q,W,0)}Ai(A,$),A.pendingBranch=null,A.isInFallback=!1;let H=A.parent,R=!1;for(;H;){if(H.pendingBranch){H.effects.push(...I),R=!0;break}H=H.parent}!R&&!Y&&pc(I),A.effects=[],S&&t&&t.pendingBranch&&x===t.pendingId&&(t.deps--,t.deps===0&&!E&&t.resolve()),zo(C,"onResolve")},fallback(y){if(!A.pendingBranch)return;const{vnode:E,activeBranch:C,parentComponent:w,container:$,namespace:D}=A;zo(E,"onFallback");const I=m(C),N=()=>{A.isInFallback&&(d(null,y,$,I,w,null,D,a,l),Ai(A,y))},Q=y.transition&&y.transition.mode==="out-in";Q&&(C.transition.afterLeave=N),A.isInFallback=!0,p(C,w,null,!0),Q||N()},move(y,E,C){A.activeBranch&&f(A.activeBranch,y,E,C),A.container=y},next(){return A.activeBranch&&m(A.activeBranch)},registerDep(y,E){const C=!!A.pendingBranch;C&&A.deps++;const w=y.vnode.el;y.asyncDep.catch($=>{ar($,y,0)}).then($=>{if(y.isUnmounted||A.isUnmounted||A.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:D}=y;xc(y,$,!1),w&&(D.el=w);const I=!w&&y.subTree.el;E(y,D,_(w||y.subTree.el),w?null:m(y.subTree),A,r,l),I&&v(I),Eu(y,D.el),C&&--A.deps===0&&A.resolve()})},unmount(y,E){A.isUnmounted=!0,A.activeBranch&&p(A.activeBranch,n,y,E),A.pendingBranch&&p(A.pendingBranch,n,y,E)}};return A}function tw(e,t,n,s,i,o,r,a,l){const c=t.suspense=Tu(t,s,n,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,o,r);return c.deps===0&&c.resolve(!1,!0),u}function ew(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=vh(s?n.default:n),e.ssFallback=s?vh(n.fallback):dt(Oe)}function vh(e){let t;if(xt(e)){const n=Ri&&e._c;n&&(e._d=!1,X()),e=e(),n&&(e._d=!0,t=Ue,pm())}return ht(e)&&(e=K1(e)),e=Ze(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function nw(e,t){t&&t.pendingBranch?ht(e)?t.effects.push(...e):t.effects.push(e):pc(e)}function Ai(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,i=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=i,Eu(s,i))}function sw(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}const iw=Symbol.for("v-scx"),ow=()=>hn(iw),Lr={};function zs(e,t,n){return Qg(e,t,n)}function Qg(e,t,{immediate:n,deep:s,flush:i,once:o,onTrack:r,onTrigger:a}=Wt){var l;if(t&&o){const y=t;t=(...E)=>{y(...E),A()}}const c=hu()===((l=ie)==null?void 0:l.scope)?ie:null;let u,d=!1,f=!1;if(re(e)?(u=()=>e.value,d=vi(e)):is(e)?(u=vi(e)||s===!1?()=>Pn(e,1):()=>Pn(e),d=!0):ht(e)?(f=!0,d=e.some(y=>is(y)||vi(y)),u=()=>e.map(y=>{if(re(y))return y.value;if(is(y))return Pn(y,vi(y)||s===!1?1:void 0);if(xt(y))return rs(y,c,2)})):xt(e)?t?u=()=>rs(e,c,2):u=()=>{if(!(c&&c.isUnmounted))return p&&p(),qe(e,c,3,[m])}:u=ze,t&&s){const y=u;u=()=>Pn(y())}let p,m=y=>{p=P.onStop=()=>{rs(y,c,4),p=P.onStop=void 0}},_;if(Za)if(m=ze,t?n&&qe(t,c,3,[u(),f?[]:void 0,m]):u(),i==="sync"){const y=ow();_=y.__watcherHandles||(y.__watcherHandles=[])}else return ze;let v=f?new Array(e.length).fill(Lr):Lr;const x=()=>{if(!(!P.active||!P.dirty))if(t){const y=P.run();(s||d||(f?y.some((E,C)=>cs(E,v[C])):cs(y,v)))&&(p&&p(),qe(t,c,3,[y,v===Lr?void 0:f&&v[0]===Lr?[]:v,m]),v=y)}else P.run()};x.allowRecurse=!!t;let S;i==="sync"?S=x:i==="post"?S=()=>we(x,c&&c.suspense):(x.pre=!0,c&&(x.id=c.uid),S=()=>wu(x));const P=new fu(u,ze,S),A=()=>{P.stop(),c&&c.scope&&lu(c.scope.effects,P)};return t?n?x():v=P.run():i==="post"?we(P.run.bind(P),c&&c.suspense):P.run(),_&&_.push(A),A}function rw(e,t,n){const s=this.proxy,i=ee(e)?e.includes(".")?Jg(s,e):()=>s[e]:e.bind(s,s);let o;xt(t)?o=t:(o=t.handler,n=t);const r=ie;Ni(this);const a=Qg(i,o.bind(s),n);return r?Ni(r):Us(),a}function Jg(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),re(e))Pn(e.value,t,n,s);else if(ht(e))for(let i=0;i{Pn(i,t,n,s)});else if(vg(e))for(const i in e)Pn(e[i],t,n,s);return e}function bt(e,t){const n=Se;if(n===null)return e;const s=tl(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),$u(()=>{e.isUnmounting=!0}),e}const He=[Function,Array],tm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:He,onEnter:He,onAfterEnter:He,onEnterCancelled:He,onBeforeLeave:He,onLeave:He,onAfterLeave:He,onLeaveCancelled:He,onBeforeAppear:He,onAppear:He,onAfterAppear:He,onAppearCancelled:He},aw={name:"BaseTransition",props:tm,setup(e,{slots:t}){const n=_m(),s=Zg();let i;return()=>{const o=t.default&&Pu(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const _ of o)if(_.type!==Oe){r=_;break}}const a=kt(e),{mode:l}=a;if(s.isLeaving)return Ol(r);const c=yh(r);if(!c)return Ol(r);const u=Uo(c,a,s,n);Ko(c,u);const d=n.subTree,f=d&&yh(d);let p=!1;const{getTransitionKey:m}=c.type;if(m){const _=m();i===void 0?i=_:_!==i&&(i=_,p=!0)}if(f&&f.type!==Oe&&(!cn(c,f)||p)){const _=Uo(f,a,s,n);if(Ko(f,_),l==="out-in")return s.isLeaving=!0,_.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Ol(r);l==="in-out"&&c.type!==Oe&&(_.delayLeave=(v,x,S)=>{const P=em(s,f);P[String(f.key)]=f,v[qn]=()=>{x(),v[qn]=void 0,delete u.delayedLeave},u.delayedLeave=S})}return r}}},lw=aw;function em(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Uo(e,t,n,s){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:f,onAfterLeave:p,onLeaveCancelled:m,onBeforeAppear:_,onAppear:v,onAfterAppear:x,onAppearCancelled:S}=t,P=String(e.key),A=em(n,e),y=(w,$)=>{w&&qe(w,s,9,$)},E=(w,$)=>{const D=$[1];y(w,$),ht(w)?w.every(I=>I.length<=1)&&D():w.length<=1&&D()},C={mode:o,persisted:r,beforeEnter(w){let $=a;if(!n.isMounted)if(i)$=_||a;else return;w[qn]&&w[qn](!0);const D=A[P];D&&cn(e,D)&&D.el[qn]&&D.el[qn](),y($,[w])},enter(w){let $=l,D=c,I=u;if(!n.isMounted)if(i)$=v||l,D=x||c,I=S||u;else return;let N=!1;const Q=w[Rr]=Y=>{N||(N=!0,Y?y(I,[w]):y(D,[w]),C.delayedLeave&&C.delayedLeave(),w[Rr]=void 0)};$?E($,[w,Q]):Q()},leave(w,$){const D=String(e.key);if(w[Rr]&&w[Rr](!0),n.isUnmounting)return $();y(d,[w]);let I=!1;const N=w[qn]=Q=>{I||(I=!0,$(),Q?y(m,[w]):y(p,[w]),w[qn]=void 0,A[D]===e&&delete A[D])};A[D]=e,f?E(f,[w,N]):N()},clone(w){return Uo(w,t,n,s)}};return C}function Ol(e){if(Ga(e))return e=ds(e),e.children=null,e}function yh(e){return Ga(e)?e.children?e.children[0]:void 0:e}function Ko(e,t){e.shapeFlag&6&&e.component?Ko(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 Pu(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Ga=e=>e.type.__isKeepAlive;function cw(e,t){nm(e,"a",t)}function uw(e,t){nm(e,"da",t)}function nm(e,t,n=ie){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Xa(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Ga(i.parent.vnode)&&dw(s,t,n,i),i=i.parent}}function dw(e,t,n,s){const i=Xa(t,e,s,!0);im(()=>{lu(s[t],i)},n)}function Xa(e,t,n=ie,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;Zs(),Ni(n);const a=qe(t,n,e,r);return Us(),ti(),a});return s?i.unshift(o):i.push(o),o}}const Nn=e=>(t,n=ie)=>(!Za||e==="sp")&&Xa(e,(...s)=>t(...s),n),hw=Nn("bm"),ku=Nn("m"),fw=Nn("bu"),sm=Nn("u"),$u=Nn("bum"),im=Nn("um"),pw=Nn("sp"),gw=Nn("rtg"),mw=Nn("rtc");function _w(e,t=ie){Xa("ec",e,t)}function us(e,t,n,s){let i;const o=n&&n[s];if(ht(e)||ee(e)){i=new Array(e.length);for(let r=0,a=e.length;rt(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;ae?bm(e)?tl(e)||e.proxy:gc(e.parent):null,Ao=se(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=>gc(e.parent),$root:e=>gc(e.root),$emit:e=>e.emit,$options:e=>Mu(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,wu(e.update)}),$nextTick:e=>e.n||(e.n=Ua.bind(e.proxy)),$watch:e=>rw.bind(e)}),Dl=(e,t)=>e!==Wt&&!e.__isScriptSetup&&Dt(e,t),bw={get({_:e},t){const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(Dl(s,t))return r[t]=1,s[t];if(i!==Wt&&Dt(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Dt(c,t))return r[t]=3,o[t];if(n!==Wt&&Dt(n,t))return r[t]=4,n[t];mc&&(r[t]=0)}}const u=Ao[t];let d,f;if(u)return t==="$attrs"&&Ae(e,"get",t),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Wt&&Dt(n,t))return r[t]=4,n[t];if(f=l.config.globalProperties,Dt(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return Dl(i,t)?(i[t]=n,!0):s!==Wt&&Dt(s,t)?(s[t]=n,!0):Dt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==Wt&&Dt(e,r)||Dl(t,r)||(a=o[0])&&Dt(a,r)||Dt(s,r)||Dt(Ao,r)||Dt(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Dt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function xh(e){return ht(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let mc=!0;function vw(e){const t=Mu(e),n=e.proxy,s=e.ctx;mc=!1,t.beforeCreate&&wh(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:_,deactivated:v,beforeDestroy:x,beforeUnmount:S,destroyed:P,unmounted:A,render:y,renderTracked:E,renderTriggered:C,errorCaptured:w,serverPrefetch:$,expose:D,inheritAttrs:I,components:N,directives:Q,filters:Y}=t;if(c&&yw(c,s,null),r)for(const W in r){const U=r[W];xt(U)&&(s[W]=U.bind(n))}if(i){const W=i.call(n,n);Vt(W)&&(e.data=or(W))}if(mc=!0,o)for(const W in o){const U=o[W],rt=xt(U)?U.bind(n,n):xt(U.get)?U.get.bind(n,n):ze,ct=!xt(U)&&xt(U.set)?U.set.bind(n):ze,mt=We({get:rt,set:ct});Object.defineProperty(s,W,{enumerable:!0,configurable:!0,get:()=>mt.value,set:pt=>mt.value=pt})}if(a)for(const W in a)om(a[W],s,n,W);if(l){const W=xt(l)?l.call(n):l;Reflect.ownKeys(W).forEach(U=>{ra(U,W[U])})}u&&wh(u,e,"c");function R(W,U){ht(U)?U.forEach(rt=>W(rt.bind(n))):U&&W(U.bind(n))}if(R(hw,d),R(ku,f),R(fw,p),R(sm,m),R(cw,_),R(uw,v),R(_w,w),R(mw,E),R(gw,C),R($u,S),R(im,A),R(pw,$),ht(D))if(D.length){const W=e.exposed||(e.exposed={});D.forEach(U=>{Object.defineProperty(W,U,{get:()=>n[U],set:rt=>n[U]=rt})})}else e.exposed||(e.exposed={});y&&e.render===ze&&(e.render=y),I!=null&&(e.inheritAttrs=I),N&&(e.components=N),Q&&(e.directives=Q)}function yw(e,t,n=ze){ht(e)&&(e=_c(e));for(const s in e){const i=e[s];let o;Vt(i)?"default"in i?o=hn(i.from||s,i.default,!0):o=hn(i.from||s):o=hn(i),re(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[s]=o}}function wh(e,t,n){qe(ht(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function om(e,t,n,s){const i=s.includes(".")?Jg(n,s):()=>n[s];if(ee(e)){const o=t[e];xt(o)&&zs(i,o)}else if(xt(e))zs(i,e.bind(n));else if(Vt(e))if(ht(e))e.forEach(o=>om(o,t,n,s));else{const o=xt(e.handler)?e.handler.bind(n):t[e.handler];xt(o)&&zs(i,o,e)}}function Mu(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!n&&!s?l=t:(l={},i.length&&i.forEach(c=>_a(l,c,r,!0)),_a(l,t,r)),Vt(t)&&o.set(t,l),l}function _a(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&_a(e,o,n,!0),i&&i.forEach(r=>_a(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=xw[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const xw={data:Eh,props:Sh,emits:Sh,methods:_o,computed:_o,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:_o,directives:_o,watch:Ew,provide:Eh,inject:ww};function Eh(e,t){return t?e?function(){return se(xt(e)?e.call(this,this):e,xt(t)?t.call(this,this):t)}:t:e}function ww(e,t){return _o(_c(e),_c(t))}function _c(e){if(ht(e)){const t={};for(let n=0;n1)return n&&xt(t)?t.call(s&&s.proxy):t}}function Cw(){return!!(ie||Se||Yo)}function Tw(e,t,n,s=!1){const i={},o={};fa(o,Ja,1),e.propsDefaults=Object.create(null),am(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=s?i:Fg(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function Pw(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=kt(i),[l]=e.propsOptions;let c=!1;if((s||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,p]=lm(d,t,!0);se(r,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return Vt(e)&&s.set(e,wi),wi;if(ht(o))for(let u=0;u-1,p[1]=_<0||m<_,(m>-1||Dt(p,"default"))&&a.push(d)}}}const c=[r,a];return Vt(e)&&s.set(e,c),c}function Ah(e){return e[0]!=="$"}function Ch(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Th(e,t){return Ch(e)===Ch(t)}function Ph(e,t){return ht(t)?t.findIndex(n=>Th(n,e)):xt(t)&&Th(t,e)?0:-1}const cm=e=>e[0]==="_"||e==="$stable",Ou=e=>ht(e)?e.map(Ze):[Ze(e)],kw=(e,t,n)=>{if(t._n)return t;const s=Gt((...i)=>Ou(t(...i)),n);return s._c=!1,s},um=(e,t,n)=>{const s=e._ctx;for(const i in e){if(cm(i))continue;const o=e[i];if(xt(o))t[i]=kw(i,o,s);else if(o!=null){const r=Ou(o);t[i]=()=>r}}},dm=(e,t)=>{const n=Ou(t);e.slots.default=()=>n},$w=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=kt(t),fa(t,"_",n)):um(t,e.slots={})}else e.slots={},t&&dm(e,t);fa(e.slots,Ja,1)},Mw=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=Wt;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(se(i,t),!n&&a===1&&delete i._):(o=!t.$stable,um(t,i)),r=t}else t&&(dm(e,t),r={default:1});if(o)for(const a in i)!cm(a)&&r[a]==null&&delete i[a]};function vc(e,t,n,s,i=!1){if(ht(e)){e.forEach((f,p)=>vc(f,t&&(ht(t)?t[p]:t),n,s,i));return}if(oa(s)&&!i)return;const o=s.shapeFlag&4?tl(s.component)||s.component.proxy:s.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===Wt?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==l&&(ee(c)?(u[c]=null,Dt(d,c)&&(d[c]=null)):re(c)&&(c.value=null)),xt(l))rs(l,a,12,[r,u]);else{const f=ee(l),p=re(l);if(f||p){const m=()=>{if(e.f){const _=f?Dt(d,l)?d[l]:u[l]:l.value;i?ht(_)&&lu(_,o):ht(_)?_.includes(o)||_.push(o):f?(u[l]=[o],Dt(d,l)&&(d[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else f?(u[l]=r,Dt(d,l)&&(d[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(m.id=-1,we(m,n)):m()}}}const we=nw;function Ow(e){return Dw(e)}function Dw(e,t){const n=xg();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=ze,insertStaticContent:m}=e,_=(T,O,L,V=null,K=null,G=null,tt=void 0,J=null,B=!!O.dynamicChildren)=>{if(T===O)return;T&&!cn(T,O)&&(V=j(T),pt(T,K,G,!0),T=null),O.patchFlag===-2&&(B=!1,O.dynamicChildren=null);const{type:q,ref:lt,shapeFlag:ft}=O;switch(q){case Qa:v(T,O,L,V);break;case Oe:x(T,O,L,V);break;case aa:T==null&&S(O,L,V,tt);break;case Qt:N(T,O,L,V,K,G,tt,J,B);break;default:ft&1?y(T,O,L,V,K,G,tt,J,B):ft&6?Q(T,O,L,V,K,G,tt,J,B):(ft&64||ft&128)&&q.process(T,O,L,V,K,G,tt,J,B,Z)}lt!=null&&K&&vc(lt,T&&T.ref,G,O||T,!O)},v=(T,O,L,V)=>{if(T==null)s(O.el=a(O.children),L,V);else{const K=O.el=T.el;O.children!==T.children&&c(K,O.children)}},x=(T,O,L,V)=>{T==null?s(O.el=l(O.children||""),L,V):O.el=T.el},S=(T,O,L,V)=>{[T.el,T.anchor]=m(T.children,O,L,V,T.el,T.anchor)},P=({el:T,anchor:O},L,V)=>{let K;for(;T&&T!==O;)K=f(T),s(T,L,V),T=K;s(O,L,V)},A=({el:T,anchor:O})=>{let L;for(;T&&T!==O;)L=f(T),i(T),T=L;i(O)},y=(T,O,L,V,K,G,tt,J,B)=>{O.type==="svg"?tt="svg":O.type==="math"&&(tt="mathml"),T==null?E(O,L,V,K,G,tt,J,B):$(T,O,K,G,tt,J,B)},E=(T,O,L,V,K,G,tt,J)=>{let B,q;const{props:lt,shapeFlag:ft,transition:ut,dirs:_t}=T;if(B=T.el=r(T.type,G,lt&<.is,lt),ft&8?u(B,T.children):ft&16&&w(T.children,B,null,V,K,Il(T,G),tt,J),_t&&ks(T,null,V,"created"),C(B,T,T.scopeId,tt,V),lt){for(const Ot in lt)Ot!=="value"&&!sa(Ot)&&o(B,Ot,null,lt[Ot],G,T.children,V,K,Ct);"value"in lt&&o(B,"value",null,lt.value,G),(q=lt.onVnodeBeforeMount)&&on(q,V,T)}_t&&ks(T,null,V,"beforeMount");const St=Iw(K,ut);St&&ut.beforeEnter(B),s(B,O,L),((q=lt&<.onVnodeMounted)||St||_t)&&we(()=>{q&&on(q,V,T),St&&ut.enter(B),_t&&ks(T,null,V,"mounted")},K)},C=(T,O,L,V,K)=>{if(L&&p(T,L),V)for(let G=0;G{for(let q=B;q{const J=O.el=T.el;let{patchFlag:B,dynamicChildren:q,dirs:lt}=O;B|=T.patchFlag&16;const ft=T.props||Wt,ut=O.props||Wt;let _t;if(L&&$s(L,!1),(_t=ut.onVnodeBeforeUpdate)&&on(_t,L,O,T),lt&&ks(O,T,L,"beforeUpdate"),L&&$s(L,!0),q?D(T.dynamicChildren,q,J,L,V,Il(O,K),G):tt||U(T,O,J,null,L,V,Il(O,K),G,!1),B>0){if(B&16)I(J,O,ft,ut,L,V,K);else if(B&2&&ft.class!==ut.class&&o(J,"class",null,ut.class,K),B&4&&o(J,"style",ft.style,ut.style,K),B&8){const St=O.dynamicProps;for(let Ot=0;Ot{_t&&on(_t,L,O,T),lt&&ks(O,T,L,"updated")},V)},D=(T,O,L,V,K,G,tt)=>{for(let J=0;J{if(L!==V){if(L!==Wt)for(const J in L)!sa(J)&&!(J in V)&&o(T,J,L[J],null,tt,O.children,K,G,Ct);for(const J in V){if(sa(J))continue;const B=V[J],q=L[J];B!==q&&J!=="value"&&o(T,J,q,B,tt,O.children,K,G,Ct)}"value"in V&&o(T,"value",L.value,V.value,tt)}},N=(T,O,L,V,K,G,tt,J,B)=>{const q=O.el=T?T.el:a(""),lt=O.anchor=T?T.anchor:a("");let{patchFlag:ft,dynamicChildren:ut,slotScopeIds:_t}=O;_t&&(J=J?J.concat(_t):_t),T==null?(s(q,L,V),s(lt,L,V),w(O.children,L,lt,K,G,tt,J,B)):ft>0&&ft&64&&ut&&T.dynamicChildren?(D(T.dynamicChildren,ut,L,K,G,tt,J),(O.key!=null||K&&O===K.subTree)&&hm(T,O,!0)):U(T,O,L,lt,K,G,tt,J,B)},Q=(T,O,L,V,K,G,tt,J,B)=>{O.slotScopeIds=J,T==null?O.shapeFlag&512?K.ctx.activate(O,L,V,tt,B):Y(O,L,V,K,G,tt,B):H(T,O,B)},Y=(T,O,L,V,K,G,tt)=>{const J=T.component=Ww(T,V,K);if(Ga(T)&&(J.ctx.renderer=Z),zw(J),J.asyncDep){if(K&&K.registerDep(J,R),!T.el){const B=J.subTree=dt(Oe);x(null,B,O,L)}}else R(J,T,O,L,K,G,tt)},H=(T,O,L)=>{const V=O.component=T.component;if(G1(T,O,L))if(V.asyncDep&&!V.asyncResolved){W(V,O,L);return}else V.next=O,W1(V.update),V.effect.dirty=!0,V.update();else O.el=T.el,V.vnode=O},R=(T,O,L,V,K,G,tt)=>{const J=()=>{if(T.isMounted){let{next:lt,bu:ft,u:ut,parent:_t,vnode:St}=T;{const ys=fm(T);if(ys){lt&&(lt.el=St.el,W(T,lt,tt)),ys.asyncDep.then(()=>{T.isUnmounted||J()});return}}let Ot=lt,Nt;$s(T,!1),lt?(lt.el=St.el,W(T,lt,tt)):lt=St,ft&&ia(ft),(Nt=lt.props&<.props.onVnodeBeforeUpdate)&&on(Nt,_t,lt,St),$s(T,!0);const qt=Ml(T),Te=T.subTree;T.subTree=qt,_(Te,qt,d(Te.el),j(Te),T,K,G),lt.el=qt.el,Ot===null&&Eu(T,qt.el),ut&&we(ut,K),(Nt=lt.props&<.props.onVnodeUpdated)&&we(()=>on(Nt,_t,lt,St),K)}else{let lt;const{el:ft,props:ut}=O,{bm:_t,m:St,parent:Ot}=T,Nt=oa(O);if($s(T,!1),_t&&ia(_t),!Nt&&(lt=ut&&ut.onVnodeBeforeMount)&&on(lt,Ot,O),$s(T,!0),ft&&F){const qt=()=>{T.subTree=Ml(T),F(ft,T.subTree,T,K,null)};Nt?O.type.__asyncLoader().then(()=>!T.isUnmounted&&qt()):qt()}else{const qt=T.subTree=Ml(T);_(null,qt,L,V,T,K,G),O.el=qt.el}if(St&&we(St,K),!Nt&&(lt=ut&&ut.onVnodeMounted)){const qt=O;we(()=>on(lt,Ot,qt),K)}(O.shapeFlag&256||Ot&&oa(Ot.vnode)&&Ot.vnode.shapeFlag&256)&&T.a&&we(T.a,K),T.isMounted=!0,O=L=V=null}},B=T.effect=new fu(J,ze,()=>wu(q),T.scope),q=T.update=()=>{B.dirty&&B.run()};q.id=T.uid,$s(T,!0),q()},W=(T,O,L)=>{O.component=T;const V=T.vnode.props;T.vnode=O,T.next=null,Pw(T,O.props,V,L),Mw(T,O.children,L),Zs(),gh(T),ti()},U=(T,O,L,V,K,G,tt,J,B=!1)=>{const q=T&&T.children,lt=T?T.shapeFlag:0,ft=O.children,{patchFlag:ut,shapeFlag:_t}=O;if(ut>0){if(ut&128){ct(q,ft,L,V,K,G,tt,J,B);return}else if(ut&256){rt(q,ft,L,V,K,G,tt,J,B);return}}_t&8?(lt&16&&Ct(q,K,G),ft!==q&&u(L,ft)):lt&16?_t&16?ct(q,ft,L,V,K,G,tt,J,B):Ct(q,K,G,!0):(lt&8&&u(L,""),_t&16&&w(ft,L,V,K,G,tt,J,B))},rt=(T,O,L,V,K,G,tt,J,B)=>{T=T||wi,O=O||wi;const q=T.length,lt=O.length,ft=Math.min(q,lt);let ut;for(ut=0;utlt?Ct(T,K,G,!0,!1,ft):w(O,L,V,K,G,tt,J,B,ft)},ct=(T,O,L,V,K,G,tt,J,B)=>{let q=0;const lt=O.length;let ft=T.length-1,ut=lt-1;for(;q<=ft&&q<=ut;){const _t=T[q],St=O[q]=B?Gn(O[q]):Ze(O[q]);if(cn(_t,St))_(_t,St,L,null,K,G,tt,J,B);else break;q++}for(;q<=ft&&q<=ut;){const _t=T[ft],St=O[ut]=B?Gn(O[ut]):Ze(O[ut]);if(cn(_t,St))_(_t,St,L,null,K,G,tt,J,B);else break;ft--,ut--}if(q>ft){if(q<=ut){const _t=ut+1,St=_tut)for(;q<=ft;)pt(T[q],K,G,!0),q++;else{const _t=q,St=q,Ot=new Map;for(q=St;q<=ut;q++){const he=O[q]=B?Gn(O[q]):Ze(O[q]);he.key!=null&&Ot.set(he.key,q)}let Nt,qt=0;const Te=ut-St+1;let ys=!1,gr=0;const xs=new Array(Te);for(q=0;q=Te){pt(he,K,G,!0);continue}let Fe;if(he.key!=null)Fe=Ot.get(he.key);else for(Nt=St;Nt<=ut;Nt++)if(xs[Nt-St]===0&&cn(he,O[Nt])){Fe=Nt;break}Fe===void 0?pt(he,K,G,!0):(xs[Fe-St]=q+1,Fe>=gr?gr=Fe:ys=!0,_(he,O[Fe],L,null,K,G,tt,J,B),qt++)}const mr=ys?Lw(xs):wi;for(Nt=mr.length-1,q=Te-1;q>=0;q--){const he=St+q,Fe=O[he],Bn=he+1{const{el:G,type:tt,transition:J,children:B,shapeFlag:q}=T;if(q&6){mt(T.component.subTree,O,L,V);return}if(q&128){T.suspense.move(O,L,V);return}if(q&64){tt.move(T,O,L,Z);return}if(tt===Qt){s(G,O,L);for(let ft=0;ftJ.enter(G),K);else{const{leave:ft,delayLeave:ut,afterLeave:_t}=J,St=()=>s(G,O,L),Ot=()=>{ft(G,()=>{St(),_t&&_t()})};ut?ut(G,St,Ot):Ot()}else s(G,O,L)},pt=(T,O,L,V=!1,K=!1)=>{const{type:G,props:tt,ref:J,children:B,dynamicChildren:q,shapeFlag:lt,patchFlag:ft,dirs:ut}=T;if(J!=null&&vc(J,null,L,T,!0),lt&256){O.ctx.deactivate(T);return}const _t=lt&1&&ut,St=!oa(T);let Ot;if(St&&(Ot=tt&&tt.onVnodeBeforeUnmount)&&on(Ot,O,T),lt&6)Mt(T.component,L,V);else{if(lt&128){T.suspense.unmount(L,V);return}_t&&ks(T,null,O,"beforeUnmount"),lt&64?T.type.remove(T,O,L,K,Z,V):q&&(G!==Qt||ft>0&&ft&64)?Ct(q,O,L,!1,!0):(G===Qt&&ft&384||!K&<&16)&&Ct(B,O,L),V&&Pt(T)}(St&&(Ot=tt&&tt.onVnodeUnmounted)||_t)&&we(()=>{Ot&&on(Ot,O,T),_t&&ks(T,null,O,"unmounted")},L)},Pt=T=>{const{type:O,el:L,anchor:V,transition:K}=T;if(O===Qt){At(L,V);return}if(O===aa){A(T);return}const G=()=>{i(L),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(T.shapeFlag&1&&K&&!K.persisted){const{leave:tt,delayLeave:J}=K,B=()=>tt(L,G);J?J(T.el,G,B):B()}else G()},At=(T,O)=>{let L;for(;T!==O;)L=f(T),i(T),T=L;i(O)},Mt=(T,O,L)=>{const{bum:V,scope:K,update:G,subTree:tt,um:J}=T;V&&ia(V),K.stop(),G&&(G.active=!1,pt(tt,T,O,L)),J&&we(J,O),we(()=>{T.isUnmounted=!0},O),O&&O.pendingBranch&&!O.isUnmounted&&T.asyncDep&&!T.asyncResolved&&T.suspenseId===O.pendingId&&(O.deps--,O.deps===0&&O.resolve())},Ct=(T,O,L,V=!1,K=!1,G=0)=>{for(let tt=G;ttT.shapeFlag&6?j(T.component.subTree):T.shapeFlag&128?T.suspense.next():f(T.anchor||T.el),nt=(T,O,L)=>{T==null?O._vnode&&pt(O._vnode,null,null,!0):_(O._vnode||null,T,O,null,null,null,L),gh(),Kg(),O._vnode=T},Z={p:_,um:pt,m:mt,r:Pt,mt:Y,mc:w,pc:U,pbc:D,n:j,o:e};let at,F;return t&&([at,F]=t(Z)),{render:nt,hydrate:at,createApp:Aw(nt,at)}}function Il({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function $s({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Iw(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function hm(e,t,n=!1){const s=e.children,i=t.children;if(ht(s)&&ht(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}function fm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:fm(t)}const Rw=e=>e.__isTeleport,Qt=Symbol.for("v-fgt"),Qa=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),aa=Symbol.for("v-stc"),Co=[];let Ue=null;function X(e=!1){Co.push(Ue=e?null:[])}function pm(){Co.pop(),Ue=Co[Co.length-1]||null}let Ri=1;function kh(e){Ri+=e}function gm(e){return e.dynamicChildren=Ri>0?Ue||wi:null,pm(),Ri>0&&Ue&&Ue.push(e),e}function ot(e,t,n,s,i,o){return gm(g(e,t,n,s,i,o,!0))}function ue(e,t,n,s,i){return gm(dt(e,t,n,s,i,!0))}function ba(e){return e?e.__v_isVNode===!0:!1}function cn(e,t){return e.type===t.type&&e.key===t.key}const Ja="__vInternal",mm=({key:e})=>e??null,la=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||re(e)||xt(e)?{i:Se,r:e,k:t,f:!!n}:e:null);function g(e,t=null,n=null,s=0,i=null,o=e===Qt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&mm(t),ref:t&&la(t),scopeId:Ya,slotScopeIds:null,children:n,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:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Se};return a?(Du(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=ee(n)?8:16),Ri>0&&!r&&Ue&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Ue.push(l),l}const dt=Nw;function Nw(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===Gg)&&(e=Oe),ba(e)){const a=ds(e,t,!0);return n&&Du(a,n),Ri>0&&!o&&Ue&&(a.shapeFlag&6?Ue[Ue.indexOf(e)]=a:Ue.push(a)),a.patchFlag|=-2,a}if(Gw(e)&&(e=e.__vccOpts),t){t=Fw(t);let{class:a,style:l}=t;a&&!ee(a)&&(t.class=jt(a)),Vt(l)&&(za(l)&&!ht(l)&&(l=se({},l)),t.style=uu(l))}const r=ee(e)?1:X1(e)?128:Rw(e)?64:Vt(e)?4:xt(e)?2:0;return g(e,t,n,s,i,r,o,!0)}function Fw(e){return e?za(e)||Ja in e?se({},e):e:null}function ds(e,t,n=!1){const{props:s,ref:i,patchFlag:o,children:r}=e,a=t?Vw(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&mm(a),ref:t&&t.ref?n&&i?ht(i)?i.concat(la(t)):[i,la(t)]:la(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ds(e.ssContent),ssFallback:e.ssFallback&&ds(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function gt(e=" ",t=0){return dt(Qa,null,e,t)}function Bw(e,t){const n=dt(aa,null,e);return n.staticCount=t,n}function Ut(e="",t=!1){return t?(X(),ue(Oe,null,e)):dt(Oe,null,e)}function Ze(e){return e==null||typeof e=="boolean"?dt(Oe):ht(e)?dt(Qt,null,e.slice()):typeof e=="object"?Gn(e):dt(Qa,null,String(e))}function Gn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ds(e)}function Du(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ht(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Du(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(Ja in t)?t._ctx=Se:i===3&&Se&&(Se.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else xt(t)?(t={default:t,_ctx:Se},n=32):(t=String(t),s&64?(n=16,t=[gt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Vw(...e){const t={};for(let n=0;nie||Se;let Iu,yc;{const e=xg(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Iu=t("__VUE_INSTANCE_SETTERS__",n=>ie=n),yc=t("__VUE_SSR_SETTERS__",n=>Za=n)}const Ni=e=>{Iu(e),e.scope.on()},Us=()=>{ie&&ie.scope.off(),Iu(null)};function bm(e){return e.vnode.shapeFlag&4}let Za=!1;function zw(e,t=!1){t&&yc(t);const{props:n,children:s}=e.vnode,i=bm(e);Tw(e,n,i,t),$w(e,s);const o=i?Uw(e,t):void 0;return t&&yc(!1),o}function Uw(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=rr(new Proxy(e.ctx,bw));const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?Yw(e):null;Ni(e),Zs();const o=rs(s,e,0,[e.props,i]);if(ti(),Us(),_g(o)){if(o.then(Us,Us),t)return o.then(r=>{xc(e,r,t)}).catch(r=>{ar(r,e,0)});e.asyncDep=o}else xc(e,o,t)}else vm(e,t)}function xc(e,t,n){xt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Vt(t)&&(e.setupState=Wg(t)),vm(e,n)}let $h;function vm(e,t,n){const s=e.type;if(!e.render){if(!t&&$h&&!s.render){const i=s.template||Mu(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=s,c=se(se({isCustomElement:o,delimiters:a},r),l);s.render=$h(i,c)}}e.render=s.render||ze}{Ni(e),Zs();try{vw(e)}finally{ti(),Us()}}}function Kw(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ae(e,"get","$attrs"),t[n]}}))}function Yw(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Kw(e)},slots:e.slots,emit:e.emit,expose:t}}function tl(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Wg(rr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ao)return Ao[n](e)},has(t,n){return n in t||n in Ao}}))}function qw(e,t=!0){return xt(e)?e.displayName||e.name:e.name||t&&e.__name}function Gw(e){return xt(e)&&"__vccOpts"in e}const We=(e,t)=>L1(e,t,Za);function Fi(e,t,n){const s=arguments.length;return s===2?Vt(t)&&!ht(t)?ba(t)?dt(e,null,[t]):dt(e,t):dt(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&ba(n)&&(n=[n]),dt(e,t,n))}const ym="3.4.3",Xw="http://www.w3.org/2000/svg",Qw="http://www.w3.org/1998/Math/MathML",Xn=typeof document<"u"?document:null,Mh=Xn&&Xn.createElement("template"),Jw={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Xn.createElementNS(Xw,e):t==="mathml"?Xn.createElementNS(Qw,e):Xn.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Xn.createTextNode(e),createComment:e=>Xn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Mh.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const a=Mh.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Wn="transition",co="animation",Bi=Symbol("_vtc"),Ln=(e,{slots:t})=>Fi(lw,wm(e),t);Ln.displayName="Transition";const xm={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},Zw=Ln.props=se({},tm,xm),Ms=(e,t=[])=>{ht(e)?e.forEach(n=>n(...t)):e&&e(...t)},Oh=e=>e?ht(e)?e.some(t=>t.length>1):e.length>1:!1;function wm(e){const t={};for(const N in e)N in xm||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=tE(i),_=m&&m[0],v=m&&m[1],{onBeforeEnter:x,onEnter:S,onEnterCancelled:P,onLeave:A,onLeaveCancelled:y,onBeforeAppear:E=x,onAppear:C=S,onAppearCancelled:w=P}=t,$=(N,Q,Y)=>{Kn(N,Q?u:a),Kn(N,Q?c:r),Y&&Y()},D=(N,Q)=>{N._isLeaving=!1,Kn(N,d),Kn(N,p),Kn(N,f),Q&&Q()},I=N=>(Q,Y)=>{const H=N?C:S,R=()=>$(Q,N,Y);Ms(H,[Q,R]),Dh(()=>{Kn(Q,N?l:o),wn(Q,N?u:a),Oh(H)||Ih(Q,s,_,R)})};return se(t,{onBeforeEnter(N){Ms(x,[N]),wn(N,o),wn(N,r)},onBeforeAppear(N){Ms(E,[N]),wn(N,l),wn(N,c)},onEnter:I(!1),onAppear:I(!0),onLeave(N,Q){N._isLeaving=!0;const Y=()=>D(N,Q);wn(N,d),Sm(),wn(N,f),Dh(()=>{N._isLeaving&&(Kn(N,d),wn(N,p),Oh(A)||Ih(N,s,v,Y))}),Ms(A,[N,Y])},onEnterCancelled(N){$(N,!1),Ms(P,[N])},onAppearCancelled(N){$(N,!0),Ms(w,[N])},onLeaveCancelled(N){D(N),Ms(y,[N])}})}function tE(e){if(e==null)return null;if(Vt(e))return[Ll(e.enter),Ll(e.leave)];{const t=Ll(e);return[t,t]}}function Ll(e){return yg(e)}function wn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bi]||(e[Bi]=new Set)).add(t)}function Kn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Bi];n&&(n.delete(t),n.size||(e[Bi]=void 0))}function Dh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let eE=0;function Ih(e,t,n,s){const i=e._endId=++eE,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:l}=Em(e,t);if(!r)return s();const c=r+"end";let u=0;const d=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=l&&d()};setTimeout(()=>{u(n[m]||"").split(", "),i=s(`${Wn}Delay`),o=s(`${Wn}Duration`),r=Lh(i,o),a=s(`${co}Delay`),l=s(`${co}Duration`),c=Lh(a,l);let u=null,d=0,f=0;t===Wn?r>0&&(u=Wn,d=r,f=o.length):t===co?c>0&&(u=co,d=c,f=l.length):(d=Math.max(r,c),u=d>0?r>c?Wn:co:null,f=u?u===Wn?o.length:l.length:0);const p=u===Wn&&/\b(transform|all)(,|$)/.test(s(`${Wn}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Lh(e,t){for(;e.lengthRh(n)+Rh(e[s])))}function Rh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Sm(){return document.body.offsetHeight}function nE(e,t,n){const s=e[Bi];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const sE=Symbol("_vod"),iE=Symbol("");function oE(e,t,n){const s=e.style,i=ee(n);if(n&&!i){if(t&&!ee(t))for(const o in t)n[o]==null&&wc(s,o,"");for(const o in n)wc(s,o,n[o])}else{const o=s.display;if(i){if(t!==n){const r=s[iE];r&&(n+=";"+r),s.cssText=n}}else t&&e.removeAttribute("style");sE in e&&(s.display=o)}}const Nh=/\s*!important$/;function wc(e,t,n){if(ht(n))n.forEach(s=>wc(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=rE(e,t);Nh.test(n)?e.setProperty(Zi(s),n.replace(Nh,""),"important"):e[s]=n}}const Fh=["Webkit","Moz","ms"],Rl={};function rE(e,t){const n=Rl[t];if(n)return n;let s=gn(t);if(s!=="filter"&&s in e)return Rl[t]=s;s=ja(s);for(let i=0;iNl||(hE.then(()=>Nl=0),Nl=Date.now());function pE(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;qe(gE(s,n.value),t,5,[s])};return n.value=e,n.attached=fE(),n}function gE(e,t){if(ht(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const jh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,mE=(e,t,n,s,i,o,r,a,l)=>{const c=i==="svg";t==="class"?nE(e,s,c):t==="style"?oE(e,n,s):Va(t)?au(t)||uE(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):_E(e,t,s,c))?lE(e,t,s,o,r,a,l):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),aE(e,t,s,c))};function _E(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&jh(t)&&xt(n));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)&&ee(n)?!1:t in e}const Am=new WeakMap,Cm=new WeakMap,va=Symbol("_moveCb"),Wh=Symbol("_enterCb"),Tm={name:"TransitionGroup",props:se({},Zw,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=_m(),s=Zg();let i,o;return sm(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!wE(i[0].el,n.vnode.el,r))return;i.forEach(vE),i.forEach(yE);const a=i.filter(xE);Sm(),a.forEach(l=>{const c=l.el,u=c.style;wn(c,r),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[va]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[va]=null,Kn(c,r))};c.addEventListener("transitionend",d)})}),()=>{const r=kt(e),a=wm(r);let l=r.tag||Qt;i=o,o=t.default?Pu(t.default()):[];for(let c=0;cdelete e.mode;Tm.props;const Lu=Tm;function vE(e){const t=e.el;t[va]&&t[va](),t[Wh]&&t[Wh]()}function yE(e){Cm.set(e,e.el.getBoundingClientRect())}function xE(e){const t=Am.get(e),n=Cm.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${i}px)`,o.transitionDuration="0s",e}}function wE(e,t,n){const s=e.cloneNode(),i=e[Bi];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:r}=Em(s);return o.removeChild(s),r}const hs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ht(t)?n=>ia(t,n):t};function EE(e){e.target.composing=!0}function zh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ge=Symbol("_assign"),vt={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[Ge]=hs(i);const o=s||i.props&&i.props.type==="number";Tn(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=pa(a)),e[Ge](a)}),n&&Tn(e,"change",()=>{e.value=e.value.trim()}),t||(Tn(e,"compositionstart",EE),Tn(e,"compositionend",zh),Tn(e,"change",zh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:i}},o){if(e[Ge]=hs(o),e.composing)return;const r=i||e.type==="number"?pa(e.value):e.value,a=t??"";r!==a&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===a)||(e.value=a))}},lr={deep:!0,created(e,t,n){e[Ge]=hs(n),Tn(e,"change",()=>{const s=e._modelValue,i=Vi(e),o=e.checked,r=e[Ge];if(ht(s)){const a=du(s,i),l=a!==-1;if(o&&!l)r(s.concat(i));else if(!o&&l){const c=[...s];c.splice(a,1),r(c)}}else if(Ji(s)){const a=new Set(s);o?a.add(i):a.delete(i),r(a)}else r(Pm(e,o))})},mounted:Uh,beforeUpdate(e,t,n){e[Ge]=hs(n),Uh(e,t,n)}};function Uh(e,{value:t,oldValue:n},s){e._modelValue=t,ht(t)?e.checked=du(t,s.props.value)>-1:Ji(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Xs(t,Pm(e,!0)))}const SE={created(e,{value:t},n){e.checked=Xs(t,n.props.value),e[Ge]=hs(n),Tn(e,"change",()=>{e[Ge](Vi(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Ge]=hs(s),t!==n&&(e.checked=Xs(t,s.props.value))}},AE={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=Ji(t);Tn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?pa(Vi(r)):Vi(r));e[Ge](e.multiple?i?new Set(o):o:o[0])}),e[Ge]=hs(s)},mounted(e,{value:t}){Kh(e,t)},beforeUpdate(e,t,n){e[Ge]=hs(n)},updated(e,{value:t}){Kh(e,t)}};function Kh(e,t){const n=e.multiple;if(!(n&&!ht(t)&&!Ji(t))){for(let s=0,i=e.options.length;s-1:o.selected=t.has(r);else if(Xs(Vi(o),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Vi(e){return"_value"in e?e._value:e.value}function Pm(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const CE={created(e,t,n){Nr(e,t,n,null,"created")},mounted(e,t,n){Nr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Nr(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Nr(e,t,n,s,"updated")}};function TE(e,t){switch(e){case"SELECT":return AE;case"TEXTAREA":return vt;default:switch(t){case"checkbox":return lr;case"radio":return SE;default:return vt}}}function Nr(e,t,n,s,i){const r=TE(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,s)}const PE=se({patchProp:mE},Jw);let Yh;function kE(){return Yh||(Yh=Ow(PE))}const $E=(...e)=>{const t=kE().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=OE(s);if(!i)return;const o=t._component;!xt(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,ME(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function ME(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function OE(e){return ee(e)?document.querySelector(e):e}var DE=!1;/*! * pinia v2.1.7 * (c) 2023 Eduardo San Martin Morote * @license MIT - */let vm;const Xa=e=>vm=e,xm=Symbol();function gc(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var wo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(wo||(wo={}));function vE(){const e=gg(!0),t=e.run(()=>Pi({}));let n=[],s=[];const i=er({install(o){Xa(i),i._a=o,o.provide(xm,i),o.config.globalProperties.$pinia=i,s.forEach(r=>n.push(r)),s=[]},use(o){return!this._a&&!yE?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const wm=()=>{};function Bh(e,t,n,s=wm){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&iu()&&mg(i),i}function ri(e,...t){e.slice().forEach(n=>{n(...t)})}const xE=e=>e();function mc(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],i=e[n];gc(i)&&gc(s)&&e.hasOwnProperty(n)&&!ne(s)&&!ts(s)?e[n]=mc(i,s):e[n]=s}return e}const wE=Symbol();function EE(e){return!gc(e)||!e.hasOwnProperty(wE)}const{assign:zn}=Object;function SE(e){return!!(ne(e)&&e.effect)}function CE(e,t,n,s){const{state:i,actions:o,getters:r}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=i?i():{});const u=Sw(n.state.value[e]);return zn(u,o,Object.keys(r||{}).reduce((d,f)=>(d[f]=er(He(()=>{Xa(n);const p=n._s.get(e);return r[f].call(p,p)})),d),{}))}return l=Em(e,c,t,n,s,!0),l}function Em(e,t,n={},s,i,o){let r;const a=zn({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],p;const m=s.state.value[e];!o&&!m&&(s.state.value[e]={}),Pi({});let _;function y(w){let k;c=u=!1,typeof w=="function"?(w(s.state.value[e]),k={type:wo.patchFunction,storeId:e,events:p}):(mc(s.state.value[e],w),k={type:wo.patchObject,payload:w,storeId:e,events:p});const $=_=Symbol();Va().then(()=>{_===$&&(c=!0)}),u=!0,ri(d,k,s.state.value[e])}const x=o?function(){const{state:k}=n,$=k?k():{};this.$patch(L=>{zn(L,$)})}:wm;function S(){r.stop(),d=[],f=[],s._s.delete(e)}function P(w,k){return function(){Xa(s);const $=Array.from(arguments),L=[],N=[];function X(R){L.push(R)}function Y(R){N.push(R)}ri(f,{args:$,name:w,store:v,after:X,onError:Y});let H;try{H=k.apply(this&&this.$id===e?this:v,$)}catch(R){throw ri(N,R),R}return H instanceof Promise?H.then(R=>(ri(L,R),R)).catch(R=>(ri(N,R),Promise.reject(R))):(ri(L,H),H)}}const C={_p:s,$id:e,$onAction:Bh.bind(null,f),$patch:y,$reset:x,$subscribe(w,k={}){const $=Bh(d,w,k.detached,()=>L()),L=r.run(()=>Bs(()=>s.state.value[e],N=>{(k.flush==="sync"?u:c)&&w({storeId:e,type:wo.direct,events:p},N)},zn({},l,k)));return $},$dispose:S},v=tr(C);s._s.set(e,v);const A=(s._a&&s._a.runWithContext||xE)(()=>s._e.run(()=>(r=gg()).run(t)));for(const w in A){const k=A[w];if(ne(k)&&!SE(k)||ts(k))o||(m&&EE(k)&&(ne(k)?k.value=m[w]:mc(k,m[w])),s.state.value[e][w]=k);else if(typeof k=="function"){const $=P(w,k);A[w]=$,a.actions[w]=k}}return zn(v,A),zn(Tt(v),A),Object.defineProperty(v,"$state",{get:()=>s.state.value[e],set:w=>{y(k=>{zn(k,w)})}}),s._p.forEach(w=>{zn(v,r.run(()=>w({store:v,app:s._a,pinia:s,options:a})))}),m&&o&&n.hydrate&&n.hydrate(v.$state,m),c=!0,u=!0,v}function Pu(e,t,n){let s,i;const o=typeof t=="function";typeof e=="string"?(s=e,i=o?n:t):(i=e,s=e.id);function r(a,l){const c=h1();return a=a||(c?un(xm,null):null),a&&Xa(a),a=vm,a._s.has(s)||(o?Em(s,t,i,a):CE(s,i,a)),a._s.get(s)}return r.$id=s,r}/*! + */let km;const el=e=>km=e,$m=Symbol();function Ec(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 IE(){const e=Ag(!0),t=e.run(()=>Li({}));let n=[],s=[];const i=rr({install(o){el(i),i._a=o,o.provide($m,i),o.config.globalProperties.$pinia=i,s.forEach(r=>n.push(r)),s=[]},use(o){return!this._a&&!DE?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const Mm=()=>{};function qh(e,t,n,s=Mm){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&hu()&&Cg(i),i}function fi(e,...t){e.slice().forEach(n=>{n(...t)})}const LE=e=>e();function Sc(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],i=e[n];Ec(i)&&Ec(s)&&e.hasOwnProperty(n)&&!re(s)&&!is(s)?e[n]=Sc(i,s):e[n]=s}return e}const RE=Symbol();function NE(e){return!Ec(e)||!e.hasOwnProperty(RE)}const{assign:Yn}=Object;function FE(e){return!!(re(e)&&e.effect)}function BE(e,t,n,s){const{state:i,actions:o,getters:r}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=i?i():{});const u=F1(n.state.value[e]);return Yn(u,o,Object.keys(r||{}).reduce((d,f)=>(d[f]=rr(We(()=>{el(n);const p=n._s.get(e);return r[f].call(p,p)})),d),{}))}return l=Om(e,c,t,n,s,!0),l}function Om(e,t,n={},s,i,o){let r;const a=Yn({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],p;const m=s.state.value[e];!o&&!m&&(s.state.value[e]={}),Li({});let _;function v(w){let $;c=u=!1,typeof w=="function"?(w(s.state.value[e]),$={type:To.patchFunction,storeId:e,events:p}):(Sc(s.state.value[e],w),$={type:To.patchObject,payload:w,storeId:e,events:p});const D=_=Symbol();Ua().then(()=>{_===D&&(c=!0)}),u=!0,fi(d,$,s.state.value[e])}const x=o?function(){const{state:$}=n,D=$?$():{};this.$patch(I=>{Yn(I,D)})}:Mm;function S(){r.stop(),d=[],f=[],s._s.delete(e)}function P(w,$){return function(){el(s);const D=Array.from(arguments),I=[],N=[];function Q(R){I.push(R)}function Y(R){N.push(R)}fi(f,{args:D,name:w,store:y,after:Q,onError:Y});let H;try{H=$.apply(this&&this.$id===e?this:y,D)}catch(R){throw fi(N,R),R}return H instanceof Promise?H.then(R=>(fi(I,R),R)).catch(R=>(fi(N,R),Promise.reject(R))):(fi(I,H),H)}}const A={_p:s,$id:e,$onAction:qh.bind(null,f),$patch:v,$reset:x,$subscribe(w,$={}){const D=qh(d,w,$.detached,()=>I()),I=r.run(()=>zs(()=>s.state.value[e],N=>{($.flush==="sync"?u:c)&&w({storeId:e,type:To.direct,events:p},N)},Yn({},l,$)));return D},$dispose:S},y=or(A);s._s.set(e,y);const C=(s._a&&s._a.runWithContext||LE)(()=>s._e.run(()=>(r=Ag()).run(t)));for(const w in C){const $=C[w];if(re($)&&!FE($)||is($))o||(m&&NE($)&&(re($)?$.value=m[w]:Sc($,m[w])),s.state.value[e][w]=$);else if(typeof $=="function"){const D=P(w,$);C[w]=D,a.actions[w]=$}}return Yn(y,C),Yn(kt(y),C),Object.defineProperty(y,"$state",{get:()=>s.state.value[e],set:w=>{v($=>{Yn($,w)})}}),s._p.forEach(w=>{Yn(y,r.run(()=>w({store:y,app:s._a,pinia:s,options:a})))}),m&&o&&n.hydrate&&n.hydrate(y.$state,m),c=!0,u=!0,y}function Ru(e,t,n){let s,i;const o=typeof t=="function";typeof e=="string"?(s=e,i=o?n:t):(i=e,s=e.id);function r(a,l){const c=Cw();return a=a||(c?hn($m,null):null),a&&el(a),a=km,a._s.has(s)||(o?Om(s,t,i,a):BE(s,i,a)),a._s.get(s)}return r.$id=s,r}/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const di=typeof window<"u";function AE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Rt=Object.assign;function kl(e,t){const n={};for(const s in t){const i=t[s];n[s]=tn(i)?i.map(e):e(i)}return n}const Eo=()=>{},tn=Array.isArray,TE=/\/$/,PE=e=>e.replace(TE,"");function Ol(e,t,n="/"){let s,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(s=s||t.slice(0,a),r=t.slice(a,t.length)),s=DE(s??t,n),{fullPath:s+(o&&"?")+o+r,path:s,query:i,hash:r}}function ME(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Vh(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function kE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&Ii(t.matched[s],n.matched[i])&&Sm(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ii(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Sm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!OE(e[n],t[n]))return!1;return!0}function OE(e,t){return tn(e)?Hh(e,t):tn(t)?Hh(t,e):e===t}function Hh(e,t){return tn(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function DE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let o=n.length-1,r,a;for(r=0;r1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(r-(r===s.length?1:0)).join("/")}var Wo;(function(e){e.pop="pop",e.push="push"})(Wo||(Wo={}));var So;(function(e){e.back="back",e.forward="forward",e.unknown=""})(So||(So={}));function $E(e){if(!e)if(di){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),PE(e)}const LE=/^[^#]+#/;function IE(e,t){return e.replace(LE,"#")+t}function RE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Qa=()=>({left:window.pageXOffset,top:window.pageYOffset});function NE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=RE(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 jh(e,t){return(history.state?history.state.position-t:-1)+e}const _c=new Map;function FE(e,t){_c.set(e,t)}function BE(e){const t=_c.get(e);return _c.delete(e),t}let VE=()=>location.protocol+"//"+location.host;function Cm(e,t){const{pathname:n,search:s,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),Vh(l,"")}return Vh(n,e)+s+i}function HE(e,t,n,s){let i=[],o=[],r=null;const a=({state:f})=>{const p=Cm(e,location),m=n.value,_=t.value;let y=0;if(f){if(n.value=p,t.value=f,r&&r===m){r=null;return}y=_?f.position-_.position:0}else s(p);i.forEach(x=>{x(n.value,m,{delta:y,type:Wo.pop,direction:y?y>0?So.forward:So.back:So.unknown})})};function l(){r=n.value}function c(f){i.push(f);const p=()=>{const m=i.indexOf(f);m>-1&&i.splice(m,1)};return o.push(p),p}function u(){const{history:f}=window;f.state&&f.replaceState(Rt({},f.state,{scroll:Qa()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Wh(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?Qa():null}}function jE(e){const{history:t,location:n}=window,s={value:Cm(e,n)},i={value:t.state};i.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:VE()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),i.value=c}catch(p){console.error(p),n[u?"replace":"assign"](f)}}function r(l,c){const u=Rt({},t.state,Wh(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,u,!0),s.value=l}function a(l,c){const u=Rt({},i.value,t.state,{forward:l,scroll:Qa()});o(u.current,u,!0);const d=Rt({},Wh(s.value,l,null),{position:u.position+1},c);o(l,d,!1),s.value=l}return{location:s,state:i,push:a,replace:r}}function WE(e){e=$E(e);const t=jE(e),n=HE(e,t.state,t.location,t.replace);function s(o,r=!0){r||n.pauseListeners(),history.go(o)}const i=Rt({location:"",base:e,go:s,createHref:IE.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function zE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),WE(e)}function UE(e){return typeof e=="string"||e&&typeof e=="object"}function Am(e){return typeof e=="string"||typeof e=="symbol"}const Hn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Tm=Symbol("");var zh;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(zh||(zh={}));function Ri(e,t){return Rt(new Error,{type:e,[Tm]:!0},t)}function _n(e,t){return e instanceof Error&&Tm in e&&(t==null||!!(e.type&t))}const Uh="[^/]+?",KE={sensitive:!1,strict:!1,start:!0,end:!0},YE=/[.+*?^${}()[\]/\\]/g;function qE(e,t){const n=Rt({},KE,t),s=[];let i=n.start?"^":"";const o=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(i+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function XE(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const QE={type:0,value:""},JE=/[a-zA-Z0-9_]/;function ZE(e){if(!e)return[[]];if(e==="/")return[[QE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,s=n;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",u="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===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:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{r(S)}:Eo}function r(u){if(Am(u)){const d=s.get(u);d&&(s.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&s.delete(u.record.name),u.children.forEach(r),u.alias.forEach(r))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!Pm(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!qh(u)&&s.set(u.record.name,u)}function c(u,d){let f,p={},m,_;if("name"in u&&u.name){if(f=s.get(u.name),!f)throw Ri(1,{location:u});_=f.record.name,p=Rt(Yh(d.params,f.keys.filter(S=>!S.optional).map(S=>S.name)),u.params&&Yh(u.params,f.keys.map(S=>S.name))),m=f.stringify(p)}else if("path"in u)m=u.path,f=n.find(S=>S.re.test(m)),f&&(p=f.parse(m),_=f.record.name);else{if(f=d.name?s.get(d.name):n.find(S=>S.re.test(d.path)),!f)throw Ri(1,{location:u,currentLocation:d});_=f.record.name,p=Rt({},d.params,u.params),m=f.stringify(p)}const y=[];let x=f;for(;x;)y.unshift(x.record),x=x.parent;return{name:_,path:m,params:p,matched:y,meta:iS(y)}}return e.forEach(u=>o(u)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function Yh(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function nS(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={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function qh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function iS(e){return e.reduce((t,n)=>Rt(t,n.meta),{})}function Gh(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function Pm(e,t){return t.children.some(n=>n===e||Pm(e,n))}const Mm=/#/g,oS=/&/g,rS=/\//g,aS=/=/g,lS=/\?/g,km=/\+/g,cS=/%5B/g,uS=/%5D/g,Om=/%5E/g,dS=/%60/g,Dm=/%7B/g,hS=/%7C/g,$m=/%7D/g,fS=/%20/g;function Mu(e){return encodeURI(""+e).replace(hS,"|").replace(cS,"[").replace(uS,"]")}function pS(e){return Mu(e).replace(Dm,"{").replace($m,"}").replace(Om,"^")}function bc(e){return Mu(e).replace(km,"%2B").replace(fS,"+").replace(Mm,"%23").replace(oS,"%26").replace(dS,"`").replace(Dm,"{").replace($m,"}").replace(Om,"^")}function gS(e){return bc(e).replace(aS,"%3D")}function mS(e){return Mu(e).replace(Mm,"%23").replace(lS,"%3F")}function _S(e){return e==null?"":mS(e).replace(rS,"%2F")}function ga(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function bS(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&bc(o)):[s&&bc(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function yS(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=tn(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const vS=Symbol(""),Qh=Symbol(""),ku=Symbol(""),Lm=Symbol(""),yc=Symbol("");function oo(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function qn(e,t,n,s,i){const o=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=d=>{d===!1?a(Ri(4,{from:n,to:t})):d instanceof Error?a(d):UE(d)?a(Ri(2,{from:t,to:d})):(o&&s.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),r())},c=e.call(s&&s.instances[i],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function Dl(e,t,n,s){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(xS(a)){const c=(a.__vccOpts||a)[t];c&&i.push(qn(c,n,s,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 u=AE(c)?c.default:c;o.components[r]=u;const f=(u.__vccOpts||u)[t];return f&&qn(f,n,s,o,r)()}))}}return i}function xS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Jh(e){const t=un(ku),n=un(Lm),s=He(()=>t.resolve(es(e.to))),i=He(()=>{const{matched:l}=s.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(Ii.bind(null,u));if(f>-1)return f;const p=Zh(l[c-2]);return c>1&&Zh(u)===p&&d[d.length-1].path!==p?d.findIndex(Ii.bind(null,l[c-2])):f}),o=He(()=>i.value>-1&&CS(n.params,s.value.params)),r=He(()=>i.value>-1&&i.value===n.matched.length-1&&Sm(n.params,s.value.params));function a(l={}){return SS(l)?t[es(e.replace)?"replace":"push"](es(e.to)).catch(Eo):Promise.resolve()}return{route:s,href:He(()=>s.value.href),isActive:o,isExactActive:r,navigate:a}}const wS=Wa({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:Jh,setup(e,{slots:t}){const n=tr(Jh(e)),{options:s}=un(ku),i=He(()=>({[tf(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[tf(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Di("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),ES=wS;function SS(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 CS(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!tn(i)||i.length!==s.length||s.some((o,r)=>o!==i[r]))return!1}return!0}function Zh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const tf=(e,t,n)=>e??t??n,AS=Wa({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=un(yc),i=He(()=>e.route||s.value),o=un(Qh,0),r=He(()=>{let c=es(o);const{matched:u}=i.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=He(()=>i.value.matched[r.value]);ea(Qh,He(()=>r.value+1)),ea(vS,a),ea(yc,i);const l=Pi();return Bs(()=>[l.value,a.value,e.name],([c,u,d],[f,p,m])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!Ii(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return ef(n.default,{Component:f,route:c});const p=d.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,y=Di(f,Rt({},m,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return ef(n.default,{Component:y,route:c})||y}}});function ef(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Im=AS;function TS(e){const t=eS(e.routes,e),n=e.parseQuery||bS,s=e.stringifyQuery||Xh,i=e.history,o=oo(),r=oo(),a=oo(),l=hu(Hn);let c=Hn;di&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=kl.bind(null,j=>""+j),d=kl.bind(null,_S),f=kl.bind(null,ga);function p(j,et){let J,rt;return Am(j)?(J=t.getRecordMatcher(j),rt=et):rt=j,t.addRoute(rt,J)}function m(j){const et=t.getRecordMatcher(j);et&&t.removeRoute(et)}function _(){return t.getRoutes().map(j=>j.record)}function y(j){return!!t.getRecordMatcher(j)}function x(j,et){if(et=Rt({},et||l.value),typeof j=="string"){const I=Ol(n,j,et.path),V=t.resolve({path:I.path},et),K=i.createHref(I.fullPath);return Rt(I,V,{params:f(V.params),hash:ga(I.hash),redirectedFrom:void 0,href:K})}let J;if("path"in j)J=Rt({},j,{path:Ol(n,j.path,et.path).path});else{const I=Rt({},j.params);for(const V in I)I[V]==null&&delete I[V];J=Rt({},j,{params:d(I)}),et.params=d(et.params)}const rt=t.resolve(J,et),F=j.hash||"";rt.params=u(f(rt.params));const T=ME(s,Rt({},j,{hash:pS(F),path:rt.path})),D=i.createHref(T);return Rt({fullPath:T,hash:F,query:s===Xh?yS(j.query):j.query||{}},rt,{redirectedFrom:void 0,href:D})}function S(j){return typeof j=="string"?Ol(n,j,l.value.path):Rt({},j)}function P(j,et){if(c!==j)return Ri(8,{from:et,to:j})}function C(j){return A(j)}function v(j){return C(Rt(S(j),{replace:!0}))}function E(j){const et=j.matched[j.matched.length-1];if(et&&et.redirect){const{redirect:J}=et;let rt=typeof J=="function"?J(j):J;return typeof rt=="string"&&(rt=rt.includes("?")||rt.includes("#")?rt=S(rt):{path:rt},rt.params={}),Rt({query:j.query,hash:j.hash,params:"path"in rt?{}:j.params},rt)}}function A(j,et){const J=c=x(j),rt=l.value,F=j.state,T=j.force,D=j.replace===!0,I=E(J);if(I)return A(Rt(S(I),{state:typeof I=="object"?Rt({},F,I.state):F,force:T,replace:D}),et||J);const V=J;V.redirectedFrom=et;let K;return!T&&kE(s,rt,J)&&(K=Ri(16,{to:V,from:rt}),pt(rt,rt,!0,!1)),(K?Promise.resolve(K):$(V,rt)).catch(G=>_n(G)?_n(G,2)?G:lt(G):U(G,V,rt)).then(G=>{if(G){if(_n(G,2))return A(Rt({replace:D},S(G.to),{state:typeof G.to=="object"?Rt({},F,G.to.state):F,force:T}),et||V)}else G=N(V,rt,!0,D,F);return L(V,rt,G),G})}function w(j,et){const J=P(j,et);return J?Promise.reject(J):Promise.resolve()}function k(j){const et=wt.values().next().value;return et&&typeof et.runWithContext=="function"?et.runWithContext(j):j()}function $(j,et){let J;const[rt,F,T]=PS(j,et);J=Dl(rt.reverse(),"beforeRouteLeave",j,et);for(const I of rt)I.leaveGuards.forEach(V=>{J.push(qn(V,j,et))});const D=w.bind(null,j,et);return J.push(D),Et(J).then(()=>{J=[];for(const I of o.list())J.push(qn(I,j,et));return J.push(D),Et(J)}).then(()=>{J=Dl(F,"beforeRouteUpdate",j,et);for(const I of F)I.updateGuards.forEach(V=>{J.push(qn(V,j,et))});return J.push(D),Et(J)}).then(()=>{J=[];for(const I of T)if(I.beforeEnter)if(tn(I.beforeEnter))for(const V of I.beforeEnter)J.push(qn(V,j,et));else J.push(qn(I.beforeEnter,j,et));return J.push(D),Et(J)}).then(()=>(j.matched.forEach(I=>I.enterCallbacks={}),J=Dl(T,"beforeRouteEnter",j,et),J.push(D),Et(J))).then(()=>{J=[];for(const I of r.list())J.push(qn(I,j,et));return J.push(D),Et(J)}).catch(I=>_n(I,8)?I:Promise.reject(I))}function L(j,et,J){a.list().forEach(rt=>k(()=>rt(j,et,J)))}function N(j,et,J,rt,F){const T=P(j,et);if(T)return T;const D=et===Hn,I=di?history.state:{};J&&(rt||D?i.replace(j.fullPath,Rt({scroll:D&&I&&I.scroll},F)):i.push(j.fullPath,F)),l.value=j,pt(j,et,J,D),lt()}let X;function Y(){X||(X=i.listen((j,et,J)=>{if(!Mt.listening)return;const rt=x(j),F=E(rt);if(F){A(Rt(F,{replace:!0}),rt).catch(Eo);return}c=rt;const T=l.value;di&&FE(jh(T.fullPath,J.delta),Qa()),$(rt,T).catch(D=>_n(D,12)?D:_n(D,2)?(A(D.to,rt).then(I=>{_n(I,20)&&!J.delta&&J.type===Wo.pop&&i.go(-1,!1)}).catch(Eo),Promise.reject()):(J.delta&&i.go(-J.delta,!1),U(D,rt,T))).then(D=>{D=D||N(rt,T,!1),D&&(J.delta&&!_n(D,8)?i.go(-J.delta,!1):J.type===Wo.pop&&_n(D,20)&&i.go(-1,!1)),L(rt,T,D)}).catch(Eo)}))}let H=oo(),R=oo(),W;function U(j,et,J){lt(j);const rt=R.list();return rt.length?rt.forEach(F=>F(j,et,J)):console.error(j),Promise.reject(j)}function it(){return W&&l.value!==Hn?Promise.resolve():new Promise((j,et)=>{H.add([j,et])})}function lt(j){return W||(W=!j,Y(),H.list().forEach(([et,J])=>j?J(j):et()),H.reset()),j}function pt(j,et,J,rt){const{scrollBehavior:F}=e;if(!di||!F)return Promise.resolve();const T=!J&&BE(jh(j.fullPath,0))||(rt||!J)&&history.state&&history.state.scroll||null;return Va().then(()=>F(j,et,T)).then(D=>D&&NE(D)).catch(D=>U(D,j,et))}const ft=j=>i.go(j);let At;const wt=new Set,Mt={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,hasRoute:y,getRoutes:_,resolve:x,options:e,push:C,replace:v,go:ft,back:()=>ft(-1),forward:()=>ft(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:R.add,isReady:it,install(j){const et=this;j.component("RouterLink",ES),j.component("RouterView",Im),j.config.globalProperties.$router=et,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>es(l)}),di&&!At&&l.value===Hn&&(At=!0,C(i.location).catch(F=>{}));const J={};for(const F in Hn)Object.defineProperty(J,F,{get:()=>l.value[F],enumerable:!0});j.provide(ku,et),j.provide(Lm,Pg(J)),j.provide(yc,l);const rt=j.unmount;wt.add(j),j.unmount=function(){wt.delete(j),wt.size<1&&(c=Hn,X&&X(),X=null,l.value=Hn,At=!1,W=!1),rt()}}};function Et(j){return j.reduce((et,J)=>et.then(()=>k(J)),Promise.resolve())}return Mt}function PS(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rIi(c,a))?s.push(a):n.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Ii(c,l))||i.push(l))}return[n,s,i]}const qe=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${e}?${s.toString()}`,{headers:{"content-type":"application/json"}}).then(i=>i.json()).then(i=>n?n(i):void 0)},Ce=async(e,t,n)=>{await fetch(`${e}`,{headers:{"content-type":"application/json"},method:"POST",body:JSON.stringify(t)}).then(s=>s.json()).then(s=>n?n(s):void 0)};let $r;const MS=new Uint8Array(16);function kS(){if(!$r&&($r=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!$r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $r(MS)}const ae=[];for(let e=0;e<256;++e)ae.push((e+256).toString(16).slice(1));function OS(e,t=0){return ae[e[t+0]]+ae[e[t+1]]+ae[e[t+2]]+ae[e[t+3]]+"-"+ae[e[t+4]]+ae[e[t+5]]+"-"+ae[e[t+6]]+ae[e[t+7]]+"-"+ae[e[t+8]]+ae[e[t+9]]+"-"+ae[e[t+10]]+ae[e[t+11]]+ae[e[t+12]]+ae[e[t+13]]+ae[e[t+14]]+ae[e[t+15]]}const DS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),nf={randomUUID:DS};function qi(e,t,n){if(nf.randomUUID&&!t&&!e)return nf.randomUUID();e=e||{};const s=e.random||(e.rng||kS)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=s[i];return t}return OS(s)}const re=Pu("DashboardConfigurationStore",{state:()=>({Configuration:void 0,Messages:[]}),actions:{async getConfiguration(){await qe("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await Ce("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await qe("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:qi(),from:e,content:t,type:n,show:!0})}}}),$S=g("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[g("div",{class:"container-fluid"},[g("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1),LS={__name:"App",setup(e){return re(),(t,n)=>(ot(),ct(Jt,null,[$S,(ot(),Ee(bu,null,{default:Yt(()=>[mt(es(Im),null,{default:Yt(({Component:s})=>[mt(Dn,{name:"fade",mode:"out-in"},{default:Yt(()=>[(ot(),Ee(_u(s)))]),_:2},1024)]),_:1})]),_:1}))],64))}},IS={getCookie(e){const n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2)return n.pop().split(";").shift()}};Pu("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await qe("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const Gi=Pu("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:""}),actions:{async getConfigurations(){await qe("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})}}}),Ut=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},RS={name:"navbar",setup(){const e=Gi(),t=re();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},NS={class:"col-md-3 col-lg-2 d-md-block p-3"},FS={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow"},BS={class:"sidebar-sticky pt-3"},VS={class:"nav flex-column"},HS={class:"nav-item"},jS={class:"nav-item"},WS=g("hr",null,null,-1),zS=g("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[g("span",null,"Configurations")],-1),US={class:"nav flex-column"},KS={class:"nav-item"},YS=C1('

',4),qS={class:"nav flex-column"},GS={class:"nav-item"},XS=g("ul",{class:"nav flex-column"},[g("li",{class:"nav-item"},[g("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[g("small",{class:"nav-link text-muted"})])])],-1);function QS(e,t,n,s,i,o){const r=Kt("RouterLink");return ot(),ct("div",NS,[g("nav",FS,[g("div",BS,[g("ul",VS,[g("li",HS,[mt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:Yt(()=>[xt("Home")]),_:1})]),g("li",jS,[mt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:Yt(()=>[xt("Settings")]),_:1})])]),WS,zS,g("ul",US,[g("li",KS,[(ot(!0),ct(Jt,null,Mi(this.wireguardConfigurationsStore.Configurations,a=>(ot(),Ee(r,{to:"/configuration/"+a.Name,class:"nav-link nav-conf-link"},{default:Yt(()=>[g("samp",null,Ct(a.Name),1)]),_:2},1032,["to"]))),256))])]),YS,g("ul",qS,[g("li",GS,[g("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),XS])])])}const JS=Ut(RS,[["render",QS]]),ZS={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},tC=["id"],eC={class:"card-body"},nC={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function sC(e,t,n,s,i,o){return ot(),ct("div",{class:he(["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"}},[g("div",eC,[g("small",nC,"FROM "+Ct(this.message.from),1),xt(" "+Ct(this.message.content),1)])],10,tC)}const iC=Ut(ZS,[["render",sC]]),oC={name:"index",components:{Message:iC,Navbar:JS},async setup(){return{dashboardConfigurationStore:re()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},rC=["data-bs-theme"],aC={class:"row h-100"},lC={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},cC={class:"messageCentre text-body position-fixed"};function uC(e,t,n,s,i,o){const r=Kt("Navbar"),a=Kt("RouterView"),l=Kt("Message");return ot(),ct("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[g("div",aC,[mt(r),g("main",lC,[(ot(),Ee(bu,null,{default:Yt(()=>[mt(a,null,{default:Yt(({Component:c})=>[mt(Dn,{name:"fade2",mode:"out-in"},{default:Yt(()=>[(ot(),Ee(_u(c)))]),_:2},1024)]),_:1})]),_:1})),g("div",cC,[mt(bm,{name:"message",tag:"div",class:"position-relative"},{default:Yt(()=>[(ot(!0),ct(Jt,null,Mi(o.getMessages.slice().reverse(),c=>(ot(),Ee(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,rC)}const dC=Ut(oC,[["render",uC],["__scopeId","data-v-54755a4a"]]),hC={name:"signin",async setup(){const e=re();let t="",n=!1;return await qe("/api/getDashboardTheme",{},s=>{t=s.data}),await qe("/api/isTotpEnabled",{},s=>{n=s.data}),{store:e,theme:t,totpEnabled:n}},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 Ce("/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.$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"))})}}},fC=["data-bs-theme"],pC={class:"login-box m-auto",style:{width:"500px"}},gC=g("h4",{class:"mb-0 text-body"},"Welcome to",-1),mC=g("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),_C={class:"m-auto"},bC={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},yC={class:"form-group text-body"},vC=g("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-person-circle"})],-1),xC={class:"form-group text-body"},wC=g("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-key-fill"})],-1),EC={key:0,class:"form-group text-body"},SC=g("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-lock-fill"})],-1),CC={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"},TC=g("i",{class:"ms-auto bi bi-chevron-right"},null,-1),PC={key:1,class:"d-flex w-100 align-items-center"},MC=g("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[g("span",{class:"visually-hidden"},"Loading...")],-1);function kC(e,t,n,s,i,o){return ot(),ct("div",{class:"container-fluid login-container-fluid d-flex main","data-bs-theme":this.theme},[g("div",pC,[gC,mC,g("div",_C,[i.loginError?(ot(),ct("div",bC,Ct(this.loginErrorMessage),1)):oe("",!0),g("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[g("div",yC,[vC,kt(g("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),[[Ot,i.username]])]),g("div",xC,[wC,kt(g("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),[[Ot,i.password]])]),s.totpEnabled?(ot(),ct("div",EC,[SC,kt(g("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),[[Ot,this.totp]])])):oe("",!0),g("button",CC,[this.loading?(ot(),ct("span",PC,[xt(" Signing In... "),MC])):(ot(),ct("span",AC,[xt(" Sign In"),TC]))],512)],32)])])],8,fC)}const OC=Ut(hC,[["render",kC]]),DC={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},setup(){return{dashboardConfigurationStore:re()}},methods:{toggle(){qe("/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})}}},$C={class:"card conf_card rounded-3 shadow text-decoration-none"},LC={class:"mb-0"},IC={class:"card-title mb-0"},RC=g("h6",{class:"mb-0 ms-auto"},[g("i",{class:"bi bi-chevron-right"})],-1),NC={class:"card-footer d-flex align-items-center"},FC=g("small",{class:"me-2 text-muted"},[g("strong",null,"PUBLIC KEY")],-1),BC={class:"mb-0 d-block d-lg-inline-block"},VC={style:{"line-break":"anywhere"}},HC={class:"form-check form-switch ms-auto"},jC=["for"],WC=["id"];function zC(e,t,n,s,i,o){const r=Kt("RouterLink");return ot(),ct("div",$C,[mt(r,{to:"/configuration/"+n.c.Name,class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Yt(()=>[g("h6",LC,[g("span",{class:he(["dot",{active:n.c.Status}])},null,2)]),g("h6",IC,[g("samp",null,Ct(n.c.Name),1)]),RC]),_:1},8,["to"]),g("div",NC,[FC,g("small",BC,[g("samp",VC,Ct(n.c.PublicKey),1)]),g("div",HC,[g("label",{class:"form-check-label",for:"switch"+n.c.PrivateKey},Ct(n.c.Status?"On":"Off"),9,jC),kt(g("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"switch"+n.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>n.c.Status=a)},null,40,WC),[[Tu,n.c.Status]])])])])}const UC=Ut(DC,[["render",zC]]),KC={name:"configurationList",components:{ConfigurationCard:UC},async setup(){const e=Gi();return await e.getConfigurations(),{wireguardConfigurationsStore:e}}},YC={class:"mt-4"},qC={class:"container"},GC={class:"d-flex mb-4"},XC=g("h3",{class:"text-body"},"WireGuard Configurations",-1),QC=g("i",{class:"bi bi-plus-circle-fill ms-2"},null,-1),JC={key:0,class:"text-muted"},ZC={key:1,class:"d-flex gap-3 flex-column"};function tA(e,t,n,s,i,o){const r=Kt("RouterLink"),a=Kt("ConfigurationCard");return ot(),ct("div",YC,[g("div",qC,[g("div",GC,[XC,mt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Yt(()=>[xt(" Configuration "),QC]),_:1})]),this.wireguardConfigurationsStore.Configurations.length===0?(ot(),ct("p",JC,`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".`)):(ot(),ct("div",ZC,[(ot(!0),ct(Jt,null,Mi(this.wireguardConfigurationsStore.Configurations,l=>(ot(),Ee(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])])}const eA=Ut(KC,[["render",tA]]),nA={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=re(),t=`input_${qi()}`;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 Ce("/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})}}},sA={class:"form-group mb-2"},iA=["for"],oA=["id","disabled"],rA={class:"invalid-feedback"},aA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},lA=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),cA=["innerHTML"];function uA(e,t,n,s,i,o){return ot(),ct("div",sA,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,Ct(this.title),1)])],8,iA),kt(g("input",{type:"text",class:he(["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,oA),[[Ot,this.value]]),g("div",rA,Ct(this.invalidFeedback),1),n.warning?(ot(),ct("div",aA,[g("small",null,[lA,g("span",{innerHTML:n.warningText},null,8,cA)])])):oe("",!0)])}const dA=Ut(nA,[["render",uA]]),hA=e=>{},fA={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=re(),t=`input_${qi()}`;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 Ce("/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}))}}},pA={class:"form-group mb-2"},gA=["for"],mA=["id","disabled"],_A={class:"invalid-feedback"},bA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},yA=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),vA=["innerHTML"];function xA(e,t,n,s,i,o){return ot(),ct("div",pA,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,Ct(this.title),1)])],8,gA),kt(g("input",{type:"text",class:he(["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,mA),[[Ot,this.value]]),g("div",_A,Ct(this.invalidFeedback),1),n.warning?(ot(),ct("div",bA,[g("small",null,[yA,g("span",{innerHTML:n.warningText},null,8,vA)])])):oe("",!0)])}const wA=Ut(fA,[["render",xA]]),EA={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=re(),t=`input_${qi()}`;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 Ce("/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.")}}},SA={class:"row"},CA={class:"col-sm"},AA={class:"form-group mb-2"},TA=["for"],PA=g("strong",null,[g("small",null,"Current Password")],-1),MA=[PA],kA=["id"],OA={key:0,class:"invalid-feedback d-block"},DA={class:"col-sm"},$A={class:"form-group mb-2"},LA=["for"],IA=g("strong",null,[g("small",null,"New Password")],-1),RA=[IA],NA=["id"],FA={class:"col-sm"},BA={class:"form-group mb-2"},VA=["for"],HA=g("strong",null,[g("small",null,"Repeat New Password")],-1),jA=[HA],WA=["id"],zA=g("i",{class:"bi bi-key-fill me-2"},null,-1);function UA(e,t,n,s,i,o){return ot(),ct("div",null,[g("div",SA,[g("div",CA,[g("div",AA,[g("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},MA,8,TA),kt(g("input",{type:"password",class:he(["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,kA),[[Ot,this.value.currentPassword]]),i.showInvalidFeedback?(ot(),ct("div",OA,Ct(this.invalidFeedback),1)):oe("",!0)])]),g("div",DA,[g("div",$A,[g("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},RA,8,LA),kt(g("input",{type:"password",class:he(["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,NA),[[Ot,this.value.newPassword]])])]),g("div",FA,[g("div",BA,[g("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},jA,8,VA),kt(g("input",{type:"password",class:he(["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,WA),[[Ot,this.value.repeatNewPassword]])])])]),g("button",{class:"btn btn-success btn-sm fw-bold rounded-3",onClick:t[3]||(t[3]=r=>this.useValidation())},[zA,xt("Update Password ")])])}const KA=Ut(EA,[["render",UA]]),YA={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=re(),t=`input_${qi()}`;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 Ce("/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})}}},qA={class:"form-group mb-2"},GA=["for"],XA=["id","disabled"],QA={class:"invalid-feedback"},JA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},ZA=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),tT=["innerHTML"];function eT(e,t,n,s,i,o){return ot(),ct("div",qA,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,Ct(this.title),1)])],8,GA),kt(g("input",{type:"text",class:he(["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,XA),[[Ot,this.value]]),g("div",QA,Ct(this.invalidFeedback),1),n.warning?(ot(),ct("div",JA,[g("small",null,[ZA,g("span",{innerHTML:n.warningText},null,8,tT)])])):oe("",!0)])}const nT=Ut(YA,[["render",eT]]),sT={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:re()}},methods:{async switchTheme(e){await Ce("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},iT={class:"card mb-4 shadow rounded-3"},oT=g("p",{class:"card-header"},"Dashboard Theme",-1),rT={class:"card-body d-flex gap-2"},aT=g("i",{class:"bi bi-sun-fill"},null,-1),lT=g("i",{class:"bi bi-moon-fill"},null,-1);function cT(e,t,n,s,i,o){return ot(),ct("div",iT,[oT,g("div",rT,[g("button",{class:he(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[aT,xt(" Light ")],2),g("button",{class:he(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[lT,xt(" Dark ")],2)])])}const uT=Ut(sT,[["render",cT]]),dT={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=re(),t=`input_${qi()}`;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 Ce("/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)})}}},hT={class:"invalid-feedback d-block mt-0"},fT={class:"row"},pT={class:"form-group mb-2 col-sm"},gT=["for"],mT=g("strong",null,[g("small",null,"Dashboard IP Address")],-1),_T=[mT],bT=["id"],yT=g("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[g("small",null,[g("i",{class:"bi bi-exclamation-triangle-fill me-2"}),g("code",null,"0.0.0.0"),xt(" means it can be access by anyone with your server IP Address.")])],-1),vT={class:"form-group col-sm"},xT=["for"],wT=g("strong",null,[g("small",null,"Dashboard Port")],-1),ET=[wT],ST=["id"],CT=g("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[g("i",{class:"bi bi-floppy-fill me-2"}),xt("Update Dashboard Settings & Restart ")],-1);function AT(e,t,n,s,i,o){return ot(),ct("div",null,[g("div",hT,Ct(this.invalidFeedback),1),g("div",fT,[g("div",pT,[g("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},_T,8,gT),kt(g("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,bT),[[Ot,this.app_ip]]),yT]),g("div",vT,[g("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},ET,8,xT),kt(g("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,ST),[[Ot,this.app_port]])])]),CT])}const TT=Ut(dT,[["render",AT]]),PT={name:"settings",methods:{ipV46RegexCheck:hA},components:{DashboardSettingsInputIPAddressAndPort:TT,DashboardTheme:uT,DashboardSettingsInputWireguardConfigurationPath:nT,AccountSettingsInputPassword:KA,AccountSettingsInputUsername:wA,PeersDefaultSettingsInput:dA},setup(){return{dashboardConfigurationStore:re()}},watch:{}},MT={class:"mt-4"},kT={class:"container"},OT=g("h3",{class:"mb-3 text-body"},"Settings",-1),DT={class:"card mb-4 shadow rounded-3"},$T=g("p",{class:"card-header"},"Peers Default Settings",-1),LT={class:"card-body"},IT={class:"card mb-4 shadow rounded-3"},RT=g("p",{class:"card-header"},"WireGuard Configurations Settings",-1),NT={class:"card-body"},FT={class:"card mb-4 shadow rounded-3"},BT=g("p",{class:"card-header"},"Account Settings",-1),VT={class:"card-body"},HT=g("hr",null,null,-1);function jT(e,t,n,s,i,o){const r=Kt("DashboardTheme"),a=Kt("PeersDefaultSettingsInput"),l=Kt("DashboardSettingsInputWireguardConfigurationPath"),c=Kt("AccountSettingsInputUsername"),u=Kt("AccountSettingsInputPassword");return ot(),ct("div",MT,[g("div",kT,[OT,mt(r),g("div",DT,[$T,g("div",LT,[mt(a,{targetData:"peer_global_dns",title:"DNS"}),mt(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),mt(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),mt(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),mt(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."})])]),g("div",IT,[RT,g("div",NT,[mt(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"})])]),g("div",FT,[BT,g("div",VT,[mt(c,{targetData:"username",title:"Username"}),HT,mt(u,{targetData:"password"})])])])])}const WT=Ut(PT,[["render",jT]]);var Xi={},zT=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},Rm={},Ie={};let Ou;const UT=[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];Ie.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};Ie.getSymbolTotalCodewords=function(t){return UT[t]};Ie.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Ie.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Ou=t};Ie.isKanjiModeEnabled=function(){return typeof Ou<"u"};Ie.toSJIS=function(t){return Ou(t)};var Ja={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,i){if(e.isValid(s))return s;try{return t(s)}catch{return i}}})(Ja);function Nm(){this.buffer=[],this.length=0}Nm.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 n=0;n>>t-n-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 KT=Nm;function or(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)}or.prototype.set=function(e,t,n,s){const i=e*this.size+t;this.data[i]=n,s&&(this.reservedBit[i]=!0)};or.prototype.get=function(e,t){return this.data[e*this.size+t]};or.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n};or.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var YT=or,Fm={};(function(e){const t=Ie.getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const i=Math.floor(s/7)+2,o=t(s),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,u=null;for(let d=0;d=5&&(r+=t.N1+(a-5)),c=p,a=1),p=i.get(f,d),p===u?l++:(l>=5&&(r+=t.N1+(l-5)),u=p,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(u,c),u>=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(s,i),o}return s};var GT=Du,Wm={},ds={},$u={};$u.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var pn={};const zm="[0-9]+",XT="[A-Z $%*+\\-./:]+";let zo="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";zo=zo.replace(/u/g,"\\u");const QT="(?:(?![A-Z0-9 $%*+\\-./:]|"+zo+`)(?:.|[\r -]))+`;pn.KANJI=new RegExp(zo,"g");pn.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");pn.BYTE=new RegExp(QT,"g");pn.NUMERIC=new RegExp(zm,"g");pn.ALPHANUMERIC=new RegExp(XT,"g");const JT=new RegExp("^"+zo+"$"),ZT=new RegExp("^"+zm+"$"),tP=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");pn.testKanji=function(t){return JT.test(t)};pn.testNumeric=function(t){return ZT.test(t)};pn.testAlphanumeric=function(t){return tP.test(t)};(function(e){const t=$u,n=pn;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 n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(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 s(o)}catch{return r}}})(ds);(function(e){const t=Ie,n=Za,s=Ja,i=ds,o=$u,r=7973,a=t.getBCHDigit(r);function l(f,p,m){for(let _=1;_<=40;_++)if(p<=e.getCapacity(_,m,f))return _}function c(f,p){return i.getCharCountIndicator(f,p)+4}function u(f,p){let m=0;return f.forEach(function(_){const y=c(_.mode,p);m+=y+_.getBitsLength()}),m}function d(f,p){for(let m=1;m<=40;m++)if(u(f,m)<=e.getCapacity(m,p,i.MIXED))return m}e.from=function(p,m){return o.isValid(p)?parseInt(p,10):m},e.getCapacity=function(p,m,_){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const y=t.getSymbolTotalCodewords(p),x=n.getTotalCodewordsCount(p,m),S=(y-x)*8;if(_===i.MIXED)return S;const P=S-c(_,p);switch(_){case i.NUMERIC:return Math.floor(P/10*3);case i.ALPHANUMERIC:return Math.floor(P/11*2);case i.KANJI:return Math.floor(P/13);case i.BYTE:default:return Math.floor(P/8)}},e.getBestVersionForData=function(p,m){let _;const y=s.from(m,s.M);if(Array.isArray(p)){if(p.length>1)return d(p,y);if(p.length===0)return 1;_=p[0]}else _=p;return l(_.mode,_.getLength(),y)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let m=p<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<=0;)i^=Km<0&&(s=this.data.substr(n),i=parseInt(s,10),t.put(i,o*3+1))};var sP=Ni;const iP=ds,$l=["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 Fi(e){this.mode=iP.ALPHANUMERIC,this.data=e}Fi.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Fi.prototype.getLength=function(){return this.data.length};Fi.prototype.getBitsLength=function(){return Fi.getBitsLength(this.data.length)};Fi.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=$l.indexOf(this.data[n])*45;s+=$l.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put($l.indexOf(this.data[n]),6)};var oP=Fi,rP=function(t){for(var n=[],s=t.length,i=0;i=55296&&o<=56319&&s>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){n.push(o);continue}if(o<2048){n.push(o>>6|192),n.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){n.push(o>>12|224),n.push(o>>6&63|128),n.push(o&63|128);continue}if(o>=65536&&o<=1114111){n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(o&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer};const aP=rP,lP=ds;function Bi(e){this.mode=lP.BYTE,typeof e=="string"&&(e=aP(e)),this.data=new Uint8Array(e)}Bi.getBitsLength=function(t){return t*8};Bi.prototype.getLength=function(){return this.data.length};Bi.prototype.getBitsLength=function(){return Bi.getBitsLength(this.data.length)};Bi.prototype.write=function(e){for(let t=0,n=this.data.length;t=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` -Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var hP=Vi,qm={exports:{}};(function(e){var t={single_source_shortest_paths:function(n,s,i){var o={},r={};r[s]=0;var a=t.PriorityQueue.make();a.push(s,0);for(var l,c,u,d,f,p,m,_,y;!a.empty();){l=a.pop(),c=l.value,d=l.cost,f=n[c]||{};for(u in f)f.hasOwnProperty(u)&&(p=f[u],m=d+p,_=r[u],y=typeof r[u]>"u",(y||_>m)&&(r[u]=m,a.push(u,m),o[u]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var x=["Could not find a path from ",s," to ",i,"."].join("");throw new Error(x)}return o},extract_shortest_path_from_predecessor_list:function(n,s){for(var i=[],o=s;o;)i.push(o),n[o],o=n[o];return i.reverse(),i},find_path:function(n,s,i){var o=t.single_source_shortest_paths(n,s,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(n){var s=t.PriorityQueue,i={},o;n=n||{};for(o in s)s.hasOwnProperty(o)&&(i[o]=s[o]);return i.queue=[],i.sorter=n.sorter||s.default_sorter,i},default_sorter:function(n,s){return n.cost-s.cost},push:function(n,s){var i={value:n,cost:s};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})(qm);var fP=qm.exports;(function(e){const t=ds,n=sP,s=oP,i=cP,o=hP,r=pn,a=Ie,l=fP;function c(x){return unescape(encodeURIComponent(x)).length}function u(x,S,P){const C=[];let v;for(;(v=x.exec(P))!==null;)C.push({data:v[0],index:v.index,mode:S,length:v[0].length});return C}function d(x){const S=u(r.NUMERIC,t.NUMERIC,x),P=u(r.ALPHANUMERIC,t.ALPHANUMERIC,x);let C,v;return a.isKanjiModeEnabled()?(C=u(r.BYTE,t.BYTE,x),v=u(r.KANJI,t.KANJI,x)):(C=u(r.BYTE_KANJI,t.BYTE,x),v=[]),S.concat(P,C,v).sort(function(A,w){return A.index-w.index}).map(function(A){return{data:A.data,mode:A.mode,length:A.length}})}function f(x,S){switch(S){case t.NUMERIC:return n.getBitsLength(x);case t.ALPHANUMERIC:return s.getBitsLength(x);case t.KANJI:return o.getBitsLength(x);case t.BYTE:return i.getBitsLength(x)}}function p(x){return x.reduce(function(S,P){const C=S.length-1>=0?S[S.length-1]:null;return C&&C.mode===P.mode?(S[S.length-1].data+=P.data,S):(S.push(P),S)},[])}function m(x){const S=[];for(let P=0;P=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 wP(e){const t=e.size;for(let n=8;n>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function Rl(e,t,n){const s=e.size,i=yP.getEncodedBits(t,n);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(s-15+o,8,r,!0),o<8?e.set(8,s-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(s-8,8,1,!0)}function CP(e,t){const n=e.size;let s=-1,i=n-1,o=7,r=0;for(let a=n-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+=s,i<0||n<=i){i-=s,s=-s;break}}}function AP(e,t,n){const s=new pP;n.forEach(function(l){s.put(l.mode.bit,4),s.put(l.getLength(),vP.getCharCountIndicator(l.mode,e)),l.write(s)});const i=el.getSymbolTotalCodewords(e),o=wc.getTotalCodewordsCount(e,t),r=(i-o)*8;for(s.getLengthInBits()+4<=r&&s.put(0,4);s.getLengthInBits()%8!==0;)s.putBit(0);const a=(r-s.getLengthInBits())/8;for(let l=0;l{},nn=Array.isArray,HE=/\/$/,jE=e=>e.replace(HE,"");function Bl(e,t,n="/"){let s,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(s=s||t.slice(0,a),r=t.slice(a,t.length)),s=KE(s??t,n),{fullPath:s+(o&&"?")+o+r,path:s,query:i,hash:r}}function WE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gh(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&Hi(t.matched[s],n.matched[i])&&Dm(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Hi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Dm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!UE(e[n],t[n]))return!1;return!0}function UE(e,t){return nn(e)?Xh(e,t):nn(t)?Xh(t,e):e===t}function Xh(e,t){return nn(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function KE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let o=n.length-1,r,a;for(r=0;r1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(r-(r===s.length?1:0)).join("/")}var qo;(function(e){e.pop="pop",e.push="push"})(qo||(qo={}));var ko;(function(e){e.back="back",e.forward="forward",e.unknown=""})(ko||(ko={}));function YE(e){if(!e)if(bi){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),jE(e)}const qE=/^[^#]+#/;function GE(e,t){return e.replace(qE,"#")+t}function XE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const nl=()=>({left:window.pageXOffset,top:window.pageYOffset});function QE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=XE(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 Qh(e,t){return(history.state?history.state.position-t:-1)+e}const Ac=new Map;function JE(e,t){Ac.set(e,t)}function ZE(e){const t=Ac.get(e);return Ac.delete(e),t}let tS=()=>location.protocol+"//"+location.host;function Im(e,t){const{pathname:n,search:s,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),Gh(l,"")}return Gh(n,e)+s+i}function eS(e,t,n,s){let i=[],o=[],r=null;const a=({state:f})=>{const p=Im(e,location),m=n.value,_=t.value;let v=0;if(f){if(n.value=p,t.value=f,r&&r===m){r=null;return}v=_?f.position-_.position:0}else s(p);i.forEach(x=>{x(n.value,m,{delta:v,type:qo.pop,direction:v?v>0?ko.forward:ko.back:ko.unknown})})};function l(){r=n.value}function c(f){i.push(f);const p=()=>{const m=i.indexOf(f);m>-1&&i.splice(m,1)};return o.push(p),p}function u(){const{history:f}=window;f.state&&f.replaceState(Ft({},f.state,{scroll:nl()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Jh(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?nl():null}}function nS(e){const{history:t,location:n}=window,s={value:Im(e,n)},i={value:t.state};i.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:tS()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),i.value=c}catch(p){console.error(p),n[u?"replace":"assign"](f)}}function r(l,c){const u=Ft({},t.state,Jh(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,u,!0),s.value=l}function a(l,c){const u=Ft({},i.value,t.state,{forward:l,scroll:nl()});o(u.current,u,!0);const d=Ft({},Jh(s.value,l,null),{position:u.position+1},c);o(l,d,!1),s.value=l}return{location:s,state:i,push:a,replace:r}}function sS(e){e=YE(e);const t=nS(e),n=eS(e,t.state,t.location,t.replace);function s(o,r=!0){r||n.pauseListeners(),history.go(o)}const i=Ft({location:"",base:e,go:s,createHref:GE.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function iS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),sS(e)}function oS(e){return typeof e=="string"||e&&typeof e=="object"}function Lm(e){return typeof e=="string"||typeof e=="symbol"}const zn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Rm=Symbol("");var Zh;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Zh||(Zh={}));function ji(e,t){return Ft(new Error,{type:e,[Rm]:!0},t)}function yn(e,t){return e instanceof Error&&Rm in e&&(t==null||!!(e.type&t))}const tf="[^/]+?",rS={sensitive:!1,strict:!1,start:!0,end:!0},aS=/[.+*?^${}()[\]/\\]/g;function lS(e,t){const n=Ft({},rS,t),s=[];let i=n.start?"^":"";const o=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(i+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function uS(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const dS={type:0,value:""},hS=/[a-zA-Z0-9_]/;function fS(e){if(!e)return[[]];if(e==="/")return[[dS]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,s=n;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",u="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===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:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{r(S)}:Po}function r(u){if(Lm(u)){const d=s.get(u);d&&(s.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&s.delete(u.record.name),u.children.forEach(r),u.alias.forEach(r))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!Nm(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!sf(u)&&s.set(u.record.name,u)}function c(u,d){let f,p={},m,_;if("name"in u&&u.name){if(f=s.get(u.name),!f)throw ji(1,{location:u});_=f.record.name,p=Ft(nf(d.params,f.keys.filter(S=>!S.optional).map(S=>S.name)),u.params&&nf(u.params,f.keys.map(S=>S.name))),m=f.stringify(p)}else if("path"in u)m=u.path,f=n.find(S=>S.re.test(m)),f&&(p=f.parse(m),_=f.record.name);else{if(f=d.name?s.get(d.name):n.find(S=>S.re.test(d.path)),!f)throw ji(1,{location:u,currentLocation:d});_=f.record.name,p=Ft({},d.params,u.params),m=f.stringify(p)}const v=[];let x=f;for(;x;)v.unshift(x.record),x=x.parent;return{name:_,path:m,params:p,matched:v,meta:bS(v)}}return e.forEach(u=>o(u)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function nf(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function mS(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:_S(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 _S(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function sf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function bS(e){return e.reduce((t,n)=>Ft(t,n.meta),{})}function of(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function Nm(e,t){return t.children.some(n=>n===e||Nm(e,n))}const Fm=/#/g,vS=/&/g,yS=/\//g,xS=/=/g,wS=/\?/g,Bm=/\+/g,ES=/%5B/g,SS=/%5D/g,Vm=/%5E/g,AS=/%60/g,Hm=/%7B/g,CS=/%7C/g,jm=/%7D/g,TS=/%20/g;function Nu(e){return encodeURI(""+e).replace(CS,"|").replace(ES,"[").replace(SS,"]")}function PS(e){return Nu(e).replace(Hm,"{").replace(jm,"}").replace(Vm,"^")}function Cc(e){return Nu(e).replace(Bm,"%2B").replace(TS,"+").replace(Fm,"%23").replace(vS,"%26").replace(AS,"`").replace(Hm,"{").replace(jm,"}").replace(Vm,"^")}function kS(e){return Cc(e).replace(xS,"%3D")}function $S(e){return Nu(e).replace(Fm,"%23").replace(wS,"%3F")}function MS(e){return e==null?"":$S(e).replace(yS,"%2F")}function ya(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function OS(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&Cc(o)):[s&&Cc(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function DS(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=nn(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const IS=Symbol(""),af=Symbol(""),Fu=Symbol(""),Wm=Symbol(""),Tc=Symbol("");function uo(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Qn(e,t,n,s,i){const o=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=d=>{d===!1?a(ji(4,{from:n,to:t})):d instanceof Error?a(d):oS(d)?a(ji(2,{from:t,to:d})):(o&&s.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),r())},c=e.call(s&&s.instances[i],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function Vl(e,t,n,s){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(LS(a)){const c=(a.__vccOpts||a)[t];c&&i.push(Qn(c,n,s,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 u=VE(c)?c.default:c;o.components[r]=u;const f=(u.__vccOpts||u)[t];return f&&Qn(f,n,s,o,r)()}))}}return i}function LS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lf(e){const t=hn(Fu),n=hn(Wm),s=We(()=>t.resolve(os(e.to))),i=We(()=>{const{matched:l}=s.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(Hi.bind(null,u));if(f>-1)return f;const p=cf(l[c-2]);return c>1&&cf(u)===p&&d[d.length-1].path!==p?d.findIndex(Hi.bind(null,l[c-2])):f}),o=We(()=>i.value>-1&&BS(n.params,s.value.params)),r=We(()=>i.value>-1&&i.value===n.matched.length-1&&Dm(n.params,s.value.params));function a(l={}){return FS(l)?t[os(e.replace)?"replace":"push"](os(e.to)).catch(Po):Promise.resolve()}return{route:s,href:We(()=>s.value.href),isActive:o,isExactActive:r,navigate:a}}const RS=qa({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:lf,setup(e,{slots:t}){const n=or(lf(e)),{options:s}=hn(Fu),i=We(()=>({[uf(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[uf(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Fi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),NS=RS;function FS(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 BS(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!nn(i)||i.length!==s.length||s.some((o,r)=>o!==i[r]))return!1}return!0}function cf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const uf=(e,t,n)=>e??t??n,VS=qa({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=hn(Tc),i=We(()=>e.route||s.value),o=hn(af,0),r=We(()=>{let c=os(o);const{matched:u}=i.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=We(()=>i.value.matched[r.value]);ra(af,We(()=>r.value+1)),ra(IS,a),ra(Tc,i);const l=Li();return zs(()=>[l.value,a.value,e.name],([c,u,d],[f,p,m])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!Hi(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return df(n.default,{Component:f,route:c});const p=d.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,v=Fi(f,Ft({},m,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return df(n.default,{Component:v,route:c})||v}}});function df(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const zm=VS;function HS(e){const t=gS(e.routes,e),n=e.parseQuery||OS,s=e.stringifyQuery||rf,i=e.history,o=uo(),r=uo(),a=uo(),l=yu(zn);let c=zn;bi&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Fl.bind(null,j=>""+j),d=Fl.bind(null,MS),f=Fl.bind(null,ya);function p(j,nt){let Z,at;return Lm(j)?(Z=t.getRecordMatcher(j),at=nt):at=j,t.addRoute(at,Z)}function m(j){const nt=t.getRecordMatcher(j);nt&&t.removeRoute(nt)}function _(){return t.getRoutes().map(j=>j.record)}function v(j){return!!t.getRecordMatcher(j)}function x(j,nt){if(nt=Ft({},nt||l.value),typeof j=="string"){const L=Bl(n,j,nt.path),V=t.resolve({path:L.path},nt),K=i.createHref(L.fullPath);return Ft(L,V,{params:f(V.params),hash:ya(L.hash),redirectedFrom:void 0,href:K})}let Z;if("path"in j)Z=Ft({},j,{path:Bl(n,j.path,nt.path).path});else{const L=Ft({},j.params);for(const V in L)L[V]==null&&delete L[V];Z=Ft({},j,{params:d(L)}),nt.params=d(nt.params)}const at=t.resolve(Z,nt),F=j.hash||"";at.params=u(f(at.params));const T=WE(s,Ft({},j,{hash:PS(F),path:at.path})),O=i.createHref(T);return Ft({fullPath:T,hash:F,query:s===rf?DS(j.query):j.query||{}},at,{redirectedFrom:void 0,href:O})}function S(j){return typeof j=="string"?Bl(n,j,l.value.path):Ft({},j)}function P(j,nt){if(c!==j)return ji(8,{from:nt,to:j})}function A(j){return C(j)}function y(j){return A(Ft(S(j),{replace:!0}))}function E(j){const nt=j.matched[j.matched.length-1];if(nt&&nt.redirect){const{redirect:Z}=nt;let at=typeof Z=="function"?Z(j):Z;return typeof at=="string"&&(at=at.includes("?")||at.includes("#")?at=S(at):{path:at},at.params={}),Ft({query:j.query,hash:j.hash,params:"path"in at?{}:j.params},at)}}function C(j,nt){const Z=c=x(j),at=l.value,F=j.state,T=j.force,O=j.replace===!0,L=E(Z);if(L)return C(Ft(S(L),{state:typeof L=="object"?Ft({},F,L.state):F,force:T,replace:O}),nt||Z);const V=Z;V.redirectedFrom=nt;let K;return!T&&zE(s,at,Z)&&(K=ji(16,{to:V,from:at}),mt(at,at,!0,!1)),(K?Promise.resolve(K):D(V,at)).catch(G=>yn(G)?yn(G,2)?G:ct(G):U(G,V,at)).then(G=>{if(G){if(yn(G,2))return C(Ft({replace:O},S(G.to),{state:typeof G.to=="object"?Ft({},F,G.to.state):F,force:T}),nt||V)}else G=N(V,at,!0,O,F);return I(V,at,G),G})}function w(j,nt){const Z=P(j,nt);return Z?Promise.reject(Z):Promise.resolve()}function $(j){const nt=At.values().next().value;return nt&&typeof nt.runWithContext=="function"?nt.runWithContext(j):j()}function D(j,nt){let Z;const[at,F,T]=jS(j,nt);Z=Vl(at.reverse(),"beforeRouteLeave",j,nt);for(const L of at)L.leaveGuards.forEach(V=>{Z.push(Qn(V,j,nt))});const O=w.bind(null,j,nt);return Z.push(O),Ct(Z).then(()=>{Z=[];for(const L of o.list())Z.push(Qn(L,j,nt));return Z.push(O),Ct(Z)}).then(()=>{Z=Vl(F,"beforeRouteUpdate",j,nt);for(const L of F)L.updateGuards.forEach(V=>{Z.push(Qn(V,j,nt))});return Z.push(O),Ct(Z)}).then(()=>{Z=[];for(const L of T)if(L.beforeEnter)if(nn(L.beforeEnter))for(const V of L.beforeEnter)Z.push(Qn(V,j,nt));else Z.push(Qn(L.beforeEnter,j,nt));return Z.push(O),Ct(Z)}).then(()=>(j.matched.forEach(L=>L.enterCallbacks={}),Z=Vl(T,"beforeRouteEnter",j,nt),Z.push(O),Ct(Z))).then(()=>{Z=[];for(const L of r.list())Z.push(Qn(L,j,nt));return Z.push(O),Ct(Z)}).catch(L=>yn(L,8)?L:Promise.reject(L))}function I(j,nt,Z){a.list().forEach(at=>$(()=>at(j,nt,Z)))}function N(j,nt,Z,at,F){const T=P(j,nt);if(T)return T;const O=nt===zn,L=bi?history.state:{};Z&&(at||O?i.replace(j.fullPath,Ft({scroll:O&&L&&L.scroll},F)):i.push(j.fullPath,F)),l.value=j,mt(j,nt,Z,O),ct()}let Q;function Y(){Q||(Q=i.listen((j,nt,Z)=>{if(!Mt.listening)return;const at=x(j),F=E(at);if(F){C(Ft(F,{replace:!0}),at).catch(Po);return}c=at;const T=l.value;bi&&JE(Qh(T.fullPath,Z.delta),nl()),D(at,T).catch(O=>yn(O,12)?O:yn(O,2)?(C(O.to,at).then(L=>{yn(L,20)&&!Z.delta&&Z.type===qo.pop&&i.go(-1,!1)}).catch(Po),Promise.reject()):(Z.delta&&i.go(-Z.delta,!1),U(O,at,T))).then(O=>{O=O||N(at,T,!1),O&&(Z.delta&&!yn(O,8)?i.go(-Z.delta,!1):Z.type===qo.pop&&yn(O,20)&&i.go(-1,!1)),I(at,T,O)}).catch(Po)}))}let H=uo(),R=uo(),W;function U(j,nt,Z){ct(j);const at=R.list();return at.length?at.forEach(F=>F(j,nt,Z)):console.error(j),Promise.reject(j)}function rt(){return W&&l.value!==zn?Promise.resolve():new Promise((j,nt)=>{H.add([j,nt])})}function ct(j){return W||(W=!j,Y(),H.list().forEach(([nt,Z])=>j?Z(j):nt()),H.reset()),j}function mt(j,nt,Z,at){const{scrollBehavior:F}=e;if(!bi||!F)return Promise.resolve();const T=!Z&&ZE(Qh(j.fullPath,0))||(at||!Z)&&history.state&&history.state.scroll||null;return Ua().then(()=>F(j,nt,T)).then(O=>O&&QE(O)).catch(O=>U(O,j,nt))}const pt=j=>i.go(j);let Pt;const At=new Set,Mt={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,hasRoute:v,getRoutes:_,resolve:x,options:e,push:A,replace:y,go:pt,back:()=>pt(-1),forward:()=>pt(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:R.add,isReady:rt,install(j){const nt=this;j.component("RouterLink",NS),j.component("RouterView",zm),j.config.globalProperties.$router=nt,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>os(l)}),bi&&!Pt&&l.value===zn&&(Pt=!0,A(i.location).catch(F=>{}));const Z={};for(const F in zn)Object.defineProperty(Z,F,{get:()=>l.value[F],enumerable:!0});j.provide(Fu,nt),j.provide(Wm,Fg(Z)),j.provide(Tc,l);const at=j.unmount;At.add(j),j.unmount=function(){At.delete(j),At.size<1&&(c=zn,Q&&Q(),Q=null,l.value=zn,Pt=!1,W=!1),at()}}};function Ct(j){return j.reduce((nt,Z)=>nt.then(()=>$(Z)),Promise.resolve())}return Mt}function jS(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rHi(c,a))?s.push(a):n.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Hi(c,l))||i.push(l))}return[n,s,i]}const Re=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${e}?${s.toString()}`,{headers:{"content-type":"application/json"}}).then(i=>i.json()).then(i=>n?n(i):void 0)},Ce=async(e,t,n)=>{await fetch(`${e}`,{headers:{"content-type":"application/json"},method:"POST",body:JSON.stringify(t)}).then(s=>s.json()).then(s=>n?n(s):void 0)};let Fr;const WS=new Uint8Array(16);function zS(){if(!Fr&&(Fr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Fr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Fr(WS)}const ce=[];for(let e=0;e<256;++e)ce.push((e+256).toString(16).slice(1));function US(e,t=0){return ce[e[t+0]]+ce[e[t+1]]+ce[e[t+2]]+ce[e[t+3]]+"-"+ce[e[t+4]]+ce[e[t+5]]+"-"+ce[e[t+6]]+ce[e[t+7]]+"-"+ce[e[t+8]]+ce[e[t+9]]+"-"+ce[e[t+10]]+ce[e[t+11]]+ce[e[t+12]]+ce[e[t+13]]+ce[e[t+14]]+ce[e[t+15]]}const KS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),hf={randomUUID:KS};function to(e,t,n){if(hf.randomUUID&&!t&&!e)return hf.randomUUID();e=e||{};const s=e.random||(e.rng||zS)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=s[i];return t}return US(s)}const Xt=Ru("DashboardConfigurationStore",{state:()=>({Configuration:void 0,Messages:[]}),actions:{async getConfiguration(){await Re("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await Ce("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await Re("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:to(),from:e,content:t,type:n,show:!0})}}}),YS=g("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[g("div",{class:"container-fluid"},[g("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1),qS={__name:"App",setup(e){return Xt(),(t,n)=>(X(),ot(Qt,null,[YS,(X(),ue(Cu,null,{default:Gt(()=>[dt(os(zm),null,{default:Gt(({Component:s})=>[dt(Ln,{name:"fade",mode:"out-in"},{default:Gt(()=>[(X(),ue(Au(s)))]),_:2},1024)]),_:1})]),_:1}))],64))}},GS={getCookie(e){const n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2)return n.pop().split(";").shift()}};Ru("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await Re("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const ff="[a-fA-F\\d:]",Jn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${ff})|(?<=${ff})(?=\\s|$))`:"",Je="(?: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}",ne="[a-fA-F\\d]{1,4}",sl=` +(?: +(?:${ne}:){7}(?:${ne}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 +(?:${ne}:){6}(?:${Je}|:${ne}|:)| // 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 +(?:${ne}:){5}(?::${Je}|(?::${ne}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 +(?:${ne}:){4}(?:(?::${ne}){0,1}:${Je}|(?::${ne}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 +(?:${ne}:){3}(?:(?::${ne}){0,2}:${Je}|(?::${ne}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 +(?:${ne}:){2}(?:(?::${ne}){0,3}:${Je}|(?::${ne}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 +(?:${ne}:){1}(?:(?::${ne}){0,4}:${Je}|(?::${ne}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 +(?::(?:(?::${ne}){0,5}:${Je}|(?::${ne}){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(),XS=new RegExp(`(?:^${Je}$)|(?:^${sl}$)`),QS=new RegExp(`^${Je}$`),JS=new RegExp(`^${sl}$`),il=e=>e&&e.exact?XS:new RegExp(`(?:${Jn(e)}${Je}${Jn(e)})|(?:${Jn(e)}${sl}${Jn(e)})`,"g");il.v4=e=>e&&e.exact?QS:new RegExp(`${Jn(e)}${Je}${Jn(e)}`,"g");il.v6=e=>e&&e.exact?JS:new RegExp(`${Jn(e)}${sl}${Jn(e)}`,"g");const Um={exact:!1},Km=`${il.v4().source}\\/(3[0-2]|[12]?[0-9])`,Ym=`${il.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,ZS=new RegExp(`^${Km}$`),tA=new RegExp(`^${Ym}$`),eA=({exact:e}=Um)=>e?ZS:new RegExp(Km,"g"),nA=({exact:e}=Um)=>e?tA:new RegExp(Ym,"g"),qm=eA({exact:!0}),Gm=nA({exact:!0}),Bu=e=>qm.test(e)?4:Gm.test(e)?6:0;Bu.v4=e=>qm.test(e);Bu.v6=e=>Gm.test(e);const mn=Ru("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:""}),actions:{async getConfigurations(){await Re("/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 Bu(e)!==0}}}),Lt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},sA={name:"navbar",setup(){const e=mn(),t=Xt();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},iA={class:"col-md-3 col-lg-2 d-md-block p-3"},oA={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow"},rA={class:"sidebar-sticky pt-3"},aA={class:"nav flex-column"},lA={class:"nav-item"},cA={class:"nav-item"},uA=g("hr",null,null,-1),dA=g("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[g("span",null,"Configurations")],-1),hA={class:"nav flex-column"},fA={class:"nav-item"},pA=Bw('

',4),gA={class:"nav flex-column"},mA={class:"nav-item"},_A=g("ul",{class:"nav flex-column"},[g("li",{class:"nav-item"},[g("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[g("small",{class:"nav-link text-muted"})])])],-1);function bA(e,t,n,s,i,o){const r=Rt("RouterLink");return X(),ot("div",iA,[g("nav",oA,[g("div",rA,[g("ul",aA,[g("li",lA,[dt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:Gt(()=>[gt("Home")]),_:1})]),g("li",cA,[dt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:Gt(()=>[gt("Settings")]),_:1})])]),uA,dA,g("ul",hA,[g("li",fA,[(X(!0),ot(Qt,null,us(this.wireguardConfigurationsStore.Configurations,a=>(X(),ue(r,{to:"/configuration/"+a.Name,class:"nav-link nav-conf-link"},{default:Gt(()=>[g("samp",null,wt(a.Name),1)]),_:2},1032,["to"]))),256))])]),pA,g("ul",gA,[g("li",mA,[g("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),_A])])])}const vA=Lt(sA,[["render",bA]]),yA={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},xA=["id"],wA={class:"card-body"},EA={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function SA(e,t,n,s,i,o){return X(),ot("div",{class:jt(["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"}},[g("div",wA,[g("small",EA,"FROM "+wt(this.message.from),1),gt(" "+wt(this.message.content),1)])],10,xA)}const AA=Lt(yA,[["render",SA]]),CA={name:"index",components:{Message:AA,Navbar:vA},async setup(){return{dashboardConfigurationStore:Xt()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},TA=["data-bs-theme"],PA={class:"row h-100"},kA={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},$A={class:"messageCentre text-body position-fixed"};function MA(e,t,n,s,i,o){const r=Rt("Navbar"),a=Rt("RouterView"),l=Rt("Message");return X(),ot("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[g("div",PA,[dt(r),g("main",kA,[(X(),ue(Cu,null,{default:Gt(()=>[dt(a,null,{default:Gt(({Component:c})=>[dt(Ln,{name:"fade2",mode:"out-in"},{default:Gt(()=>[(X(),ue(Au(c)))]),_:2},1024)]),_:1})]),_:1})),g("div",$A,[dt(Lu,{name:"message",tag:"div",class:"position-relative"},{default:Gt(()=>[(X(!0),ot(Qt,null,us(o.getMessages.slice().reverse(),c=>(X(),ue(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,TA)}const OA=Lt(CA,[["render",MA],["__scopeId","data-v-54755a4a"]]),DA={name:"signin",async setup(){const e=Xt();let t="",n=!1;return await Re("/api/getDashboardTheme",{},s=>{t=s.data}),await Re("/api/isTotpEnabled",{},s=>{n=s.data}),{store:e,theme:t,totpEnabled:n}},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 Ce("/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.$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"))})}}},IA=["data-bs-theme"],LA={class:"login-box m-auto",style:{width:"500px"}},RA=g("h4",{class:"mb-0 text-body"},"Welcome to",-1),NA=g("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),FA={class:"m-auto"},BA={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},VA={class:"form-group text-body"},HA=g("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-person-circle"})],-1),jA={class:"form-group text-body"},WA=g("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-key-fill"})],-1),zA={key:0,class:"form-group text-body"},UA=g("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[g("i",{class:"bi bi-lock-fill"})],-1),KA={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand shadow signInBtn",ref:"signInBtn"},YA={key:0,class:"d-flex w-100"},qA=g("i",{class:"ms-auto bi bi-chevron-right"},null,-1),GA={key:1,class:"d-flex w-100 align-items-center"},XA=g("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[g("span",{class:"visually-hidden"},"Loading...")],-1);function QA(e,t,n,s,i,o){return X(),ot("div",{class:"container-fluid login-container-fluid d-flex main","data-bs-theme":this.theme},[g("div",LA,[RA,NA,g("div",FA,[i.loginError?(X(),ot("div",BA,wt(this.loginErrorMessage),1)):Ut("",!0),g("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[g("div",VA,[HA,bt(g("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),[[vt,i.username]])]),g("div",jA,[WA,bt(g("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),[[vt,i.password]])]),s.totpEnabled?(X(),ot("div",zA,[UA,bt(g("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),[[vt,this.totp]])])):Ut("",!0),g("button",KA,[this.loading?(X(),ot("span",GA,[gt(" Signing In... "),XA])):(X(),ot("span",YA,[gt(" Sign In"),qA]))],512)],32)])])],8,IA)}const JA=Lt(DA,[["render",QA]]),ZA={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},setup(){return{dashboardConfigurationStore:Xt()}},methods:{toggle(){Re("/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})}}},tC={class:"card conf_card rounded-3 shadow text-decoration-none"},eC={class:"mb-0"},nC={class:"card-title mb-0"},sC=g("h6",{class:"mb-0 ms-auto"},[g("i",{class:"bi bi-chevron-right"})],-1),iC={class:"card-footer d-flex align-items-center"},oC=g("small",{class:"me-2 text-muted"},[g("strong",null,"PUBLIC KEY")],-1),rC={class:"mb-0 d-block d-lg-inline-block"},aC={style:{"line-break":"anywhere"}},lC={class:"form-check form-switch ms-auto"},cC=["for"],uC=["id"];function dC(e,t,n,s,i,o){const r=Rt("RouterLink");return X(),ot("div",tC,[dt(r,{to:"/configuration/"+n.c.Name,class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Gt(()=>[g("h6",eC,[g("span",{class:jt(["dot",{active:n.c.Status}])},null,2)]),g("h6",nC,[g("samp",null,wt(n.c.Name),1)]),sC]),_:1},8,["to"]),g("div",iC,[oC,g("small",rC,[g("samp",aC,wt(n.c.PublicKey),1)]),g("div",lC,[g("label",{class:"form-check-label",for:"switch"+n.c.PrivateKey},wt(n.c.Status?"On":"Off"),9,cC),bt(g("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"switch"+n.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>n.c.Status=a)},null,40,uC),[[lr,n.c.Status]])])])])}const hC=Lt(ZA,[["render",dC]]),fC={name:"configurationList",components:{ConfigurationCard:hC},async setup(){const e=mn();return await e.getConfigurations(),{wireguardConfigurationsStore:e}}},pC={class:"mt-4"},gC={class:"container"},mC={class:"d-flex mb-4"},_C=g("h3",{class:"text-body"},"WireGuard Configurations",-1),bC=g("i",{class:"bi bi-plus-circle-fill ms-2"},null,-1),vC={key:0,class:"text-muted"},yC={key:1,class:"d-flex gap-3 flex-column"};function xC(e,t,n,s,i,o){const r=Rt("RouterLink"),a=Rt("ConfigurationCard");return X(),ot("div",pC,[g("div",gC,[g("div",mC,[_C,dt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Gt(()=>[gt(" Configuration "),bC]),_:1})]),this.wireguardConfigurationsStore.Configurations.length===0?(X(),ot("p",vC,`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".`)):(X(),ot("div",yC,[(X(!0),ot(Qt,null,us(this.wireguardConfigurationsStore.Configurations,l=>(X(),ue(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])])}const wC=Lt(fC,[["render",xC]]),EC={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Xt(),t=`input_${to()}`;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 Ce("/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})}}},SC={class:"form-group mb-2"},AC=["for"],CC=["id","disabled"],TC={class:"invalid-feedback"},PC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},kC=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),$C=["innerHTML"];function MC(e,t,n,s,i,o){return X(),ot("div",SC,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,wt(this.title),1)])],8,AC),bt(g("input",{type:"text",class:jt(["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,CC),[[vt,this.value]]),g("div",TC,wt(this.invalidFeedback),1),n.warning?(X(),ot("div",PC,[g("small",null,[kC,g("span",{innerHTML:n.warningText},null,8,$C)])])):Ut("",!0)])}const OC=Lt(EC,[["render",MC]]),DC=e=>{},IC={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Xt(),t=`input_${to()}`;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 Ce("/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}))}}},LC={class:"form-group mb-2"},RC=["for"],NC=["id","disabled"],FC={class:"invalid-feedback"},BC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},VC=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),HC=["innerHTML"];function jC(e,t,n,s,i,o){return X(),ot("div",LC,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,wt(this.title),1)])],8,RC),bt(g("input",{type:"text",class:jt(["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,NC),[[vt,this.value]]),g("div",FC,wt(this.invalidFeedback),1),n.warning?(X(),ot("div",BC,[g("small",null,[VC,g("span",{innerHTML:n.warningText},null,8,HC)])])):Ut("",!0)])}const WC=Lt(IC,[["render",jC]]),zC={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=Xt(),t=`input_${to()}`;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 Ce("/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.")}}},UC={class:"row"},KC={class:"col-sm"},YC={class:"form-group mb-2"},qC=["for"],GC=g("strong",null,[g("small",null,"Current Password")],-1),XC=[GC],QC=["id"],JC={key:0,class:"invalid-feedback d-block"},ZC={class:"col-sm"},tT={class:"form-group mb-2"},eT=["for"],nT=g("strong",null,[g("small",null,"New Password")],-1),sT=[nT],iT=["id"],oT={class:"col-sm"},rT={class:"form-group mb-2"},aT=["for"],lT=g("strong",null,[g("small",null,"Repeat New Password")],-1),cT=[lT],uT=["id"],dT=g("i",{class:"bi bi-key-fill me-2"},null,-1);function hT(e,t,n,s,i,o){return X(),ot("div",null,[g("div",UC,[g("div",KC,[g("div",YC,[g("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},XC,8,qC),bt(g("input",{type:"password",class:jt(["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,QC),[[vt,this.value.currentPassword]]),i.showInvalidFeedback?(X(),ot("div",JC,wt(this.invalidFeedback),1)):Ut("",!0)])]),g("div",ZC,[g("div",tT,[g("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},sT,8,eT),bt(g("input",{type:"password",class:jt(["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,iT),[[vt,this.value.newPassword]])])]),g("div",oT,[g("div",rT,[g("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},cT,8,aT),bt(g("input",{type:"password",class:jt(["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,uT),[[vt,this.value.repeatNewPassword]])])])]),g("button",{class:"btn btn-success btn-sm fw-bold rounded-3",onClick:t[3]||(t[3]=r=>this.useValidation())},[dT,gt("Update Password ")])])}const fT=Lt(zC,[["render",hT]]),pT={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Xt(),t=`input_${to()}`;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 Ce("/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})}}},gT={class:"form-group mb-2"},mT=["for"],_T=["id","disabled"],bT={class:"invalid-feedback"},vT={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},yT=g("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),xT=["innerHTML"];function wT(e,t,n,s,i,o){return X(),ot("div",gT,[g("label",{for:this.uuid,class:"text-muted mb-1"},[g("strong",null,[g("small",null,wt(this.title),1)])],8,mT),bt(g("input",{type:"text",class:jt(["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,_T),[[vt,this.value]]),g("div",bT,wt(this.invalidFeedback),1),n.warning?(X(),ot("div",vT,[g("small",null,[yT,g("span",{innerHTML:n.warningText},null,8,xT)])])):Ut("",!0)])}const ET=Lt(pT,[["render",wT]]),ST={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:Xt()}},methods:{async switchTheme(e){await Ce("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},AT={class:"card mb-4 shadow rounded-3"},CT=g("p",{class:"card-header"},"Dashboard Theme",-1),TT={class:"card-body d-flex gap-2"},PT=g("i",{class:"bi bi-sun-fill"},null,-1),kT=g("i",{class:"bi bi-moon-fill"},null,-1);function $T(e,t,n,s,i,o){return X(),ot("div",AT,[CT,g("div",TT,[g("button",{class:jt(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[PT,gt(" Light ")],2),g("button",{class:jt(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[kT,gt(" Dark ")],2)])])}const MT=Lt(ST,[["render",$T]]),OT={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=Xt(),t=`input_${to()}`;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 Ce("/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)})}}},DT={class:"invalid-feedback d-block mt-0"},IT={class:"row"},LT={class:"form-group mb-2 col-sm"},RT=["for"],NT=g("strong",null,[g("small",null,"Dashboard IP Address")],-1),FT=[NT],BT=["id"],VT=g("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[g("small",null,[g("i",{class:"bi bi-exclamation-triangle-fill me-2"}),g("code",null,"0.0.0.0"),gt(" means it can be access by anyone with your server IP Address.")])],-1),HT={class:"form-group col-sm"},jT=["for"],WT=g("strong",null,[g("small",null,"Dashboard Port")],-1),zT=[WT],UT=["id"],KT=g("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[g("i",{class:"bi bi-floppy-fill me-2"}),gt("Update Dashboard Settings & Restart ")],-1);function YT(e,t,n,s,i,o){return X(),ot("div",null,[g("div",DT,wt(this.invalidFeedback),1),g("div",IT,[g("div",LT,[g("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},FT,8,RT),bt(g("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,BT),[[vt,this.app_ip]]),VT]),g("div",HT,[g("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},zT,8,jT),bt(g("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,UT),[[vt,this.app_port]])])]),KT])}const qT=Lt(OT,[["render",YT]]),GT={name:"settings",methods:{ipV46RegexCheck:DC},components:{DashboardSettingsInputIPAddressAndPort:qT,DashboardTheme:MT,DashboardSettingsInputWireguardConfigurationPath:ET,AccountSettingsInputPassword:fT,AccountSettingsInputUsername:WC,PeersDefaultSettingsInput:OC},setup(){return{dashboardConfigurationStore:Xt()}},watch:{}},XT={class:"mt-4"},QT={class:"container"},JT=g("h3",{class:"mb-3 text-body"},"Settings",-1),ZT={class:"card mb-4 shadow rounded-3"},tP=g("p",{class:"card-header"},"Peers Default Settings",-1),eP={class:"card-body"},nP={class:"card mb-4 shadow rounded-3"},sP=g("p",{class:"card-header"},"WireGuard Configurations Settings",-1),iP={class:"card-body"},oP={class:"card mb-4 shadow rounded-3"},rP=g("p",{class:"card-header"},"Account Settings",-1),aP={class:"card-body"},lP=g("hr",null,null,-1);function cP(e,t,n,s,i,o){const r=Rt("DashboardTheme"),a=Rt("PeersDefaultSettingsInput"),l=Rt("DashboardSettingsInputWireguardConfigurationPath"),c=Rt("AccountSettingsInputUsername"),u=Rt("AccountSettingsInputPassword");return X(),ot("div",XT,[g("div",QT,[JT,dt(r),g("div",ZT,[tP,g("div",eP,[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."})])]),g("div",nP,[sP,g("div",iP,[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"})])]),g("div",oP,[rP,g("div",aP,[dt(c,{targetData:"username",title:"Username"}),lP,dt(u,{targetData:"password"})])])])])}const uP=Lt(GT,[["render",cP]]);var eo={},dP=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},Xm={},Ne={};let Vu;const hP=[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];Ne.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};Ne.getSymbolTotalCodewords=function(t){return hP[t]};Ne.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Ne.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Vu=t};Ne.isKanjiModeEnabled=function(){return typeof Vu<"u"};Ne.toSJIS=function(t){return Vu(t)};var ol={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,i){if(e.isValid(s))return s;try{return t(s)}catch{return i}}})(ol);function Qm(){this.buffer=[],this.length=0}Qm.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 n=0;n>>t-n-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 fP=Qm;function cr(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)}cr.prototype.set=function(e,t,n,s){const i=e*this.size+t;this.data[i]=n,s&&(this.reservedBit[i]=!0)};cr.prototype.get=function(e,t){return this.data[e*this.size+t]};cr.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n};cr.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var pP=cr,Jm={};(function(e){const t=Ne.getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const i=Math.floor(s/7)+2,o=t(s),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,u=null;for(let d=0;d=5&&(r+=t.N1+(a-5)),c=p,a=1),p=i.get(f,d),p===u?l++:(l>=5&&(r+=t.N1+(l-5)),u=p,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(u,c),u>=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(s,i),o}return s};var mP=Hu,s_={},ms={},ju={};ju.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var _n={};const i_="[0-9]+",_P="[A-Z $%*+\\-./:]+";let Go="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Go=Go.replace(/u/g,"\\u");const bP="(?:(?![A-Z0-9 $%*+\\-./:]|"+Go+`)(?:.|[\r +]))+`;_n.KANJI=new RegExp(Go,"g");_n.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");_n.BYTE=new RegExp(bP,"g");_n.NUMERIC=new RegExp(i_,"g");_n.ALPHANUMERIC=new RegExp(_P,"g");const vP=new RegExp("^"+Go+"$"),yP=new RegExp("^"+i_+"$"),xP=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");_n.testKanji=function(t){return vP.test(t)};_n.testNumeric=function(t){return yP.test(t)};_n.testAlphanumeric=function(t){return xP.test(t)};(function(e){const t=ju,n=_n;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 n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(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 s(o)}catch{return r}}})(ms);(function(e){const t=Ne,n=rl,s=ol,i=ms,o=ju,r=7973,a=t.getBCHDigit(r);function l(f,p,m){for(let _=1;_<=40;_++)if(p<=e.getCapacity(_,m,f))return _}function c(f,p){return i.getCharCountIndicator(f,p)+4}function u(f,p){let m=0;return f.forEach(function(_){const v=c(_.mode,p);m+=v+_.getBitsLength()}),m}function d(f,p){for(let m=1;m<=40;m++)if(u(f,m)<=e.getCapacity(m,p,i.MIXED))return m}e.from=function(p,m){return o.isValid(p)?parseInt(p,10):m},e.getCapacity=function(p,m,_){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const v=t.getSymbolTotalCodewords(p),x=n.getTotalCodewordsCount(p,m),S=(v-x)*8;if(_===i.MIXED)return S;const P=S-c(_,p);switch(_){case i.NUMERIC:return Math.floor(P/10*3);case i.ALPHANUMERIC:return Math.floor(P/11*2);case i.KANJI:return Math.floor(P/13);case i.BYTE:default:return Math.floor(P/8)}},e.getBestVersionForData=function(p,m){let _;const v=s.from(m,s.M);if(Array.isArray(p)){if(p.length>1)return d(p,v);if(p.length===0)return 1;_=p[0]}else _=p;return l(_.mode,_.getLength(),v)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let m=p<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<=0;)i^=r_<0&&(s=this.data.substr(n),i=parseInt(s,10),t.put(i,o*3+1))};var SP=Wi;const AP=ms,Hl=["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 zi(e){this.mode=AP.ALPHANUMERIC,this.data=e}zi.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};zi.prototype.getLength=function(){return this.data.length};zi.prototype.getBitsLength=function(){return zi.getBitsLength(this.data.length)};zi.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=Hl.indexOf(this.data[n])*45;s+=Hl.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(Hl.indexOf(this.data[n]),6)};var CP=zi,TP=function(t){for(var n=[],s=t.length,i=0;i=55296&&o<=56319&&s>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){n.push(o);continue}if(o<2048){n.push(o>>6|192),n.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){n.push(o>>12|224),n.push(o>>6&63|128),n.push(o&63|128);continue}if(o>=65536&&o<=1114111){n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(o&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer};const PP=TP,kP=ms;function Ui(e){this.mode=kP.BYTE,typeof e=="string"&&(e=PP(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,n=this.data.length;t=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` +Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var DP=Ki,l_={exports:{}};(function(e){var t={single_source_shortest_paths:function(n,s,i){var o={},r={};r[s]=0;var a=t.PriorityQueue.make();a.push(s,0);for(var l,c,u,d,f,p,m,_,v;!a.empty();){l=a.pop(),c=l.value,d=l.cost,f=n[c]||{};for(u in f)f.hasOwnProperty(u)&&(p=f[u],m=d+p,_=r[u],v=typeof r[u]>"u",(v||_>m)&&(r[u]=m,a.push(u,m),o[u]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var x=["Could not find a path from ",s," to ",i,"."].join("");throw new Error(x)}return o},extract_shortest_path_from_predecessor_list:function(n,s){for(var i=[],o=s;o;)i.push(o),n[o],o=n[o];return i.reverse(),i},find_path:function(n,s,i){var o=t.single_source_shortest_paths(n,s,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(n){var s=t.PriorityQueue,i={},o;n=n||{};for(o in s)s.hasOwnProperty(o)&&(i[o]=s[o]);return i.queue=[],i.sorter=n.sorter||s.default_sorter,i},default_sorter:function(n,s){return n.cost-s.cost},push:function(n,s){var i={value:n,cost:s};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})(l_);var IP=l_.exports;(function(e){const t=ms,n=SP,s=CP,i=$P,o=DP,r=_n,a=Ne,l=IP;function c(x){return unescape(encodeURIComponent(x)).length}function u(x,S,P){const A=[];let y;for(;(y=x.exec(P))!==null;)A.push({data:y[0],index:y.index,mode:S,length:y[0].length});return A}function d(x){const S=u(r.NUMERIC,t.NUMERIC,x),P=u(r.ALPHANUMERIC,t.ALPHANUMERIC,x);let A,y;return a.isKanjiModeEnabled()?(A=u(r.BYTE,t.BYTE,x),y=u(r.KANJI,t.KANJI,x)):(A=u(r.BYTE_KANJI,t.BYTE,x),y=[]),S.concat(P,A,y).sort(function(C,w){return C.index-w.index}).map(function(C){return{data:C.data,mode:C.mode,length:C.length}})}function f(x,S){switch(S){case t.NUMERIC:return n.getBitsLength(x);case t.ALPHANUMERIC:return s.getBitsLength(x);case t.KANJI:return o.getBitsLength(x);case t.BYTE:return i.getBitsLength(x)}}function p(x){return x.reduce(function(S,P){const A=S.length-1>=0?S[S.length-1]:null;return A&&A.mode===P.mode?(S[S.length-1].data+=P.data,S):(S.push(P),S)},[])}function m(x){const S=[];for(let P=0;P=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 WP(e){const t=e.size;for(let n=8;n>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function zl(e,t,n){const s=e.size,i=VP.getEncodedBits(t,n);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(s-15+o,8,r,!0),o<8?e.set(8,s-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(s-8,8,1,!0)}function KP(e,t){const n=e.size;let s=-1,i=n-1,o=7,r=0;for(let a=n-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+=s,i<0||n<=i){i-=s,s=-s;break}}}function YP(e,t,n){const s=new LP;n.forEach(function(l){s.put(l.mode.bit,4),s.put(l.getLength(),HP.getCharCountIndicator(l.mode,e)),l.write(s)});const i=ll.getSymbolTotalCodewords(e),o=$c.getTotalCodewordsCount(e,t),r=(i-o)*8;for(s.getLengthInBits()+4<=r&&s.put(0,4);s.getLengthInBits()%8!==0;)s.putBit(0);const a=(r-s.getLengthInBits())/8;for(let l=0;l=7&&SP(l,t),CP(l,r),isNaN(s)&&(s=xc.getBestMask(l,Rl.bind(null,l,n))),xc.applyMask(s,l),Rl(l,n,s),{modules:l,version:t,errorCorrectionLevel:n,maskPattern:s,segments:i}}Rm.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let s=Ll.M,i,o;return typeof n<"u"&&(s=Ll.from(n.errorCorrectionLevel,Ll.M),i=_a.from(n.version),o=xc.from(n.maskPattern),n.toSJISFunc&&el.setToSJISFunction(n.toSJISFunc)),PP(t,i,s,o)};var Gm={},Lu={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let s=n.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+n);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const i=parseInt(s.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const i=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,r=s.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,i){return i.width&&i.width>=s+i.margin*2?i.width/(s+i.margin*2):i.scale},e.getImageWidth=function(s,i){const o=e.getScale(s,i);return Math.floor((s+i.margin*2)*o)},e.qrToImageData=function(s,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),u=o.margin*l,d=[o.color.light,o.color.dark];for(let f=0;f=u&&p>=u&&f"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=s()),l=t.getOptions(l);const u=t.getImageWidth(o.modules.size,l),d=c.getContext("2d"),f=d.createImageData(u,u);return t.qrToImageData(f.data,o,l),n(d,c,u),d.putImageData(f,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),u=l.type||"image/png",d=l.rendererOpts||{};return c.toDataURL(u,d.quality)}})(Gm);var Xm={};const MP=Lu;function rf(e,t){const n=e.a/255,s=t+'="'+e.hex+'"';return n<1?s+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':s}function Nl(e,t,n){let s=e+t;return typeof n<"u"&&(s+=" "+n),s}function kP(e,t,n){let s="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(s+=o?Nl("M",l+n,.5+c+n):Nl("m",i,0),i=0,o=!1),l+1':"",c="',u='viewBox="0 0 '+a+" "+a+'"',f=''+l+c+` -`;return typeof s=="function"&&s(null,f),f};const OP=zT,Ec=Rm,Qm=Gm,DP=Xm;function Iu(e,t,n,s,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!OP())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=n,n=t,t=s=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=s,s=void 0):(i=s,s=n,n=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(n=t,t=s=void 0):r===2&&!t.getContext&&(s=n,n=t,t=void 0),new Promise(function(l,c){try{const u=Ec.create(n,s);l(e(u,t,s))}catch(u){c(u)}})}try{const l=Ec.create(n,s);i(null,e(l,t,s))}catch(l){i(l)}}Xi.create=Ec.create;Xi.toCanvas=Iu.bind(null,Qm.render);Xi.toDataURL=Iu.bind(null,Qm.renderToDataURL);Xi.toString=Iu.bind(null,function(e,t,n){return DP.render(e,n)});const $P={name:"totp",async setup(){let e="";return await qe("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&Xi.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)?Ce("/api/Welcome_VerifyTotpLink",{totp:e},n=>{n.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"))}}},LP={class:"mb-3"},IP=g("p",{class:"mb-2"},[g("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),RP=g("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),NP={class:"p-3 bg-body-secondary rounded-3 border mb-3"},FP=g("p",{class:"text-muted mb-0"},[g("small",null,"Or you can click the link below:")],-1),BP=["href"],VP={style:{"line-break":"anywhere"}},HP=g("label",{for:"totp",class:"mb-2"},[g("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),jP={class:"form-group"},WP=["disabled"],zP={class:"invalid-feedback"},UP=g("div",{class:"valid-feedback"}," TOTP verified! ",-1);function KP(e,t,n,s,i,o){return ot(),ct("div",LP,[IP,RP,g("div",NP,[FP,g("a",{href:this.l},[g("code",VP,Ct(this.l),1)],8,BP)]),HP,g("div",jP,[kt(g("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,WP),[[Ot,this.totp]]),g("div",zP,Ct(this.totpInvalidMessage),1),UP])])}const YP=Ut($P,[["render",KP]]),qP={name:"setup",components:{Totp:YP},setup(){return{store:re()}},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,Ce("/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})}}},GP=["data-bs-theme"],XP={class:"mx-auto text-body",style:{width:"500px"}},QP=g("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),JP=g("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),ZP=g("h3",null,"Create an account",-1),tM={key:0,class:"alert alert-danger"},eM={class:"d-flex flex-column gap-3"},nM={id:"createAccount"},sM={class:"form-group text-body"},iM=g("label",{for:"username",class:"mb-1 text-muted"},[g("small",null,"Pick an username you like")],-1),oM={class:"form-group text-body"},rM=g("label",{for:"password",class:"mb-1 text-muted"},[g("small",null,"Create a password (at least 8 characters)")],-1),aM={class:"form-group text-body"},lM=g("label",{for:"confirmPassword",class:"mb-1 text-muted"},[g("small",null,"Confirm password")],-1),cM=g("hr",null,null,-1),uM={class:"form-check form-switch"},dM=g("label",{class:"form-check-label",for:"enable_totp"},[xt("Enable 2 Factor Authentication? "),g("strong",null,"Strongly recommended")],-1),hM=["disabled"],fM={key:0,class:"d-flex align-items-center w-100"},pM=g("i",{class:"bi bi-chevron-right ms-auto"},null,-1),gM={key:1,class:"d-flex align-items-center w-100"},mM={key:2,class:"d-flex align-items-center w-100"},_M=g("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[g("span",{class:"visually-hidden"},"Loading...")],-1);function bM(e,t,n,s,i,o){const r=Kt("Totp");return ot(),ct("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[g("div",XP,[QP,JP,g("div",null,[ZP,this.errorMessage?(ot(),ct("div",tM,Ct(this.errorMessage),1)):oe("",!0),g("div",eM,[g("div",nM,[g("div",sM,[iM,kt(g("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),[[Ot,this.setup.username]])]),g("div",oM,[rM,kt(g("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),[[Ot,this.setup.newPassword]])]),g("div",aM,[lM,kt(g("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),[[Ot,this.setup.repeatNewPassword]])])]),cM,g("div",uM,[kt(g("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),[[Tu,this.setup.enable_totp]]),dM]),(ot(),Ee(bu,null,{default:Yt(()=>[mt(Dn,{name:"fade"},{default:Yt(()=>[this.setup.enable_totp?(ot(),Ee(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):oe("",!0)]),_:1})]),_:1})),g("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?(ot(),ct("span",fM,[xt(" Finish"),pM])):this.done?(ot(),ct("span",gM," Welcome to WGDashboard!")):(ot(),ct("span",mM,[xt(" Saving..."),_M]))],8,hM)])])])],8,GP)}const yM=Ut(qP,[["render",bM]]);function Ru(e){return e.includes(":")?6:e.includes(".")?4:0}function vM(e){const t=Ru(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let n=0n,s=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())n+=o*2n**s,s+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,u,d]=a.split(".").map(f=>Number(f).toString(16).padStart(2,"0"));return`${l}${c}:${u}${d}`}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())n+=a*2n**s,s+=16n}return i.number=n,i.version=t,i}const af={4:32,6:128},xM=e=>e.includes("/")?Ru(e):0;function wM(e){const t=xM(e),n=Object.create(null);if(n.single=!1,t)n.cidr=e,n.version=t;else{const d=Ru(e);if(d)n.cidr=`${e}/${af[d]}`,n.version=d,n.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[s,i]=n.cidr.split("/");n.prefix=i;const{number:o,version:r}=vM(s),a=af[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),u=l.substring(0,a-c);return n.start=BigInt(`0b${u}${"0".repeat(c)}`),n.end=BigInt(`0b${u}${"1".repeat(c)}`),n}/*! SPDX-License-Identifier: GPL-2.0 +`);const r=YP(t,n,i),a=ll.getSymbolSize(t),l=new RP(a);return jP(l,t),WP(l),zP(l,t),zl(l,n,0),t>=7&&UP(l,t),KP(l,r),isNaN(s)&&(s=kc.getBestMask(l,zl.bind(null,l,n))),kc.applyMask(s,l),zl(l,n,s),{modules:l,version:t,errorCorrectionLevel:n,maskPattern:s,segments:i}}Xm.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let s=jl.M,i,o;return typeof n<"u"&&(s=jl.from(n.errorCorrectionLevel,jl.M),i=wa.from(n.version),o=kc.from(n.maskPattern),n.toSJISFunc&&ll.setToSJISFunction(n.toSJISFunc)),GP(t,i,s,o)};var c_={},Wu={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let s=n.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+n);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const i=parseInt(s.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const i=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,r=s.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,i){return i.width&&i.width>=s+i.margin*2?i.width/(s+i.margin*2):i.scale},e.getImageWidth=function(s,i){const o=e.getScale(s,i);return Math.floor((s+i.margin*2)*o)},e.qrToImageData=function(s,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),u=o.margin*l,d=[o.color.light,o.color.dark];for(let f=0;f=u&&p>=u&&f"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=s()),l=t.getOptions(l);const u=t.getImageWidth(o.modules.size,l),d=c.getContext("2d"),f=d.createImageData(u,u);return t.qrToImageData(f.data,o,l),n(d,c,u),d.putImageData(f,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),u=l.type||"image/png",d=l.rendererOpts||{};return c.toDataURL(u,d.quality)}})(c_);var u_={};const XP=Wu;function mf(e,t){const n=e.a/255,s=t+'="'+e.hex+'"';return n<1?s+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':s}function Ul(e,t,n){let s=e+t;return typeof n<"u"&&(s+=" "+n),s}function QP(e,t,n){let s="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(s+=o?Ul("M",l+n,.5+c+n):Ul("m",i,0),i=0,o=!1),l+1':"",c="',u='viewBox="0 0 '+a+" "+a+'"',f=''+l+c+` +`;return typeof s=="function"&&s(null,f),f};const JP=dP,Mc=Xm,d_=c_,ZP=u_;function zu(e,t,n,s,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!JP())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=n,n=t,t=s=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=s,s=void 0):(i=s,s=n,n=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(n=t,t=s=void 0):r===2&&!t.getContext&&(s=n,n=t,t=void 0),new Promise(function(l,c){try{const u=Mc.create(n,s);l(e(u,t,s))}catch(u){c(u)}})}try{const l=Mc.create(n,s);i(null,e(l,t,s))}catch(l){i(l)}}eo.create=Mc.create;eo.toCanvas=zu.bind(null,d_.render);eo.toDataURL=zu.bind(null,d_.renderToDataURL);eo.toString=zu.bind(null,function(e,t,n){return ZP.render(e,n)});const tk={name:"totp",async setup(){let e="";return await Re("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&eo.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)?Ce("/api/Welcome_VerifyTotpLink",{totp:e},n=>{n.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"))}}},ek={class:"mb-3"},nk=g("p",{class:"mb-2"},[g("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),sk=g("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),ik={class:"p-3 bg-body-secondary rounded-3 border mb-3"},ok=g("p",{class:"text-muted mb-0"},[g("small",null,"Or you can click the link below:")],-1),rk=["href"],ak={style:{"line-break":"anywhere"}},lk=g("label",{for:"totp",class:"mb-2"},[g("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),ck={class:"form-group"},uk=["disabled"],dk={class:"invalid-feedback"},hk=g("div",{class:"valid-feedback"}," TOTP verified! ",-1);function fk(e,t,n,s,i,o){return X(),ot("div",ek,[nk,sk,g("div",ik,[ok,g("a",{href:this.l},[g("code",ak,wt(this.l),1)],8,rk)]),lk,g("div",ck,[bt(g("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,uk),[[vt,this.totp]]),g("div",dk,wt(this.totpInvalidMessage),1),hk])])}const pk=Lt(tk,[["render",fk]]),gk={name:"setup",components:{Totp:pk},setup(){return{store:Xt()}},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,Ce("/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})}}},mk=["data-bs-theme"],_k={class:"mx-auto text-body",style:{width:"500px"}},bk=g("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),vk=g("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),yk=g("h3",null,"Create an account",-1),xk={key:0,class:"alert alert-danger"},wk={class:"d-flex flex-column gap-3"},Ek={id:"createAccount"},Sk={class:"form-group text-body"},Ak=g("label",{for:"username",class:"mb-1 text-muted"},[g("small",null,"Pick an username you like")],-1),Ck={class:"form-group text-body"},Tk=g("label",{for:"password",class:"mb-1 text-muted"},[g("small",null,"Create a password (at least 8 characters)")],-1),Pk={class:"form-group text-body"},kk=g("label",{for:"confirmPassword",class:"mb-1 text-muted"},[g("small",null,"Confirm password")],-1),$k=g("hr",null,null,-1),Mk={class:"form-check form-switch"},Ok=g("label",{class:"form-check-label",for:"enable_totp"},[gt("Enable 2 Factor Authentication? "),g("strong",null,"Strongly recommended")],-1),Dk=["disabled"],Ik={key:0,class:"d-flex align-items-center w-100"},Lk=g("i",{class:"bi bi-chevron-right ms-auto"},null,-1),Rk={key:1,class:"d-flex align-items-center w-100"},Nk={key:2,class:"d-flex align-items-center w-100"},Fk=g("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[g("span",{class:"visually-hidden"},"Loading...")],-1);function Bk(e,t,n,s,i,o){const r=Rt("Totp");return X(),ot("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[g("div",_k,[bk,vk,g("div",null,[yk,this.errorMessage?(X(),ot("div",xk,wt(this.errorMessage),1)):Ut("",!0),g("div",wk,[g("div",Ek,[g("div",Sk,[Ak,bt(g("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),[[vt,this.setup.username]])]),g("div",Ck,[Tk,bt(g("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),[[vt,this.setup.newPassword]])]),g("div",Pk,[kk,bt(g("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),[[vt,this.setup.repeatNewPassword]])])]),$k,g("div",Mk,[bt(g("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),[[lr,this.setup.enable_totp]]),Ok]),(X(),ue(Cu,null,{default:Gt(()=>[dt(Ln,{name:"fade"},{default:Gt(()=>[this.setup.enable_totp?(X(),ue(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):Ut("",!0)]),_:1})]),_:1})),g("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?(X(),ot("span",Ik,[gt(" Finish"),Lk])):this.done?(X(),ot("span",Rk," Welcome to WGDashboard!")):(X(),ot("span",Nk,[gt(" Saving..."),Fk]))],8,Dk)])])])],8,mk)}const Vk=Lt(gk,[["render",Bk]]);function Uu(e){return e.includes(":")?6:e.includes(".")?4:0}function Hk(e){const t=Uu(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let n=0n,s=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())n+=o*2n**s,s+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,u,d]=a.split(".").map(f=>Number(f).toString(16).padStart(2,"0"));return`${l}${c}:${u}${d}`}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())n+=a*2n**s,s+=16n}return i.number=n,i.version=t,i}const _f={4:32,6:128},jk=e=>e.includes("/")?Uu(e):0;function Wk(e){const t=jk(e),n=Object.create(null);if(n.single=!1,t)n.cidr=e,n.version=t;else{const d=Uu(e);if(d)n.cidr=`${e}/${_f[d]}`,n.version=d,n.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[s,i]=n.cidr.split("/");n.prefix=i;const{number:o,version:r}=Hk(s),a=_f[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),u=l.substring(0,a-c);return n.start=BigInt(`0b${u}${"0".repeat(c)}`),n.end=BigInt(`0b${u}${"1".repeat(c)}`),n}/*! SPDX-License-Identifier: GPL-2.0 * * Copyright (C) 2015-2020 Jason A. Donenfeld . All Rights Reserved. - */(function(){function e(v){var E=new Float64Array(16);if(v)for(var A=0;A>16&1),w[$-1]&=65535;w[15]=k[15]-32767-(w[14]>>16&1),A=w[15]>>16&1,w[14]&=65535,s(k,w,1-A)}for(var $=0;$<16;++$)v[2*$]=k[$]&255,v[2*$+1]=k[$]>>8}function n(v){for(var E=0;E<16;++E)v[(E+1)%16]+=(E<15?1:38)*Math.floor(v[E]/65536),v[E]&=65535}function s(v,E,A){for(var w,k=~(A-1),$=0;$<16;++$)w=k&(v[$]^E[$]),v[$]^=w,E[$]^=w}function i(v,E,A){for(var w=0;w<16;++w)v[w]=E[w]+A[w]|0}function o(v,E,A){for(var w=0;w<16;++w)v[w]=E[w]-A[w]|0}function r(v,E,A){for(var w=new Float64Array(31),k=0;k<16;++k)for(var $=0;$<16;++$)w[k+$]+=E[k]*A[$];for(var k=0;k<15;++k)w[k]+=38*w[k+16];for(var k=0;k<16;++k)v[k]=w[k];n(v),n(v)}function a(v,E){for(var A=e(),w=0;w<16;++w)A[w]=E[w];for(var w=253;w>=0;--w)r(A,A,A),w!==2&&w!==4&&r(A,A,E);for(var w=0;w<16;++w)v[w]=A[w]}function l(v){v[31]=v[31]&127|64,v[0]&=248}function c(v){for(var E,A=new Uint8Array(32),w=e([1]),k=e([9]),$=e(),L=e([1]),N=e(),X=e(),Y=e([56129,1]),H=e([9]),R=0;R<32;++R)A[R]=v[R];l(A);for(var R=254;R>=0;--R)E=A[R>>>3]>>>(R&7)&1,s(w,k,E),s($,L,E),i(N,w,$),o(w,w,$),i($,k,L),o(k,k,L),r(L,N,N),r(X,w,w),r(w,$,w),r($,k,N),i(N,w,$),o(w,w,$),r(k,w,w),o($,L,X),r(w,$,Y),i(w,w,L),r($,$,w),r(w,L,X),r(L,k,H),r(k,N,N),s(w,k,E),s($,L,E);return a($,$),r(w,w,$),t(A,w),A}function u(){var v=new Uint8Array(32);return window.crypto.getRandomValues(v),v}function d(){var v=u();return l(v),v}function f(v,E){for(var A=Uint8Array.from([E[0]>>2&63,(E[0]<<4|E[1]>>4)&63,(E[1]<<2|E[2]>>6)&63,E[2]&63]),w=0;w<4;++w)v[w]=A[w]+65+(25-A[w]>>8&6)-(51-A[w]>>8&75)-(61-A[w]>>8&15)+(62-A[w]>>8&3)}function p(v){var E,A=new Uint8Array(44);for(E=0;E<32/3;++E)f(A.subarray(E*4),v.subarray(E*3));return f(A.subarray(E*4),Uint8Array.from([v[E*3+0],v[E*3+1],0])),A[43]=61,String.fromCharCode.apply(null,A)}function m(v){let E=window.atob(v),A=E.length,w=new Uint8Array(A);for(let $=0;$>>8&255,E>>>16&255,E>>>24&255)}function y(v,E){v.push(E&255,E>>>8&255)}function x(v,E){for(var A=0;A>>1:E>>>1;P.table[A]=E}}for(var k=-1,$=0;$>>8^P.table[(k^v[$])&255];return(k^-1)>>>0}function C(v){for(var E=[],A=[],w=0,k=0;k{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(n=>this.newConfiguration[n].length===0)===void 0&&t.find(n=>n.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 n=wM(e),s=n.end-n.start;this.numberOfAvailableIPs=s.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(n=>n.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")}}}},SM={class:"mt-4"},CM={class:"container mb-4"},AM={class:"mb-4 d-flex align-items-center gap-4"},TM=g("h3",{class:"mb-0 text-body"},[g("i",{class:"bi bi-chevron-left"})],-1),PM=g("h3",{class:"text-body mb-0"},"New Configuration",-1),MM={class:"card rounded-3 shadow"},kM=g("div",{class:"card-header"},"Configuration Name",-1),OM={class:"card-body"},DM=["disabled"],$M={class:"invalid-feedback"},LM={key:0},IM={key:1},RM=g("ul",{class:"mb-0"},[g("li",null,"Configuration name already exist."),g("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),NM={class:"card rounded-3 shadow"},FM=g("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),BM={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},VM={class:"mb-2"},HM=g("label",{class:"text-muted fw-bold mb-1"},[g("small",null,"PRIVATE KEY")],-1),jM={class:"input-group"},WM=["disabled"],zM=g("i",{class:"bi bi-arrow-repeat"},null,-1),UM=[zM],KM=g("label",{class:"text-muted fw-bold mb-1"},[g("small",null,"PUBLIC KEY")],-1),YM={class:"card rounded-3 shadow"},qM=g("div",{class:"card-header"},"Listen Port",-1),GM={class:"card-body"},XM=["disabled"],QM={class:"invalid-feedback"},JM={key:0},ZM={key:1},tk={class:"card rounded-3 shadow"},ek={class:"card-header d-flex align-items-center"},nk={class:"badge rounded-pill text-bg-success ms-auto"},sk={class:"card-body"},ik=["disabled"],ok={class:"invalid-feedback"},rk={key:0},ak={key:1},lk=g("hr",null,null,-1),ck={class:"accordion",id:"newConfigurationOptionalAccordion"},uk={class:"accordion-item"},dk=g("h2",{class:"accordion-header"},[g("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),hk={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},fk={class:"accordion-body d-flex flex-column gap-3"},pk={class:"card rounded-3"},gk=g("div",{class:"card-header"},"PreUp",-1),mk={class:"card-body"},_k={class:"card rounded-3"},bk=g("div",{class:"card-header"},"PreDown",-1),yk={class:"card-body"},vk={class:"card rounded-3"},xk=g("div",{class:"card-header"},"PostUp",-1),wk={class:"card-body"},Ek={class:"card rounded-3"},Sk=g("div",{class:"card-header"},"PostDown",-1),Ck={class:"card-body"},Ak=["disabled"],Tk={key:0,class:"d-flex w-100"},Pk=g("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),Mk={key:1,class:"d-flex w-100"},kk=g("i",{class:"bi bi-save-fill ms-2"},null,-1),Ok={key:2,class:"d-flex w-100 align-items-center"},Dk=g("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function $k(e,t,n,s,i,o){const r=Kt("RouterLink");return ot(),ct("div",SM,[g("div",CM,[g("div",AM,[mt(r,{to:"/"},{default:Yt(()=>[TM]),_:1}),PM]),g("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[g("div",MM,[kM,g("div",OM,[kt(g("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,DM),[[Ot,this.newConfiguration.ConfigurationName]]),g("div",$M,[this.error?(ot(),ct("div",LM,Ct(this.errorMessage),1)):(ot(),ct("div",IM,[xt(" Configuration name is invalid. Possible reasons: "),RM]))])])]),g("div",NM,[FM,g("div",BM,[g("div",VM,[HM,g("div",jM,[kt(g("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,WM),[[Ot,this.newConfiguration.PrivateKey]]),g("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},UM)])]),g("div",null,[KM,kt(g("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[Ot,this.newConfiguration.PublicKey]])])])]),g("div",YM,[qM,g("div",GM,[kt(g("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,XM),[[Ot,this.newConfiguration.ListenPort]]),g("div",QM,[this.error?(ot(),ct("div",JM,Ct(this.errorMessage),1)):(ot(),ct("div",ZM," Invalid port "))])])]),g("div",tk,[g("div",ek,[xt(" IP Address & Range "),g("span",nk,Ct(i.numberOfAvailableIPs)+" Available IPs",1)]),g("div",sk,[kt(g("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,ik),[[Ot,this.newConfiguration.Address]]),g("div",ok,[this.error?(ot(),ct("div",rk,Ct(this.errorMessage),1)):(ot(),ct("div",ak," IP address & range is invalid. "))])])]),lk,g("div",ck,[g("div",uk,[dk,g("div",hk,[g("div",fk,[g("div",pk,[gk,g("div",mk,[kt(g("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[Ot,this.newConfiguration.PreUp]])])]),g("div",_k,[bk,g("div",yk,[kt(g("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[Ot,this.newConfiguration.PreDown]])])]),g("div",vk,[xk,g("div",wk,[kt(g("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[Ot,this.newConfiguration.PostUp]])])]),g("div",Ek,[Sk,g("div",Ck,[kt(g("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[Ot,this.newConfiguration.PostDown]])])])])])])]),g("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(ot(),ct("span",Tk,[xt(" Success! "),Pk])):this.loading?(ot(),ct("span",Ok,[xt(" Saving... "),Dk])):(ot(),ct("span",Mk,[xt(" Save Configuration "),kk]))],8,Ak)],32)])])}const Lk=Ut(EM,[["render",$k]]);function Ik(e){return iu()?(mg(e),!0):!1}function Jm(e){return typeof e=="function"?e():es(e)}const Zm=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Rk=Object.prototype.toString,Nk=e=>Rk.call(e)==="[object Object]",ia=()=>{},Fk=Bk();function Bk(){var e,t;return Zm&&((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 fo(e){var t;const n=Jm(e);return(t=n==null?void 0:n.$el)!=null?t:n}const t_=Zm?window:void 0;function Fl(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=t_):[t,n,s,i]=e,!t)return ia;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],r=()=>{o.forEach(u=>u()),o.length=0},a=(u,d,f,p)=>(u.addEventListener(d,f,p),()=>u.removeEventListener(d,f,p)),l=Bs(()=>[fo(t),Jm(i)],([u,d])=>{if(r(),!u)return;const f=Nk(d)?{...d}:d;o.push(...n.flatMap(p=>s.map(m=>a(u,p,m,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return Ik(c),c}let lf=!1;function Vk(e,t,n={}){const{window:s=t_,ignore:i=[],capture:o=!0,detectIframe:r=!1}=n;if(!s)return ia;Fk&&!lf&&(lf=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",ia)),s.document.documentElement.addEventListener("click",ia));let a=!0;const l=f=>i.some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(m=>m===f.target||f.composedPath().includes(m));{const m=fo(p);return m&&(f.target===m||f.composedPath().includes(m))}}),u=[Fl(s,"click",f=>{const p=fo(e);if(!(!p||p===f.target||f.composedPath().includes(p))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),Fl(s,"pointerdown",f=>{const p=fo(e);a=!l(f)&&!!(p&&!f.composedPath().includes(p))},{passive:!0}),r&&Fl(s,"blur",f=>{setTimeout(()=>{var p;const m=fo(e);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(m!=null&&m.contains(s.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const Hk={name:"peerSettingsDropdown",setup(){return{dashboardStore:re()}},props:{Peer:Object},methods:{downloadPeer(){qe("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),s=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=n,i.download=s,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){qe("/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")})}}},hs=e=>(sr("data-v-3a072aae"),e=e(),ir(),e),jk={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},Wk=hs(()=>g("li",null,[g("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[xt("Download & QR Code is not available due to no "),g("code",null,"private key"),xt(" set for this peer ")])],-1)),zk=hs(()=>g("li",null,[g("hr",{class:"dropdown-divider"})],-1)),Uk=hs(()=>g("i",{class:"me-auto bi bi-pen"},null,-1)),Kk=hs(()=>g("i",{class:"me-auto bi bi-download"},null,-1)),Yk=hs(()=>g("i",{class:"me-auto bi bi-qr-code"},null,-1)),qk=hs(()=>g("li",null,[g("hr",{class:"dropdown-divider"})],-1)),Gk=hs(()=>g("li",null,[g("a",{class:"dropdown-item d-flex text-warning",role:"button"},[g("i",{class:"me-auto bi bi-lock"}),xt(" Lock ")])],-1)),Xk=hs(()=>g("li",null,[g("a",{class:"dropdown-item d-flex fw-bold text-danger",role:"button"},[g("i",{class:"me-auto bi bi-trash"}),xt(" Delete ")])],-1));function Qk(e,t,n,s,i,o){return ot(),ct("ul",jk,[this.Peer.private_key?oe("",!0):(ot(),ct(Jt,{key:0},[Wk,zk],64)),g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[0]||(t[0]=r=>this.$emit("setting"))},[Uk,xt(" Edit ")])]),this.Peer.private_key?(ot(),ct(Jt,{key:1},[g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[1]||(t[1]=r=>this.downloadPeer())},[Kk,xt(" Download ")])]),g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[2]||(t[2]=r=>this.downloadQRCode())},[Yk,xt(" QR Code ")])])],64)):oe("",!0),qk,Gk,Xk])}const Jk=Ut(Hk,[["render",Qk],["__scopeId","data-v-3a072aae"]]),Zk={name:"peer",components:{PeerSettingsDropdown:Jk},props:{Peer:Object},data(){return{}},setup(){const e=Pi(null),t=Pi(!1);return Vk(e,n=>{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}}},Qi=e=>(sr("data-v-315acdc2"),e=e(),ir(),e),tO={class:"card shadow-sm rounded-3"},eO={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},nO={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},sO={class:"text-primary"},iO=Qi(()=>g("i",{class:"bi bi-arrow-down"},null,-1)),oO={class:"text-success"},rO=Qi(()=>g("i",{class:"bi bi-arrow-up"},null,-1)),aO={key:0,class:"text-secondary"},lO=Qi(()=>g("i",{class:"bi bi-arrows-angle-contract"},null,-1)),cO={class:"card-body pt-1",style:{"font-size":"0.9rem"}},uO={class:"mb-2"},dO=Qi(()=>g("small",{class:"text-muted"},"Public Key",-1)),hO={class:"mb-0"},fO={class:"d-flex align-items-end"},pO=Qi(()=>g("small",{class:"text-muted"},"Allowed IP",-1)),gO={class:"mb-0"},mO=Qi(()=>g("h5",{class:"mb-0"},[g("i",{class:"bi bi-three-dots"})],-1)),_O=[mO];function bO(e,t,n,s,i,o){const r=Kt("PeerSettingsDropdown");return ot(),ct("div",tO,[g("div",eO,[g("div",{class:he(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),g("div",nO,[g("span",sO,[iO,g("strong",null,Ct((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),xt(" GB ")]),g("span",oO,[rO,g("strong",null,Ct((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),xt(" GB ")]),n.Peer.latest_handshake!=="No Handshake"?(ot(),ct("span",aO,[lO,xt(" "+Ct(o.getLatestHandshake)+" ago ",1)])):oe("",!0)])]),g("div",cO,[g("h5",null,Ct(n.Peer.name?n.Peer.name:"Untitled Peer"),1),g("div",uO,[dO,g("p",hO,[g("samp",null,Ct(n.Peer.id),1)])]),g("div",fO,[g("div",null,[pO,g("p",gO,[g("samp",null,Ct(n.Peer.allowed_ip),1)])]),g("div",{class:he(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[g("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},_O),mt(Dn,{name:"slide-fade"},{default:Yt(()=>[this.subMenuOpened?(ot(),Ee(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):oe("",!0)]),_:1})],2)])])])}const yO=Ut(Zk,[["render",bO],["__scopeId","data-v-315acdc2"]]);/*! + */(function(){function e(y){var E=new Float64Array(16);if(y)for(var C=0;C>16&1),w[D-1]&=65535;w[15]=$[15]-32767-(w[14]>>16&1),C=w[15]>>16&1,w[14]&=65535,s($,w,1-C)}for(var D=0;D<16;++D)y[2*D]=$[D]&255,y[2*D+1]=$[D]>>8}function n(y){for(var E=0;E<16;++E)y[(E+1)%16]+=(E<15?1:38)*Math.floor(y[E]/65536),y[E]&=65535}function s(y,E,C){for(var w,$=~(C-1),D=0;D<16;++D)w=$&(y[D]^E[D]),y[D]^=w,E[D]^=w}function i(y,E,C){for(var w=0;w<16;++w)y[w]=E[w]+C[w]|0}function o(y,E,C){for(var w=0;w<16;++w)y[w]=E[w]-C[w]|0}function r(y,E,C){for(var w=new Float64Array(31),$=0;$<16;++$)for(var D=0;D<16;++D)w[$+D]+=E[$]*C[D];for(var $=0;$<15;++$)w[$]+=38*w[$+16];for(var $=0;$<16;++$)y[$]=w[$];n(y),n(y)}function a(y,E){for(var C=e(),w=0;w<16;++w)C[w]=E[w];for(var w=253;w>=0;--w)r(C,C,C),w!==2&&w!==4&&r(C,C,E);for(var w=0;w<16;++w)y[w]=C[w]}function l(y){y[31]=y[31]&127|64,y[0]&=248}function c(y){for(var E,C=new Uint8Array(32),w=e([1]),$=e([9]),D=e(),I=e([1]),N=e(),Q=e(),Y=e([56129,1]),H=e([9]),R=0;R<32;++R)C[R]=y[R];l(C);for(var R=254;R>=0;--R)E=C[R>>>3]>>>(R&7)&1,s(w,$,E),s(D,I,E),i(N,w,D),o(w,w,D),i(D,$,I),o($,$,I),r(I,N,N),r(Q,w,w),r(w,D,w),r(D,$,N),i(N,w,D),o(w,w,D),r($,w,w),o(D,I,Q),r(w,D,Y),i(w,w,I),r(D,D,w),r(w,I,Q),r(I,$,H),r($,N,N),s(w,$,E),s(D,I,E);return a(D,D),r(w,w,D),t(C,w),C}function u(){var y=new Uint8Array(32);return window.crypto.getRandomValues(y),y}function d(){var y=u();return l(y),y}function f(y,E){for(var C=Uint8Array.from([E[0]>>2&63,(E[0]<<4|E[1]>>4)&63,(E[1]<<2|E[2]>>6)&63,E[2]&63]),w=0;w<4;++w)y[w]=C[w]+65+(25-C[w]>>8&6)-(51-C[w]>>8&75)-(61-C[w]>>8&15)+(62-C[w]>>8&3)}function p(y){var E,C=new Uint8Array(44);for(E=0;E<32/3;++E)f(C.subarray(E*4),y.subarray(E*3));return f(C.subarray(E*4),Uint8Array.from([y[E*3+0],y[E*3+1],0])),C[43]=61,String.fromCharCode.apply(null,C)}function m(y){let E=window.atob(y),C=E.length,w=new Uint8Array(C);for(let D=0;D>>8&255,E>>>16&255,E>>>24&255)}function v(y,E){y.push(E&255,E>>>8&255)}function x(y,E){for(var C=0;C>>1:E>>>1;P.table[C]=E}}for(var $=-1,D=0;D>>8^P.table[($^y[D])&255];return($^-1)>>>0}function A(y){for(var E=[],C=[],w=0,$=0;${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(n=>this.newConfiguration[n].length===0)===void 0&&t.find(n=>n.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 n=Wk(e),s=n.end-n.start;this.numberOfAvailableIPs=s.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(n=>n.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")}}}},Uk={class:"mt-4"},Kk={class:"container mb-4"},Yk={class:"mb-4 d-flex align-items-center gap-4"},qk=g("h3",{class:"mb-0 text-body"},[g("i",{class:"bi bi-chevron-left"})],-1),Gk=g("h3",{class:"text-body mb-0"},"New Configuration",-1),Xk={class:"card rounded-3 shadow"},Qk=g("div",{class:"card-header"},"Configuration Name",-1),Jk={class:"card-body"},Zk=["disabled"],t$={class:"invalid-feedback"},e$={key:0},n$={key:1},s$=g("ul",{class:"mb-0"},[g("li",null,"Configuration name already exist."),g("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),i$={class:"card rounded-3 shadow"},o$=g("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),r$={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},a$={class:"mb-2"},l$=g("label",{class:"text-muted fw-bold mb-1"},[g("small",null,"PRIVATE KEY")],-1),c$={class:"input-group"},u$=["disabled"],d$=g("i",{class:"bi bi-arrow-repeat"},null,-1),h$=[d$],f$=g("label",{class:"text-muted fw-bold mb-1"},[g("small",null,"PUBLIC KEY")],-1),p$={class:"card rounded-3 shadow"},g$=g("div",{class:"card-header"},"Listen Port",-1),m$={class:"card-body"},_$=["disabled"],b$={class:"invalid-feedback"},v$={key:0},y$={key:1},x$={class:"card rounded-3 shadow"},w$={class:"card-header d-flex align-items-center"},E$={class:"badge rounded-pill text-bg-success ms-auto"},S$={class:"card-body"},A$=["disabled"],C$={class:"invalid-feedback"},T$={key:0},P$={key:1},k$=g("hr",null,null,-1),$$={class:"accordion",id:"newConfigurationOptionalAccordion"},M$={class:"accordion-item"},O$=g("h2",{class:"accordion-header"},[g("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),D$={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},I$={class:"accordion-body d-flex flex-column gap-3"},L$={class:"card rounded-3"},R$=g("div",{class:"card-header"},"PreUp",-1),N$={class:"card-body"},F$={class:"card rounded-3"},B$=g("div",{class:"card-header"},"PreDown",-1),V$={class:"card-body"},H$={class:"card rounded-3"},j$=g("div",{class:"card-header"},"PostUp",-1),W$={class:"card-body"},z$={class:"card rounded-3"},U$=g("div",{class:"card-header"},"PostDown",-1),K$={class:"card-body"},Y$=["disabled"],q$={key:0,class:"d-flex w-100"},G$=g("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),X$={key:1,class:"d-flex w-100"},Q$=g("i",{class:"bi bi-save-fill ms-2"},null,-1),J$={key:2,class:"d-flex w-100 align-items-center"},Z$=g("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function tM(e,t,n,s,i,o){const r=Rt("RouterLink");return X(),ot("div",Uk,[g("div",Kk,[g("div",Yk,[dt(r,{to:"/"},{default:Gt(()=>[qk]),_:1}),Gk]),g("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[g("div",Xk,[Qk,g("div",Jk,[bt(g("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,Zk),[[vt,this.newConfiguration.ConfigurationName]]),g("div",t$,[this.error?(X(),ot("div",e$,wt(this.errorMessage),1)):(X(),ot("div",n$,[gt(" Configuration name is invalid. Possible reasons: "),s$]))])])]),g("div",i$,[o$,g("div",r$,[g("div",a$,[l$,g("div",c$,[bt(g("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,u$),[[vt,this.newConfiguration.PrivateKey]]),g("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},h$)])]),g("div",null,[f$,bt(g("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[vt,this.newConfiguration.PublicKey]])])])]),g("div",p$,[g$,g("div",m$,[bt(g("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,_$),[[vt,this.newConfiguration.ListenPort]]),g("div",b$,[this.error?(X(),ot("div",v$,wt(this.errorMessage),1)):(X(),ot("div",y$," Invalid port "))])])]),g("div",x$,[g("div",w$,[gt(" IP Address & Range "),g("span",E$,wt(i.numberOfAvailableIPs)+" Available IPs",1)]),g("div",S$,[bt(g("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,A$),[[vt,this.newConfiguration.Address]]),g("div",C$,[this.error?(X(),ot("div",T$,wt(this.errorMessage),1)):(X(),ot("div",P$," IP address & range is invalid. "))])])]),k$,g("div",$$,[g("div",M$,[O$,g("div",D$,[g("div",I$,[g("div",L$,[R$,g("div",N$,[bt(g("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[vt,this.newConfiguration.PreUp]])])]),g("div",F$,[B$,g("div",V$,[bt(g("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[vt,this.newConfiguration.PreDown]])])]),g("div",H$,[j$,g("div",W$,[bt(g("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[vt,this.newConfiguration.PostUp]])])]),g("div",z$,[U$,g("div",K$,[bt(g("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[vt,this.newConfiguration.PostDown]])])])])])])]),g("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(X(),ot("span",q$,[gt(" Success! "),G$])):this.loading?(X(),ot("span",J$,[gt(" Saving... "),Z$])):(X(),ot("span",X$,[gt(" Save Configuration "),Q$]))],8,Y$)],32)])])}const eM=Lt(zk,[["render",tM]]);function nM(e){return hu()?(Cg(e),!0):!1}function h_(e){return typeof e=="function"?e():os(e)}const f_=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sM=Object.prototype.toString,iM=e=>sM.call(e)==="[object Object]",ca=()=>{},oM=rM();function rM(){var e,t;return f_&&((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 n=h_(e);return(t=n==null?void 0:n.$el)!=null?t:n}const p_=f_?window:void 0;function Kl(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=p_):[t,n,s,i]=e,!t)return ca;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],r=()=>{o.forEach(u=>u()),o.length=0},a=(u,d,f,p)=>(u.addEventListener(d,f,p),()=>u.removeEventListener(d,f,p)),l=zs(()=>[bo(t),h_(i)],([u,d])=>{if(r(),!u)return;const f=iM(d)?{...d}:d;o.push(...n.flatMap(p=>s.map(m=>a(u,p,m,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return nM(c),c}let bf=!1;function aM(e,t,n={}){const{window:s=p_,ignore:i=[],capture:o=!0,detectIframe:r=!1}=n;if(!s)return ca;oM&&!bf&&(bf=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",ca)),s.document.documentElement.addEventListener("click",ca));let a=!0;const l=f=>i.some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(m=>m===f.target||f.composedPath().includes(m));{const m=bo(p);return m&&(f.target===m||f.composedPath().includes(m))}}),u=[Kl(s,"click",f=>{const p=bo(e);if(!(!p||p===f.target||f.composedPath().includes(p))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),Kl(s,"pointerdown",f=>{const p=bo(e);a=!l(f)&&!!(p&&!f.composedPath().includes(p))},{passive:!0}),r&&Kl(s,"blur",f=>{setTimeout(()=>{var p;const m=bo(e);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(m!=null&&m.contains(s.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const lM={name:"peerSettingsDropdown",setup(){return{dashboardStore:Xt()}},props:{Peer:Object},methods:{downloadPeer(){Re("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),s=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=n,i.download=s,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){Re("/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")})}}},_s=e=>(ei("data-v-3a072aae"),e=e(),ni(),e),cM={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},uM=_s(()=>g("li",null,[g("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[gt("Download & QR Code is not available due to no "),g("code",null,"private key"),gt(" set for this peer ")])],-1)),dM=_s(()=>g("li",null,[g("hr",{class:"dropdown-divider"})],-1)),hM=_s(()=>g("i",{class:"me-auto bi bi-pen"},null,-1)),fM=_s(()=>g("i",{class:"me-auto bi bi-download"},null,-1)),pM=_s(()=>g("i",{class:"me-auto bi bi-qr-code"},null,-1)),gM=_s(()=>g("li",null,[g("hr",{class:"dropdown-divider"})],-1)),mM=_s(()=>g("li",null,[g("a",{class:"dropdown-item d-flex text-warning",role:"button"},[g("i",{class:"me-auto bi bi-lock"}),gt(" Lock ")])],-1)),_M=_s(()=>g("li",null,[g("a",{class:"dropdown-item d-flex fw-bold text-danger",role:"button"},[g("i",{class:"me-auto bi bi-trash"}),gt(" Delete ")])],-1));function bM(e,t,n,s,i,o){return X(),ot("ul",cM,[this.Peer.private_key?Ut("",!0):(X(),ot(Qt,{key:0},[uM,dM],64)),g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[0]||(t[0]=r=>this.$emit("setting"))},[hM,gt(" Edit ")])]),this.Peer.private_key?(X(),ot(Qt,{key:1},[g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[1]||(t[1]=r=>this.downloadPeer())},[fM,gt(" Download ")])]),g("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:t[2]||(t[2]=r=>this.downloadQRCode())},[pM,gt(" QR Code ")])])],64)):Ut("",!0),gM,mM,_M])}const vM=Lt(lM,[["render",bM],["__scopeId","data-v-3a072aae"]]),yM={name:"peer",components:{PeerSettingsDropdown:vM},props:{Peer:Object},data(){return{}},setup(){const e=Li(null),t=Li(!1);return aM(e,n=>{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}}},no=e=>(ei("data-v-315acdc2"),e=e(),ni(),e),xM={class:"card shadow-sm rounded-3"},wM={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},EM={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},SM={class:"text-primary"},AM=no(()=>g("i",{class:"bi bi-arrow-down"},null,-1)),CM={class:"text-success"},TM=no(()=>g("i",{class:"bi bi-arrow-up"},null,-1)),PM={key:0,class:"text-secondary"},kM=no(()=>g("i",{class:"bi bi-arrows-angle-contract"},null,-1)),$M={class:"card-body pt-1",style:{"font-size":"0.9rem"}},MM={class:"mb-2"},OM=no(()=>g("small",{class:"text-muted"},"Public Key",-1)),DM={class:"mb-0"},IM={class:"d-flex align-items-end"},LM=no(()=>g("small",{class:"text-muted"},"Allowed IP",-1)),RM={class:"mb-0"},NM=no(()=>g("h5",{class:"mb-0"},[g("i",{class:"bi bi-three-dots"})],-1)),FM=[NM];function BM(e,t,n,s,i,o){const r=Rt("PeerSettingsDropdown");return X(),ot("div",xM,[g("div",wM,[g("div",{class:jt(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),g("div",EM,[g("span",SM,[AM,g("strong",null,wt((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),gt(" GB ")]),g("span",CM,[TM,g("strong",null,wt((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),gt(" GB ")]),n.Peer.latest_handshake!=="No Handshake"?(X(),ot("span",PM,[kM,gt(" "+wt(o.getLatestHandshake)+" ago ",1)])):Ut("",!0)])]),g("div",$M,[g("h5",null,wt(n.Peer.name?n.Peer.name:"Untitled Peer"),1),g("div",MM,[OM,g("p",DM,[g("samp",null,wt(n.Peer.id),1)])]),g("div",IM,[g("div",null,[LM,g("p",RM,[g("samp",null,wt(n.Peer.allowed_ip),1)])]),g("div",{class:jt(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[g("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},FM),dt(Ln,{name:"slide-fade"},{default:Gt(()=>[this.subMenuOpened?(X(),ue(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):Ut("",!0)]),_:1})],2)])])])}const VM=Lt(yM,[["render",BM],["__scopeId","data-v-315acdc2"]]);/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela * Released under the MIT License - */function rr(e){return e+.5|0}const Xn=(e,t,n)=>Math.max(Math.min(e,n),t);function po(e){return Xn(rr(e*2.55),0,255)}function ss(e){return Xn(rr(e*255),0,255)}function En(e){return Xn(rr(e/2.55)/100,0,1)}function cf(e){return Xn(rr(e*100),0,100)}const Ve={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},Sc=[..."0123456789ABCDEF"],vO=e=>Sc[e&15],xO=e=>Sc[(e&240)>>4]+Sc[e&15],Rr=e=>(e&240)>>4===(e&15),wO=e=>Rr(e.r)&&Rr(e.g)&&Rr(e.b)&&Rr(e.a);function EO(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Ve[e[1]]*17,g:255&Ve[e[2]]*17,b:255&Ve[e[3]]*17,a:t===5?Ve[e[4]]*17:255}:(t===7||t===9)&&(n={r:Ve[e[1]]<<4|Ve[e[2]],g:Ve[e[3]]<<4|Ve[e[4]],b:Ve[e[5]]<<4|Ve[e[6]],a:t===9?Ve[e[7]]<<4|Ve[e[8]]:255})),n}const SO=(e,t)=>e<255?t(e):"";function CO(e){var t=wO(e)?vO:xO;return e?"#"+t(e.r)+t(e.g)+t(e.b)+SO(e.a,t):void 0}const AO=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function e_(e,t,n){const s=t*Math.min(n,1-n),i=(o,r=(o+e/30)%12)=>n-s*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function TO(e,t,n){const s=(i,o=(i+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function PO(e,t,n){const s=e_(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)s[i]*=1-t-n,s[i]+=t;return s}function MO(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-o-r):u/(o+r),l=MO(n,s,i,u,o),l=l*60+.5),[l|0,c||0,a]}function Fu(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(ss)}function Bu(e,t,n){return Fu(e_,e,t,n)}function kO(e,t,n){return Fu(PO,e,t,n)}function OO(e,t,n){return Fu(TO,e,t,n)}function n_(e){return(e%360+360)%360}function DO(e){const t=AO.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?po(+t[5]):ss(+t[5]));const i=n_(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=kO(i,o,r):t[1]==="hsv"?s=OO(i,o,r):s=Bu(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function $O(e,t){var n=Nu(e);n[0]=n_(n[0]+t),n=Bu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function LO(e){if(!e)return;const t=Nu(e),n=t[0],s=cf(t[1]),i=cf(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${En(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const uf={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"},df={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 IO(){const e={},t=Object.keys(df),n=Object.keys(uf);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let Nr;function RO(e){Nr||(Nr=IO(),Nr.transparent=[0,0,0,0]);const t=Nr[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const NO=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function FO(e){const t=NO.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?po(r):Xn(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?po(s):Xn(s,0,255)),i=255&(t[4]?po(i):Xn(i,0,255)),o=255&(t[6]?po(o):Xn(o,0,255)),{r:s,g:i,b:o,a:n}}}function BO(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${En(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Bl=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,ai=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function VO(e,t,n){const s=ai(En(e.r)),i=ai(En(e.g)),o=ai(En(e.b));return{r:ss(Bl(s+n*(ai(En(t.r))-s))),g:ss(Bl(i+n*(ai(En(t.g))-i))),b:ss(Bl(o+n*(ai(En(t.b))-o))),a:e.a+n*(t.a-e.a)}}function Fr(e,t,n){if(e){let s=Nu(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=Bu(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function s_(e,t){return e&&Object.assign(t||{},e)}function hf(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=ss(e[3]))):(t=s_(e,{r:0,g:0,b:0,a:1}),t.a=ss(t.a)),t}function HO(e){return e.charAt(0)==="r"?FO(e):DO(e)}class Uo{constructor(t){if(t instanceof Uo)return t;const n=typeof t;let s;n==="object"?s=hf(t):n==="string"&&(s=EO(t)||RO(t)||HO(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=s_(this._rgb);return t&&(t.a=En(t.a)),t}set rgb(t){this._rgb=hf(t)}rgbString(){return this._valid?BO(this._rgb):void 0}hexString(){return this._valid?CO(this._rgb):void 0}hslString(){return this._valid?LO(this._rgb):void 0}mix(t,n){if(t){const s=this.rgb,i=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=s.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*i.r+.5,s.g=255&c*s.g+o*i.g+.5,s.b=255&c*s.b+o*i.b+.5,s.a=r*s.a+(1-r)*i.a,this.rgb=s}return this}interpolate(t,n){return t&&(this._rgb=VO(this._rgb,t._rgb,n)),this}clone(){return new Uo(this.rgb)}alpha(t){return this._rgb.a=ss(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=rr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.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 Fr(this._rgb,2,t),this}darken(t){return Fr(this._rgb,2,-t),this}saturate(t){return Fr(this._rgb,1,t),this}desaturate(t){return Fr(this._rgb,1,-t),this}rotate(t){return $O(this._rgb,t),this}}/*! + */function ur(e){return e+.5|0}const ts=(e,t,n)=>Math.max(Math.min(e,n),t);function vo(e){return ts(ur(e*2.55),0,255)}function as(e){return ts(ur(e*255),0,255)}function Cn(e){return ts(ur(e/2.55)/100,0,1)}function vf(e){return ts(ur(e*100),0,100)}const je={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},Oc=[..."0123456789ABCDEF"],HM=e=>Oc[e&15],jM=e=>Oc[(e&240)>>4]+Oc[e&15],Hr=e=>(e&240)>>4===(e&15),WM=e=>Hr(e.r)&&Hr(e.g)&&Hr(e.b)&&Hr(e.a);function zM(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&je[e[1]]*17,g:255&je[e[2]]*17,b:255&je[e[3]]*17,a:t===5?je[e[4]]*17:255}:(t===7||t===9)&&(n={r:je[e[1]]<<4|je[e[2]],g:je[e[3]]<<4|je[e[4]],b:je[e[5]]<<4|je[e[6]],a:t===9?je[e[7]]<<4|je[e[8]]:255})),n}const UM=(e,t)=>e<255?t(e):"";function KM(e){var t=WM(e)?HM:jM;return e?"#"+t(e.r)+t(e.g)+t(e.b)+UM(e.a,t):void 0}const YM=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function g_(e,t,n){const s=t*Math.min(n,1-n),i=(o,r=(o+e/30)%12)=>n-s*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function qM(e,t,n){const s=(i,o=(i+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function GM(e,t,n){const s=g_(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)s[i]*=1-t-n,s[i]+=t;return s}function XM(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-o-r):u/(o+r),l=XM(n,s,i,u,o),l=l*60+.5),[l|0,c||0,a]}function Yu(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(as)}function qu(e,t,n){return Yu(g_,e,t,n)}function QM(e,t,n){return Yu(GM,e,t,n)}function JM(e,t,n){return Yu(qM,e,t,n)}function m_(e){return(e%360+360)%360}function ZM(e){const t=YM.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?vo(+t[5]):as(+t[5]));const i=m_(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=QM(i,o,r):t[1]==="hsv"?s=JM(i,o,r):s=qu(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function tO(e,t){var n=Ku(e);n[0]=m_(n[0]+t),n=qu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function eO(e){if(!e)return;const t=Ku(e),n=t[0],s=vf(t[1]),i=vf(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${Cn(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const yf={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"},xf={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 nO(){const e={},t=Object.keys(xf),n=Object.keys(yf);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let jr;function sO(e){jr||(jr=nO(),jr.transparent=[0,0,0,0]);const t=jr[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const iO=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function oO(e){const t=iO.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?vo(r):ts(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?vo(s):ts(s,0,255)),i=255&(t[4]?vo(i):ts(i,0,255)),o=255&(t[6]?vo(o):ts(o,0,255)),{r:s,g:i,b:o,a:n}}}function rO(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Cn(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Yl=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,pi=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function aO(e,t,n){const s=pi(Cn(e.r)),i=pi(Cn(e.g)),o=pi(Cn(e.b));return{r:as(Yl(s+n*(pi(Cn(t.r))-s))),g:as(Yl(i+n*(pi(Cn(t.g))-i))),b:as(Yl(o+n*(pi(Cn(t.b))-o))),a:e.a+n*(t.a-e.a)}}function Wr(e,t,n){if(e){let s=Ku(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=qu(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function __(e,t){return e&&Object.assign(t||{},e)}function wf(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=as(e[3]))):(t=__(e,{r:0,g:0,b:0,a:1}),t.a=as(t.a)),t}function lO(e){return e.charAt(0)==="r"?oO(e):ZM(e)}class Xo{constructor(t){if(t instanceof Xo)return t;const n=typeof t;let s;n==="object"?s=wf(t):n==="string"&&(s=zM(t)||sO(t)||lO(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=__(this._rgb);return t&&(t.a=Cn(t.a)),t}set rgb(t){this._rgb=wf(t)}rgbString(){return this._valid?rO(this._rgb):void 0}hexString(){return this._valid?KM(this._rgb):void 0}hslString(){return this._valid?eO(this._rgb):void 0}mix(t,n){if(t){const s=this.rgb,i=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=s.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*i.r+.5,s.g=255&c*s.g+o*i.g+.5,s.b=255&c*s.b+o*i.b+.5,s.a=r*s.a+(1-r)*i.a,this.rgb=s}return this}interpolate(t,n){return t&&(this._rgb=aO(this._rgb,t._rgb,n)),this}clone(){return new Xo(this.rgb)}alpha(t){return this._rgb.a=as(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=ur(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.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 Wr(this._rgb,2,t),this}darken(t){return Wr(this._rgb,2,-t),this}saturate(t){return Wr(this._rgb,1,t),this}desaturate(t){return Wr(this._rgb,1,-t),this}rotate(t){return tO(this._rgb,t),this}}/*! * Chart.js v4.4.1 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function bn(){}const jO=(()=>{let e=0;return()=>e++})();function Lt(e){return e===null||typeof e>"u"}function Ht(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 Pt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function qt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Te(e,t){return qt(e)?e:t}function yt(e,t){return typeof e>"u"?t:e}const WO=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,i_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Bt(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function Nt(e,t,n,s){let i,o,r;if(Ht(e))if(o=e.length,s)for(i=o-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function KO(e){const t=e.split("."),n=[];let s="";for(const i of t)s+=i,s.endsWith("\\")?s=s.slice(0,-1)+".":(n.push(s),s="");return n}function YO(e){const t=KO(e);return n=>{for(const s of t){if(s==="")break;n=n&&n[s]}return n}}function ls(e,t){return(ff[t]||(ff[t]=YO(t)))(e)}function Vu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Yo=e=>typeof e<"u",cs=e=>typeof e=="function",pf=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function qO(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Wt=Math.PI,jt=2*Wt,GO=jt+Wt,va=Number.POSITIVE_INFINITY,XO=Wt/180,Xt=Wt/2,Ts=Wt/4,gf=Wt*2/3,Qn=Math.log10,dn=Math.sign;function To(e,t,n){return Math.abs(e-t)i-o).pop(),t}function Hi(e){return!isNaN(parseFloat(e))&&isFinite(e)}function JO(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function r_(e,t,n){let s,i,o;for(s=0,i=e.length;sl&&c=Math.min(t,n)-s&&e<=Math.max(t,n)+s}function ju(e,t,n){n=n||(r=>e[r]1;)o=i+s>>1,n(o)?i=o:s=o;return{lo:i,hi:s}}const Tn=(e,t,n,s)=>ju(e,n,s?i=>{const o=e[i][t];return oe[i][t]ju(e,n,s=>e[s][t]>=n);function nD(e,t,n){let s=0,i=e.length;for(;ss&&e[i-1]>n;)i--;return s>0||i{const s="_onData"+Vu(n),i=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function bf(e,t){const n=e._chartjs;if(!n)return;const s=n.listeners,i=s.indexOf(t);i!==-1&&s.splice(i,1),!(s.length>0)&&(l_.forEach(o=>{delete e[o]}),delete e._chartjs)}function c_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const u_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function d_(e,t){let n=[],s=!1;return function(...i){n=i,s||(s=!0,u_.call(window,()=>{s=!1,e.apply(t,n)}))}}function iD(e,t){let n;return function(...s){return t?(clearTimeout(n),n=setTimeout(e,t,s)):e.apply(this,s),t}}const Wu=e=>e==="start"?"left":e==="end"?"right":"center",ue=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,oD=(e,t,n,s)=>e===(s?"left":"right")?n:e==="center"?(t+n)/2:t;function h_(e,t,n){const s=t.length;let i=0,o=s;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:u,minDefined:d,maxDefined:f}=r.getUserBounds();d&&(i=ie(Math.min(Tn(a,l,c).lo,n?s:Tn(t,l,r.getPixelForValue(c)).lo),0,s-1)),f?o=ie(Math.max(Tn(a,r.axis,u,!0).hi+1,n?0:Tn(t,l,r.getPixelForValue(u),!0).hi+1),i,s)-i:o=s-i}return{start:i,count:o}}function f_(e){const{xScale:t,yScale:n,_scaleRanges:s}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!s)return e._scaleRanges=i,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==n.min||s.ymax!==n.max;return Object.assign(s,i),o}const Br=e=>e===0||e===1,yf=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*jt/n)),vf=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*jt/n)+1,Po={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*Xt)+1,easeOutSine:e=>Math.sin(e*Xt),easeInOutSine:e=>-.5*(Math.cos(Wt*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=>Br(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=>Br(e)?e:yf(e,.075,.3),easeOutElastic:e=>Br(e)?e:vf(e,.075,.3),easeInOutElastic(e){return Br(e)?e:e<.5?.5*yf(e*2,.1125,.45):.5+.5*vf(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-Po.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?Po.easeInBounce(e*2)*.5:Po.easeOutBounce(e*2-1)*.5+.5};function zu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function xf(e){return zu(e)?e:new Uo(e)}function Vl(e){return zu(e)?e:new Uo(e).saturate(.5).darken(.1).hexString()}const rD=["x","y","borderWidth","radius","tension"],aD=["color","borderColor","backgroundColor"];function lD(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:aD},numbers:{type:"number",properties:rD}}),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 cD(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const wf=new Map;function uD(e,t){t=t||{};const n=e+JSON.stringify(t);let s=wf.get(n);return s||(s=new Intl.NumberFormat(e,t),wf.set(n,s)),s}function ar(e,t,n){return uD(t,n).format(e)}const p_={values(e){return Ht(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const s=this.chart.options.locale;let i,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=dD(e,n)}const r=Qn(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),ar(e,s,l)},logarithmic(e,t,n){if(e===0)return"0";const s=n[t].significand||e/Math.pow(10,Math.floor(Qn(e)));return[1,2,3,5,10,15].includes(s)||t>.8*n.length?p_.numeric.call(this,e,t,n):""}};function dD(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var nl={formatters:p_};function hD(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,n)=>n.lineWidth,tickColor:(t,n)=>n.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:nl.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 Ks=Object.create(null),Ac=Object.create(null);function Mo(e,t){if(!t)return e;const n=t.split(".");for(let s=0,i=n.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,i)=>Vl(i.backgroundColor),this.hoverBorderColor=(s,i)=>Vl(i.borderColor),this.hoverColor=(s,i)=>Vl(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(n)}set(t,n){return Hl(this,t,n)}get(t){return Mo(this,t)}describe(t,n){return Hl(Ac,t,n)}override(t,n){return Hl(Ks,t,n)}route(t,n,s,i){const o=Mo(this,t),r=Mo(this,s),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[i];return Pt(l)?Object.assign({},c,l):yt(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var Gt=new fD({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[lD,cD,hD]);function pD(e){return!e||Lt(e.size)||Lt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function xa(e,t,n,s,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,n.push(i)),o>s&&(s=o),s}function gD(e,t,n,s){s=s||{};let i=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(i=s.data={},o=s.garbageCollect=[],s.font=t),e.save(),e.font=t;let r=0;const a=n.length;let l,c,u,d,f;for(l=0;ln.length){for(l=0;l0&&e.stroke()}}function Pn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,bD(e,o),l=0;l+e||0;function Uu(e,t){const n={},s=Pt(t),i=s?Object.keys(t):t,o=Pt(e)?s?r=>yt(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)n[r]=SD(o(r));return n}function m_(e){return Uu(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Hs(e){return Uu(e,["topLeft","topRight","bottomLeft","bottomRight"])}function fe(e){const t=m_(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ee(e,t){e=e||{},t=t||Gt.font;let n=yt(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let s=yt(e.style,t.style);s&&!(""+s).match(wD)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const i={family:yt(e.family,t.family),lineHeight:ED(yt(e.lineHeight,t.lineHeight),n),size:n,style:s,weight:yt(e.weight,t.weight),string:""};return i.string=pD(i),i}function go(e,t,n,s){let i=!0,o,r,a;for(o=0,r=e.length;on&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(i,o)}}function fs(e,t){return Object.assign(Object.create(e),t)}function Ku(e,t=[""],n,s,i=()=>e[0]){const o=n||e;typeof s>"u"&&(s=v_("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:s,_getTarget:i,override:a=>Ku([a,...e],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return b_(a,l,()=>$D(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Cf(a).includes(l)},ownKeys(a){return Cf(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function ji(e,t,n,s){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:__(e,s),setContext:o=>ji(e,o,n,s),override:o=>ji(e.override(o),t,n,s)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return b_(o,r,()=>TD(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 __(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:s=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:s,isScriptable:cs(n)?n:()=>n,isIndexable:cs(s)?s:()=>s}}const AD=(e,t)=>e?e+Vu(t):t,Yu=(e,t)=>Pt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function b_(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const s=n();return e[t]=s,s}function TD(e,t,n){const{_proxy:s,_context:i,_subProxy:o,_descriptors:r}=e;let a=s[t];return cs(a)&&r.isScriptable(t)&&(a=PD(t,a,e,n)),Ht(a)&&a.length&&(a=MD(t,a,e,r.isIndexable)),Yu(t,a)&&(a=ji(a,i,o&&o[t],r)),a}function PD(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||s);return a.delete(e),Yu(e,l)&&(l=qu(i._scopes,i,e,l)),l}function MD(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&s(e))return t[o.index%t.length];if(Pt(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const d=qu(c,i,e,u);t.push(ji(d,o,r&&r[e],a))}}return t}function y_(e,t,n){return cs(e)?e(t,n):e}const kD=(e,t)=>e===!0?t:typeof e=="string"?ls(t,e):void 0;function OD(e,t,n,s,i){for(const o of t){const r=kD(n,o);if(r){e.add(r);const a=y_(r._fallback,n,i);if(typeof a<"u"&&a!==n&&a!==s)return a}else if(r===!1&&typeof s<"u"&&n!==s)return null}return!1}function qu(e,t,n,s){const i=t._rootScopes,o=y_(t._fallback,n,s),r=[...e,...i],a=new Set;a.add(s);let l=Sf(a,r,n,o||n,s);return l===null||typeof o<"u"&&o!==n&&(l=Sf(a,r,o,l,s),l===null)?!1:Ku(Array.from(a),[""],i,o,()=>DD(t,n,s))}function Sf(e,t,n,s,i){for(;n;)n=OD(e,t,n,s,i);return n}function DD(e,t,n){const s=e._getTarget();t in s||(s[t]={});const i=s[t];return Ht(i)&&Pt(n)?n:i||{}}function $D(e,t,n,s){let i;for(const o of t)if(i=v_(AD(o,e),n),typeof i<"u")return Yu(e,i)?qu(n,s,e,i):i}function v_(e,t){for(const n of t){if(!n)continue;const s=n[e];if(typeof s<"u")return s}}function Cf(e){let t=e._keys;return t||(t=e._keys=LD(e._scopes)),t}function LD(e){const t=new Set;for(const n of e)for(const s of Object.keys(n).filter(i=>!i.startsWith("_")))t.add(s);return Array.from(t)}function x_(e,t,n,s){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,u;for(a=0,l=s;ate==="x"?"y":"x";function RD(e,t,n,s){const i=e.skip?t:e,o=t,r=n.skip?t:n,a=Cc(o,i),l=Cc(r,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=s*c,f=s*u;return{previous:{x:o.x-d*(r.x-i.x),y:o.y-d*(r.y-i.y)},next:{x:o.x+f*(r.x-i.x),y:o.y+f*(r.y-i.y)}}}function ND(e,t,n){const s=e.length;let i,o,r,a,l,c=Wi(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")BD(e,i);else{let c=s?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function jD(e,t){return ol(e).getPropertyValue(t)}const WD=["top","right","bottom","left"];function js(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=WD[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const zD=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function UD(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(zD(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Os(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=ol(n),o=i.boxSizing==="border-box",r=js(i,"padding"),a=js(i,"border","width"),{x:l,y:c,box:u}=UD(e,n),d=r.left+(u&&a.left),f=r.top+(u&&a.top);let{width:p,height:m}=t;return o&&(p-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((c-f)/m*n.height/s)}}function KD(e,t,n){let s,i;if(t===void 0||n===void 0){const o=Xu(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=ol(o),l=js(a,"border","width"),c=js(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,s=wa(a.maxWidth,o,"clientWidth"),i=wa(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||va,maxHeight:i||va}}const Hr=e=>Math.round(e*10)/10;function YD(e,t,n,s){const i=ol(e),o=js(i,"margin"),r=wa(i.maxWidth,e,"clientWidth")||va,a=wa(i.maxHeight,e,"clientHeight")||va,l=KD(e,t,n);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const f=js(i,"border","width"),p=js(i,"padding");c-=p.width+f.width,u-=p.height+f.height}return c=Math.max(0,c-o.width),u=Math.max(0,s?c/s:u-o.height),c=Hr(Math.min(c,r,l.maxWidth)),u=Hr(Math.min(u,a,l.maxHeight)),c&&!u&&(u=Hr(c/2)),(t!==void 0||n!==void 0)&&s&&l.height&&u>l.height&&(u=l.height,c=Hr(Math.floor(u*s))),{width:c,height:u}}function Af(e,t,n){const s=t||1,i=Math.floor(e.height*s),o=Math.floor(e.width*s);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==s||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=s,r.height=i,r.width=o,e.ctx.setTransform(s,0,0,s,0,0),!0):!1}const qD=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};Gu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function Tf(e,t){const n=jD(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Ds(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function GD(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:s==="middle"?n<.5?e.y:t.y:s==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function XD(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=Ds(e,i,n),a=Ds(i,o,n),l=Ds(o,t,n),c=Ds(r,a,n),u=Ds(a,l,n);return Ds(c,u,n)}const QD=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,s){return n-s},leftForLtr(n,s){return n-s}}},JD=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function yi(e,t,n){return e?QD(t,n):JD()}function E_(e,t){let n,s;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,s=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=s)}function S_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function C_(e){return e==="angle"?{between:qo,compare:ZO,normalize:Me}:{between:An,compare:(t,n)=>t-n,normalize:t=>t}}function Pf({start:e,end:t,count:n,loop:s,style:i}){return{start:e%n,end:t%n,loop:s&&(t-e+1)%n===0,style:i}}function ZD(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=C_(s),l=t.length;let{start:c,end:u,loop:d}=e,f,p;if(d){for(c+=l,u+=l,f=0,p=l;fl(i,P,x)&&a(i,P)!==0,v=()=>a(o,x)===0||l(o,P,x),E=()=>_||C(),A=()=>!_||v();for(let w=u,k=u;w<=d;++w)S=t[w%r],!S.skip&&(x=c(S[s]),x!==P&&(_=l(x,i,o),y===null&&E()&&(y=a(x,i)===0?w:k),y!==null&&A()&&(m.push(Pf({start:y,end:w,loop:f,count:r,style:p})),y=null),k=w,P=x));return y!==null&&m.push(Pf({start:y,end:d,loop:f,count:r,style:p})),m}function T_(e,t){const n=[],s=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function e$(e,t,n,s){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%i];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%i,end:(l-1)%i,loop:s}),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:s}),o}function n$(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=t$(n,i,o,s);if(s===!0)return Mf(e,[{start:r,end:a,loop:o}],n,t);const l=a{let e=0;return()=>e++})();function It(e){return e===null||typeof e>"u"}function zt(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 $t(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Jt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Pe(e,t){return Jt(e)?e:t}function Et(e,t){return typeof e>"u"?t:e}const uO=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,b_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Ht(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function Bt(e,t,n,s){let i,o,r;if(zt(e))if(o=e.length,s)for(i=o-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function fO(e){const t=e.split("."),n=[];let s="";for(const i of t)s+=i,s.endsWith("\\")?s=s.slice(0,-1)+".":(n.push(s),s="");return n}function pO(e){const t=fO(e);return n=>{for(const s of t){if(s==="")break;n=n&&n[s]}return n}}function fs(e,t){return(Ef[t]||(Ef[t]=pO(t)))(e)}function Gu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Jo=e=>typeof e<"u",ps=e=>typeof e=="function",Sf=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function gO(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Yt=Math.PI,Kt=2*Yt,mO=Kt+Yt,Aa=Number.POSITIVE_INFINITY,_O=Yt/180,te=Yt/2,Os=Yt/4,Af=Yt*2/3,es=Math.log10,fn=Math.sign;function Oo(e,t,n){return Math.abs(e-t)i-o).pop(),t}function Yi(e){return!isNaN(parseFloat(e))&&isFinite(e)}function vO(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function y_(e,t,n){let s,i,o;for(s=0,i=e.length;sl&&c=Math.min(t,n)-s&&e<=Math.max(t,n)+s}function Qu(e,t,n){n=n||(r=>e[r]1;)o=i+s>>1,n(o)?i=o:s=o;return{lo:i,hi:s}}const $n=(e,t,n,s)=>Qu(e,n,s?i=>{const o=e[i][t];return oe[i][t]Qu(e,n,s=>e[s][t]>=n);function EO(e,t,n){let s=0,i=e.length;for(;ss&&e[i-1]>n;)i--;return s>0||i{const s="_onData"+Gu(n),i=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Pf(e,t){const n=e._chartjs;if(!n)return;const s=n.listeners,i=s.indexOf(t);i!==-1&&s.splice(i,1),!(s.length>0)&&(w_.forEach(o=>{delete e[o]}),delete e._chartjs)}function E_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const S_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function A_(e,t){let n=[],s=!1;return function(...i){n=i,s||(s=!0,S_.call(window,()=>{s=!1,e.apply(t,n)}))}}function AO(e,t){let n;return function(...s){return t?(clearTimeout(n),n=setTimeout(e,t,s)):e.apply(this,s),t}}const Ju=e=>e==="start"?"left":e==="end"?"right":"center",fe=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,CO=(e,t,n,s)=>e===(s?"left":"right")?n:e==="center"?(t+n)/2:t;function C_(e,t,n){const s=t.length;let i=0,o=s;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:u,minDefined:d,maxDefined:f}=r.getUserBounds();d&&(i=le(Math.min($n(a,l,c).lo,n?s:$n(t,l,r.getPixelForValue(c)).lo),0,s-1)),f?o=le(Math.max($n(a,r.axis,u,!0).hi+1,n?0:$n(t,l,r.getPixelForValue(u),!0).hi+1),i,s)-i:o=s-i}return{start:i,count:o}}function T_(e){const{xScale:t,yScale:n,_scaleRanges:s}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!s)return e._scaleRanges=i,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==n.min||s.ymax!==n.max;return Object.assign(s,i),o}const zr=e=>e===0||e===1,kf=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*Kt/n)),$f=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*Kt/n)+1,Do={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*te)+1,easeOutSine:e=>Math.sin(e*te),easeInOutSine:e=>-.5*(Math.cos(Yt*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=>zr(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=>zr(e)?e:kf(e,.075,.3),easeOutElastic:e=>zr(e)?e:$f(e,.075,.3),easeInOutElastic(e){return zr(e)?e:e<.5?.5*kf(e*2,.1125,.45):.5+.5*$f(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-Do.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?Do.easeInBounce(e*2)*.5:Do.easeOutBounce(e*2-1)*.5+.5};function Zu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Mf(e){return Zu(e)?e:new Xo(e)}function ql(e){return Zu(e)?e:new Xo(e).saturate(.5).darken(.1).hexString()}const TO=["x","y","borderWidth","radius","tension"],PO=["color","borderColor","backgroundColor"];function kO(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:PO},numbers:{type:"number",properties:TO}}),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 $O(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Of=new Map;function MO(e,t){t=t||{};const n=e+JSON.stringify(t);let s=Of.get(n);return s||(s=new Intl.NumberFormat(e,t),Of.set(n,s)),s}function dr(e,t,n){return MO(t,n).format(e)}const P_={values(e){return zt(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const s=this.chart.options.locale;let i,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=OO(e,n)}const r=es(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,s,l)},logarithmic(e,t,n){if(e===0)return"0";const s=n[t].significand||e/Math.pow(10,Math.floor(es(e)));return[1,2,3,5,10,15].includes(s)||t>.8*n.length?P_.numeric.call(this,e,t,n):""}};function OO(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var cl={formatters:P_};function DO(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,n)=>n.lineWidth,tickColor:(t,n)=>n.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:cl.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 Qs=Object.create(null),Ic=Object.create(null);function Io(e,t){if(!t)return e;const n=t.split(".");for(let s=0,i=n.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,i)=>ql(i.backgroundColor),this.hoverBorderColor=(s,i)=>ql(i.borderColor),this.hoverColor=(s,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(n)}set(t,n){return Gl(this,t,n)}get(t){return Io(this,t)}describe(t,n){return Gl(Ic,t,n)}override(t,n){return Gl(Qs,t,n)}route(t,n,s,i){const o=Io(this,t),r=Io(this,s),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[i];return $t(l)?Object.assign({},c,l):Et(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var Zt=new IO({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[kO,$O,DO]);function LO(e){return!e||It(e.size)||It(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ca(e,t,n,s,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,n.push(i)),o>s&&(s=o),s}function RO(e,t,n,s){s=s||{};let i=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(i=s.data={},o=s.garbageCollect=[],s.font=t),e.save(),e.font=t;let r=0;const a=n.length;let l,c,u,d,f;for(l=0;ln.length){for(l=0;l0&&e.stroke()}}function Mn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,BO(e,o),l=0;l+e||0;function td(e,t){const n={},s=$t(t),i=s?Object.keys(t):t,o=$t(e)?s?r=>Et(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)n[r]=UO(o(r));return n}function $_(e){return td(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Ks(e){return td(e,["topLeft","topRight","bottomLeft","bottomRight"])}function ge(e){const t=$_(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function oe(e,t){e=e||{},t=t||Zt.font;let n=Et(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let s=Et(e.style,t.style);s&&!(""+s).match(WO)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const i={family:Et(e.family,t.family),lineHeight:zO(Et(e.lineHeight,t.lineHeight),n),size:n,style:s,weight:Et(e.weight,t.weight),string:""};return i.string=LO(i),i}function yo(e,t,n,s){let i=!0,o,r,a;for(o=0,r=e.length;on&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(i,o)}}function bs(e,t){return Object.assign(Object.create(e),t)}function ed(e,t=[""],n,s,i=()=>e[0]){const o=n||e;typeof s>"u"&&(s=I_("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:s,_getTarget:i,override:a=>ed([a,...e],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return O_(a,l,()=>tD(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Lf(a).includes(l)},ownKeys(a){return Lf(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function qi(e,t,n,s){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:M_(e,s),setContext:o=>qi(e,o,n,s),override:o=>qi(e.override(o),t,n,s)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return O_(o,r,()=>qO(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 M_(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:s=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:s,isScriptable:ps(n)?n:()=>n,isIndexable:ps(s)?s:()=>s}}const YO=(e,t)=>e?e+Gu(t):t,nd=(e,t)=>$t(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function O_(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const s=n();return e[t]=s,s}function qO(e,t,n){const{_proxy:s,_context:i,_subProxy:o,_descriptors:r}=e;let a=s[t];return ps(a)&&r.isScriptable(t)&&(a=GO(t,a,e,n)),zt(a)&&a.length&&(a=XO(t,a,e,r.isIndexable)),nd(t,a)&&(a=qi(a,i,o&&o[t],r)),a}function GO(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||s);return a.delete(e),nd(e,l)&&(l=sd(i._scopes,i,e,l)),l}function XO(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&s(e))return t[o.index%t.length];if($t(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const d=sd(c,i,e,u);t.push(qi(d,o,r&&r[e],a))}}return t}function D_(e,t,n){return ps(e)?e(t,n):e}const QO=(e,t)=>e===!0?t:typeof e=="string"?fs(t,e):void 0;function JO(e,t,n,s,i){for(const o of t){const r=QO(n,o);if(r){e.add(r);const a=D_(r._fallback,n,i);if(typeof a<"u"&&a!==n&&a!==s)return a}else if(r===!1&&typeof s<"u"&&n!==s)return null}return!1}function sd(e,t,n,s){const i=t._rootScopes,o=D_(t._fallback,n,s),r=[...e,...i],a=new Set;a.add(s);let l=If(a,r,n,o||n,s);return l===null||typeof o<"u"&&o!==n&&(l=If(a,r,o,l,s),l===null)?!1:ed(Array.from(a),[""],i,o,()=>ZO(t,n,s))}function If(e,t,n,s,i){for(;n;)n=JO(e,t,n,s,i);return n}function ZO(e,t,n){const s=e._getTarget();t in s||(s[t]={});const i=s[t];return zt(i)&&$t(n)?n:i||{}}function tD(e,t,n,s){let i;for(const o of t)if(i=I_(YO(o,e),n),typeof i<"u")return nd(e,i)?sd(n,s,e,i):i}function I_(e,t){for(const n of t){if(!n)continue;const s=n[e];if(typeof s<"u")return s}}function Lf(e){let t=e._keys;return t||(t=e._keys=eD(e._scopes)),t}function eD(e){const t=new Set;for(const n of e)for(const s of Object.keys(n).filter(i=>!i.startsWith("_")))t.add(s);return Array.from(t)}function L_(e,t,n,s){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,u;for(a=0,l=s;ate==="x"?"y":"x";function sD(e,t,n,s){const i=e.skip?t:e,o=t,r=n.skip?t:n,a=Dc(o,i),l=Dc(r,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=s*c,f=s*u;return{previous:{x:o.x-d*(r.x-i.x),y:o.y-d*(r.y-i.y)},next:{x:o.x+f*(r.x-i.x),y:o.y+f*(r.y-i.y)}}}function iD(e,t,n){const s=e.length;let i,o,r,a,l,c=Gi(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")rD(e,i);else{let c=s?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function cD(e,t){return hl(e).getPropertyValue(t)}const uD=["top","right","bottom","left"];function Ys(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=uD[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const dD=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function hD(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(dD(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Rs(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=hl(n),o=i.boxSizing==="border-box",r=Ys(i,"padding"),a=Ys(i,"border","width"),{x:l,y:c,box:u}=hD(e,n),d=r.left+(u&&a.left),f=r.top+(u&&a.top);let{width:p,height:m}=t;return o&&(p-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((c-f)/m*n.height/s)}}function fD(e,t,n){let s,i;if(t===void 0||n===void 0){const o=od(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=hl(o),l=Ys(a,"border","width"),c=Ys(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,s=Ta(a.maxWidth,o,"clientWidth"),i=Ta(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||Aa,maxHeight:i||Aa}}const Kr=e=>Math.round(e*10)/10;function pD(e,t,n,s){const i=hl(e),o=Ys(i,"margin"),r=Ta(i.maxWidth,e,"clientWidth")||Aa,a=Ta(i.maxHeight,e,"clientHeight")||Aa,l=fD(e,t,n);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const f=Ys(i,"border","width"),p=Ys(i,"padding");c-=p.width+f.width,u-=p.height+f.height}return c=Math.max(0,c-o.width),u=Math.max(0,s?c/s:u-o.height),c=Kr(Math.min(c,r,l.maxWidth)),u=Kr(Math.min(u,a,l.maxHeight)),c&&!u&&(u=Kr(c/2)),(t!==void 0||n!==void 0)&&s&&l.height&&u>l.height&&(u=l.height,c=Kr(Math.floor(u*s))),{width:c,height:u}}function Rf(e,t,n){const s=t||1,i=Math.floor(e.height*s),o=Math.floor(e.width*s);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==s||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=s,r.height=i,r.width=o,e.ctx.setTransform(s,0,0,s,0,0),!0):!1}const gD=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};id()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function Nf(e,t){const n=cD(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Ns(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function mD(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:s==="middle"?n<.5?e.y:t.y:s==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function _D(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=Ns(e,i,n),a=Ns(i,o,n),l=Ns(o,t,n),c=Ns(r,a,n),u=Ns(a,l,n);return Ns(c,u,n)}const bD=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,s){return n-s},leftForLtr(n,s){return n-s}}},vD=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Ci(e,t,n){return e?bD(t,n):vD()}function N_(e,t){let n,s;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,s=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=s)}function F_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function B_(e){return e==="angle"?{between:Zo,compare:yO,normalize:$e}:{between:kn,compare:(t,n)=>t-n,normalize:t=>t}}function Ff({start:e,end:t,count:n,loop:s,style:i}){return{start:e%n,end:t%n,loop:s&&(t-e+1)%n===0,style:i}}function yD(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=B_(s),l=t.length;let{start:c,end:u,loop:d}=e,f,p;if(d){for(c+=l,u+=l,f=0,p=l;fl(i,P,x)&&a(i,P)!==0,y=()=>a(o,x)===0||l(o,P,x),E=()=>_||A(),C=()=>!_||y();for(let w=u,$=u;w<=d;++w)S=t[w%r],!S.skip&&(x=c(S[s]),x!==P&&(_=l(x,i,o),v===null&&E()&&(v=a(x,i)===0?w:$),v!==null&&C()&&(m.push(Ff({start:v,end:w,loop:f,count:r,style:p})),v=null),$=w,P=x));return v!==null&&m.push(Ff({start:v,end:d,loop:f,count:r,style:p})),m}function H_(e,t){const n=[],s=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function wD(e,t,n,s){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%i];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%i,end:(l-1)%i,loop:s}),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:s}),o}function ED(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=xD(n,i,o,s);if(s===!0)return Bf(e,[{start:r,end:a,loop:o}],n,t);const l=aa({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(s-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=u_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((s,i)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,s,t,"progress")),o.length||(s.running=!1,this._notify(i,s,t,"complete"),s.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let s=n.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,s)),s}listen(t,n,s){this._getAnims(t).listeners[n].push(s)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((s,i)=>Math.max(s,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const s=n.items;let i=s.length-1;for(;i>=0;--i)s[i].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var vn=new o$;const Of="transparent",r$={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=xf(e||Of),i=s.valid&&xf(t||Of);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class a${constructor(t,n,s,i){const o=n[s];i=go([t.to,i,o,t.from]);const r=go([t.from,o,i]);this._active=!0,this._fn=t.fn||r$[t.type||typeof r],this._easing=Po[t.easing]||Po.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=s,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,n,s){if(this._active){this._notify(!1);const i=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=go([t.to,n,i,t.from]),this._from=go([t.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,s=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n1?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((n,s)=>{t.push({res:n,rej:s})})}_notify(t){const n=t?"res":"rej",s=this._promises||[];for(let i=0;i{const o=t[i];if(!Pt(o))return;const r={};for(const a of n)r[a]=o[a];(Ht(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,n){const s=n.options,i=c$(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&l$(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,n){const s=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),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,n));continue}const u=n[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,u,a);continue}else d.cancel();if(!f||!f.duration){t[c]=u;continue}o[c]=d=new a$(f,t,c,u),i.push(d)}return i}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const s=this._createAnimations(t,n);if(s.length)return vn.add(this._chart,s),!0}}function l$(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function Rf(e,t){const{chart:n,_cachedMeta:s}=e,i=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,u=f$(o,r,s),d=t.length;let f;for(let p=0;pn[s].axis===t).shift()}function m$(e,t){return fs(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function _$(e,t,n){return fs(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function ro(e,t){const n=e.controller.index,s=e.vScale&&e.vScale.axis;if(s){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[s]===void 0||o[s][n]===void 0)return;delete o[s][n],o[s]._visualValues!==void 0&&o[s]._visualValues[n]!==void 0&&delete o[s]._visualValues[n]}}}const Wl=e=>e==="reset"||e==="none",Nf=(e,t)=>t?e:Object.assign({},e),b$=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:M_(n,!0),values:null};class Ze{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,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=Lf(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&&ro(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,s=this.getDataset(),i=(d,f,p,m)=>d==="x"?f:d==="r"?m:p,o=n.xAxisID=yt(s.xAxisID,jl(t,"x")),r=n.yAxisID=yt(s.yAxisID,jl(t,"y")),a=n.rAxisID=yt(s.rAxisID,jl(t,"r")),l=n.indexAxis,c=n.iAxisID=i(l,o,r,a),u=n.vAxisID=i(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}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 n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&bf(this._data,this),t._stacked&&ro(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if(Pt(n))this._data=h$(n);else if(s!==n){if(s){bf(s,this);const i=this._cachedMeta;ro(i),i._parsed=[]}n&&Object.isExtensible(n)&&sD(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,s=this.getDataset();let i=!1;this._dataCheck();const o=n._stacked;n._stacked=Lf(n.vScale,n),n.stack!==s.stack&&(i=!0,ro(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&Rf(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:s,_data:i}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&n===i.length?!0:s._sorted,c=t>0&&s._parsed[t-1],u,d,f;if(this._parsing===!1)s._parsed=i,s._sorted=!0,f=i;else{Ht(i[t])?f=this.parseArrayData(s,i,t,n):Pt(i[t])?f=this.parseObjectData(s,i,t,n):f=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||c&&d[a]_||d<_}for(f=0;f=0;--f)if(!m()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,s=[];let i,o,r;for(i=0,o=n.length;i=0&&tthis.getContext(s,i,n),_=c.resolveNamedOptions(f,p,m,d);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(Nf(_,l))),_}_resolveAnimations(t,n,s){const i=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const u=this.chart.config,d=u.datasetAnimationScopeKeys(this._type,n),f=u.getOptionScopes(this.getDataset(),d);l=u.createResolver(f,this.getContext(t,s,n))}const c=new P_(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,n){return!n||Wl(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const s=this.resolveDataElementOptions(t,n),i=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(n,o)||o!==i;return this.updateSharedOptions(o,n,s),{sharedOptions:o,includeOptions:r}}updateElement(t,n,s,i){Wl(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!Wl(n)&&this._resolveAnimations(void 0,n).update(t,s)}_setStyle(t,n,s,i){t.active=i;const o=this.getStyle(n,i);this._resolveAnimations(n,s,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,n,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=s.length,o=n.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;ai-o))}return e._cache.$bar}function v$(e){const t=e.iScale,n=y$(t,e.type);let s=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Yo(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(i=0,o=n.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function k_(e,t,n,s){return Ht(e)?E$(e,t,n,s):t[n.axis]=n.parse(e,s),t}function Ff(e,t,n,s){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,u,d,f;for(c=n,u=n+s;c=n?1:-1)}function C$(e){let t,n,s,i,o;return e.horizontal?(t=e.base>e.x,n="left",s="right"):(t=e.basel.controller.options.grouped),o=s.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(n),u=c&&c[l.vScale.axis];if(Lt(u)||isNaN(u))return!0};for(const l of i)if(!(n!==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,n,s){const i=this._getStacks(t,s),o=n!==void 0?i.indexOf(n):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,s=n.iScale,i=[];let o,r;for(o=0,r=n.data.length;o=0;--s)n=Math.max(n,t[s].size(this.resolveDataElementOptions(s))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart.data.labels||[],{xScale:i,yScale:o}=n,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:s[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,i),u=r.axis,d=a.axis;for(let f=n;fqo(P,a,l,!0)?1:Math.max(C,C*n,v,v*n),m=(P,C,v)=>qo(P,a,l,!0)?-1:Math.min(C,C*n,v,v*n),_=p(0,c,d),y=p(Xt,u,f),x=m(Wt,c,d),S=m(Wt+Xt,u,f);s=(_-x)/2,i=(y-S)/2,o=-(_+x)/2,r=-(y+S)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class Is extends Ze{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const s=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=s;else{let o=l=>+s[l];if(Pt(s[t])){const{key:l="value"}=this._parsing;o=c=>+ls(s[c],l)}let r,a;for(r=t,a=t+n;r0&&!isNaN(t)?jt*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=ar(n._parsed[t],s.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let n=0;const s=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=s.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),st(Is,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.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:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}}});class xi extends Ze{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:s,data:i=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=h_(n,i,r);this._drawStart=a,this._drawCount=l,f_(n)&&(a=0,l=i.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,i),f=r.axis,p=a.axis,{spanGaps:m,segment:_}=this.options,y=Hi(m)?m:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||i==="none",S=n+s,P=t.length;let C=n>0&&this.getParsed(n-1);for(let v=0;v=S){A.skip=!0;continue}const w=this.getParsed(v),k=Lt(w[p]),$=A[f]=r.getPixelForValue(w[f],v),L=A[p]=o||k?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,w,l):w[p],v);A.skip=isNaN($)||isNaN(L)||k,A.stop=v>0&&Math.abs(w[f]-C[f])>y,_&&(A.parsed=w,A.raw=c.data[v]),d&&(A.options=u||this.resolveDataElementOptions(v,E.active?"active":i)),x||this.updateElement(E,v,A,i),C=w}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,s=n.options&&n.options.borderWidth||0,i=t.data||[];if(!i.length)return s;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}st(xi,"id","line"),st(xi,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),st(xi,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class Oo extends Ze{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=ar(n._parsed[t].r,s.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,n,s,i){return x_.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(on.max&&(n.max=o))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,s=t.options,i=Math.min(n.right-n.left,n.bottom-n.top),o=Math.max(i/2,0),r=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,s,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,d=c.yCenter,f=c.getIndexAngle(0)-.5*Wt;let p=f,m;const _=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&n++}),n}_computeAngle(t,n,s){return this.chart.getDataVisibility(t)?Je(this.resolveDataElementOptions(t,n).angle||s):0}}st(Oo,"id","polarArea"),st(Oo,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),st(Oo,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.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:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Ea extends Is{}st(Ea,"id","pie"),st(Ea,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class Do extends Ze{getLabelAndValue(t){const n=this._cachedMeta.vScale,s=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(s[n.axis])}}parseObjectData(t,n,s,i){return x_.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta,s=n.dataset,i=n.data||[],o=n.iScale.getLabels();if(s.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(s,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,n,s,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=n;a0&&this.getParsed(n-1);for(let C=n;C0&&Math.abs(E[p]-P[p])>x,y&&(A.parsed=E,A.raw=c.data[C]),f&&(A.options=d||this.resolveDataElementOptions(C,v.active?"active":i)),S||this.updateElement(v,C,A,i),P=E}this.updateSharedOptions(d,i,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const s=t.dataset,i=s.options&&s.options.borderWidth||0;if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}}st($o,"id","scatter"),st($o,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),st($o,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Ms(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Qu{constructor(t){st(this,"options");this.options=t||{}}static override(t){Object.assign(Qu.prototype,t)}init(){}formats(){return Ms()}parse(){return Ms()}format(){return Ms()}add(){return Ms()}diff(){return Ms()}startOf(){return Ms()}endOf(){return Ms()}}var k$={_date:Qu};function O$(e,t,n,s){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?eD:Tn;if(s){if(i._sharedOptions){const c=o[0],u=typeof c.getRange=="function"&&c.getRange(t);if(u){const d=l(o,t,n-u),f=l(o,t,n+u);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function lr(e,t,n,s,i){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a{l[r](t[n],i)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,i))}),s&&!a?[]:o}var I$={evaluateInteractionItems:lr,modes:{index(e,t,n,s){const i=Os(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?Ul(e,i,o,s,r):Kl(e,i,o,!1,s,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,s){const i=Os(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?Ul(e,i,o,s,r):Kl(e,i,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;un.pos===t)}function jf(e,t){return e.filter(n=>O_.indexOf(n.pos)===-1&&n.box.axis===t)}function lo(e,t){return e.sort((n,s)=>{const i=t?s:n,o=t?n:s;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function R$(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nc.box.fullSize),!0),s=lo(ao(t,"left"),!0),i=lo(ao(t,"right")),o=lo(ao(t,"top"),!0),r=lo(ao(t,"bottom")),a=jf(t,"x"),l=jf(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:ao(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function Wf(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function D_(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 V$(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!Pt(i)){n.size&&(e[i]-=n.size);const d=s[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[i]+=n.size}o.getPadding&&D_(r,o.getPadding());const a=Math.max(0,t.outerWidth-Wf(r,e,"left","right")),l=Math.max(0,t.outerHeight-Wf(r,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function H$(e){const t=e.maxPadding;function n(s){const i=Math.max(t[s]-e[s],0);return e[s]+=i,i}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function j$(e,t){const n=t.maxPadding;function s(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return s(e?["left","right"]:["top","bottom"])}function mo(e,t,n,s){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const u=l.reduce((_,y)=>y.box.options&&y.box.options.display===!1?_:_+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/u,hBoxMaxHeight:r/2}),f=Object.assign({},i);D_(f,fe(s));const p=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),m=F$(l.concat(c),d);mo(a.fullSize,p,d,m),mo(l,p,d,m),mo(c,p,d,m)&&mo(l,p,d,m),H$(p),zf(a.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,zf(a.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Nt(a.chartArea,_=>{const y=_.box;Object.assign(y,e.chartArea),y.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class $_{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,s){}removeEventListener(t,n,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,s,i){return n=Math.max(0,n||t.width),s=s||t.height,{width:n,height:Math.max(0,i?Math.floor(n/i):s)}}isAttached(t){return!0}updateConfig(t){}}class W$ extends $_{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const oa="$chartjs",z$={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Uf=e=>e===null||e==="";function U$(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[oa]={initial:{height:s,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Uf(i)){const o=Tf(e,"width");o!==void 0&&(e.width=o)}if(Uf(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Tf(e,"height");o!==void 0&&(e.height=o)}return e}const L_=qD?{passive:!0}:!1;function K$(e,t,n){e.addEventListener(t,n,L_)}function Y$(e,t,n){e.canvas.removeEventListener(t,n,L_)}function q$(e,t){const n=z$[e.type]||e.type,{x:s,y:i}=Os(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function Sa(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function G$(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Sa(a.addedNodes,s),r=r&&!Sa(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function X$(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Sa(a.removedNodes,s),r=r&&!Sa(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const Xo=new Map;let Kf=0;function I_(){const e=window.devicePixelRatio;e!==Kf&&(Kf=e,Xo.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Q$(e,t){Xo.size||window.addEventListener("resize",I_),Xo.set(e,t)}function J$(e){Xo.delete(e),Xo.size||window.removeEventListener("resize",I_)}function Z$(e,t,n){const s=e.canvas,i=s&&Xu(s);if(!i)return;const o=d_((a,l)=>{const c=i.clientWidth;n(a,l),c{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||o(c,u)});return r.observe(i),Q$(e,o),r}function Yl(e,t,n){n&&n.disconnect(),t==="resize"&&J$(e)}function tL(e,t,n){const s=e.canvas,i=d_(o=>{e.ctx!==null&&n(q$(o,e))},e);return K$(s,t,i),i}class eL extends $_{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(U$(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[oa])return!1;const s=n[oa].initial;["height","width"].forEach(o=>{const r=s[o];Lt(r)?n.removeAttribute(o):n.setAttribute(o,r)});const i=s.style||{};return Object.keys(i).forEach(o=>{n.style[o]=i[o]}),n.width=n.width,delete n[oa],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),r={attach:G$,detach:X$,resize:Z$}[n]||tL;i[n]=r(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];if(!i)return;({attach:Yl,detach:Yl,resize:Yl}[n]||Y$)(t,n,i),s[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return YD(t,n,s,i)}isAttached(t){const n=Xu(t);return!!(n&&n.isConnected)}}function nL(e){return!Gu()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?W$:eL}var Xr;let In=(Xr=class{constructor(){st(this,"x");st(this,"y");st(this,"active",!1);st(this,"options");st(this,"$animations")}tooltipPosition(t){const{x:n,y:s}=this.getProps(["x","y"],t);return{x:n,y:s}}hasValue(){return Hi(this.x)&&Hi(this.y)}getProps(t,n){const s=this.$animations;if(!n||!s)return this;const i={};return t.forEach(o=>{i[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),i}},st(Xr,"defaults",{}),st(Xr,"defaultRoutes"),Xr);function sL(e,t){const n=e.options.ticks,s=iL(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?rL(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return aL(t,c,o,r/i),c;const u=oL(o,t,i);if(r>0){let d,f;const p=r>1?Math.round((l-a)/(r-1)):null;for(Wr(t,c,u,Lt(p)?0:a-p,a),d=0,f=r-1;di)return l}return Math.max(i,1)}function rL(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,Yf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,qf=(e,t)=>Math.min(t||e,e);function Gf(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function dL(e,t){Nt(e,n=>{const s=n.gc,i=s.length/2;let o;if(i>t){for(o=0;os?s:n,s=i&&n>s?n:s,{min:Te(n,Te(s,n)),max:Te(s,Te(n,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Bt(this.options.beforeUpdate,[this])}update(t,n,s){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=CD(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=i;return}const u=this._getLabelSizes(),d=u.widest.width,f=u.highest.height,p=ie(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:p/(s-1),d+6>a&&(a=p/(s-(t.offset?.5:1)),l=this.maxHeight-co(t.grid)-n.padding-Xf(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Hu(Math.min(Math.asin(ie((u.highest.height+6)/a,-1,1)),Math.asin(ie(l/c,-1,1))-Math.asin(ie(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Bt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Bt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:s,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=Xf(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=co(o)+l):(t.height=this.maxHeight,t.width=co(o)+l),s.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),p=s.padding*2,m=Je(this.labelRotation),_=Math.cos(m),y=Math.sin(m);if(a){const x=s.mirror?0:y*d.width+_*f.height;t.height=Math.min(this.maxHeight,t.height+x+p)}else{const x=s.mirror?0:_*d.width+y*f.height;t.width=Math.min(this.maxWidth,t.width+x+p)}this._calculatePadding(c,u,y,_)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,s,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 u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,p=0;l?c?(f=i*t.width,p=s*n.height):(f=s*t.height,p=i*n.width):o==="start"?p=n.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,p=n.width/2),this.paddingLeft=Math.max((f-u+r)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let u=n.height/2,d=t.height/2;o==="start"?(u=0,d=t.height):o==="end"&&(u=n.height,d=0),this.paddingTop=u+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Bt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,s;for(n=0,s=t.length;n({width:r[k]||0,height:a[k]||0});return{first:w(0),last:w(n-1),widest:w(E),highest:w(A),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return tD(this._alignToPixels?Ps(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ta*i?a/s:l/i:l*i0}_computeGridLineItems(t){const n=this.axis,s=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=co(o),p=[],m=a.setContext(this.getContext()),_=m.display?m.width:0,y=_/2,x=function(R){return Ps(s,R,_)};let S,P,C,v,E,A,w,k,$,L,N,X;if(r==="top")S=x(this.bottom),A=this.bottom-f,k=S-y,L=x(t.top)+y,X=t.bottom;else if(r==="bottom")S=x(this.top),L=t.top,X=x(t.bottom)-y,A=S+y,k=this.top+f;else if(r==="left")S=x(this.right),E=this.right-f,w=S-y,$=x(t.left)+y,N=t.right;else if(r==="right")S=x(this.left),$=t.left,N=x(t.right)-y,E=S+y,w=this.left+f;else if(n==="x"){if(r==="center")S=x((t.top+t.bottom)/2+.5);else if(Pt(r)){const R=Object.keys(r)[0],W=r[R];S=x(this.chart.scales[R].getPixelForValue(W))}L=t.top,X=t.bottom,A=S+y,k=A+f}else if(n==="y"){if(r==="center")S=x((t.left+t.right)/2);else if(Pt(r)){const R=Object.keys(r)[0],W=r[R];S=x(this.chart.scales[R].getPixelForValue(W))}E=S-y,w=E-f,$=t.left,N=t.right}const Y=yt(i.ticks.maxTicksLimit,d),H=Math.max(1,Math.ceil(d/Y));for(P=0;P0&&(Et-=wt/2);break}pt={left:Et,top:Mt,width:wt+ft.width,height:At+ft.height,color:H.backdropColor}}y.push({label:C,font:k,textOffset:N,options:{rotation:_,color:W,strokeColor:U,strokeWidth:it,textAlign:lt,textBaseline:X,translation:[v,E],backdrop:pt}})}return y}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-Je(this.labelRotation))return t==="top"?"left":"right";let i="center";return n.align==="start"?i="left":n.align==="end"?i="right":n.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:s,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,u;return n==="left"?i?(u=this.right+o,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?i?(u=this.left+o,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:s,top:i,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(s,i,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?n.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const n=this.options.grid,s=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,u)=>{!u.width||!u.color||(s.save(),s.lineWidth=u.width,s.strokeStyle=u.color,s.setLineDash(u.borderDash||[]),s.lineDashOffset=u.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(n.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",i=[];let o,r;for(o=0,r=n.length;o{const s=n.split("."),i=s.pop(),o=[e].concat(s).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");Gt.route(o,i,l,a)})}function bL(e){return"id"in e&&"defaults"in e}class yL{constructor(){this.controllers=new zr(Ze,"datasets",!0),this.elements=new zr(In,"elements"),this.plugins=new zr(Object,"plugins"),this.scales=new zr(Xs,"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,n,s){[...n].forEach(i=>{const o=s||this._getRegistryForType(i);s||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):Nt(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Vu(t);Bt(s["before"+i],[],s),n[t](s),Bt(s["after"+i],[],s)}_getRegistryForType(t){for(let n=0;no.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(n,s),t,"stop"),this._notify(i(s,n),t,"start")}}function xL(e){const t={},n=[],s=Object.keys(on.plugins.items);for(let o=0;o1&&Qf(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Jf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function PL(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(s=>s.xAxisID===e||s.yAxisID===e);if(n.length)return Jf(e,"x",n[0])||Jf(e,"y",n[0])}return{}}function ML(e,t){const n=Ks[e.type]||{scales:{}},s=t.scales||{},i=Pc(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!Pt(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=Mc(r,a,PL(r,e),Gt.scales[a.type]),c=AL(l,i),u=n.scales||{};o[r]=Ao(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Pc(a,t),u=(Ks[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=CL(d,l),p=r[f+"AxisID"]||f;o[p]=o[p]||Object.create(null),Ao(o[p],[{axis:f},s[p],u[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ao(a,[Gt.scales[a.type],Gt.scale])}),o}function R_(e){const t=e.options||(e.options={});t.plugins=yt(t.plugins,{}),t.scales=ML(e,t)}function N_(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function kL(e){return e=e||{},e.data=N_(e.data),R_(e),e}const Zf=new Map,F_=new Set;function Ur(e,t){let n=Zf.get(e);return n||(n=t(),Zf.set(e,n),F_.add(n)),n}const uo=(e,t,n)=>{const s=ls(t,n);s!==void 0&&e.add(s)};let OL=class{constructor(t){this._config=kL(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=N_(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(),R_(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ur(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Ur(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Ur(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Ur(`${s}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const s=this._scopeCache;let i=s.get(t);return(!i||n)&&(i=new Map,s.set(t,i)),i}getOptionScopes(t,n,s){const{options:i,type:o}=this,r=this._cachedScopes(t,s),a=r.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(d=>uo(l,t,d))),u.forEach(d=>uo(l,i,d)),u.forEach(d=>uo(l,Ks[o]||{},d)),u.forEach(d=>uo(l,Gt,d)),u.forEach(d=>uo(l,Ac,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),F_.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,Ks[n]||{},Gt.datasets[n]||{},{type:n},Gt,Ac]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=tp(this._resolverCache,t,i);let l=r;if($L(r,n)){o.$shared=!1,s=cs(s)?s():s;const c=this.createResolver(t,s,a);l=ji(r,s,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,s=[""],i){const{resolver:o}=tp(this._resolverCache,t,s);return Pt(n)?ji(o,n,void 0,i):o}};function tp(e,t,n){let s=e.get(t);s||(s=new Map,e.set(t,s));const i=n.join();let o=s.get(i);return o||(o={resolver:Ku(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},s.set(i,o)),o}const DL=e=>Pt(e)&&Object.getOwnPropertyNames(e).some(t=>cs(e[t]));function $L(e,t){const{isScriptable:n,isIndexable:s}=__(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(cs(a)||DL(a))||r&&Ht(a))return!0}return!1}var LL="4.4.1";const IL=["top","bottom","left","right","chartArea"];function ep(e,t){return e==="top"||e==="bottom"||IL.indexOf(e)===-1&&t==="x"}function np(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function sp(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),Bt(n&&n.onComplete,[e],t)}function RL(e){const t=e.chart,n=t.options.animation;Bt(n&&n.onProgress,[e],t)}function B_(e){return Gu()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ra={},ip=e=>{const t=B_(e);return Object.values(ra).filter(n=>n.canvas===t).pop()};function NL(e,t,n){const s=Object.keys(e);for(const i of s){const o=+i;if(o>=t){const r=e[i];delete e[i],(n>0||o>t)&&(e[o+n]=r)}}}function FL(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}function Kr(e,t,n){return e.options.clip?e[n]:t[n]}function BL(e,t){const{xScale:n,yScale:s}=e;return n&&s?{left:Kr(n,t,"left"),right:Kr(n,t,"right"),top:Kr(s,t,"top"),bottom:Kr(s,t,"bottom")}:t}var jn;let cr=(jn=class{static register(...t){on.add(...t),op()}static unregister(...t){on.remove(...t),op()}constructor(t,n){const s=this.config=new OL(n),i=B_(t),o=ip(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=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||nL(i)),this.platform.updateConfig(s);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=jO(),this.ctx=a,this.canvas=l,this.width=u,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 vL,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=iD(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],ra[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}vn.listen(this,"complete",sp),vn.listen(this,"progress",RL),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:s,height:i,_aspectRatio:o}=this;return Lt(t)?n&&o?o:i?s/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 on}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Af(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ef(this.canvas,this.ctx),this}stop(){return vn.stop(this),this}resize(t,n){vn.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const s=this.options,i=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,n,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Af(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Bt(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};Nt(n,(s,i)=>{s.id=i})}buildOrUpdateScales(){const t=this.options,n=t.scales,s=this.scales,i=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=Mc(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),Nt(o,r=>{const a=r.options,l=a.id,c=Mc(l,a),u=yt(a.type,r.dtype);(a.position===void 0||ep(a.position,c)!==ep(r.dposition))&&(a.position=r.dposition),i[l]=!0;let d=null;if(l in s&&s[l].type===u)d=s[l];else{const f=on.getScale(u);d=new f({id:l,type:u,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),Nt(i,(r,a)=>{r||delete s[a]}),Nt(s,r=>{ze.configure(this,r,r.options),ze.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,s=t.length;if(t.sort((i,o)=>i.index-o.index),s>n){for(let i=n;in.length&&delete this._stacks,t.forEach((s,i)=>{n.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let s,i;for(this._removeUnreferencedMetasets(),s=0,i=n.length;s{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const s=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,u=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(np("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){Nt(this.scales,t=>{ze.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!pf(n,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:s,start:i,count:o}of n){const r=s==="_removeElements"?-o:o;NL(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;ze.update(this,this.width,this.height,t);const n=this.chartArea,s=n.width<=0||n.height<=0;this._layers=[],Nt(this.boxes,i=>{s&&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 n=0,s=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,s=t._clip,i=!s.disabled,o=BL(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&sl(n,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),i&&il(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Pn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,s,i){const o=I$.modes[n];return typeof o=="function"?o(this,t,s,i):[]}getDatasetMeta(t){const n=this.data.datasets[t],s=this._metasets;let i=s.filter(o=>o&&o._dataset===n).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},s.push(i)),i}getContext(){return this.$context||(this.$context=fs(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!n.hidden}setDatasetVisibility(t,n){const s=this.getDatasetMeta(t);s.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,s){const i=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Yo(n)?(o.data[n].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),vn.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};Nt(this.options.events,o=>s(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,s=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(n.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(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),s("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){Nt(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},Nt(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,s){const i=s?"set":"remove";let o,r,a,l;for(n==="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}});!ba(s,n)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,n))}notifyPlugins(t,n,s){return this._plugins.notify(this,t,n,s)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,s){const i=this.options.hover,o=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),r=o(n,t),a=s?t:o(t,n);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,n){const s={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,i)===!1)return;const o=this._handleEvent(t,n,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,i),(o||s.changed)&&this.render(),this}_handleEvent(t,n,s){const{_active:i=[],options:o}=this,r=n,a=this._getActiveElements(t,i,s,r),l=qO(t),c=FL(t,this._lastEvent,s,l);s&&(this._lastEvent=null,Bt(o.onHover,[t,a,this],this),l&&Bt(o.onClick,[t,a,this],this));const u=!ba(a,i);return(u||n)&&(this._active=a,this._updateHoverStyles(a,i,n)),this._lastEvent=c,u}_getActiveElements(t,n,s,i){if(t.type==="mouseout")return[];if(!s)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},st(jn,"defaults",Gt),st(jn,"instances",ra),st(jn,"overrides",Ks),st(jn,"registry",on),st(jn,"version",LL),st(jn,"getChart",ip),jn);function op(){return Nt(cr.instances,e=>e._plugins.invalidate())}function VL(e,t,n){const{startAngle:s,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,s-c,n+c),l>i?(c=i/l,e.arc(o,r,l,n+c,s-c,!0)):e.arc(o,r,i,n+Xt,s-Xt),e.closePath(),e.clip()}function HL(e){return Uu(e,["outerStart","outerEnd","innerStart","innerEnd"])}function jL(e,t,n,s){const i=HL(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,s*t/2),a=l=>{const c=(n-Math.min(o,l))*s/2;return ie(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:ie(i.innerStart,0,r),innerEnd:ie(i.innerEnd,0,r)}}function li(e,t,n,s){return{x:n+e*Math.cos(t),y:s+e*Math.sin(t)}}function Ca(e,t,n,s,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,d=Math.max(t.outerRadius+s+n-c,0),f=u>0?u+s+n+c:0;let p=0;const m=i-l;if(s){const H=u>0?u-s:0,R=d>0?d-s:0,W=(H+R)/2,U=W!==0?m*W/(W+s):m;p=(m-U)/2}const _=Math.max(.001,m*d-n/Wt)/d,y=(m-_)/2,x=l+y+p,S=i-y-p,{outerStart:P,outerEnd:C,innerStart:v,innerEnd:E}=jL(t,f,d,S-x),A=d-P,w=d-C,k=x+P/A,$=S-C/w,L=f+v,N=f+E,X=x+v/L,Y=S-E/N;if(e.beginPath(),o){const H=(k+$)/2;if(e.arc(r,a,d,k,H),e.arc(r,a,d,H,$),C>0){const it=li(w,$,r,a);e.arc(it.x,it.y,C,$,S+Xt)}const R=li(N,S,r,a);if(e.lineTo(R.x,R.y),E>0){const it=li(N,Y,r,a);e.arc(it.x,it.y,E,S+Xt,Y+Math.PI)}const W=(S-E/f+(x+v/f))/2;if(e.arc(r,a,f,S-E/f,W,!0),e.arc(r,a,f,W,x+v/f,!0),v>0){const it=li(L,X,r,a);e.arc(it.x,it.y,v,X+Math.PI,x-Xt)}const U=li(A,x,r,a);if(e.lineTo(U.x,U.y),P>0){const it=li(A,k,r,a);e.arc(it.x,it.y,P,x-Xt,k)}}else{e.moveTo(r,a);const H=Math.cos(k)*d+r,R=Math.sin(k)*d+a;e.lineTo(H,R);const W=Math.cos($)*d+r,U=Math.sin($)*d+a;e.lineTo(W,U)}e.closePath()}function WL(e,t,n,s,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Ca(e,t,n,s,l,i);for(let c=0;c=jt||qo(r,l,c),y=An(a,u+p,d+p);return _&&y}getCenterPoint(n){const{x:s,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,d=(o+r)/2,f=(a+l+u+c)/2;return{x:s+Math.cos(d)*f,y:i+Math.sin(d)*f}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:s,circumference:i}=this,o=(s.offset||0)/4,r=(s.spacing||0)/2,a=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=i>jt?Math.floor(i/jt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Wt,i||0)),u=o*c;n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,WL(n,this,u,r,a),zL(n,this,u,r,a),n.restore()}}st(fi,"id","arc"),st(fi,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),st(fi,"defaultRoutes",{backgroundColor:"backgroundColor"}),st(fi,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function V_(e,t,n=t){e.lineCap=yt(n.borderCapStyle,t.borderCapStyle),e.setLineDash(yt(n.borderDash,t.borderDash)),e.lineDashOffset=yt(n.borderDashOffset,t.borderDashOffset),e.lineJoin=yt(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=yt(n.borderWidth,t.borderWidth),e.strokeStyle=yt(n.borderColor,t.borderColor)}function UL(e,t,n){e.lineTo(n.x,n.y)}function KL(e){return e.stepped?mD:e.tension||e.cubicInterpolationMode==="monotone"?_D:UL}function H_(e,t,n={}){const s=e.length,{start:i=0,end:o=s-1}=n,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),u=ia&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-C:C))%o,P=()=>{_!==y&&(e.lineTo(u,y),e.lineTo(u,_),e.lineTo(u,x))};for(l&&(p=i[S(0)],e.moveTo(p.x,p.y)),f=0;f<=a;++f){if(p=i[S(f)],p.skip)continue;const C=p.x,v=p.y,E=C|0;E===m?(v<_?_=v:v>y&&(y=v),u=(d*u+C)/++d):(P(),e.lineTo(C,v),m=E,d=0,_=y=v),x=v}P()}function kc(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?qL:YL}function GL(e){return e.stepped?GD:e.tension||e.cubicInterpolationMode==="monotone"?XD:Ds}function XL(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),V_(e,t.options),e.stroke(i)}function QL(e,t,n,s){const{segments:i,options:o}=t,r=kc(t);for(const a of i)V_(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const JL=typeof Path2D=="function";function ZL(e,t,n,s){JL&&!t.options.segment?XL(e,t,n,s):QL(e,t,n,s)}class Mn extends In{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,n){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const i=s.spanGaps?this._loop:this._fullLoop;HD(this._points,s,t,i,n),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=n$(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,s=t.length;return s&&n[t[s-1].end]}interpolate(t,n){const s=this.options,i=t[n],o=this.points,r=T_(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=GL(s);let c,u;for(c=0,u=r.length;ct!=="borderDash"&&t!=="fill"});function rp(e,t,n,s){const i=e.options,{[n]:o}=e.getProps([n],s);return Math.abs(t-o)=n)return e.slice(t,t+n);const r=[],a=(n-2)/(o-2);let l=0;const c=t+n-1;let u=t,d,f,p,m,_;for(r[l++]=e[u],d=0;dp&&(p=m,f=e[S],_=S);r[l++]=f,u=_}return r[l++]=e[c],r}function rI(e,t,n,s){let i=0,o=0,r,a,l,c,u,d,f,p,m,_;const y=[],x=t+n-1,S=e[t].x,C=e[x].x-S;for(r=t;r_&&(_=c,f=r),i=(o*i+a.x)/++o;else{const E=r-1;if(!Lt(d)&&!Lt(f)){const A=Math.min(d,f),w=Math.max(d,f);A!==p&&A!==E&&y.push({...e[A],x:i}),w!==p&&w!==E&&y.push({...e[w],x:i})}r>0&&E!==p&&y.push(e[E]),y.push(a),u=v,o=0,m=_=c,d=f=p=r}}return y}function W_(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=>{W_(t)})}function aI(e,t){const n=t.length;let s=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=ie(Tn(t,o.axis,r).lo,0,n-1)),c?i=ie(Tn(t,o.axis,a).hi+1,s,n)-s:i=n-s,{start:s,count:i}}var z_={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){ap(e);return}const s=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(go([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:d,count:f}=aI(l,c);const p=n.threshold||4*s;if(f<=p){W_(i);return}Lt(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(n.algorithm){case"lttb":m=oI(c,d,f,s,n);break;case"min-max":m=rI(c,d,f,s);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}i._decimated=m})},destroy(e){ap(e)}};function lI(e,t,n){const s=e.segments,i=e.points,o=t.points,r=[];for(const a of s){let{start:l,end:c}=a;c=Ju(l,c,i);const u=Oc(n,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:u,start:i[l],end:i[c]});continue}const d=T_(t,u);for(const f of d){const p=Oc(n,o[f.start],o[f.end],f.loop),m=A_(a,i,p);for(const _ of m)r.push({source:_,target:f,start:{[n]:lp(u,p,"start",Math.max)},end:{[n]:lp(u,p,"end",Math.min)}})}}return r}function Oc(e,t,n,s){if(s)return;let i=t[e],o=n[e];return e==="angle"&&(i=Me(i),o=Me(o)),{property:e,start:i,end:o}}function cI(e,t){const{x:n=null,y:s=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=Ju(r,a,i);const l=i[r],c=i[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):n!==null&&(o.push({x:n,y:l.y}),o.push({x:n,y:c.y}))}),o}function Ju(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function lp(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function U_(e,t){let n=[],s=!1;return Ht(e)?(s=!0,n=e):n=cI(e,t),n.length?new Mn({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function cp(e){return e&&e.fill!==!1}function uI(e,t,n){let i=e[t].fill;const o=[t];let r;if(!n)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!qt(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function dI(e,t,n){const s=gI(e);if(Pt(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return qt(i)&&Math.floor(i)===i?hI(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function hI(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function fI(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:Pt(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function pI(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:Pt(e)?s=e.value:s=t.getBaseValue(),s}function gI(e){const t=e.options,n=t.fill;let s=yt(n&&n.target,n);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function mI(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=_I(t,n);a.push(U_({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Xl(e.ctx,a,o))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const s=e.getSortedVisibleDatasetMetas();for(let i=s.length-1;i>=0;--i){const o=s[i].$filler;cp(o)&&Xl(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!cp(s)||n.drawTime!=="beforeDatasetDraw"||Xl(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const fp=(e,t)=>{let{boxHeight:n=t,boxWidth:s=t}=e;return e.usePointStyle&&(n=Math.min(n,t),s=e.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:n,itemHeight:Math.max(t,n)}},TI=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class pp extends In{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,n,s){this.maxWidth=t,this.maxHeight=n,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=Bt(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(s=>t.filter(s,this.chart.data))),t.sort&&(n=n.sort((s,i)=>t.sort(s,i,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,i=ee(s.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=fp(s,o);let c,u;n.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(r,o,a,l)+10):(u=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,s,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=i+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,p=-u;return this.legendItems.forEach((m,_)=>{const y=s+n/2+o.measureText(m.text).width;(_===0||c[c.length-1]+y+2*a>r)&&(d+=u,c[c.length-(_>0?0:1)]=0,p+=u,f++),l[_]={left:0,top:p,row:f,width:y,height:i},c[c.length-1]+=y+a}),d}_fitCols(t,n,s,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=r-t;let d=a,f=0,p=0,m=0,_=0;return this.legendItems.forEach((y,x)=>{const{itemWidth:S,itemHeight:P}=PI(s,n,o,y,i);x>0&&p+P+2*a>u&&(d+=f+a,c.push({width:f,height:p}),m+=f+a,_++,f=p=0),l[x]={left:m,top:p,col:_,width:S,height:P},f=Math.max(f,S),p+=P+a}),d+=f,c.push({width:f,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:s,labels:{padding:i},rtl:o}}=this,r=yi(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ue(s,this.left+i,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=ue(s,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=ue(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=ue(s,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;sl(t,this),this._draw(),il(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=Gt.color,l=yi(t.rtl,this.left,this.width),c=ee(r.font),{padding:u}=r,d=c.size,f=d/2;let p;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:_,itemHeight:y}=fp(r,d),x=function(E,A,w){if(isNaN(m)||m<=0||isNaN(_)||_<0)return;i.save();const k=yt(w.lineWidth,1);if(i.fillStyle=yt(w.fillStyle,a),i.lineCap=yt(w.lineCap,"butt"),i.lineDashOffset=yt(w.lineDashOffset,0),i.lineJoin=yt(w.lineJoin,"miter"),i.lineWidth=k,i.strokeStyle=yt(w.strokeStyle,a),i.setLineDash(yt(w.lineDash,[])),r.usePointStyle){const $={radius:_*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:k},L=l.xPlus(E,m/2),N=A+f;g_(i,$,L,N,r.pointStyleWidth&&m)}else{const $=A+Math.max((d-_)/2,0),L=l.leftForLtr(E,m),N=Hs(w.borderRadius);i.beginPath(),Object.values(N).some(X=>X!==0)?Go(i,{x:L,y:$,w:m,h:_,radius:N}):i.rect(L,$,m,_),i.fill(),k!==0&&i.stroke()}i.restore()},S=function(E,A,w){Ys(i,w.text,E,A+y/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},P=this.isHorizontal(),C=this._computeTitleHeight();P?p={x:ue(o,this.left+u,this.right-s[0]),y:this.top+u+C,line:0}:p={x:this.left+u,y:ue(o,this.top+C+u,this.bottom-n[0].height),line:0},E_(this.ctx,t.textDirection);const v=y+u;this.legendItems.forEach((E,A)=>{i.strokeStyle=E.fontColor,i.fillStyle=E.fontColor;const w=i.measureText(E.text).width,k=l.textAlign(E.textAlign||(E.textAlign=r.textAlign)),$=m+f+w;let L=p.x,N=p.y;l.setWidth(this.width),P?A>0&&L+$+u>this.right&&(N=p.y+=v,p.line++,L=p.x=ue(o,this.left+u,this.right-s[p.line])):A>0&&N+v>this.bottom&&(L=p.x=L+n[p.line].width+u,p.line++,N=p.y=ue(o,this.top+C+u,this.bottom-n[p.line].height));const X=l.x(L);if(x(X,N,E),L=oD(k,L+m+f,P?L+$:this.right,t.rtl),S(l.x(L),N,E),P)p.x+=$+u;else if(typeof E.text!="string"){const Y=c.lineHeight;p.y+=q_(E,Y)+u}else p.y+=v}),S_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=ee(n.font),i=fe(n.padding);if(!n.display)return;const o=yi(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=s.size/2,c=i.top+l;let u,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,d=ue(t.align,d,this.right-f);else{const m=this.columnSizes.reduce((_,y)=>Math.max(_,y.height),0);u=c+ue(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const p=ue(a,d,d+f);r.textAlign=o.textAlign(Wu(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=s.string,Ys(r,n.text,p,u,s)}_computeTitleHeight(){const t=this.options.title,n=ee(t.font),s=fe(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(An(t,this.left,this.right)&&An(n,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+n.size/2+s.measureText(i).width}function kI(e,t,n){let s=e;return typeof t.text!="string"&&(s=q_(t,n)),s}function q_(e,t){const n=e.text?e.text.length:0;return t*n}function OI(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var G_={id:"legend",_element:pp,start(e,t,n){const s=e.legend=new pp({ctx:e.ctx,options:n,chart:e});ze.configure(e,s,n),ze.addBox(e,s)},stop(e){ze.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;ze.configure(e,s,n),s.options=n},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,n){const s=t.datasetIndex,i=n.chart;i.isDatasetVisible(s)?(i.hide(s),t.hidden=!0):(i.show(s),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:n,pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=fe(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:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:s||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 X_ extends In{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,n){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const i=Ht(s.text)?s.text.length:1;this._padding=fe(s.padding);const o=i*ee(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:s,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,u,d;return this.isHorizontal()?(u=ue(a,s,o),d=n+t,c=o-s):(r.position==="left"?(u=s+t,d=ue(a,i,n),l=Wt*-.5):(u=o-t,d=ue(a,n,i),l=Wt*.5),c=i-n),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const s=ee(n.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Ys(t,n.text,0,0,s,{color:n.color,maxWidth:l,rotation:c,textAlign:Wu(n.align),textBaseline:"middle",translation:[r,a]})}}function DI(e,t){const n=new X_({ctx:e.ctx,options:t,chart:e});ze.configure(e,n,t),ze.addBox(e,n),e.titleBlock=n}var Q_={id:"title",_element:X_,start(e,t,n){DI(e,n)},stop(e){const t=e.titleBlock;ze.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const s=e.titleBlock;ze.configure(e,s,n),s.options=n},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 _o={average(e){if(!e.length)return!1;let t,n,s=0,i=0,o=0;for(t=0,n=e.length;ta({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(s-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=S_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((s,i)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,s,t,"progress")),o.length||(s.running=!1,this._notify(i,s,t,"complete"),s.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let s=n.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,s)),s}listen(t,n,s){this._getAnims(t).listeners[n].push(s)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((s,i)=>Math.max(s,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const s=n.items;let i=s.length-1;for(;i>=0;--i)s[i].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var En=new CD;const Hf="transparent",TD={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=Mf(e||Hf),i=s.valid&&Mf(t||Hf);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class PD{constructor(t,n,s,i){const o=n[s];i=yo([t.to,i,o,t.from]);const r=yo([t.from,o,i]);this._active=!0,this._fn=t.fn||TD[t.type||typeof r],this._easing=Do[t.easing]||Do.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=s,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,n,s){if(this._active){this._notify(!1);const i=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=yo([t.to,n,i,t.from]),this._from=yo([t.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,s=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n1?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((n,s)=>{t.push({res:n,rej:s})})}_notify(t){const n=t?"res":"rej",s=this._promises||[];for(let i=0;i{const o=t[i];if(!$t(o))return;const r={};for(const a of n)r[a]=o[a];(zt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,n){const s=n.options,i=$D(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&kD(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,n){const s=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),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,n));continue}const u=n[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,u,a);continue}else d.cancel();if(!f||!f.duration){t[c]=u;continue}o[c]=d=new PD(f,t,c,u),i.push(d)}return i}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const s=this._createAnimations(t,n);if(s.length)return En.add(this._chart,s),!0}}function kD(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function Kf(e,t){const{chart:n,_cachedMeta:s}=e,i=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,u=ID(o,r,s),d=t.length;let f;for(let p=0;pn[s].axis===t).shift()}function ND(e,t){return bs(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function FD(e,t,n){return bs(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function ho(e,t){const n=e.controller.index,s=e.vScale&&e.vScale.axis;if(s){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[s]===void 0||o[s][n]===void 0)return;delete o[s][n],o[s]._visualValues!==void 0&&o[s]._visualValues[n]!==void 0&&delete o[s]._visualValues[n]}}}const Ql=e=>e==="reset"||e==="none",Yf=(e,t)=>t?e:Object.assign({},e),BD=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:W_(n,!0),values:null};class en{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,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=zf(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,n=this._cachedMeta,s=this.getDataset(),i=(d,f,p,m)=>d==="x"?f:d==="r"?m:p,o=n.xAxisID=Et(s.xAxisID,Xl(t,"x")),r=n.yAxisID=Et(s.yAxisID,Xl(t,"y")),a=n.rAxisID=Et(s.rAxisID,Xl(t,"r")),l=n.indexAxis,c=n.iAxisID=i(l,o,r,a),u=n.vAxisID=i(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}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 n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Pf(this._data,this),t._stacked&&ho(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if($t(n))this._data=DD(n);else if(s!==n){if(s){Pf(s,this);const i=this._cachedMeta;ho(i),i._parsed=[]}n&&Object.isExtensible(n)&&SO(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,s=this.getDataset();let i=!1;this._dataCheck();const o=n._stacked;n._stacked=zf(n.vScale,n),n.stack!==s.stack&&(i=!0,ho(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&Kf(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:s,_data:i}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&n===i.length?!0:s._sorted,c=t>0&&s._parsed[t-1],u,d,f;if(this._parsing===!1)s._parsed=i,s._sorted=!0,f=i;else{zt(i[t])?f=this.parseArrayData(s,i,t,n):$t(i[t])?f=this.parseObjectData(s,i,t,n):f=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||c&&d[a]_||d<_}for(f=0;f=0;--f)if(!m()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,s=[];let i,o,r;for(i=0,o=n.length;i=0&&tthis.getContext(s,i,n),_=c.resolveNamedOptions(f,p,m,d);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(Yf(_,l))),_}_resolveAnimations(t,n,s){const i=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const u=this.chart.config,d=u.datasetAnimationScopeKeys(this._type,n),f=u.getOptionScopes(this.getDataset(),d);l=u.createResolver(f,this.getContext(t,s,n))}const c=new j_(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,n){return!n||Ql(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const s=this.resolveDataElementOptions(t,n),i=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(n,o)||o!==i;return this.updateSharedOptions(o,n,s),{sharedOptions:o,includeOptions:r}}updateElement(t,n,s,i){Ql(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!Ql(n)&&this._resolveAnimations(void 0,n).update(t,s)}_setStyle(t,n,s,i){t.active=i;const o=this.getStyle(n,i);this._resolveAnimations(n,s,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,n,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=s.length,o=n.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;ai-o))}return e._cache.$bar}function HD(e){const t=e.iScale,n=VD(t,e.type);let s=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Jo(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(i=0,o=n.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function z_(e,t,n,s){return zt(e)?zD(e,t,n,s):t[n.axis]=n.parse(e,s),t}function qf(e,t,n,s){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,u,d,f;for(c=n,u=n+s;c=n?1:-1)}function KD(e){let t,n,s,i,o;return e.horizontal?(t=e.base>e.x,n="left",s="right"):(t=e.basel.controller.options.grouped),o=s.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(n),u=c&&c[l.vScale.axis];if(It(u)||isNaN(u))return!0};for(const l of i)if(!(n!==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,n,s){const i=this._getStacks(t,s),o=n!==void 0?i.indexOf(n):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,s=n.iScale,i=[];let o,r;for(o=0,r=n.data.length;o=0;--s)n=Math.max(n,t[s].size(this.resolveDataElementOptions(s))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart.data.labels||[],{xScale:i,yScale:o}=n,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:s[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,i),u=r.axis,d=a.axis;for(let f=n;fZo(P,a,l,!0)?1:Math.max(A,A*n,y,y*n),m=(P,A,y)=>Zo(P,a,l,!0)?-1:Math.min(A,A*n,y,y*n),_=p(0,c,d),v=p(te,u,f),x=m(Yt,c,d),S=m(Yt+te,u,f);s=(_-x)/2,i=(v-S)/2,o=-(_+x)/2,r=-(v+S)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class Vs extends en{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const s=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=s;else{let o=l=>+s[l];if($t(s[t])){const{key:l="value"}=this._parsing;o=c=>+fs(s[c],l)}let r,a;for(r=t,a=t+n;r0&&!isNaN(t)?Kt*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dr(n._parsed[t],s.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let n=0;const s=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=s.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),it(Vs,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.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:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}}});class Pi extends en{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:s,data:i=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=C_(n,i,r);this._drawStart=a,this._drawCount=l,T_(n)&&(a=0,l=i.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,i),f=r.axis,p=a.axis,{spanGaps:m,segment:_}=this.options,v=Yi(m)?m:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||i==="none",S=n+s,P=t.length;let A=n>0&&this.getParsed(n-1);for(let y=0;y=S){C.skip=!0;continue}const w=this.getParsed(y),$=It(w[p]),D=C[f]=r.getPixelForValue(w[f],y),I=C[p]=o||$?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,w,l):w[p],y);C.skip=isNaN(D)||isNaN(I)||$,C.stop=y>0&&Math.abs(w[f]-A[f])>v,_&&(C.parsed=w,C.raw=c.data[y]),d&&(C.options=u||this.resolveDataElementOptions(y,E.active?"active":i)),x||this.updateElement(E,y,C,i),A=w}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,s=n.options&&n.options.borderWidth||0,i=t.data||[];if(!i.length)return s;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}it(Pi,"id","line"),it(Pi,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),it(Pi,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class Ro extends en{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dr(n._parsed[t].r,s.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,n,s,i){return L_.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(on.max&&(n.max=o))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,s=t.options,i=Math.min(n.right-n.left,n.bottom-n.top),o=Math.max(i/2,0),r=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,s,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,d=c.yCenter,f=c.getIndexAngle(0)-.5*Yt;let p=f,m;const _=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&n++}),n}_computeAngle(t,n,s){return this.chart.getDataVisibility(t)?tn(this.resolveDataElementOptions(t,n).angle||s):0}}it(Ro,"id","polarArea"),it(Ro,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),it(Ro,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.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:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Pa extends Vs{}it(Pa,"id","pie"),it(Pa,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class No extends en{getLabelAndValue(t){const n=this._cachedMeta.vScale,s=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(s[n.axis])}}parseObjectData(t,n,s,i){return L_.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta,s=n.dataset,i=n.data||[],o=n.iScale.getLabels();if(s.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(s,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,n,s,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=n;a0&&this.getParsed(n-1);for(let A=n;A0&&Math.abs(E[p]-P[p])>x,v&&(C.parsed=E,C.raw=c.data[A]),f&&(C.options=d||this.resolveDataElementOptions(A,y.active?"active":i)),S||this.updateElement(y,A,C,i),P=E}this.updateSharedOptions(d,i,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const s=t.dataset,i=s.options&&s.options.borderWidth||0;if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}}it(Fo,"id","scatter"),it(Fo,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),it(Fo,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Is(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class rd{constructor(t){it(this,"options");this.options=t||{}}static override(t){Object.assign(rd.prototype,t)}init(){}formats(){return Is()}parse(){return Is()}format(){return Is()}add(){return Is()}diff(){return Is()}startOf(){return Is()}endOf(){return Is()}}var QD={_date:rd};function JD(e,t,n,s){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?wO:$n;if(s){if(i._sharedOptions){const c=o[0],u=typeof c.getRange=="function"&&c.getRange(t);if(u){const d=l(o,t,n-u),f=l(o,t,n+u);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function hr(e,t,n,s,i){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a{l[r](t[n],i)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,i))}),s&&!a?[]:o}var nI={evaluateInteractionItems:hr,modes:{index(e,t,n,s){const i=Rs(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?Zl(e,i,o,s,r):tc(e,i,o,!1,s,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,s){const i=Rs(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?Zl(e,i,o,s,r):tc(e,i,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;un.pos===t)}function Jf(e,t){return e.filter(n=>U_.indexOf(n.pos)===-1&&n.box.axis===t)}function po(e,t){return e.sort((n,s)=>{const i=t?s:n,o=t?n:s;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function sI(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nc.box.fullSize),!0),s=po(fo(t,"left"),!0),i=po(fo(t,"right")),o=po(fo(t,"top"),!0),r=po(fo(t,"bottom")),a=Jf(t,"x"),l=Jf(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:fo(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function Zf(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function K_(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 aI(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!$t(i)){n.size&&(e[i]-=n.size);const d=s[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[i]+=n.size}o.getPadding&&K_(r,o.getPadding());const a=Math.max(0,t.outerWidth-Zf(r,e,"left","right")),l=Math.max(0,t.outerHeight-Zf(r,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function lI(e){const t=e.maxPadding;function n(s){const i=Math.max(t[s]-e[s],0);return e[s]+=i,i}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function cI(e,t){const n=t.maxPadding;function s(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return s(e?["left","right"]:["top","bottom"])}function xo(e,t,n,s){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const u=l.reduce((_,v)=>v.box.options&&v.box.options.display===!1?_:_+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/u,hBoxMaxHeight:r/2}),f=Object.assign({},i);K_(f,ge(s));const p=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),m=oI(l.concat(c),d);xo(a.fullSize,p,d,m),xo(l,p,d,m),xo(c,p,d,m)&&xo(l,p,d,m),lI(p),tp(a.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,tp(a.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Bt(a.chartArea,_=>{const v=_.box;Object.assign(v,e.chartArea),v.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class Y_{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,s){}removeEventListener(t,n,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,s,i){return n=Math.max(0,n||t.width),s=s||t.height,{width:n,height:Math.max(0,i?Math.floor(n/i):s)}}isAttached(t){return!0}updateConfig(t){}}class uI extends Y_{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ua="$chartjs",dI={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ep=e=>e===null||e==="";function hI(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[ua]={initial:{height:s,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ep(i)){const o=Nf(e,"width");o!==void 0&&(e.width=o)}if(ep(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Nf(e,"height");o!==void 0&&(e.height=o)}return e}const q_=gD?{passive:!0}:!1;function fI(e,t,n){e.addEventListener(t,n,q_)}function pI(e,t,n){e.canvas.removeEventListener(t,n,q_)}function gI(e,t){const n=dI[e.type]||e.type,{x:s,y:i}=Rs(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function ka(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function mI(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ka(a.addedNodes,s),r=r&&!ka(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function _I(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ka(a.removedNodes,s),r=r&&!ka(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const er=new Map;let np=0;function G_(){const e=window.devicePixelRatio;e!==np&&(np=e,er.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function bI(e,t){er.size||window.addEventListener("resize",G_),er.set(e,t)}function vI(e){er.delete(e),er.size||window.removeEventListener("resize",G_)}function yI(e,t,n){const s=e.canvas,i=s&&od(s);if(!i)return;const o=A_((a,l)=>{const c=i.clientWidth;n(a,l),c{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||o(c,u)});return r.observe(i),bI(e,o),r}function ec(e,t,n){n&&n.disconnect(),t==="resize"&&vI(e)}function xI(e,t,n){const s=e.canvas,i=A_(o=>{e.ctx!==null&&n(gI(o,e))},e);return fI(s,t,i),i}class wI extends Y_{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(hI(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[ua])return!1;const s=n[ua].initial;["height","width"].forEach(o=>{const r=s[o];It(r)?n.removeAttribute(o):n.setAttribute(o,r)});const i=s.style||{};return Object.keys(i).forEach(o=>{n.style[o]=i[o]}),n.width=n.width,delete n[ua],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),r={attach:mI,detach:_I,resize:yI}[n]||xI;i[n]=r(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];if(!i)return;({attach:ec,detach:ec,resize:ec}[n]||pI)(t,n,i),s[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return pD(t,n,s,i)}isAttached(t){const n=od(t);return!!(n&&n.isConnected)}}function EI(e){return!id()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?uI:wI}var ea;let Fn=(ea=class{constructor(){it(this,"x");it(this,"y");it(this,"active",!1);it(this,"options");it(this,"$animations")}tooltipPosition(t){const{x:n,y:s}=this.getProps(["x","y"],t);return{x:n,y:s}}hasValue(){return Yi(this.x)&&Yi(this.y)}getProps(t,n){const s=this.$animations;if(!n||!s)return this;const i={};return t.forEach(o=>{i[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),i}},it(ea,"defaults",{}),it(ea,"defaultRoutes"),ea);function SI(e,t){const n=e.options.ticks,s=AI(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?TI(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return PI(t,c,o,r/i),c;const u=CI(o,t,i);if(r>0){let d,f;const p=r>1?Math.round((l-a)/(r-1)):null;for(qr(t,c,u,It(p)?0:a-p,a),d=0,f=r-1;di)return l}return Math.max(i,1)}function TI(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,sp=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,ip=(e,t)=>Math.min(t||e,e);function op(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function OI(e,t){Bt(e,n=>{const s=n.gc,i=s.length/2;let o;if(i>t){for(o=0;os?s:n,s=i&&n>s?n:s,{min:Pe(n,Pe(s,n)),max:Pe(s,Pe(n,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Ht(this.options.beforeUpdate,[this])}update(t,n,s){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=KO(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=i;return}const u=this._getLabelSizes(),d=u.widest.width,f=u.highest.height,p=le(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:p/(s-1),d+6>a&&(a=p/(s-(t.offset?.5:1)),l=this.maxHeight-go(t.grid)-n.padding-rp(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Xu(Math.min(Math.asin(le((u.highest.height+6)/a,-1,1)),Math.asin(le(l/c,-1,1))-Math.asin(le(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Ht(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Ht(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:s,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=rp(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=go(o)+l):(t.height=this.maxHeight,t.width=go(o)+l),s.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),p=s.padding*2,m=tn(this.labelRotation),_=Math.cos(m),v=Math.sin(m);if(a){const x=s.mirror?0:v*d.width+_*f.height;t.height=Math.min(this.maxHeight,t.height+x+p)}else{const x=s.mirror?0:_*d.width+v*f.height;t.width=Math.min(this.maxWidth,t.width+x+p)}this._calculatePadding(c,u,v,_)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,s,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 u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,p=0;l?c?(f=i*t.width,p=s*n.height):(f=s*t.height,p=i*n.width):o==="start"?p=n.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,p=n.width/2),this.paddingLeft=Math.max((f-u+r)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let u=n.height/2,d=t.height/2;o==="start"?(u=0,d=t.height):o==="end"&&(u=n.height,d=0),this.paddingTop=u+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Ht(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,s;for(n=0,s=t.length;n({width:r[$]||0,height:a[$]||0});return{first:w(0),last:w(n-1),widest:w(E),highest:w(C),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return xO(this._alignToPixels?Ds(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ta*i?a/s:l/i:l*i0}_computeGridLineItems(t){const n=this.axis,s=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=go(o),p=[],m=a.setContext(this.getContext()),_=m.display?m.width:0,v=_/2,x=function(R){return Ds(s,R,_)};let S,P,A,y,E,C,w,$,D,I,N,Q;if(r==="top")S=x(this.bottom),C=this.bottom-f,$=S-v,I=x(t.top)+v,Q=t.bottom;else if(r==="bottom")S=x(this.top),I=t.top,Q=x(t.bottom)-v,C=S+v,$=this.top+f;else if(r==="left")S=x(this.right),E=this.right-f,w=S-v,D=x(t.left)+v,N=t.right;else if(r==="right")S=x(this.left),D=t.left,N=x(t.right)-v,E=S+v,w=this.left+f;else if(n==="x"){if(r==="center")S=x((t.top+t.bottom)/2+.5);else if($t(r)){const R=Object.keys(r)[0],W=r[R];S=x(this.chart.scales[R].getPixelForValue(W))}I=t.top,Q=t.bottom,C=S+v,$=C+f}else if(n==="y"){if(r==="center")S=x((t.left+t.right)/2);else if($t(r)){const R=Object.keys(r)[0],W=r[R];S=x(this.chart.scales[R].getPixelForValue(W))}E=S-v,w=E-f,D=t.left,N=t.right}const Y=Et(i.ticks.maxTicksLimit,d),H=Math.max(1,Math.ceil(d/Y));for(P=0;P0&&(Ct-=At/2);break}mt={left:Ct,top:Mt,width:At+pt.width,height:Pt+pt.height,color:H.backdropColor}}v.push({label:A,font:$,textOffset:N,options:{rotation:_,color:W,strokeColor:U,strokeWidth:rt,textAlign:ct,textBaseline:Q,translation:[y,E],backdrop:mt}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-tn(this.labelRotation))return t==="top"?"left":"right";let i="center";return n.align==="start"?i="left":n.align==="end"?i="right":n.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:s,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,u;return n==="left"?i?(u=this.right+o,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?i?(u=this.left+o,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:s,top:i,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(s,i,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?n.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const n=this.options.grid,s=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,u)=>{!u.width||!u.color||(s.save(),s.lineWidth=u.width,s.strokeStyle=u.color,s.setLineDash(u.borderDash||[]),s.lineDashOffset=u.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(n.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",i=[];let o,r;for(o=0,r=n.length;o{const s=n.split("."),i=s.pop(),o=[e].concat(s).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");Zt.route(o,i,l,a)})}function BI(e){return"id"in e&&"defaults"in e}class VI{constructor(){this.controllers=new Gr(en,"datasets",!0),this.elements=new Gr(Fn,"elements"),this.plugins=new Gr(Object,"plugins"),this.scales=new Gr(si,"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,n,s){[...n].forEach(i=>{const o=s||this._getRegistryForType(i);s||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):Bt(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Gu(t);Ht(s["before"+i],[],s),n[t](s),Ht(s["after"+i],[],s)}_getRegistryForType(t){for(let n=0;no.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(n,s),t,"stop"),this._notify(i(s,n),t,"start")}}function jI(e){const t={},n=[],s=Object.keys(an.plugins.items);for(let o=0;o1&&ap(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function lp(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function GI(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(s=>s.xAxisID===e||s.yAxisID===e);if(n.length)return lp(e,"x",n[0])||lp(e,"y",n[0])}return{}}function XI(e,t){const n=Qs[e.type]||{scales:{}},s=t.scales||{},i=Rc(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!$t(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=Nc(r,a,GI(r,e),Zt.scales[a.type]),c=YI(l,i),u=n.scales||{};o[r]=Mo(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Rc(a,t),u=(Qs[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=KI(d,l),p=r[f+"AxisID"]||f;o[p]=o[p]||Object.create(null),Mo(o[p],[{axis:f},s[p],u[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Mo(a,[Zt.scales[a.type],Zt.scale])}),o}function X_(e){const t=e.options||(e.options={});t.plugins=Et(t.plugins,{}),t.scales=XI(e,t)}function Q_(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function QI(e){return e=e||{},e.data=Q_(e.data),X_(e),e}const cp=new Map,J_=new Set;function Xr(e,t){let n=cp.get(e);return n||(n=t(),cp.set(e,n),J_.add(n)),n}const mo=(e,t,n)=>{const s=fs(t,n);s!==void 0&&e.add(s)};let JI=class{constructor(t){this._config=QI(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=Q_(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(),X_(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Xr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Xr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Xr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Xr(`${s}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const s=this._scopeCache;let i=s.get(t);return(!i||n)&&(i=new Map,s.set(t,i)),i}getOptionScopes(t,n,s){const{options:i,type:o}=this,r=this._cachedScopes(t,s),a=r.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(d=>mo(l,t,d))),u.forEach(d=>mo(l,i,d)),u.forEach(d=>mo(l,Qs[o]||{},d)),u.forEach(d=>mo(l,Zt,d)),u.forEach(d=>mo(l,Ic,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),J_.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,Qs[n]||{},Zt.datasets[n]||{},{type:n},Zt,Ic]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=up(this._resolverCache,t,i);let l=r;if(t2(r,n)){o.$shared=!1,s=ps(s)?s():s;const c=this.createResolver(t,s,a);l=qi(r,s,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,s=[""],i){const{resolver:o}=up(this._resolverCache,t,s);return $t(n)?qi(o,n,void 0,i):o}};function up(e,t,n){let s=e.get(t);s||(s=new Map,e.set(t,s));const i=n.join();let o=s.get(i);return o||(o={resolver:ed(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},s.set(i,o)),o}const ZI=e=>$t(e)&&Object.getOwnPropertyNames(e).some(t=>ps(e[t]));function t2(e,t){const{isScriptable:n,isIndexable:s}=M_(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(ps(a)||ZI(a))||r&&zt(a))return!0}return!1}var e2="4.4.1";const n2=["top","bottom","left","right","chartArea"];function dp(e,t){return e==="top"||e==="bottom"||n2.indexOf(e)===-1&&t==="x"}function hp(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function fp(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),Ht(n&&n.onComplete,[e],t)}function s2(e){const t=e.chart,n=t.options.animation;Ht(n&&n.onProgress,[e],t)}function Z_(e){return id()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const da={},pp=e=>{const t=Z_(e);return Object.values(da).filter(n=>n.canvas===t).pop()};function i2(e,t,n){const s=Object.keys(e);for(const i of s){const o=+i;if(o>=t){const r=e[i];delete e[i],(n>0||o>t)&&(e[o+n]=r)}}}function o2(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}function Qr(e,t,n){return e.options.clip?e[n]:t[n]}function r2(e,t){const{xScale:n,yScale:s}=e;return n&&s?{left:Qr(n,t,"left"),right:Qr(n,t,"right"),top:Qr(s,t,"top"),bottom:Qr(s,t,"bottom")}:t}var Un;let fr=(Un=class{static register(...t){an.add(...t),gp()}static unregister(...t){an.remove(...t),gp()}constructor(t,n){const s=this.config=new JI(n),i=Z_(t),o=pp(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=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||EI(i)),this.platform.updateConfig(s);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=cO(),this.ctx=a,this.canvas=l,this.width=u,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 HI,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=AO(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],da[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}En.listen(this,"complete",fp),En.listen(this,"progress",s2),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:s,height:i,_aspectRatio:o}=this;return It(t)?n&&o?o:i?s/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 an}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Rf(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Df(this.canvas,this.ctx),this}stop(){return En.stop(this),this}resize(t,n){En.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const s=this.options,i=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,n,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Rf(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Ht(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};Bt(n,(s,i)=>{s.id=i})}buildOrUpdateScales(){const t=this.options,n=t.scales,s=this.scales,i=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=Nc(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),Bt(o,r=>{const a=r.options,l=a.id,c=Nc(l,a),u=Et(a.type,r.dtype);(a.position===void 0||dp(a.position,c)!==dp(r.dposition))&&(a.position=r.dposition),i[l]=!0;let d=null;if(l in s&&s[l].type===u)d=s[l];else{const f=an.getScale(u);d=new f({id:l,type:u,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),Bt(i,(r,a)=>{r||delete s[a]}),Bt(s,r=>{Ke.configure(this,r,r.options),Ke.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,s=t.length;if(t.sort((i,o)=>i.index-o.index),s>n){for(let i=n;in.length&&delete this._stacks,t.forEach((s,i)=>{n.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let s,i;for(this._removeUnreferencedMetasets(),s=0,i=n.length;s{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const s=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,u=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(hp("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){Bt(this.scales,t=>{Ke.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Sf(n,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:s,start:i,count:o}of n){const r=s==="_removeElements"?-o:o;i2(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Ke.update(this,this.width,this.height,t);const n=this.chartArea,s=n.width<=0||n.height<=0;this._layers=[],Bt(this.boxes,i=>{s&&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 n=0,s=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,s=t._clip,i=!s.disabled,o=r2(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&ul(n,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),i&&dl(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Mn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,s,i){const o=nI.modes[n];return typeof o=="function"?o(this,t,s,i):[]}getDatasetMeta(t){const n=this.data.datasets[t],s=this._metasets;let i=s.filter(o=>o&&o._dataset===n).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},s.push(i)),i}getContext(){return this.$context||(this.$context=bs(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!n.hidden}setDatasetVisibility(t,n){const s=this.getDatasetMeta(t);s.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,s){const i=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Jo(n)?(o.data[n].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),En.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};Bt(this.options.events,o=>s(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,s=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(n.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(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),s("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){Bt(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},Bt(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,s){const i=s?"set":"remove";let o,r,a,l;for(n==="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}});!Ea(s,n)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,n))}notifyPlugins(t,n,s){return this._plugins.notify(this,t,n,s)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,s){const i=this.options.hover,o=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),r=o(n,t),a=s?t:o(t,n);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,n){const s={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,i)===!1)return;const o=this._handleEvent(t,n,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,i),(o||s.changed)&&this.render(),this}_handleEvent(t,n,s){const{_active:i=[],options:o}=this,r=n,a=this._getActiveElements(t,i,s,r),l=gO(t),c=o2(t,this._lastEvent,s,l);s&&(this._lastEvent=null,Ht(o.onHover,[t,a,this],this),l&&Ht(o.onClick,[t,a,this],this));const u=!Ea(a,i);return(u||n)&&(this._active=a,this._updateHoverStyles(a,i,n)),this._lastEvent=c,u}_getActiveElements(t,n,s,i){if(t.type==="mouseout")return[];if(!s)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},it(Un,"defaults",Zt),it(Un,"instances",da),it(Un,"overrides",Qs),it(Un,"registry",an),it(Un,"version",e2),it(Un,"getChart",pp),Un);function gp(){return Bt(fr.instances,e=>e._plugins.invalidate())}function a2(e,t,n){const{startAngle:s,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,s-c,n+c),l>i?(c=i/l,e.arc(o,r,l,n+c,s-c,!0)):e.arc(o,r,i,n+te,s-te),e.closePath(),e.clip()}function l2(e){return td(e,["outerStart","outerEnd","innerStart","innerEnd"])}function c2(e,t,n,s){const i=l2(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,s*t/2),a=l=>{const c=(n-Math.min(o,l))*s/2;return le(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:le(i.innerStart,0,r),innerEnd:le(i.innerEnd,0,r)}}function gi(e,t,n,s){return{x:n+e*Math.cos(t),y:s+e*Math.sin(t)}}function $a(e,t,n,s,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,d=Math.max(t.outerRadius+s+n-c,0),f=u>0?u+s+n+c:0;let p=0;const m=i-l;if(s){const H=u>0?u-s:0,R=d>0?d-s:0,W=(H+R)/2,U=W!==0?m*W/(W+s):m;p=(m-U)/2}const _=Math.max(.001,m*d-n/Yt)/d,v=(m-_)/2,x=l+v+p,S=i-v-p,{outerStart:P,outerEnd:A,innerStart:y,innerEnd:E}=c2(t,f,d,S-x),C=d-P,w=d-A,$=x+P/C,D=S-A/w,I=f+y,N=f+E,Q=x+y/I,Y=S-E/N;if(e.beginPath(),o){const H=($+D)/2;if(e.arc(r,a,d,$,H),e.arc(r,a,d,H,D),A>0){const rt=gi(w,D,r,a);e.arc(rt.x,rt.y,A,D,S+te)}const R=gi(N,S,r,a);if(e.lineTo(R.x,R.y),E>0){const rt=gi(N,Y,r,a);e.arc(rt.x,rt.y,E,S+te,Y+Math.PI)}const W=(S-E/f+(x+y/f))/2;if(e.arc(r,a,f,S-E/f,W,!0),e.arc(r,a,f,W,x+y/f,!0),y>0){const rt=gi(I,Q,r,a);e.arc(rt.x,rt.y,y,Q+Math.PI,x-te)}const U=gi(C,x,r,a);if(e.lineTo(U.x,U.y),P>0){const rt=gi(C,$,r,a);e.arc(rt.x,rt.y,P,x-te,$)}}else{e.moveTo(r,a);const H=Math.cos($)*d+r,R=Math.sin($)*d+a;e.lineTo(H,R);const W=Math.cos(D)*d+r,U=Math.sin(D)*d+a;e.lineTo(W,U)}e.closePath()}function u2(e,t,n,s,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){$a(e,t,n,s,l,i);for(let c=0;c=Kt||Zo(r,l,c),v=kn(a,u+p,d+p);return _&&v}getCenterPoint(n){const{x:s,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,d=(o+r)/2,f=(a+l+u+c)/2;return{x:s+Math.cos(d)*f,y:i+Math.sin(d)*f}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:s,circumference:i}=this,o=(s.offset||0)/4,r=(s.spacing||0)/2,a=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=i>Kt?Math.floor(i/Kt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Yt,i||0)),u=o*c;n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,u2(n,this,u,r,a),d2(n,this,u,r,a),n.restore()}}it(yi,"id","arc"),it(yi,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),it(yi,"defaultRoutes",{backgroundColor:"backgroundColor"}),it(yi,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function tb(e,t,n=t){e.lineCap=Et(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Et(n.borderDash,t.borderDash)),e.lineDashOffset=Et(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Et(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Et(n.borderWidth,t.borderWidth),e.strokeStyle=Et(n.borderColor,t.borderColor)}function h2(e,t,n){e.lineTo(n.x,n.y)}function f2(e){return e.stepped?NO:e.tension||e.cubicInterpolationMode==="monotone"?FO:h2}function eb(e,t,n={}){const s=e.length,{start:i=0,end:o=s-1}=n,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),u=ia&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-A:A))%o,P=()=>{_!==v&&(e.lineTo(u,v),e.lineTo(u,_),e.lineTo(u,x))};for(l&&(p=i[S(0)],e.moveTo(p.x,p.y)),f=0;f<=a;++f){if(p=i[S(f)],p.skip)continue;const A=p.x,y=p.y,E=A|0;E===m?(y<_?_=y:y>v&&(v=y),u=(d*u+A)/++d):(P(),e.lineTo(A,y),m=E,d=0,_=v=y),x=y}P()}function Fc(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?g2:p2}function m2(e){return e.stepped?mD:e.tension||e.cubicInterpolationMode==="monotone"?_D:Ns}function _2(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),tb(e,t.options),e.stroke(i)}function b2(e,t,n,s){const{segments:i,options:o}=t,r=Fc(t);for(const a of i)tb(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const v2=typeof Path2D=="function";function y2(e,t,n,s){v2&&!t.options.segment?_2(e,t,n,s):b2(e,t,n,s)}class On extends Fn{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,n){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const i=s.spanGaps?this._loop:this._fullLoop;lD(this._points,s,t,i,n),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=ED(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,s=t.length;return s&&n[t[s-1].end]}interpolate(t,n){const s=this.options,i=t[n],o=this.points,r=H_(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=m2(s);let c,u;for(c=0,u=r.length;ct!=="borderDash"&&t!=="fill"});function mp(e,t,n,s){const i=e.options,{[n]:o}=e.getProps([n],s);return Math.abs(t-o)=n)return e.slice(t,t+n);const r=[],a=(n-2)/(o-2);let l=0;const c=t+n-1;let u=t,d,f,p,m,_;for(r[l++]=e[u],d=0;dp&&(p=m,f=e[S],_=S);r[l++]=f,u=_}return r[l++]=e[c],r}function T2(e,t,n,s){let i=0,o=0,r,a,l,c,u,d,f,p,m,_;const v=[],x=t+n-1,S=e[t].x,A=e[x].x-S;for(r=t;r_&&(_=c,f=r),i=(o*i+a.x)/++o;else{const E=r-1;if(!It(d)&&!It(f)){const C=Math.min(d,f),w=Math.max(d,f);C!==p&&C!==E&&v.push({...e[C],x:i}),w!==p&&w!==E&&v.push({...e[w],x:i})}r>0&&E!==p&&v.push(e[E]),v.push(a),u=y,o=0,m=_=c,d=f=p=r}}return v}function sb(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 _p(e){e.data.datasets.forEach(t=>{sb(t)})}function P2(e,t){const n=t.length;let s=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=le($n(t,o.axis,r).lo,0,n-1)),c?i=le($n(t,o.axis,a).hi+1,s,n)-s:i=n-s,{start:s,count:i}}var ib={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){_p(e);return}const s=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 u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:d,count:f}=P2(l,c);const p=n.threshold||4*s;if(f<=p){sb(i);return}It(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(n.algorithm){case"lttb":m=C2(c,d,f,s,n);break;case"min-max":m=T2(c,d,f,s);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}i._decimated=m})},destroy(e){_p(e)}};function k2(e,t,n){const s=e.segments,i=e.points,o=t.points,r=[];for(const a of s){let{start:l,end:c}=a;c=ad(l,c,i);const u=Bc(n,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:u,start:i[l],end:i[c]});continue}const d=H_(t,u);for(const f of d){const p=Bc(n,o[f.start],o[f.end],f.loop),m=V_(a,i,p);for(const _ of m)r.push({source:_,target:f,start:{[n]:bp(u,p,"start",Math.max)},end:{[n]:bp(u,p,"end",Math.min)}})}}return r}function Bc(e,t,n,s){if(s)return;let i=t[e],o=n[e];return e==="angle"&&(i=$e(i),o=$e(o)),{property:e,start:i,end:o}}function $2(e,t){const{x:n=null,y:s=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=ad(r,a,i);const l=i[r],c=i[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):n!==null&&(o.push({x:n,y:l.y}),o.push({x:n,y:c.y}))}),o}function ad(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function bp(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function ob(e,t){let n=[],s=!1;return zt(e)?(s=!0,n=e):n=$2(e,t),n.length?new On({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function vp(e){return e&&e.fill!==!1}function M2(e,t,n){let i=e[t].fill;const o=[t];let r;if(!n)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!Jt(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function O2(e,t,n){const s=R2(e);if($t(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return Jt(i)&&Math.floor(i)===i?D2(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function D2(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function I2(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:$t(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function L2(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:$t(e)?s=e.value:s=t.getBaseValue(),s}function R2(e){const t=e.options,n=t.fill;let s=Et(n&&n.target,n);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function N2(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=F2(t,n);a.push(ob({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&ic(e.ctx,a,o))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const s=e.getSortedVisibleDatasetMetas();for(let i=s.length-1;i>=0;--i){const o=s[i].$filler;vp(o)&&ic(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!vp(s)||n.drawTime!=="beforeDatasetDraw"||ic(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Ep=(e,t)=>{let{boxHeight:n=t,boxWidth:s=t}=e;return e.usePointStyle&&(n=Math.min(n,t),s=e.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:n,itemHeight:Math.max(t,n)}},q2=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Sp extends Fn{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,n,s){this.maxWidth=t,this.maxHeight=n,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=Ht(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(s=>t.filter(s,this.chart.data))),t.sort&&(n=n.sort((s,i)=>t.sort(s,i,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,i=oe(s.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Ep(s,o);let c,u;n.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(r,o,a,l)+10):(u=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,s,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=i+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,p=-u;return this.legendItems.forEach((m,_)=>{const v=s+n/2+o.measureText(m.text).width;(_===0||c[c.length-1]+v+2*a>r)&&(d+=u,c[c.length-(_>0?0:1)]=0,p+=u,f++),l[_]={left:0,top:p,row:f,width:v,height:i},c[c.length-1]+=v+a}),d}_fitCols(t,n,s,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=r-t;let d=a,f=0,p=0,m=0,_=0;return this.legendItems.forEach((v,x)=>{const{itemWidth:S,itemHeight:P}=G2(s,n,o,v,i);x>0&&p+P+2*a>u&&(d+=f+a,c.push({width:f,height:p}),m+=f+a,_++,f=p=0),l[x]={left:m,top:p,col:_,width:S,height:P},f=Math.max(f,S),p+=P+a}),d+=f,c.push({width:f,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:s,labels:{padding:i},rtl:o}}=this,r=Ci(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=fe(s,this.left+i,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=fe(s,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=fe(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=fe(s,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(),dl(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=Zt.color,l=Ci(t.rtl,this.left,this.width),c=oe(r.font),{padding:u}=r,d=c.size,f=d/2;let p;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:_,itemHeight:v}=Ep(r,d),x=function(E,C,w){if(isNaN(m)||m<=0||isNaN(_)||_<0)return;i.save();const $=Et(w.lineWidth,1);if(i.fillStyle=Et(w.fillStyle,a),i.lineCap=Et(w.lineCap,"butt"),i.lineDashOffset=Et(w.lineDashOffset,0),i.lineJoin=Et(w.lineJoin,"miter"),i.lineWidth=$,i.strokeStyle=Et(w.strokeStyle,a),i.setLineDash(Et(w.lineDash,[])),r.usePointStyle){const D={radius:_*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:$},I=l.xPlus(E,m/2),N=C+f;k_(i,D,I,N,r.pointStyleWidth&&m)}else{const D=C+Math.max((d-_)/2,0),I=l.leftForLtr(E,m),N=Ks(w.borderRadius);i.beginPath(),Object.values(N).some(Q=>Q!==0)?tr(i,{x:I,y:D,w:m,h:_,radius:N}):i.rect(I,D,m,_),i.fill(),$!==0&&i.stroke()}i.restore()},S=function(E,C,w){Js(i,w.text,E,C+v/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},P=this.isHorizontal(),A=this._computeTitleHeight();P?p={x:fe(o,this.left+u,this.right-s[0]),y:this.top+u+A,line:0}:p={x:this.left+u,y:fe(o,this.top+A+u,this.bottom-n[0].height),line:0},N_(this.ctx,t.textDirection);const y=v+u;this.legendItems.forEach((E,C)=>{i.strokeStyle=E.fontColor,i.fillStyle=E.fontColor;const w=i.measureText(E.text).width,$=l.textAlign(E.textAlign||(E.textAlign=r.textAlign)),D=m+f+w;let I=p.x,N=p.y;l.setWidth(this.width),P?C>0&&I+D+u>this.right&&(N=p.y+=y,p.line++,I=p.x=fe(o,this.left+u,this.right-s[p.line])):C>0&&N+y>this.bottom&&(I=p.x=I+n[p.line].width+u,p.line++,N=p.y=fe(o,this.top+A+u,this.bottom-n[p.line].height));const Q=l.x(I);if(x(Q,N,E),I=CO($,I+m+f,P?I+D:this.right,t.rtl),S(l.x(I),N,E),P)p.x+=D+u;else if(typeof E.text!="string"){const Y=c.lineHeight;p.y+=lb(E,Y)+u}else p.y+=y}),F_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=oe(n.font),i=ge(n.padding);if(!n.display)return;const o=Ci(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=s.size/2,c=i.top+l;let u,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,d=fe(t.align,d,this.right-f);else{const m=this.columnSizes.reduce((_,v)=>Math.max(_,v.height),0);u=c+fe(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const p=fe(a,d,d+f);r.textAlign=o.textAlign(Ju(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=s.string,Js(r,n.text,p,u,s)}_computeTitleHeight(){const t=this.options.title,n=oe(t.font),s=ge(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(kn(t,this.left,this.right)&&kn(n,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+n.size/2+s.measureText(i).width}function Q2(e,t,n){let s=e;return typeof t.text!="string"&&(s=lb(t,n)),s}function lb(e,t){const n=e.text?e.text.length:0;return t*n}function J2(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var cb={id:"legend",_element:Sp,start(e,t,n){const s=e.legend=new Sp({ctx:e.ctx,options:n,chart:e});Ke.configure(e,s,n),Ke.addBox(e,s)},stop(e){Ke.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;Ke.configure(e,s,n),s.options=n},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,n){const s=t.datasetIndex,i=n.chart;i.isDatasetVisible(s)?(i.hide(s),t.hidden=!0):(i.show(s),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:n,pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=ge(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:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:s||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 ub extends Fn{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,n){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const i=zt(s.text)?s.text.length:1;this._padding=ge(s.padding);const o=i*oe(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:s,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,u,d;return this.isHorizontal()?(u=fe(a,s,o),d=n+t,c=o-s):(r.position==="left"?(u=s+t,d=fe(a,i,n),l=Yt*-.5):(u=o-t,d=fe(a,n,i),l=Yt*.5),c=i-n),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const s=oe(n.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Js(t,n.text,0,0,s,{color:n.color,maxWidth:l,rotation:c,textAlign:Ju(n.align),textBaseline:"middle",translation:[r,a]})}}function Z2(e,t){const n=new ub({ctx:e.ctx,options:t,chart:e});Ke.configure(e,n,t),Ke.addBox(e,n),e.titleBlock=n}var db={id:"title",_element:ub,start(e,t,n){Z2(e,n)},stop(e){const t=e.titleBlock;Ke.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const s=e.titleBlock;Ke.configure(e,s,n),s.options=n},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 wo={average(e){if(!e.length)return!1;let t,n,s=0,i=0,o=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function $I(e,t){const{element:n,datasetIndex:s,index:i}=t,o=e.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[s].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:s,element:n}}function gp(e,t){const n=e.chart.ctx,{body:s,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=ee(t.bodyFont),c=ee(t.titleFont),u=ee(t.footerFont),d=o.length,f=i.length,p=s.length,m=fe(t.padding);let _=m.height,y=0,x=s.reduce((C,v)=>C+v.before.length+v.lines.length+v.after.length,0);if(x+=e.beforeBody.length+e.afterBody.length,d&&(_+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),x){const C=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=p*C+(x-p)*l.lineHeight+(x-1)*t.bodySpacing}f&&(_+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let S=0;const P=function(C){y=Math.max(y,n.measureText(C).width+S)};return n.save(),n.font=c.string,Nt(e.title,P),n.font=l.string,Nt(e.beforeBody.concat(e.afterBody),P),S=t.displayColors?r+2+t.boxPadding:0,Nt(s,C=>{Nt(C.before,P),Nt(C.lines,P),Nt(C.after,P)}),S=0,n.font=u.string,Nt(e.footer,P),n.restore(),y+=m.width,{width:y,height:_}}function LI(e,t){const{y:n,height:s}=t;return ne.height-s/2?"bottom":"center"}function II(e,t,n,s){const{x:i,width:o}=s,r=n.caretSize+n.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function RI(e,t,n,s){const{x:i,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return s==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),II(c,e,t,n)&&(c="center"),c}function mp(e,t,n){const s=n.yAlign||t.yAlign||LI(e,n);return{xAlign:n.xAlign||t.xAlign||RI(e,t,n,s),yAlign:s}}function NI(e,t){let{x:n,width:s}=e;return t==="right"?n-=s:t==="center"&&(n-=s/2),n}function FI(e,t,n){let{y:s,height:i}=e;return t==="top"?s+=n:t==="bottom"?s-=i+n:s-=i/2,s}function _p(e,t,n,s){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=i+o,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Hs(r);let m=NI(t,a);const _=FI(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,f)+i:a==="right"&&(m+=Math.max(d,p)+i),{x:ie(m,0,s.width-t.width),y:ie(_,0,s.height-t.height)}}function Yr(e,t,n){const s=fe(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-s.right:e.x+s.left}function bp(e){return sn([],xn(e))}function BI(e,t,n){return fs(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function yp(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const J_={beforeTitle:bn,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,s=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?J_[t].call(n,s):i}class Dc extends In{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 n=this.chart,s=this.options.setContext(this.getContext()),i=s.enabled&&n.options.animation&&s.animations,o=new P_(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=BI(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:s}=n,i=ye(s,"beforeTitle",this,t),o=ye(s,"title",this,t),r=ye(s,"afterTitle",this,t);let a=[];return a=sn(a,xn(i)),a=sn(a,xn(o)),a=sn(a,xn(r)),a}getBeforeBody(t,n){return bp(ye(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:s}=n,i=[];return Nt(t,o=>{const r={before:[],lines:[],after:[]},a=yp(s,o);sn(r.before,xn(ye(a,"beforeLabel",this,o))),sn(r.lines,ye(a,"label",this,o)),sn(r.after,xn(ye(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,n){return bp(ye(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:s}=n,i=ye(s,"beforeFooter",this,t),o=ye(s,"footer",this,t),r=ye(s,"afterFooter",this,t);let a=[];return a=sn(a,xn(i)),a=sn(a,xn(o)),a=sn(a,xn(r)),a}_createItems(t){const n=this._active,s=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;lt.filter(u,d,f,s))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,s))),Nt(a,u=>{const d=yp(t.callbacks,u);i.push(ye(d,"labelColor",this,u)),o.push(ye(d,"labelPointStyle",this,u)),r.push(ye(d,"labelTextColor",this,u))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const s=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=_o[s.position].call(this,i,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=gp(this,s),c=Object.assign({},a,l),u=mp(this.chart,s,c),d=_p(s,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,s,i){const o=this.getCaretPosition(t,s,i);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,s){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=Hs(a),{x:f,y:p}=t,{width:m,height:_}=n;let y,x,S,P,C,v;return o==="center"?(C=p+_/2,i==="left"?(y=f,x=y-r,P=C+r,v=C-r):(y=f+m,x=y+r,P=C-r,v=C+r),S=y):(i==="left"?x=f+Math.max(l,u)+r:i==="right"?x=f+m-Math.max(c,d)-r:x=this.caretX,o==="top"?(P=p,C=P-r,y=x-r,S=x+r):(P=p+_,C=P+r,y=x+r,S=x-r),v=P),{x1:y,x2:x,x3:S,y1:P,y2:C,y3:v}}drawTitle(t,n,s){const i=this.title,o=i.length;let r,a,l;if(o){const c=yi(s.rtl,this.x,this.width);for(t.x=Yr(this,s.titleAlign,s),n.textAlign=c.textAlign(s.titleAlign),n.textBaseline="middle",r=ee(s.titleFont),a=s.titleSpacing,n.fillStyle=s.titleColor,n.font=r.string,l=0;lS!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Go(t,{x:_,y:m,w:c,h:l,radius:x}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Go(t,{x:y,y:m+1,w:c-2,h:l-2,radius:x}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(_,m,c,l),t.strokeRect(_,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(y,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,n,s){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=s,d=ee(s.bodyFont);let f=d.lineHeight,p=0;const m=yi(s.rtl,this.x,this.width),_=function(w){n.fillText(w,m.x(t.x+p),t.y+f/2),t.y+=f+o},y=m.textAlign(r);let x,S,P,C,v,E,A;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=Yr(this,y,s),n.fillStyle=s.bodyColor,Nt(this.beforeBody,_),p=a&&y!=="right"?r==="center"?c/2+u:c+2+u:0,C=0,E=i.length;C0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,s=this.$animations,i=s&&s.x,o=s&&s.y;if(i||o){const r=_o[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=gp(this,t),l=Object.assign({},r,this._size),c=mp(n,t,l),u=_p(t,l,c,n);(i._to!==u.x||o._to!==u.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,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(n);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=fe(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,i,n),E_(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),S_(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const s=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=!ba(s,i),r=this._positionChanged(i,n);(o||r)&&(this._active=i,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,s=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,s),a=this._positionChanged(r,t),l=n||!ba(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,s,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:s,caretY:i,options:o}=this,r=_o[o.position].call(this,t,n);return r!==!1&&(s!==r.x||i!==r.y)}}st(Dc,"positioners",_o);var Z_={id:"tooltip",_element:Dc,positioners:_o,afterInit(e,t,n){n&&(e.tooltip=new Dc({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,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:J_},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 VI=(e,t,n,s)=>(typeof t=="string"?(n=e.push(t)-1,s.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function HI(e,t,n,s){const i=e.indexOf(t);if(i===-1)return VI(e,t,n,s);const o=e.lastIndexOf(t);return i!==o?n:i}const jI=(e,t)=>e===null?null:ie(Math.round(e),0,t);function vp(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}st(Aa,"id","category"),st(Aa,"defaults",{ticks:{callback:vp}});function WI(e,t){const n=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:f}=e,p=o||1,m=u-1,{min:_,max:y}=t,x=!Lt(r),S=!Lt(a),P=!Lt(c),C=(y-_)/(d+1);let v=mf((y-_)/m/p)*p,E,A,w,k;if(v<1e-14&&!x&&!S)return[{value:_},{value:y}];k=Math.ceil(y/v)-Math.floor(_/v),k>m&&(v=mf(k*v/m/p)*p),Lt(l)||(E=Math.pow(10,l),v=Math.ceil(v*E)/E),i==="ticks"?(A=Math.floor(_/v)*v,w=Math.ceil(y/v)*v):(A=_,w=y),x&&S&&o&&JO((a-r)/o,v/1e3)?(k=Math.round(Math.min((a-r)/v,u)),v=(a-r)/k,A=r,w=a):P?(A=x?r:A,w=S?a:w,k=c-1,v=(w-A)/k):(k=(w-A)/v,To(k,Math.round(k),v/1e3)?k=Math.round(k):k=Math.ceil(k));const $=Math.max(_f(v),_f(A));E=Math.pow(10,Lt(l)?$:l),A=Math.round(A*E)/E,w=Math.round(w*E)/E;let L=0;for(x&&(f&&A!==r?(n.push({value:r}),Aa)break;n.push({value:N})}return S&&f&&w!==a?n.length&&To(n[n.length-1].value,a,xp(a,C,e))?n[n.length-1].value=a:n.push({value:a}):(!S||w===a)&&n.push({value:w}),n}function xp(e,t,{horizontal:n,minRotation:s}){const i=Je(s),o=(n?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class Ta extends Xs{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,n){return Lt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:s}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=n?i:l,a=l=>o=s?o:l;if(t){const l=dn(i),c=dn(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:n,stepSize:s}=t,i;return s?(i=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),n=n||11),n&&(i=Math.min(n,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const i={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=WI(i,o);return t.bounds==="ticks"&&r_(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 n=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const i=(s-n)/Math.max(t.length-1,1)/2;n-=i,s+=i}this._startValue=n,this._endValue=s,this._valueRange=s-n}getLabelForValue(t){return ar(t,this.chart.options.locale,this.options.ticks.format)}}class Pa extends Ta{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=qt(t)?t:0,this.max=qt(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,s=Je(this.options.ticks.minRotation),i=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/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}}st(Pa,"id","linear"),st(Pa,"defaults",{ticks:{callback:nl.formatters.numeric}});const Qo=e=>Math.floor(Qn(e)),ks=(e,t)=>Math.pow(10,Qo(e)+t);function wp(e){return e/Math.pow(10,Qo(e))===1}function Ep(e,t,n){const s=Math.pow(10,n),i=Math.floor(e/s);return Math.ceil(t/s)-i}function zI(e,t){const n=t-e;let s=Qo(n);for(;Ep(e,t,s)>10;)s++;for(;Ep(e,t,s)<10;)s--;return Math.min(s,Qo(e))}function UI(e,{min:t,max:n}){t=Te(e.min,t);const s=[],i=Qo(t);let o=zI(t,n),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,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,o)),f=Te(e.min,Math.round((l+u+d*Math.pow(10,o))*r)/r);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,r=o>=0?1:r),f=Math.round((l+u+d*Math.pow(10,o))*r)/r;const p=Te(e.max,f);return s.push({value:p,major:wp(p),significand:d}),s}class Ma extends Xs{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const s=Ta.prototype.parse.apply(this,[t,n]);if(s===0){this._zero=!0;return}return qt(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=qt(t)?Math.max(0,t):null,this.max=qt(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!qt(this._userMin)&&(this.min=t===ks(this.min,0)?ks(this.min,-1):ks(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let s=this.min,i=this.max;const o=a=>s=t?s:a,r=a=>i=n?i:a;s===i&&(s<=0?(o(1),r(10)):(o(ks(s,-1)),r(ks(i,1)))),s<=0&&o(ks(i,-1)),i<=0&&r(ks(s,1)),this.min=s,this.max=i}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},s=UI(n,this);return t.bounds==="ticks"&&r_(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":ar(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Qn(t),this._valueRange=Qn(this.max)-Qn(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Qn(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}st(Ma,"id","logarithmic"),st(Ma,"defaults",{ticks:{callback:nl.formatters.logarithmic,major:{enabled:!0}}});function $c(e){const t=e.ticks;if(t.display&&e.display){const n=fe(t.backdropPadding);return yt(t.font&&t.font.size,Gt.font.size)+n.height}return 0}function KI(e,t,n){return n=Ht(n)?n:[n],{w:gD(e,t.string,n),h:n.length*t.lineHeight}}function Sp(e,t,n,s,i){return e===s||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function YI(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},n=Object.assign({},t),s=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?Wt/o:0;for(let l=0;lt.r&&(a=(s.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 GI(e,t,n){const s=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=n,l=e.getPointPosition(t,s+i+r,o),c=Math.round(Hu(Me(l.angle+Xt))),u=tR(l.y,a.h,c),d=JI(c),f=ZI(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:f,top:u,right:f+a.w,bottom:u+a.h}}function XI(e,t){if(!t)return!0;const{left:n,top:s,right:i,bottom:o}=e;return!(Pn({x:n,y:s},t)||Pn({x:n,y:o},t)||Pn({x:i,y:s},t)||Pn({x:i,y:o},t))}function QI(e,t,n){const s=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:$c(o)/2,additionalAngle:r?Wt/i:0};let c;for(let u=0;u270||n<90)&&(e-=t),e}function eR(e,t,n){const{left:s,top:i,right:o,bottom:r}=n,{backdropColor:a}=t;if(!Lt(a)){const l=Hs(t.borderRadius),c=fe(t.backdropPadding);e.fillStyle=a;const u=s-c.left,d=i-c.top,f=o-s+c.width,p=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Go(e,{x:u,y:d,w:f,h:p,radius:l}),e.fill()):e.fillRect(u,d,f,p)}}function nR(e,t){const{ctx:n,options:{pointLabels:s}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=s.setContext(e.getPointLabelContext(i));eR(n,r,o);const a=ee(r.font),{x:l,y:c,textAlign:u}=o;Ys(n,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:u,textBaseline:"middle"})}}function tb(e,t,n,s){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,jt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=Bt(this.options.pointLabels.callback,[n,s],this);return i||i===0?i:""}).filter((n,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?YI(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,s,i){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((s-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,s,i))}getIndexAngle(t){const n=jt/(this._pointLabels.length||1),s=this.options.startAngle||0;return Me(t*n+Je(s))}getDistanceFromCenterForValue(t){if(Lt(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(Lt(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(d!==0){l=this.getDistanceFromCenterForValue(u.value);const f=this.getContext(d),p=i.setContext(f),m=o.setContext(f);sR(this,p,l,r,m)}}),s.display){for(t.save(),a=r-1;a>=0;a--){const u=s.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:f}=u;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.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,n=this.options,s=n.ticks;if(!s.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&&!n.reverse)return;const c=s.setContext(this.getContext(l)),u=ee(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=fe(c.backdropPadding);t.fillRect(-r/2-d.left,-o-u.size/2-d.top,r+d.width,u.size+d.height)}Ys(t,a.label,0,-o,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}st(pi,"id","radialLinear"),st(pi,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:nl.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),st(pi,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),st(pi,"descriptors",{angleLines:{_fallback:"grid"}});const rl={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}},xe=Object.keys(rl);function Cp(e,t){return e-t}function Ap(e,t){if(Lt(t))return null;const n=e._adapter,{parser:s,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),qt(r)||(r=typeof s=="string"?n.parse(r,s):n.parse(r)),r===null?null:(i&&(r=i==="week"&&(Hi(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,i)),+r)}function Tp(e,t,n,s){const i=xe.length;for(let o=xe.indexOf(e);o=xe.indexOf(n);o--){const r=xe[o];if(rl[r].common&&e._adapter.diff(i,s,r)>=t-1)return r}return xe[n?xe.indexOf(n):0]}function rR(e){for(let t=xe.indexOf(e)+1,n=xe.length;t=t?n[s]:n[i];e[o]=!0}}function aR(e,t,n,s){const i=e._adapter,o=+i.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,s))l=n[a],l>=0&&(t[l].major=!0);return t}function Mp(e,t,n){const s=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let n=0,s=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?n=1-i:n=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=ie(n,0,r),s=ie(s,0,r),this._offsets={start:n,end:s,factor:1/(n+1+s)}}_generate(){const t=this._adapter,n=this.min,s=this.max,i=this.options,o=i.time,r=o.unit||Tp(o.minUnit,n,s,this._getLabelCapacity(n)),a=yt(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Hi(l)||l===!0,u={};let d=n,f,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,n,r)>1e5*a)throw new Error(n+" and "+s+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(f=d,p=0;f+_)}getLabelForValue(t){const n=this._adapter,s=this.options.time;return s.tooltipFormat?n.format(t,s.tooltipFormat):n.format(t,s.displayFormats.datetime)}format(t,n){const i=this.options.time.displayFormats,o=this._unit,r=n||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,s,i){const o=this.options,r=o.ticks.callback;if(r)return Bt(r,[t,n,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],f=s[n],p=c&&d&&f&&f.major;return this._adapter.format(t,i||(p?d:u))}generateTickLabels(t){let n,s,i;for(n=0,s=t.length;n0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,s;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(n=0,s=i.length;n=e[s].pos&&t<=e[i].pos&&({lo:s,hi:i}=Tn(e,"pos",t)),{pos:o,time:a}=e[s],{pos:r,time:l}=e[i]):(t>=e[s].time&&t<=e[i].time&&({lo:s,hi:i}=Tn(e,"time",t)),{time:o,pos:a}=e[s],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class ka extends zi{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=qr(n,this.min),this._tableRange=qr(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:s}=this,i=[],o=[];let r,a,l,c,u;for(r=0,a=t.length;r=n&&c<=s&&i.push(c);if(i.length<2)return[{time:n,pos:0},{time:s,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),s=this.getLabelTimestamps();return n.length&&s.length?t=this.normalize(n.concat(s)):t=n.length?n:s,t=this._cache.all=t,t}getDecimalForValue(t){return(qr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,s=this.getDecimalForPixel(t)/n.factor-n.end;return qr(this._table,s*this._tableRange+this._minPos,!0)}}st(ka,"id","timeseries"),st(ka,"defaults",zi.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}},lR={ariaLabel:{type:String},ariaDescribedby:{type:String}},cR={type:{type:String,required:!0},...eb,...lR},uR=um[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function ci(e){return Ba(e)?Tt(e):e}function dR(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Ba(t)?new Proxy(e,{}):e}function hR(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function nb(e,t){e.labels=t}function sb(e,t,n){const s=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[n]===i[n]);return!o||!i.data||s.includes(o)?{...i}:(s.push(o),Object.assign(o,i),o)})}function fR(e,t){const n={labels:[],datasets:[]};return nb(n,e.labels),sb(n,e.datasets,t),n}const pR=Wa({props:cR,setup(e,t){let{expose:n,slots:s}=t;const i=Pi(null),o=hu(null);n({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:u,options:d,plugins:f,datasetIdKey:p}=e,m=fR(u,p),_=dR(m,u);o.value=new cr(i.value,{type:c,data:_,options:{...d},plugins:f})},a=()=>{const c=Tt(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return xu(r),wu(a),Bs([()=>e.options,()=>e.data],(c,u)=>{let[d,f]=c,[p,m]=u;const _=Tt(o.value);if(!_)return;let y=!1;if(d){const x=ci(d),S=ci(p);x&&x!==S&&(hR(_,x),y=!0)}if(f){const x=ci(f.labels),S=ci(m.labels),P=ci(f.datasets),C=ci(m.datasets);x!==S&&(nb(_.config.data,x),y=!0),P&&P!==C&&(sb(_.config.data,P,e.datasetIdKey),y=!0)}y&&Va(()=>{l(_)})},{deep:!0}),()=>Di("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Di("p",{},[s.default?s.default():""])])}});function ib(e,t){return cr.register(t),Wa({props:eb,setup(n,s){let{expose:i}=s;const o=hu(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Di(pR,uR({ref:r},{type:e,...n}))}})}const gR=ib("bar",vi),mR=ib("line",xi);function $n(e){return Array.isArray?Array.isArray(e):ab(e)==="[object Array]"}const _R=1/0;function bR(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-_R?"-0":t}function yR(e){return e==null?"":bR(e)}function ln(e){return typeof e=="string"}function ob(e){return typeof e=="number"}function vR(e){return e===!0||e===!1||xR(e)&&ab(e)=="[object Boolean]"}function rb(e){return typeof e=="object"}function xR(e){return rb(e)&&e!==null}function ke(e){return e!=null}function Ql(e){return!e.trim().length}function ab(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const wR="Incorrect 'index' type",ER=e=>`Invalid value for key ${e}`,SR=e=>`Pattern length exceeds max of ${e}.`,CR=e=>`Missing ${e} property in key`,AR=e=>`Property 'weight' in key '${e}' must be a positive integer`,kp=Object.prototype.hasOwnProperty;class TR{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(s=>{let i=lb(s);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight}),this._keys.forEach(s=>{s.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function lb(e){let t=null,n=null,s=null,i=1,o=null;if(ln(e)||$n(e))s=e,t=Op(e),n=Lc(e);else{if(!kp.call(e,"name"))throw new Error(CR("name"));const r=e.name;if(s=r,kp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(AR(r));t=Op(r),n=Lc(r),o=e.getFn}return{path:t,id:n,weight:i,src:s,getFn:o}}function Op(e){return $n(e)?e:e.split(".")}function Lc(e){return $n(e)?e.join("."):e}function PR(e,t){let n=[],s=!1;const i=(o,r,a)=>{if(ke(o))if(!r[a])n.push(o);else{let l=r[a];const c=o[l];if(!ke(c))return;if(a===r.length-1&&(ln(c)||ob(c)||vR(c)))n.push(yR(c));else if($n(c)){s=!0;for(let u=0,d=c.length;ue.score===t.score?e.idx{this._keysMap[n.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ln(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();ln(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,s=this.size();n{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(ke(r)){if($n(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(ke(u))if(ln(u)&&!Ql(u)){let d={v:u,i:c,n:this.norm.get(u)};a.push(d)}else $n(u)&&u.forEach((d,f)=>{l.push({nestedArrIndex:f,value:d})})}s.$[o]=a}else if(ln(r)&&!Ql(r)){let a={v:r,n:this.norm.get(r)};s.$[o]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function cb(e,t,{getFn:n=_t.getFn,fieldNormWeight:s=_t.fieldNormWeight}={}){const i=new Zu({getFn:n,fieldNormWeight:s});return i.setKeys(e.map(lb)),i.setSources(t),i.create(),i}function IR(e,{getFn:t=_t.getFn,fieldNormWeight:n=_t.fieldNormWeight}={}){const{keys:s,records:i}=e,o=new Zu({getFn:t,fieldNormWeight:n});return o.setKeys(s),o.setIndexRecords(i),o}function Gr(e,{errors:t=0,currentLocation:n=0,expectedLocation:s=0,distance:i=_t.distance,ignoreLocation:o=_t.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(s-n);return i?r+a/i:a?1:r}function RR(e=[],t=_t.minMatchCharLength){let n=[],s=-1,i=-1,o=0;for(let r=e.length;o=t&&n.push([s,i]),s=-1)}return e[o-1]&&o-s>=t&&n.push([s,o-1]),n}const Ls=32;function NR(e,t,n,{location:s=_t.location,distance:i=_t.distance,threshold:o=_t.threshold,findAllMatches:r=_t.findAllMatches,minMatchCharLength:a=_t.minMatchCharLength,includeMatches:l=_t.includeMatches,ignoreLocation:c=_t.ignoreLocation}={}){if(t.length>Ls)throw new Error(SR(Ls));const u=t.length,d=e.length,f=Math.max(0,Math.min(s,d));let p=o,m=f;const _=a>1||l,y=_?Array(d):[];let x;for(;(x=e.indexOf(t,m))>-1;){let A=Gr(t,{currentLocation:x,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(A,p),m=x+u,_){let w=0;for(;w=$;Y-=1){let H=Y-1,R=n[e.charAt(H)];if(_&&(y[H]=+!!R),N[Y]=(N[Y+1]<<1|1)&R,A&&(N[Y]|=(S[Y+1]|S[Y])<<1|1|S[Y+1]),N[Y]&v&&(P=Gr(t,{errors:A,currentLocation:H,expectedLocation:f,distance:i,ignoreLocation:c}),P<=p)){if(p=P,m=H,m<=f)break;$=Math.max(1,2*f-m)}}if(Gr(t,{errors:A+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;S=N}const E={isMatch:m>=0,score:Math.max(.001,P)};if(_){const A=RR(y,a);A.length?l&&(E.indices=A):E.isMatch=!1}return E}function FR(e){let t={};for(let n=0,s=e.length;n{this.chunks.push({pattern:f,alphabet:FR(f),startIndex:p})},d=this.pattern.length;if(d>Ls){let f=0;const p=d%Ls,m=d-p;for(;f{const{isMatch:x,score:S,indices:P}=NR(t,m,_,{location:i+y,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:s,ignoreLocation:c});x&&(f=!0),d+=S,x&&P&&(u=[...u,...P])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&s&&(p.indices=u),p}}class ps{constructor(t){this.pattern=t}static isMultiMatch(t){return Dp(t,this.multiRegex)}static isSingleMatch(t){return Dp(t,this.singleRegex)}search(){}}function Dp(e,t){const n=e.match(t);return n?n[1]:null}class BR extends ps{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class VR extends ps{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const s=t.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class HR extends ps{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class jR extends ps{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class WR extends ps{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class zR extends ps{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class db extends ps{constructor(t,{location:n=_t.location,threshold:s=_t.threshold,distance:i=_t.distance,includeMatches:o=_t.includeMatches,findAllMatches:r=_t.findAllMatches,minMatchCharLength:a=_t.minMatchCharLength,isCaseSensitive:l=_t.isCaseSensitive,ignoreLocation:c=_t.ignoreLocation}={}){super(t),this._bitapSearch=new ub(t,{location:n,threshold:s,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 hb extends ps{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,s;const i=[],o=this.pattern.length;for(;(s=t.indexOf(this.pattern,n))>-1;)n=s+o,i.push([s,n-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Ic=[BR,hb,HR,jR,zR,WR,VR,db],$p=Ic.length,UR=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,KR="|";function YR(e,t={}){return e.split(KR).map(n=>{let s=n.trim().split(UR).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=s.length;o!!(e[Oa.AND]||e[Oa.OR]),QR=e=>!!e[Fc.PATH],JR=e=>!$n(e)&&rb(e)&&!Bc(e),Lp=e=>({[Oa.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function fb(e,t,{auto:n=!0}={}){const s=i=>{let o=Object.keys(i);const r=QR(i);if(!r&&o.length>1&&!Bc(i))return s(Lp(i));if(JR(i)){const l=r?i[Fc.PATH]:o[0],c=r?i[Fc.PATTERN]:i[l];if(!ln(c))throw new Error(ER(l));const u={keyId:Lc(l),pattern:c};return n&&(u.searcher=Nc(c,t)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];$n(c)&&c.forEach(u=>{a.children.push(s(u))})}),a};return Bc(e)||(e=Lp(e)),s(e)}function ZR(e,{ignoreFieldNorm:t=_t.ignoreFieldNorm}){e.forEach(n=>{let s=1;n.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;s*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),n.score=s})}function t2(e,t){const n=e.matches;t.matches=[],ke(n)&&n.forEach(s=>{if(!ke(s.indices)||!s.indices.length)return;const{indices:i,value:o}=s;let r={indices:i,value:o};s.key&&(r.key=s.key.src),s.idx>-1&&(r.refIndex=s.idx),t.matches.push(r)})}function e2(e,t){t.score=e.score}function n2(e,t,{includeMatches:n=_t.includeMatches,includeScore:s=_t.includeScore}={}){const i=[];return n&&i.push(t2),s&&i.push(e2),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class Ji{constructor(t,n={},s){this.options={..._t,...n},this.options.useExtendedSearch,this._keyStore=new TR(this.options.keys),this.setCollection(t,s)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Zu))throw new Error(wR);this._myIndex=n||cb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){ke(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let s=0,i=this._docs.length;s-1&&(l=l.slice(0,n)),n2(l,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(t){const n=Nc(t,this.options),{records:s}=this._myIndex,i=[];return s.forEach(({v:o,i:r,n:a})=>{if(!ke(o))return;const{isMatch:l,score:c,indices:u}=n.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:u}]})}),i}_searchLogical(t){const n=fb(t,this.options),s=(a,l,c)=>{if(!a.children){const{keyId:d,searcher:f}=a,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(l,d),searcher:f});return p&&p.length?[{idx:c,item:l,matches:p}]:[]}const u=[];for(let d=0,f=a.children.length;d{if(ke(a)){let c=s(n,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:u})=>{o[l].matches.push(...u)}))}}),r}_searchObjectList(t){const n=Nc(t,this.options),{keys:s,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!ke(r))return;let l=[];s.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:n,searcher:s}){if(!ke(n))return[];let i=[];if($n(n))n.forEach(({v:o,i:r,n:a})=>{if(!ke(o))return;const{isMatch:l,score:c,indices:u}=s.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:u})});else{const{v:o,n:r}=n,{isMatch:a,score:l,indices:c}=s.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}Ji.version="7.0.0";Ji.createIndex=cb;Ji.parseIndex=IR;Ji.config=_t;Ji.parseQuery=fb;XR(GR);var pb={exports:{}};(function(e,t){(function(n,s){e.exports=s()})(Rp,function(){var n=1e3,s=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",m="date",_="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|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(Y){var H=["th","st","nd","rd"],R=Y%100;return"["+Y+(H[(R-20)%10]||H[R]||H[0])+"]"}},P=function(Y,H,R){var W=String(Y);return!W||W.length>=H?Y:""+Array(H+1-W.length).join(R)+Y},C={s:P,z:function(Y){var H=-Y.utcOffset(),R=Math.abs(H),W=Math.floor(R/60),U=R%60;return(H<=0?"+":"-")+P(W,2,"0")+":"+P(U,2,"0")},m:function Y(H,R){if(H.date()1)return Y(lt[0])}else{var pt=H.name;E[pt]=H,U=pt}return!W&&U&&(v=U),U||!W&&v},$=function(Y,H){if(w(Y))return Y.clone();var R=typeof H=="object"?H:{};return R.date=Y,R.args=arguments,new N(R)},L=C;L.l=k,L.i=w,L.w=function(Y,H){return $(Y,{locale:H.$L,utc:H.$u,x:H.$x,$offset:H.$offset})};var N=function(){function Y(R){this.$L=k(R.locale,null,!0),this.parse(R),this.$x=this.$x||R.x||{},this[A]=!0}var H=Y.prototype;return H.parse=function(R){this.$d=function(W){var U=W.date,it=W.utc;if(U===null)return new Date(NaN);if(L.u(U))return new Date;if(U instanceof Date)return new Date(U);if(typeof U=="string"&&!/Z$/i.test(U)){var lt=U.match(y);if(lt){var pt=lt[2]-1||0,ft=(lt[7]||"0").substring(0,3);return it?new Date(Date.UTC(lt[1],pt,lt[3]||1,lt[4]||0,lt[5]||0,lt[6]||0,ft)):new Date(lt[1],pt,lt[3]||1,lt[4]||0,lt[5]||0,lt[6]||0,ft)}}return new Date(U)}(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 L},H.isValid=function(){return this.$d.toString()!==_},H.isSame=function(R,W){var U=$(R);return this.startOf(W)<=U&&U<=this.endOf(W)},H.isAfter=function(R,W){return $(R){t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){Ce("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})}}},o2={class:"d-flex gap-2 mb-3 z-3"},r2={class:"dropdown"},a2=g("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[g("i",{class:"bi bi-filter-circle me-2"}),xt(" Sort ")],-1),l2={class:"dropdown-menu mt-2 shadow-lg"},c2=["onClick"],u2={class:"me-auto"},d2={key:0,class:"bi bi-check"},h2={class:"dropdown"},f2=g("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[g("i",{class:"bi bi-arrow-repeat me-2"}),xt("Refresh Interval ")],-1),p2={class:"dropdown-menu"},g2=["onClick"],m2={class:"me-auto"},_2={key:0,class:"bi bi-check"},b2={class:"ms-auto d-flex align-items-center"},y2=g("label",{class:"d-flex me-2 text-muted",for:"searchPeers"},[g("i",{class:"bi bi-search me-1"})],-1);function v2(e,t,n,s,i,o){return ot(),ct("div",o2,[g("div",r2,[a2,g("ul",l2,[(ot(!0),ct(Jt,null,Mi(this.sort,(r,a)=>(ot(),ct("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>this.updateSort(a)},[g("span",u2,Ct(r),1),s.store.Configuration.Server.dashboard_sort===a?(ot(),ct("i",d2)):oe("",!0)],8,c2)]))),256))])]),g("div",h2,[f2,g("ul",p2,[(ot(!0),ct(Jt,null,Mi(this.interval,(r,a)=>(ot(),ct("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>o.updateRefreshInterval(a)},[g("span",m2,Ct(r),1),s.store.Configuration.Server.dashboard_refresh_interval===a?(ot(),ct("i",_2)):oe("",!0)],8,g2)]))),256))])]),g("div",b2,[y2,kt(g("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[0]||(t[0]=r=>this.wireguardConfigurationStore.searchString=r)},null,512),[[Ot,this.wireguardConfigurationStore.searchString]])])])}const x2=Ut(i2,[["render",v2]]),w2={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:re()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,Ce(`/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})})}},_e=e=>(sr("data-v-6fc123c2"),e=e(),ir(),e),E2={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S2={class:"container d-flex h-100 w-100"},C2={class:"card m-auto rounded-3 shadow",style:{width:"700px"}},A2={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},T2=_e(()=>g("h4",{class:"mb-0"},"Peer Settings",-1)),P2={key:0,class:"card-body px-4 pb-4"},M2={class:"d-flex flex-column gap-2 mb-4"},k2=_e(()=>g("small",{class:"text-muted"},"Public Key",-1)),O2=_e(()=>g("br",null,null,-1)),D2=_e(()=>g("label",{for:"peer_name_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Name")],-1)),$2=["disabled"],L2={class:"d-flex position-relative"},I2=_e(()=>g("label",{for:"peer_private_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},[xt("Private Key "),g("code",null,"(Required for QR Code and Download)")])],-1)),R2=["type","disabled"],N2=_e(()=>g("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[g("small",{class:"text-muted"},[xt("Allowed IPs "),g("code",null,"(Required)")])],-1)),F2=["disabled"],B2=_e(()=>g("label",{for:"peer_DNS_textbox",class:"form-label"},[g("small",{class:"text-muted"},[xt("DNS "),g("code",null,"(Required)")])],-1)),V2=["disabled"],H2=_e(()=>g("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[g("small",{class:"text-muted"},[xt("Endpoint Allowed IPs "),g("code",null,"(Required)")])],-1)),j2=["disabled"],W2=_e(()=>g("hr",null,null,-1)),z2={class:"accordion mt-2",id:"peerSettingsAccordion"},U2={class:"accordion-item"},K2=_e(()=>g("h2",{class:"accordion-header"},[g("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),Y2={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},q2={class:"accordion-body d-flex flex-column gap-2 mb-2"},G2=_e(()=>g("label",{for:"peer_preshared_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Pre-Shared Key")],-1)),X2=["disabled"],Q2=_e(()=>g("label",{for:"peer_mtu",class:"form-label"},[g("small",{class:"text-muted"},"MTU")],-1)),J2=["disabled"],Z2=_e(()=>g("label",{for:"peer_keep_alive",class:"form-label"},[g("small",{class:"text-muted"},"Persistent Keepalive")],-1)),tN=["disabled"],eN={class:"d-flex align-items-center gap-2"},nN=["disabled"],sN=_e(()=>g("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),iN=["disabled"],oN=_e(()=>g("i",{class:"bi bi-save-fill ms-2"},null,-1));function rN(e,t,n,s,i,o){return ot(),ct("div",E2,[g("div",S2,[g("div",C2,[g("div",A2,[T2,g("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(ot(),ct("div",P2,[g("div",M2,[g("div",null,[k2,O2,g("small",null,[g("samp",null,Ct(this.data.id),1)])]),g("div",null,[D2,kt(g("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,$2),[[Ot,this.data.name]])]),g("div",null,[g("div",L2,[I2,g("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[g("i",{class:he(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),kt(g("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,R2),[[hE,this.data.private_key]])]),g("div",null,[N2,kt(g("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,F2),[[Ot,this.data.allowed_ip]])]),g("div",null,[B2,kt(g("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,V2),[[Ot,this.data.DNS]])]),g("div",null,[H2,kt(g("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,j2),[[Ot,this.data.endpoint_allowed_ip]])]),W2,g("div",z2,[g("div",U2,[K2,g("div",Y2,[g("div",q2,[g("div",null,[G2,kt(g("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,X2),[[Ot,this.data.preshared_key]])]),g("div",null,[Q2,kt(g("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,J2),[[Ot,this.data.mtu]])]),g("div",null,[Z2,kt(g("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,tN),[[Ot,this.data.keepalive]])])])])])])]),g("div",eN,[g("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[10]||(t[10]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[xt(" Reset "),sN],8,nN),g("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())},[xt(" Save Peer"),oN],8,iN)])])):oe("",!0)])])])}const aN=Ut(w2,[["render",rN],["__scopeId","data-v-6fc123c2"]]),lN={name:"peerQRCode",props:{peerConfigData:String},mounted(){Xi.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,function(e){e&&console.error(e),console.log("success!")})}},cN=e=>(sr("data-v-e65783b8"),e=e(),ir(),e),uN={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},dN={class:"container d-flex h-100 w-100"},hN={class:"card m-auto rounded-3 shadow"},fN={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},pN=cN(()=>g("h4",{class:"mb-0"},"QR Code",-1)),gN={class:"card-body"},mN={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function _N(e,t,n,s,i,o){return ot(),ct("div",uN,[g("div",dN,[g("div",hN,[g("div",fN,[pN,g("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),g("div",gN,[g("canvas",mN,null,512)])])])])}const bN=Ut(lN,[["render",_N],["__scopeId","data-v-e65783b8"]]);cr.register(fi,Mn,Io,Lo,vi,ko,Is,xi,Ea,Oo,Do,$o,Aa,Pa,Ma,pi,zi,ka,z_,Y_,G_,Q_,Z_);const yN={name:"peerList",components:{PeerQRCode:bN,PeerSettings:aN,PeerSearch:x2,Peer:yO,Line:mR,Bar:gR},setup(){const e=re(),t=Gi();return{dashboardConfigurationStore:e,wireguardConfigurationStore:t}},data(){return{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},peerQRCode:{modalOpen:!1,peerConfigData:void 0}}},watch:{"$route.params":{immediate:!0,handler(){clearInterval(this.interval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),this.setInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.interval),this.setInterval()}},beforeRouteLeave(){clearInterval(this.interval)},methods:{getPeers(e){qe("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.loading=!1,this.configurationPeers.length>0){const n=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),s=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==n&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,Ip().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((n-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:" #198754",tension:0}]}),this.historyDataSentDifference.push(n)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==s&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,Ip().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((s-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(s))}})},setInterval(){this.interval=setInterval(()=>{this.getPeers(this.$route.params.id)},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 Ji(this.configurationPeers,{keys:["name","id","allowed_ip"]});return(this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(n=>n.item):this.configurationPeers).slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},le=e=>(sr("data-v-7129ca22"),e=e(),ir(),e),vN={key:0},xN=le(()=>g("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),wN={class:"d-flex align-items-center gap-3"},EN={class:"mb-0"},SN=le(()=>g("div",{class:"dot active ms-0"},null,-1)),CN={class:"row mt-3 gy-2 gx-2 mb-2"},AN={class:"col-6 col-lg-3"},TN={class:"card rounded-3 bg-transparent shadow-sm"},PN={class:"card-body py-2"},MN=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Address")],-1)),kN={class:"col-6 col-lg-3"},ON={class:"card rounded-3 bg-transparent shadow-sm"},DN={class:"card-body py-2"},$N=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Listen Port")],-1)),LN={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},IN={class:"card rounded-3 bg-transparent shadow-sm"},RN={class:"card-body py-2"},NN=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Public Key")],-1)),FN={class:"row gx-2 gy-2 mb-2"},BN={class:"col-6 col-lg-3"},VN={class:"card rounded-3 bg-transparent shadow-sm"},HN={class:"card-body d-flex"},jN=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Connected Peers")],-1)),WN={class:"h4"},zN=le(()=>g("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),UN={class:"col-6 col-lg-3"},KN={class:"card rounded-3 bg-transparent shadow-sm"},YN={class:"card-body d-flex"},qN=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Usage")],-1)),GN={class:"h4"},XN=le(()=>g("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),QN={class:"col-6 col-lg-3"},JN={class:"card rounded-3 bg-transparent shadow-sm"},ZN={class:"card-body d-flex"},tF=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Received")],-1)),eF={class:"h4 text-primary"},nF=le(()=>g("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),sF={class:"col-6 col-lg-3"},iF={class:"card rounded-3 bg-transparent shadow-sm"},oF={class:"card-body d-flex"},rF=le(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Sent")],-1)),aF={class:"h4 text-success"},lF=le(()=>g("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),cF={class:"row gx-2 gy-2 mb-5"},uF={class:"col-12 col-lg-6"},dF={class:"card rounded-3 bg-transparent shadow-sm"},hF=le(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),fF={class:"card-body pt-1"},pF={class:"col-sm col-lg-3"},gF={class:"card rounded-3 bg-transparent shadow-sm"},mF=le(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),_F={class:"card-body pt-1"},bF={class:"col-sm col-lg-3"},yF={class:"card rounded-3 bg-transparent shadow-sm"},vF=le(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),xF={class:"card-body pt-1"},wF={class:"mb-4"},EF=le(()=>g("div",{class:"d-flex align-items-center gap-3 mb-2"},[g("h3",null,"Peers"),g("a",{href:"#",class:"text-decoration-none ms-auto"},[g("i",{class:"bi bi-plus-circle-fill me-2"}),xt("Add Peer")])],-1));function SF(e,t,n,s,i,o){const r=Kt("Bar"),a=Kt("Line"),l=Kt("PeerSearch"),c=Kt("Peer"),u=Kt("PeerSettings"),d=Kt("PeerQRCode");return this.loading?oe("",!0):(ot(),ct("div",vN,[g("div",null,[xN,g("div",wN,[g("h1",EN,[g("samp",null,Ct(this.configurationInfo.Name),1)]),SN])]),g("div",CN,[g("div",AN,[g("div",TN,[g("div",PN,[MN,xt(" "+Ct(this.configurationInfo.Address),1)])])]),g("div",kN,[g("div",ON,[g("div",DN,[$N,xt(" "+Ct(this.configurationInfo.ListenPort),1)])])]),g("div",LN,[g("div",IN,[g("div",RN,[NN,g("samp",null,Ct(this.configurationInfo.PublicKey),1)])])])]),g("div",FN,[g("div",BN,[g("div",VN,[g("div",HN,[g("div",null,[jN,g("strong",WN,Ct(o.configurationSummary.connectedPeers),1)]),zN])])]),g("div",UN,[g("div",KN,[g("div",YN,[g("div",null,[qN,g("strong",GN,Ct(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),XN])])]),g("div",QN,[g("div",JN,[g("div",ZN,[g("div",null,[tF,g("strong",eF,Ct(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),nF])])]),g("div",sF,[g("div",iF,[g("div",oF,[g("div",null,[rF,g("strong",aF,Ct(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),lF])])])]),g("div",cF,[g("div",uF,[g("div",dF,[hF,g("div",fF,[mt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{height:"200px",width:"100%"}},null,8,["data","options"])])])]),g("div",pF,[g("div",gF,[mF,g("div",_F,[mt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])]),g("div",bF,[g("div",yF,[vF,g("div",xF,[mt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])])]),g("div",wF,[EF,mt(l),mt(bm,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Yt(()=>[(ot(!0),ct(Jt,null,Mi(this.searchPeers,f=>(ot(),ct("div",{class:"col-12 col-lg-6 col-xl-4",key:f.id},[mt(c,{Peer:f,onSetting:p=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find(m=>m.id===f.id)},onQrcode:t[0]||(t[0]=p=>{this.peerQRCode.peerConfigData=p,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onSetting"])]))),128))]),_:1})]),mt(Dn,{name:"fade"},{default:Yt(()=>[this.peerSetting.modalOpen?(ot(),Ee(u,{key:0,selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[1]||(t[1]=f=>this.getPeers(this.$route.params.id)),onClose:t[2]||(t[2]=f=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):oe("",!0)]),_:1}),mt(Dn,{name:"fade"},{default:Yt(()=>[i.peerQRCode.modalOpen?(ot(),Ee(d,{key:0,peerConfigData:this.peerQRCode.peerConfigData,onClose:t[3]||(t[3]=f=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):oe("",!0)]),_:1})]))}const gb=Ut(yN,[["render",SF],["__scopeId","data-v-7129ca22"]]);cr.register(fi,Mn,Io,Lo,vi,ko,Is,xi,Ea,Oo,Do,$o,Aa,Pa,Ma,pi,zi,ka,z_,Y_,G_,Q_,Z_);const CF={name:"configuration",components:{PeerList:gb}},AF={class:"mt-5 text-body"};function TF(e,t,n,s,i,o){const r=Kt("RouterView");return ot(),ct("div",AF,[mt(r,null,{default:Yt(({Component:a})=>[mt(Dn,{name:"fade2",mode:"out-in"},{default:Yt(()=>[(ot(),Ee(_u(a)))]),_:2},1024)]),_:1})])}const PF=Ut(CF,[["render",TF]]),MF=async()=>{let e=!1;return await qe("/api/validateAuthentication",{},t=>{e=t.status}),e},td=TS({history:zE(),routes:[{name:"Index",path:"/",component:dC,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:eA,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:WT,meta:{title:"Settings"}},{name:"New Configuration",path:"/new_configuration",component:Lk,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:PF,meta:{title:"Configuration"},children:[{name:"Peers List",path:"",component:gb}]}]},{path:"/signin",component:OC,meta:{title:"Sign In"}},{path:"/welcome",component:yM,meta:{requiresAuth:!0}}]});td.beforeEach(async(e,t,n)=>{const s=Gi(),i=re();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",e.meta.requiresAuth?IS.getCookie("authToken")&&await MF()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):n("/signin"):n()});const ed=mE(LS);ed.use(td);const mb=vE();mb.use(({store:e})=>{e.$router=er(td)});ed.use(mb);ed.mount("#app"); +`):e}function tL(e,t){const{element:n,datasetIndex:s,index:i}=t,o=e.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[s].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:s,element:n}}function Ap(e,t){const n=e.chart.ctx,{body:s,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=oe(t.bodyFont),c=oe(t.titleFont),u=oe(t.footerFont),d=o.length,f=i.length,p=s.length,m=ge(t.padding);let _=m.height,v=0,x=s.reduce((A,y)=>A+y.before.length+y.lines.length+y.after.length,0);if(x+=e.beforeBody.length+e.afterBody.length,d&&(_+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),x){const A=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=p*A+(x-p)*l.lineHeight+(x-1)*t.bodySpacing}f&&(_+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let S=0;const P=function(A){v=Math.max(v,n.measureText(A).width+S)};return n.save(),n.font=c.string,Bt(e.title,P),n.font=l.string,Bt(e.beforeBody.concat(e.afterBody),P),S=t.displayColors?r+2+t.boxPadding:0,Bt(s,A=>{Bt(A.before,P),Bt(A.lines,P),Bt(A.after,P)}),S=0,n.font=u.string,Bt(e.footer,P),n.restore(),v+=m.width,{width:v,height:_}}function eL(e,t){const{y:n,height:s}=t;return ne.height-s/2?"bottom":"center"}function nL(e,t,n,s){const{x:i,width:o}=s,r=n.caretSize+n.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function sL(e,t,n,s){const{x:i,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return s==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),nL(c,e,t,n)&&(c="center"),c}function Cp(e,t,n){const s=n.yAlign||t.yAlign||eL(e,n);return{xAlign:n.xAlign||t.xAlign||sL(e,t,n,s),yAlign:s}}function iL(e,t){let{x:n,width:s}=e;return t==="right"?n-=s:t==="center"&&(n-=s/2),n}function oL(e,t,n){let{y:s,height:i}=e;return t==="top"?s+=n:t==="bottom"?s-=i+n:s-=i/2,s}function Tp(e,t,n,s){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=i+o,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Ks(r);let m=iL(t,a);const _=oL(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,f)+i:a==="right"&&(m+=Math.max(d,p)+i),{x:le(m,0,s.width-t.width),y:le(_,0,s.height-t.height)}}function Jr(e,t,n){const s=ge(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-s.right:e.x+s.left}function Pp(e){return rn([],Sn(e))}function rL(e,t,n){return bs(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function kp(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const hb={beforeTitle:xn,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,s=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?hb[t].call(n,s):i}class Vc extends Fn{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 n=this.chart,s=this.options.setContext(this.getContext()),i=s.enabled&&n.options.animation&&s.animations,o=new j_(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=rL(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:s}=n,i=xe(s,"beforeTitle",this,t),o=xe(s,"title",this,t),r=xe(s,"afterTitle",this,t);let a=[];return a=rn(a,Sn(i)),a=rn(a,Sn(o)),a=rn(a,Sn(r)),a}getBeforeBody(t,n){return Pp(xe(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:s}=n,i=[];return Bt(t,o=>{const r={before:[],lines:[],after:[]},a=kp(s,o);rn(r.before,Sn(xe(a,"beforeLabel",this,o))),rn(r.lines,xe(a,"label",this,o)),rn(r.after,Sn(xe(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,n){return Pp(xe(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:s}=n,i=xe(s,"beforeFooter",this,t),o=xe(s,"footer",this,t),r=xe(s,"afterFooter",this,t);let a=[];return a=rn(a,Sn(i)),a=rn(a,Sn(o)),a=rn(a,Sn(r)),a}_createItems(t){const n=this._active,s=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;lt.filter(u,d,f,s))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,s))),Bt(a,u=>{const d=kp(t.callbacks,u);i.push(xe(d,"labelColor",this,u)),o.push(xe(d,"labelPointStyle",this,u)),r.push(xe(d,"labelTextColor",this,u))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const s=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=wo[s.position].call(this,i,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=Ap(this,s),c=Object.assign({},a,l),u=Cp(this.chart,s,c),d=Tp(s,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,s,i){const o=this.getCaretPosition(t,s,i);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,s){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=Ks(a),{x:f,y:p}=t,{width:m,height:_}=n;let v,x,S,P,A,y;return o==="center"?(A=p+_/2,i==="left"?(v=f,x=v-r,P=A+r,y=A-r):(v=f+m,x=v+r,P=A-r,y=A+r),S=v):(i==="left"?x=f+Math.max(l,u)+r:i==="right"?x=f+m-Math.max(c,d)-r:x=this.caretX,o==="top"?(P=p,A=P-r,v=x-r,S=x+r):(P=p+_,A=P+r,v=x+r,S=x-r),y=P),{x1:v,x2:x,x3:S,y1:P,y2:A,y3:y}}drawTitle(t,n,s){const i=this.title,o=i.length;let r,a,l;if(o){const c=Ci(s.rtl,this.x,this.width);for(t.x=Jr(this,s.titleAlign,s),n.textAlign=c.textAlign(s.titleAlign),n.textBaseline="middle",r=oe(s.titleFont),a=s.titleSpacing,n.fillStyle=s.titleColor,n.font=r.string,l=0;lS!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,tr(t,{x:_,y:m,w:c,h:l,radius:x}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),tr(t,{x:v,y:m+1,w:c-2,h:l-2,radius:x}),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[s]}drawBody(t,n,s){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=s,d=oe(s.bodyFont);let f=d.lineHeight,p=0;const m=Ci(s.rtl,this.x,this.width),_=function(w){n.fillText(w,m.x(t.x+p),t.y+f/2),t.y+=f+o},v=m.textAlign(r);let x,S,P,A,y,E,C;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=Jr(this,v,s),n.fillStyle=s.bodyColor,Bt(this.beforeBody,_),p=a&&v!=="right"?r==="center"?c/2+u:c+2+u:0,A=0,E=i.length;A0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,s=this.$animations,i=s&&s.x,o=s&&s.y;if(i||o){const r=wo[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ap(this,t),l=Object.assign({},r,this._size),c=Cp(n,t,l),u=Tp(t,l,c,n);(i._to!==u.x||o._to!==u.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,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(n);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=ge(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,i,n),N_(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),F_(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const s=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=!Ea(s,i),r=this._positionChanged(i,n);(o||r)&&(this._active=i,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,s=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,s),a=this._positionChanged(r,t),l=n||!Ea(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,s,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:s,caretY:i,options:o}=this,r=wo[o.position].call(this,t,n);return r!==!1&&(s!==r.x||i!==r.y)}}it(Vc,"positioners",wo);var fb={id:"tooltip",_element:Vc,positioners:wo,afterInit(e,t,n){n&&(e.tooltip=new Vc({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,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:hb},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 aL=(e,t,n,s)=>(typeof t=="string"?(n=e.push(t)-1,s.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function lL(e,t,n,s){const i=e.indexOf(t);if(i===-1)return aL(e,t,n,s);const o=e.lastIndexOf(t);return i!==o?n:i}const cL=(e,t)=>e===null?null:le(Math.round(e),0,t);function $p(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}it(Ma,"id","category"),it(Ma,"defaults",{ticks:{callback:$p}});function uL(e,t){const n=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:f}=e,p=o||1,m=u-1,{min:_,max:v}=t,x=!It(r),S=!It(a),P=!It(c),A=(v-_)/(d+1);let y=Cf((v-_)/m/p)*p,E,C,w,$;if(y<1e-14&&!x&&!S)return[{value:_},{value:v}];$=Math.ceil(v/y)-Math.floor(_/y),$>m&&(y=Cf($*y/m/p)*p),It(l)||(E=Math.pow(10,l),y=Math.ceil(y*E)/E),i==="ticks"?(C=Math.floor(_/y)*y,w=Math.ceil(v/y)*y):(C=_,w=v),x&&S&&o&&vO((a-r)/o,y/1e3)?($=Math.round(Math.min((a-r)/y,u)),y=(a-r)/$,C=r,w=a):P?(C=x?r:C,w=S?a:w,$=c-1,y=(w-C)/$):($=(w-C)/y,Oo($,Math.round($),y/1e3)?$=Math.round($):$=Math.ceil($));const D=Math.max(Tf(y),Tf(C));E=Math.pow(10,It(l)?D:l),C=Math.round(C*E)/E,w=Math.round(w*E)/E;let I=0;for(x&&(f&&C!==r?(n.push({value:r}),Ca)break;n.push({value:N})}return S&&f&&w!==a?n.length&&Oo(n[n.length-1].value,a,Mp(a,A,e))?n[n.length-1].value=a:n.push({value:a}):(!S||w===a)&&n.push({value:w}),n}function Mp(e,t,{horizontal:n,minRotation:s}){const i=tn(s),o=(n?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class Oa extends si{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,n){return It(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:s}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=n?i:l,a=l=>o=s?o:l;if(t){const l=fn(i),c=fn(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:n,stepSize:s}=t,i;return s?(i=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),n=n||11),n&&(i=Math.min(n,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const i={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=uL(i,o);return t.bounds==="ticks"&&y_(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 n=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const i=(s-n)/Math.max(t.length-1,1)/2;n-=i,s+=i}this._startValue=n,this._endValue=s,this._valueRange=s-n}getLabelForValue(t){return dr(t,this.chart.options.locale,this.options.ticks.format)}}class Da extends Oa{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Jt(t)?t:0,this.max=Jt(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,s=tn(this.options.ticks.minRotation),i=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/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}}it(Da,"id","linear"),it(Da,"defaults",{ticks:{callback:cl.formatters.numeric}});const nr=e=>Math.floor(es(e)),Ls=(e,t)=>Math.pow(10,nr(e)+t);function Op(e){return e/Math.pow(10,nr(e))===1}function Dp(e,t,n){const s=Math.pow(10,n),i=Math.floor(e/s);return Math.ceil(t/s)-i}function dL(e,t){const n=t-e;let s=nr(n);for(;Dp(e,t,s)>10;)s++;for(;Dp(e,t,s)<10;)s--;return Math.min(s,nr(e))}function hL(e,{min:t,max:n}){t=Pe(e.min,t);const s=[],i=nr(t);let o=dL(t,n),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,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,o)),f=Pe(e.min,Math.round((l+u+d*Math.pow(10,o))*r)/r);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,r=o>=0?1:r),f=Math.round((l+u+d*Math.pow(10,o))*r)/r;const p=Pe(e.max,f);return s.push({value:p,major:Op(p),significand:d}),s}class Ia extends si{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const s=Oa.prototype.parse.apply(this,[t,n]);if(s===0){this._zero=!0;return}return Jt(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Jt(t)?Math.max(0,t):null,this.max=Jt(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Jt(this._userMin)&&(this.min=t===Ls(this.min,0)?Ls(this.min,-1):Ls(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let s=this.min,i=this.max;const o=a=>s=t?s:a,r=a=>i=n?i:a;s===i&&(s<=0?(o(1),r(10)):(o(Ls(s,-1)),r(Ls(i,1)))),s<=0&&o(Ls(i,-1)),i<=0&&r(Ls(s,1)),this.min=s,this.max=i}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},s=hL(n,this);return t.bounds==="ticks"&&y_(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}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=es(t),this._valueRange=es(this.max)-es(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(es(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}it(Ia,"id","logarithmic"),it(Ia,"defaults",{ticks:{callback:cl.formatters.logarithmic,major:{enabled:!0}}});function Hc(e){const t=e.ticks;if(t.display&&e.display){const n=ge(t.backdropPadding);return Et(t.font&&t.font.size,Zt.font.size)+n.height}return 0}function fL(e,t,n){return n=zt(n)?n:[n],{w:RO(e,t.string,n),h:n.length*t.lineHeight}}function Ip(e,t,n,s,i){return e===s||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function pL(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},n=Object.assign({},t),s=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?Yt/o:0;for(let l=0;lt.r&&(a=(s.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 mL(e,t,n){const s=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=n,l=e.getPointPosition(t,s+i+r,o),c=Math.round(Xu($e(l.angle+te))),u=xL(l.y,a.h,c),d=vL(c),f=yL(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:f,top:u,right:f+a.w,bottom:u+a.h}}function _L(e,t){if(!t)return!0;const{left:n,top:s,right:i,bottom:o}=e;return!(Mn({x:n,y:s},t)||Mn({x:n,y:o},t)||Mn({x:i,y:s},t)||Mn({x:i,y:o},t))}function bL(e,t,n){const s=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:Hc(o)/2,additionalAngle:r?Yt/i:0};let c;for(let u=0;u270||n<90)&&(e-=t),e}function wL(e,t,n){const{left:s,top:i,right:o,bottom:r}=n,{backdropColor:a}=t;if(!It(a)){const l=Ks(t.borderRadius),c=ge(t.backdropPadding);e.fillStyle=a;const u=s-c.left,d=i-c.top,f=o-s+c.width,p=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),tr(e,{x:u,y:d,w:f,h:p,radius:l}),e.fill()):e.fillRect(u,d,f,p)}}function EL(e,t){const{ctx:n,options:{pointLabels:s}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=s.setContext(e.getPointLabelContext(i));wL(n,r,o);const a=oe(r.font),{x:l,y:c,textAlign:u}=o;Js(n,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:u,textBaseline:"middle"})}}function pb(e,t,n,s){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,Kt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=Ht(this.options.pointLabels.callback,[n,s],this);return i||i===0?i:""}).filter((n,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?pL(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,s,i){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((s-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,s,i))}getIndexAngle(t){const n=Kt/(this._pointLabels.length||1),s=this.options.startAngle||0;return $e(t*n+tn(s))}getDistanceFromCenterForValue(t){if(It(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(It(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(d!==0){l=this.getDistanceFromCenterForValue(u.value);const f=this.getContext(d),p=i.setContext(f),m=o.setContext(f);SL(this,p,l,r,m)}}),s.display){for(t.save(),a=r-1;a>=0;a--){const u=s.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:f}=u;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.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,n=this.options,s=n.ticks;if(!s.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&&!n.reverse)return;const c=s.setContext(this.getContext(l)),u=oe(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=ge(c.backdropPadding);t.fillRect(-r/2-d.left,-o-u.size/2-d.top,r+d.width,u.size+d.height)}Js(t,a.label,0,-o,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}it(xi,"id","radialLinear"),it(xi,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:cl.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),it(xi,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),it(xi,"descriptors",{angleLines:{_fallback:"grid"}});const fl={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}},Ee=Object.keys(fl);function Lp(e,t){return e-t}function Rp(e,t){if(It(t))return null;const n=e._adapter,{parser:s,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),Jt(r)||(r=typeof s=="string"?n.parse(r,s):n.parse(r)),r===null?null:(i&&(r=i==="week"&&(Yi(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,i)),+r)}function Np(e,t,n,s){const i=Ee.length;for(let o=Ee.indexOf(e);o=Ee.indexOf(n);o--){const r=Ee[o];if(fl[r].common&&e._adapter.diff(i,s,r)>=t-1)return r}return Ee[n?Ee.indexOf(n):0]}function TL(e){for(let t=Ee.indexOf(e)+1,n=Ee.length;t=t?n[s]:n[i];e[o]=!0}}function PL(e,t,n,s){const i=e._adapter,o=+i.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,s))l=n[a],l>=0&&(t[l].major=!0);return t}function Bp(e,t,n){const s=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let n=0,s=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?n=1-i:n=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=le(n,0,r),s=le(s,0,r),this._offsets={start:n,end:s,factor:1/(n+1+s)}}_generate(){const t=this._adapter,n=this.min,s=this.max,i=this.options,o=i.time,r=o.unit||Np(o.minUnit,n,s,this._getLabelCapacity(n)),a=Et(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Yi(l)||l===!0,u={};let d=n,f,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,n,r)>1e5*a)throw new Error(n+" and "+s+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(f=d,p=0;f+_)}getLabelForValue(t){const n=this._adapter,s=this.options.time;return s.tooltipFormat?n.format(t,s.tooltipFormat):n.format(t,s.displayFormats.datetime)}format(t,n){const i=this.options.time.displayFormats,o=this._unit,r=n||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,s,i){const o=this.options,r=o.ticks.callback;if(r)return Ht(r,[t,n,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],f=s[n],p=c&&d&&f&&f.major;return this._adapter.format(t,i||(p?d:u))}generateTickLabels(t){let n,s,i;for(n=0,s=t.length;n0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,s;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(n=0,s=i.length;n=e[s].pos&&t<=e[i].pos&&({lo:s,hi:i}=$n(e,"pos",t)),{pos:o,time:a}=e[s],{pos:r,time:l}=e[i]):(t>=e[s].time&&t<=e[i].time&&({lo:s,hi:i}=$n(e,"time",t)),{time:o,pos:a}=e[s],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class La extends Xi{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Zr(n,this.min),this._tableRange=Zr(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:s}=this,i=[],o=[];let r,a,l,c,u;for(r=0,a=t.length;r=n&&c<=s&&i.push(c);if(i.length<2)return[{time:n,pos:0},{time:s,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),s=this.getLabelTimestamps();return n.length&&s.length?t=this.normalize(n.concat(s)):t=n.length?n:s,t=this._cache.all=t,t}getDecimalForValue(t){return(Zr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,s=this.getDecimalForPixel(t)/n.factor-n.end;return Zr(this._table,s*this._tableRange+this._minPos,!0)}}it(La,"id","timeseries"),it(La,"defaults",Xi.defaults);const gb={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},kL={ariaLabel:{type:String},ariaDescribedby:{type:String}},$L={type:{type:String,required:!0},...gb,...kL},ML=ym[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function mi(e){return za(e)?kt(e):e}function OL(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return za(t)?new Proxy(e,{}):e}function DL(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function mb(e,t){e.labels=t}function _b(e,t,n){const s=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[n]===i[n]);return!o||!i.data||s.includes(o)?{...i}:(s.push(o),Object.assign(o,i),o)})}function IL(e,t){const n={labels:[],datasets:[]};return mb(n,e.labels),_b(n,e.datasets,t),n}const LL=qa({props:$L,setup(e,t){let{expose:n,slots:s}=t;const i=Li(null),o=yu(null);n({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:u,options:d,plugins:f,datasetIdKey:p}=e,m=IL(u,p),_=OL(m,u);o.value=new fr(i.value,{type:c,data:_,options:{...d},plugins:f})},a=()=>{const c=kt(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return ku(r),$u(a),zs([()=>e.options,()=>e.data],(c,u)=>{let[d,f]=c,[p,m]=u;const _=kt(o.value);if(!_)return;let v=!1;if(d){const x=mi(d),S=mi(p);x&&x!==S&&(DL(_,x),v=!0)}if(f){const x=mi(f.labels),S=mi(m.labels),P=mi(f.datasets),A=mi(m.datasets);x!==S&&(mb(_.config.data,x),v=!0),P&&P!==A&&(_b(_.config.data,P,e.datasetIdKey),v=!0)}v&&Ua(()=>{l(_)})},{deep:!0}),()=>Fi("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Fi("p",{},[s.default?s.default():""])])}});function bb(e,t){return fr.register(t),qa({props:gb,setup(n,s){let{expose:i}=s;const o=yu(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Fi(LL,ML({ref:r},{type:e,...n}))}})}const RL=bb("bar",Ti),NL=bb("line",Pi);function Rn(e){return Array.isArray?Array.isArray(e):xb(e)==="[object Array]"}const FL=1/0;function BL(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-FL?"-0":t}function VL(e){return e==null?"":BL(e)}function un(e){return typeof e=="string"}function vb(e){return typeof e=="number"}function HL(e){return e===!0||e===!1||jL(e)&&xb(e)=="[object Boolean]"}function yb(e){return typeof e=="object"}function jL(e){return yb(e)&&e!==null}function Me(e){return e!=null}function oc(e){return!e.trim().length}function xb(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const WL="Incorrect 'index' type",zL=e=>`Invalid value for key ${e}`,UL=e=>`Pattern length exceeds max of ${e}.`,KL=e=>`Missing ${e} property in key`,YL=e=>`Property 'weight' in key '${e}' must be a positive integer`,Vp=Object.prototype.hasOwnProperty;class qL{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(s=>{let i=wb(s);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight}),this._keys.forEach(s=>{s.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function wb(e){let t=null,n=null,s=null,i=1,o=null;if(un(e)||Rn(e))s=e,t=Hp(e),n=jc(e);else{if(!Vp.call(e,"name"))throw new Error(KL("name"));const r=e.name;if(s=r,Vp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(YL(r));t=Hp(r),n=jc(r),o=e.getFn}return{path:t,id:n,weight:i,src:s,getFn:o}}function Hp(e){return Rn(e)?e:e.split(".")}function jc(e){return Rn(e)?e.join("."):e}function GL(e,t){let n=[],s=!1;const i=(o,r,a)=>{if(Me(o))if(!r[a])n.push(o);else{let l=r[a];const c=o[l];if(!Me(c))return;if(a===r.length-1&&(un(c)||vb(c)||HL(c)))n.push(VL(c));else if(Rn(c)){s=!0;for(let u=0,d=c.length;ue.score===t.score?e.idx{this._keysMap[n.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,un(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();un(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,s=this.size();n{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(Me(r)){if(Rn(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(Me(u))if(un(u)&&!oc(u)){let d={v:u,i:c,n:this.norm.get(u)};a.push(d)}else Rn(u)&&u.forEach((d,f)=>{l.push({nestedArrIndex:f,value:d})})}s.$[o]=a}else if(un(r)&&!oc(r)){let a={v:r,n:this.norm.get(r)};s.$[o]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function Eb(e,t,{getFn:n=yt.getFn,fieldNormWeight:s=yt.fieldNormWeight}={}){const i=new ld({getFn:n,fieldNormWeight:s});return i.setKeys(e.map(wb)),i.setSources(t),i.create(),i}function nR(e,{getFn:t=yt.getFn,fieldNormWeight:n=yt.fieldNormWeight}={}){const{keys:s,records:i}=e,o=new ld({getFn:t,fieldNormWeight:n});return o.setKeys(s),o.setIndexRecords(i),o}function ta(e,{errors:t=0,currentLocation:n=0,expectedLocation:s=0,distance:i=yt.distance,ignoreLocation:o=yt.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(s-n);return i?r+a/i:a?1:r}function sR(e=[],t=yt.minMatchCharLength){let n=[],s=-1,i=-1,o=0;for(let r=e.length;o=t&&n.push([s,i]),s=-1)}return e[o-1]&&o-s>=t&&n.push([s,o-1]),n}const Bs=32;function iR(e,t,n,{location:s=yt.location,distance:i=yt.distance,threshold:o=yt.threshold,findAllMatches:r=yt.findAllMatches,minMatchCharLength:a=yt.minMatchCharLength,includeMatches:l=yt.includeMatches,ignoreLocation:c=yt.ignoreLocation}={}){if(t.length>Bs)throw new Error(UL(Bs));const u=t.length,d=e.length,f=Math.max(0,Math.min(s,d));let p=o,m=f;const _=a>1||l,v=_?Array(d):[];let x;for(;(x=e.indexOf(t,m))>-1;){let C=ta(t,{currentLocation:x,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(C,p),m=x+u,_){let w=0;for(;w=D;Y-=1){let H=Y-1,R=n[e.charAt(H)];if(_&&(v[H]=+!!R),N[Y]=(N[Y+1]<<1|1)&R,C&&(N[Y]|=(S[Y+1]|S[Y])<<1|1|S[Y+1]),N[Y]&y&&(P=ta(t,{errors:C,currentLocation:H,expectedLocation:f,distance:i,ignoreLocation:c}),P<=p)){if(p=P,m=H,m<=f)break;D=Math.max(1,2*f-m)}}if(ta(t,{errors:C+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;S=N}const E={isMatch:m>=0,score:Math.max(.001,P)};if(_){const C=sR(v,a);C.length?l&&(E.indices=C):E.isMatch=!1}return E}function oR(e){let t={};for(let n=0,s=e.length;n{this.chunks.push({pattern:f,alphabet:oR(f),startIndex:p})},d=this.pattern.length;if(d>Bs){let f=0;const p=d%Bs,m=d-p;for(;f{const{isMatch:x,score:S,indices:P}=iR(t,m,_,{location:i+v,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:s,ignoreLocation:c});x&&(f=!0),d+=S,x&&P&&(u=[...u,...P])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&s&&(p.indices=u),p}}class vs{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 n=e.match(t);return n?n[1]:null}class rR extends vs{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class aR extends vs{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const s=t.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class lR extends vs{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class cR extends vs{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class uR extends vs{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class dR extends vs{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class Ab extends vs{constructor(t,{location:n=yt.location,threshold:s=yt.threshold,distance:i=yt.distance,includeMatches:o=yt.includeMatches,findAllMatches:r=yt.findAllMatches,minMatchCharLength:a=yt.minMatchCharLength,isCaseSensitive:l=yt.isCaseSensitive,ignoreLocation:c=yt.ignoreLocation}={}){super(t),this._bitapSearch=new Sb(t,{location:n,threshold:s,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 Cb extends vs{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,s;const i=[],o=this.pattern.length;for(;(s=t.indexOf(this.pattern,n))>-1;)n=s+o,i.push([s,n-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Wc=[rR,Cb,lR,cR,dR,uR,aR,Ab],Wp=Wc.length,hR=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,fR="|";function pR(e,t={}){return e.split(fR).map(n=>{let s=n.trim().split(hR).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=s.length;o!!(e[Ra.AND]||e[Ra.OR]),bR=e=>!!e[Kc.PATH],vR=e=>!Rn(e)&&yb(e)&&!Yc(e),zp=e=>({[Ra.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Tb(e,t,{auto:n=!0}={}){const s=i=>{let o=Object.keys(i);const r=bR(i);if(!r&&o.length>1&&!Yc(i))return s(zp(i));if(vR(i)){const l=r?i[Kc.PATH]:o[0],c=r?i[Kc.PATTERN]:i[l];if(!un(c))throw new Error(zL(l));const u={keyId:jc(l),pattern:c};return n&&(u.searcher=Uc(c,t)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];Rn(c)&&c.forEach(u=>{a.children.push(s(u))})}),a};return Yc(e)||(e=zp(e)),s(e)}function yR(e,{ignoreFieldNorm:t=yt.ignoreFieldNorm}){e.forEach(n=>{let s=1;n.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;s*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),n.score=s})}function xR(e,t){const n=e.matches;t.matches=[],Me(n)&&n.forEach(s=>{if(!Me(s.indices)||!s.indices.length)return;const{indices:i,value:o}=s;let r={indices:i,value:o};s.key&&(r.key=s.key.src),s.idx>-1&&(r.refIndex=s.idx),t.matches.push(r)})}function wR(e,t){t.score=e.score}function ER(e,t,{includeMatches:n=yt.includeMatches,includeScore:s=yt.includeScore}={}){const i=[];return n&&i.push(xR),s&&i.push(wR),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class so{constructor(t,n={},s){this.options={...yt,...n},this.options.useExtendedSearch,this._keyStore=new qL(this.options.keys),this.setCollection(t,s)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof ld))throw new Error(WL);this._myIndex=n||Eb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Me(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let s=0,i=this._docs.length;s-1&&(l=l.slice(0,n)),ER(l,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(t){const n=Uc(t,this.options),{records:s}=this._myIndex,i=[];return s.forEach(({v:o,i:r,n:a})=>{if(!Me(o))return;const{isMatch:l,score:c,indices:u}=n.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:u}]})}),i}_searchLogical(t){const n=Tb(t,this.options),s=(a,l,c)=>{if(!a.children){const{keyId:d,searcher:f}=a,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(l,d),searcher:f});return p&&p.length?[{idx:c,item:l,matches:p}]:[]}const u=[];for(let d=0,f=a.children.length;d{if(Me(a)){let c=s(n,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:u})=>{o[l].matches.push(...u)}))}}),r}_searchObjectList(t){const n=Uc(t,this.options),{keys:s,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!Me(r))return;let l=[];s.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:n,searcher:s}){if(!Me(n))return[];let i=[];if(Rn(n))n.forEach(({v:o,i:r,n:a})=>{if(!Me(o))return;const{isMatch:l,score:c,indices:u}=s.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:u})});else{const{v:o,n:r}=n,{isMatch:a,score:l,indices:c}=s.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}so.version="7.0.0";so.createIndex=Eb;so.parseIndex=nR;so.config=yt;so.parseQuery=Tb;_R(mR);var Pb={exports:{}};(function(e,t){(function(n,s){e.exports=s()})(Kp,function(){var n=1e3,s=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="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+)?$/,x=/\[([^\]]+)]|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(Y){var H=["th","st","nd","rd"],R=Y%100;return"["+Y+(H[(R-20)%10]||H[R]||H[0])+"]"}},P=function(Y,H,R){var W=String(Y);return!W||W.length>=H?Y:""+Array(H+1-W.length).join(R)+Y},A={s:P,z:function(Y){var H=-Y.utcOffset(),R=Math.abs(H),W=Math.floor(R/60),U=R%60;return(H<=0?"+":"-")+P(W,2,"0")+":"+P(U,2,"0")},m:function Y(H,R){if(H.date()1)return Y(ct[0])}else{var mt=H.name;E[mt]=H,U=mt}return!W&&U&&(y=U),U||!W&&y},D=function(Y,H){if(w(Y))return Y.clone();var R=typeof H=="object"?H:{};return R.date=Y,R.args=arguments,new N(R)},I=A;I.l=$,I.i=w,I.w=function(Y,H){return D(Y,{locale:H.$L,utc:H.$u,x:H.$x,$offset:H.$offset})};var N=function(){function Y(R){this.$L=$(R.locale,null,!0),this.parse(R),this.$x=this.$x||R.x||{},this[C]=!0}var H=Y.prototype;return H.parse=function(R){this.$d=function(W){var U=W.date,rt=W.utc;if(U===null)return new Date(NaN);if(I.u(U))return new Date;if(U instanceof Date)return new Date(U);if(typeof U=="string"&&!/Z$/i.test(U)){var ct=U.match(v);if(ct){var mt=ct[2]-1||0,pt=(ct[7]||"0").substring(0,3);return rt?new Date(Date.UTC(ct[1],mt,ct[3]||1,ct[4]||0,ct[5]||0,ct[6]||0,pt)):new Date(ct[1],mt,ct[3]||1,ct[4]||0,ct[5]||0,ct[6]||0,pt)}}return new Date(U)}(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 I},H.isValid=function(){return this.$d.toString()!==_},H.isSame=function(R,W){var U=D(R);return this.startOf(W)<=U&&U<=this.endOf(W)},H.isAfter=function(R,W){return D(R){t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){Ce("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})}},mounted(){this.$el.querySelectorAll(".dropdown").forEach(e=>{e.addEventListener("show.bs.dropdown",t=>{console.log(t.target.parentNode.children),console.log(t.target.closest("ul.dropdown-menu"))})})}},CR={class:"d-flex gap-2 mb-3 z-3"},TR={class:"dropdown"},PR=g("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[g("i",{class:"bi bi-filter-circle me-2"}),gt(" Sort ")],-1),kR={class:"dropdown-menu mt-2 shadow"},$R=["onClick"],MR={class:"me-auto"},OR={key:0,class:"bi bi-check"},DR={class:"dropdown"},IR=g("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[g("i",{class:"bi bi-arrow-repeat me-2"}),gt("Refresh Interval ")],-1),LR={class:"dropdown-menu shadow mt-2"},RR=["onClick"],NR={class:"me-auto"},FR={key:0,class:"bi bi-check"},BR={class:"ms-auto d-flex align-items-center"},VR=g("label",{class:"d-flex me-2 text-muted",for:"searchPeers"},[g("i",{class:"bi bi-search me-1"})],-1);function HR(e,t,n,s,i,o){return X(),ot("div",CR,[g("div",TR,[PR,g("ul",kR,[(X(!0),ot(Qt,null,us(this.sort,(r,a)=>(X(),ot("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>this.updateSort(a)},[g("span",MR,wt(r),1),s.store.Configuration.Server.dashboard_sort===a?(X(),ot("i",OR)):Ut("",!0)],8,$R)]))),256))])]),g("div",DR,[IR,g("ul",LR,[(X(!0),ot(Qt,null,us(this.interval,(r,a)=>(X(),ot("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>o.updateRefreshInterval(a)},[g("span",NR,wt(r),1),s.store.Configuration.Server.dashboard_refresh_interval===a?(X(),ot("i",FR)):Ut("",!0)],8,RR)]))),256))])]),g("div",BR,[VR,bt(g("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[0]||(t[0]=r=>this.wireguardConfigurationStore.searchString=r)},null,512),[[vt,this.wireguardConfigurationStore.searchString]])])])}const jR=Lt(AR,[["render",HR]]),WR={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:Xt()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,Ce(`/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})})}},ve=e=>(ei("data-v-6fc123c2"),e=e(),ni(),e),zR={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},UR={class:"container d-flex h-100 w-100"},KR={class:"card m-auto rounded-3 shadow",style:{width:"700px"}},YR={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},qR=ve(()=>g("h4",{class:"mb-0"},"Peer Settings",-1)),GR={key:0,class:"card-body px-4 pb-4"},XR={class:"d-flex flex-column gap-2 mb-4"},QR=ve(()=>g("small",{class:"text-muted"},"Public Key",-1)),JR=ve(()=>g("br",null,null,-1)),ZR=ve(()=>g("label",{for:"peer_name_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Name")],-1)),tN=["disabled"],eN={class:"d-flex position-relative"},nN=ve(()=>g("label",{for:"peer_private_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("Private Key "),g("code",null,"(Required for QR Code and Download)")])],-1)),sN=["type","disabled"],iN=ve(()=>g("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("Allowed IPs "),g("code",null,"(Required)")])],-1)),oN=["disabled"],rN=ve(()=>g("label",{for:"peer_DNS_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("DNS "),g("code",null,"(Required)")])],-1)),aN=["disabled"],lN=ve(()=>g("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[g("small",{class:"text-muted"},[gt("Endpoint Allowed IPs "),g("code",null,"(Required)")])],-1)),cN=["disabled"],uN=ve(()=>g("hr",null,null,-1)),dN={class:"accordion mt-2",id:"peerSettingsAccordion"},hN={class:"accordion-item"},fN=ve(()=>g("h2",{class:"accordion-header"},[g("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),pN={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},gN={class:"accordion-body d-flex flex-column gap-2 mb-2"},mN=ve(()=>g("label",{for:"peer_preshared_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Pre-Shared Key")],-1)),_N=["disabled"],bN=ve(()=>g("label",{for:"peer_mtu",class:"form-label"},[g("small",{class:"text-muted"},"MTU")],-1)),vN=["disabled"],yN=ve(()=>g("label",{for:"peer_keep_alive",class:"form-label"},[g("small",{class:"text-muted"},"Persistent Keepalive")],-1)),xN=["disabled"],wN={class:"d-flex align-items-center gap-2"},EN=["disabled"],SN=ve(()=>g("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),AN=["disabled"],CN=ve(()=>g("i",{class:"bi bi-save-fill ms-2"},null,-1));function TN(e,t,n,s,i,o){return X(),ot("div",zR,[g("div",UR,[g("div",KR,[g("div",YR,[qR,g("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(X(),ot("div",GR,[g("div",XR,[g("div",null,[QR,JR,g("small",null,[g("samp",null,wt(this.data.id),1)])]),g("div",null,[ZR,bt(g("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,tN),[[vt,this.data.name]])]),g("div",null,[g("div",eN,[nN,g("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[g("i",{class:jt(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),bt(g("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,sN),[[CE,this.data.private_key]])]),g("div",null,[iN,bt(g("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,oN),[[vt,this.data.allowed_ip]])]),g("div",null,[rN,bt(g("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,aN),[[vt,this.data.DNS]])]),g("div",null,[lN,bt(g("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,cN),[[vt,this.data.endpoint_allowed_ip]])]),uN,g("div",dN,[g("div",hN,[fN,g("div",pN,[g("div",gN,[g("div",null,[mN,bt(g("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,_N),[[vt,this.data.preshared_key]])]),g("div",null,[bN,bt(g("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,vN),[[vt,this.data.mtu]])]),g("div",null,[yN,bt(g("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,xN),[[vt,this.data.keepalive]])])])])])])]),g("div",wN,[g("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[10]||(t[10]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[gt(" Reset "),SN],8,EN),g("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())},[gt(" Save Peer"),CN],8,AN)])])):Ut("",!0)])])])}const PN=Lt(WR,[["render",TN],["__scopeId","data-v-6fc123c2"]]),kN={name:"peerQRCode",props:{peerConfigData:String},mounted(){eo.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,function(e){e&&console.error(e)})}},$N=e=>(ei("data-v-0f1cea80"),e=e(),ni(),e),MN={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},ON={class:"container d-flex h-100 w-100"},DN={class:"card m-auto rounded-3 shadow"},IN={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},LN=$N(()=>g("h4",{class:"mb-0"},"QR Code",-1)),RN={class:"card-body"},NN={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function FN(e,t,n,s,i,o){return X(),ot("div",MN,[g("div",ON,[g("div",DN,[g("div",IN,[LN,g("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),g("div",RN,[g("canvas",NN,null,512)])])])])}const BN=Lt(kN,[["render",FN],["__scopeId","data-v-0f1cea80"]]),VN={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},HN=g("label",{for:"peer_name_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Name")],-1),jN=["disabled"];function WN(e,t,n,s,i,o){return X(),ot("div",{class:jt({inactiveField:this.bulk})},[HN,bt(g("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,jN),[[vt,this.data.name]])],2)}const zN=Lt(VN,[["render",WN]]),UN={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:Xt()}},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()}}}},KN=g("label",{for:"peer_private_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("Private Key "),g("code",null,"(Required for QR Code and Download)")])],-1),YN={class:"input-group"},qN=["disabled"],GN=["disabled"],XN=g("i",{class:"bi bi-arrow-repeat"},null,-1),QN=[XN],JN={class:"d-flex"},ZN=g("label",{for:"public_key",class:"form-label"},[g("small",{class:"text-muted"},[gt("Public Key "),g("code",null,"(Required)")])],-1),tF={class:"form-check form-switch ms-auto"},eF=["disabled"],nF=g("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[g("small",null,"Edit")],-1),sF=["disabled"];function iF(e,t,n,s,i,o){return X(),ot("div",{class:jt(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[g("div",null,[KN,g("div",YN,[bt(g("input",{type:"text",class:jt(["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,qN),[[vt,this.keypair.privateKey]]),g("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"},QN,8,GN)])]),g("div",null,[g("div",JN,[ZN,g("div",tF,[bt(g("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,eF),[[lr,this.editKey]]),nF])]),bt(g("input",{class:jt(["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,sF),[[vt,this.keypair.publicKey]])])],2)}const oF=Lt(UN,[["render",iF]]),rF={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=mn(),t=Xt();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ip.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ip.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ip.push(e),!0):!1}},watch:{customAvailableIp(){this.allowedIpFormatError=!1}}},pr=e=>(ei("data-v-f2538e55"),e=e(),ni(),e),aF=pr(()=>g("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("Allowed IPs "),g("code",null,"(Required)")])],-1)),lF=["onClick"],cF=pr(()=>g("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),uF=[cF],dF={class:"d-flex gap-2 align-items-center"},hF={class:"input-group"},fF=["disabled"],pF=["disabled"],gF=pr(()=>g("i",{class:"bi bi-plus-lg"},null,-1)),mF=[gF],_F=pr(()=>g("small",{class:"text-muted"},"or",-1)),bF={class:"dropdown flex-grow-1"},vF=["disabled"],yF=pr(()=>g("i",{class:"bi bi-filter-circle me-2"},null,-1)),xF={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"}},wF={class:"px-3 pb-2 pt-1"},EF=["onClick"],SF={class:"me-auto"},AF={key:0},CF={class:"px-3 text-muted"};function TF(e,t,n,s,i,o){return X(),ot("div",{class:jt({inactiveField:this.bulk})},[aF,g("div",{class:jt(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ip.length>0}])},[dt(Lu,{name:"list"},{default:Gt(()=>[(X(!0),ot(Qt,null,us(this.data.allowed_ip,(r,a)=>(X(),ot("span",{class:"badge rounded-pill text-bg-success",key:r},[gt(wt(r)+" ",1),g("a",{role:"button",onClick:l=>this.data.allowed_ip.splice(a,1)},uF,8,lF)]))),128))]),_:1})],2),g("div",dF,[g("div",hF,[bt(g("input",{type:"text",class:jt(["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:n.bulk},null,10,fF),[[vt,i.customAvailableIp]]),g("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:n.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"},mF,8,pF)]),_F,g("div",bF,[g("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[yF,gt(" Pick Available IP ")],8,vF),this.availableIp?(X(),ot("ul",xF,[g("li",null,[g("div",wF,[bt(g("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[vt,this.availableIpSearchString]])])]),(X(!0),ot(Qt,null,us(this.searchAvailableIps,r=>(X(),ot("li",null,[g("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[g("span",SF,[g("small",null,wt(r),1)])],8,EF)]))),256)),this.searchAvailableIps.length===0?(X(),ot("li",AF,[g("small",CF,'No available IP containing "'+wt(this.availableIpSearchString)+'"',1)])):Ut("",!0)])):Ut("",!0)])])],2)}const PF=Lt(rF,[["render",TF],["__scopeId","data-v-f2538e55"]]),kF={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=mn(),t=Xt();return{store:e,dashboardStore:t}},methods:{checkDNS(){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()}}},$F=g("label",{for:"peer_DNS_textbox",class:"form-label"},[g("small",{class:"text-muted"},[gt("DNS "),g("code",null,"(Required)")])],-1),MF=["disabled"];function OF(e,t,n,s,i,o){return X(),ot("div",null,[$F,bt(g("input",{type:"text",class:jt(["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,MF),[[vt,this.dns]])])}const DF=Lt(kF,[["render",OF]]),IF={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=mn(),t=Xt();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()}}},LF=g("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[g("small",{class:"text-muted"},[gt("Endpoint Allowed IPs "),g("code",null,"(Required)")])],-1),RF=["disabled"];function NF(e,t,n,s,i,o){return X(),ot("div",null,[LF,bt(g("input",{type:"text",class:jt(["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,RF),[[vt,this.endpointAllowedIps]])])}const FF=Lt(IF,[["render",NF]]),BF={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},VF=g("label",{for:"peer_preshared_key_textbox",class:"form-label"},[g("small",{class:"text-muted"},"Pre-Shared Key")],-1),HF=["disabled"];function jF(e,t,n,s,i,o){return X(),ot("div",null,[VF,bt(g("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,HF),[[vt,this.data.preshared_key]])])}const WF=Lt(BF,[["render",jF]]),zF={name:"mtuInput",props:{data:Object,saving:Boolean}},UF=g("label",{for:"peer_mtu",class:"form-label"},[g("small",{class:"text-muted"},"MTU")],-1),KF=["disabled"];function YF(e,t,n,s,i,o){return X(),ot("div",null,[UF,bt(g("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,KF),[[vt,this.data.mtu]])])}const qF=Lt(zF,[["render",YF]]),GF={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},XF=g("label",{for:"peer_keep_alive",class:"form-label"},[g("small",{class:"text-muted"},"Persistent Keepalive")],-1),QF=["disabled"];function JF(e,t,n,s,i,o){return X(),ot("div",null,[XF,bt(g("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,QF),[[vt,this.data.keepalive]])])}const ZF=Lt(GF,[["render",JF]]),tB={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},eB={class:"form-check form-switch"},nB=["disabled"],sB=g("label",{class:"form-check-label me-2",for:"bulk_add"},[g("small",null,[g("strong",null,"Bulk Add")])],-1),iB=g("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),oB=[iB],rB={key:0,class:"form-group"},aB=["max"],lB={class:"text-muted"};function cB(e,t,n,s,i,o){return X(),ot("div",null,[g("div",eB,[bt(g("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,nB),[[lr,this.data.bulkAdd]]),sB]),g("p",{class:jt({"mb-0":!this.data.bulkAdd})},oB,2),this.data.bulkAdd?(X(),ot("div",rB,[bt(g("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,aB),[[vt,this.data.bulkAddAmount]]),g("small",lB,[gt(" You can add up to "),g("strong",null,wt(this.availableIp.length),1),gt(" peers ")])])):Ut("",!0)])}const uB=Lt(tB,[["render",cB]]),dB={name:"peerCreate",components:{BulkAdd:uB,PersistentKeepAliveInput:ZF,MtuInput:qF,PresharedKeyInput:WF,EndpointAllowedIps:FF,DnsInput:DF,AllowedIPsInput:PF,PrivatePublicKeyInput:oF,NameInput:zN},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ip:[],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(){Re("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=mn(),t=Xt();return{store:e,dashboardStore:t}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ip","private_key","public_key","DNS","endpoint_allowed_ip","keepalive","mtu"].forEach(n=>{this.data[n].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)}}},pl=e=>(ei("data-v-01862fad"),e=e(),ni(),e),hB={class:"modal fade",id:"peerCreateModal","data-bs-backdrop":"static"},fB={class:"modal-dialog",style:{"max-width":"700px !important"}},pB={class:"modal-content rounded-3 border-0 shadow"},gB=pl(()=>g("div",{class:"modal-header border-0 pb-0"},[g("h1",{class:"modal-title fs-5",id:"staticBackdropLabel"},"Add Peer"),g("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"})],-1)),mB={class:"modal-body"},_B={class:"d-flex flex-column gap-2"},bB=pl(()=>g("hr",{class:"mb-0 mt-2"},null,-1)),vB=pl(()=>g("hr",{class:"mb-0 mt-2"},null,-1)),yB={class:"row"},xB={key:0,class:"col-sm"},wB={class:"col-sm"},EB={class:"col-sm"},SB={class:"d-flex mt-2"},AB=["disabled"],CB=pl(()=>g("i",{class:"bi bi-plus-circle-fill me-2"},null,-1));function TB(e,t,n,s,i,o){const r=Rt("BulkAdd"),a=Rt("NameInput"),l=Rt("PrivatePublicKeyInput"),c=Rt("AllowedIPsInput"),u=Rt("DnsInput"),d=Rt("EndpointAllowedIps"),f=Rt("PresharedKeyInput"),p=Rt("MtuInput"),m=Rt("PersistentKeepAliveInput");return X(),ot("div",hB,[g("div",fB,[g("div",pB,[gB,g("div",mB,[g("div",_B,[dt(r,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),bB,this.data.bulkAdd?Ut("",!0):(X(),ue(a,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?Ut("",!0):(X(),ue(l,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?Ut("",!0):(X(),ue(c,{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(d,{saving:i.saving,data:i.data},null,8,["saving","data"]),vB,g("div",yB,[this.data.bulkAdd?Ut("",!0):(X(),ot("div",xB,[dt(f,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),g("div",wB,[dt(p,{saving:i.saving,data:i.data},null,8,["saving","data"])]),g("div",EB,[dt(m,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),g("div",SB,[g("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled},[CB,gt("Add ")],8,AB)])])])])])])}const PB=Lt(dB,[["render",TB],["__scopeId","data-v-01862fad"]]);fr.register(yi,On,Vo,Bo,Ti,Lo,Vs,Pi,Pa,Ro,No,Fo,Ma,Da,Ia,xi,Xi,La,ib,ab,cb,db,fb);const kB={name:"peerList",components:{PeerCreate:PB,PeerQRCode:BN,PeerSettings:PN,PeerSearch:jR,Peer:VM,Line:NL,Bar:RL},setup(){const e=Xt(),t=mn();return{dashboardConfigurationStore:e,wireguardConfigurationStore:t}},data(){return{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},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1}}},watch:{"$route.params":{immediate:!0,handler(){clearInterval(this.interval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),this.setInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.interval),this.setInterval()}},beforeRouteLeave(){clearInterval(this.interval)},methods:{getPeers(e){Re("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.loading=!1,this.configurationPeers.length>0){const n=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),s=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==n&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,Up().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((n-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:" #198754",tension:0}]}),this.historyDataSentDifference.push(n)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==s&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,Up().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((s-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(s))}})},setInterval(){this.interval=setInterval(()=>{this.getPeers(this.$route.params.id)},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 so(this.configurationPeers,{keys:["name","id","allowed_ip"]});return(this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(n=>n.item):this.configurationPeers).slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},de=e=>(ei("data-v-ce1252aa"),e=e(),ni(),e),$B={key:0},MB=de(()=>g("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),OB={class:"d-flex align-items-center gap-3"},DB={class:"mb-0"},IB=de(()=>g("div",{class:"dot active ms-0"},null,-1)),LB={class:"row mt-3 gy-2 gx-2 mb-2"},RB={class:"col-6 col-lg-3"},NB={class:"card rounded-3 bg-transparent shadow-sm"},FB={class:"card-body py-2"},BB=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Address")],-1)),VB={class:"col-6 col-lg-3"},HB={class:"card rounded-3 bg-transparent shadow-sm"},jB={class:"card-body py-2"},WB=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Listen Port")],-1)),zB={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},UB={class:"card rounded-3 bg-transparent shadow-sm"},KB={class:"card-body py-2"},YB=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Public Key")],-1)),qB={class:"row gx-2 gy-2 mb-2"},GB={class:"col-6 col-lg-3"},XB={class:"card rounded-3 bg-transparent shadow-sm"},QB={class:"card-body d-flex"},JB=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Connected Peers")],-1)),ZB={class:"h4"},t3=de(()=>g("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),e3={class:"col-6 col-lg-3"},n3={class:"card rounded-3 bg-transparent shadow-sm"},s3={class:"card-body d-flex"},i3=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Usage")],-1)),o3={class:"h4"},r3=de(()=>g("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),a3={class:"col-6 col-lg-3"},l3={class:"card rounded-3 bg-transparent shadow-sm"},c3={class:"card-body d-flex"},u3=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Received")],-1)),d3={class:"h4 text-primary"},h3=de(()=>g("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),f3={class:"col-6 col-lg-3"},p3={class:"card rounded-3 bg-transparent shadow-sm"},g3={class:"card-body d-flex"},m3=de(()=>g("p",{class:"mb-0 text-muted"},[g("small",null,"Total Sent")],-1)),_3={class:"h4 text-success"},b3=de(()=>g("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),v3={class:"row gx-2 gy-2 mb-5"},y3={class:"col-12 col-lg-6"},x3={class:"card rounded-3 bg-transparent shadow-sm"},w3=de(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),E3={class:"card-body pt-1"},S3={class:"col-sm col-lg-3"},A3={class:"card rounded-3 bg-transparent shadow-sm"},C3=de(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),T3={class:"card-body pt-1"},P3={class:"col-sm col-lg-3"},k3={class:"card rounded-3 bg-transparent shadow-sm"},$3=de(()=>g("div",{class:"card-header bg-transparent border-0"},[g("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),M3={class:"card-body pt-1"},O3={class:"mb-4"},D3=de(()=>g("div",{class:"d-flex align-items-center gap-3 mb-2"},[g("h3",null,"Peers"),g("a",{role:"button","data-bs-toggle":"modal","data-bs-target":"#peerCreateModal",class:"text-decoration-none ms-auto"},[g("i",{class:"bi bi-plus-circle-fill me-2"}),gt("Add Peer")])],-1));function I3(e,t,n,s,i,o){const r=Rt("Bar"),a=Rt("Line"),l=Rt("PeerSearch"),c=Rt("Peer"),u=Rt("PeerSettings"),d=Rt("PeerQRCode"),f=Rt("PeerCreate");return this.loading?Ut("",!0):(X(),ot("div",$B,[g("div",null,[MB,g("div",OB,[g("h1",DB,[g("samp",null,wt(this.configurationInfo.Name),1)]),IB])]),g("div",LB,[g("div",RB,[g("div",NB,[g("div",FB,[BB,gt(" "+wt(this.configurationInfo.Address),1)])])]),g("div",VB,[g("div",HB,[g("div",jB,[WB,gt(" "+wt(this.configurationInfo.ListenPort),1)])])]),g("div",zB,[g("div",UB,[g("div",KB,[YB,g("samp",null,wt(this.configurationInfo.PublicKey),1)])])])]),g("div",qB,[g("div",GB,[g("div",XB,[g("div",QB,[g("div",null,[JB,g("strong",ZB,wt(o.configurationSummary.connectedPeers),1)]),t3])])]),g("div",e3,[g("div",n3,[g("div",s3,[g("div",null,[i3,g("strong",o3,wt(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),r3])])]),g("div",a3,[g("div",l3,[g("div",c3,[g("div",null,[u3,g("strong",d3,wt(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),h3])])]),g("div",f3,[g("div",p3,[g("div",g3,[g("div",null,[m3,g("strong",_3,wt(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),b3])])])]),g("div",v3,[g("div",y3,[g("div",x3,[w3,g("div",E3,[dt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{height:"200px",width:"100%"}},null,8,["data","options"])])])]),g("div",S3,[g("div",A3,[C3,g("div",T3,[dt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])]),g("div",P3,[g("div",k3,[$3,g("div",M3,[dt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])])]),g("div",O3,[D3,dt(l),dt(Lu,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Gt(()=>[(X(!0),ot(Qt,null,us(this.searchPeers,p=>(X(),ot("div",{class:"col-12 col-lg-6 col-xl-4",key:p.id},[dt(c,{Peer:p,onSetting:m=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find(_=>_.id===p.id)},onQrcode:t[0]||(t[0]=m=>{this.peerQRCode.peerConfigData=m,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onSetting"])]))),128))]),_:1})]),dt(Ln,{name:"fade"},{default:Gt(()=>[this.peerSetting.modalOpen?(X(),ue(u,{key:0,selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[1]||(t[1]=p=>this.getPeers(this.$route.params.id)),onClose:t[2]||(t[2]=p=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):Ut("",!0)]),_:1}),dt(Ln,{name:"fade"},{default:Gt(()=>[i.peerQRCode.modalOpen?(X(),ue(d,{key:0,peerConfigData:this.peerQRCode.peerConfigData,onClose:t[3]||(t[3]=p=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):Ut("",!0)]),_:1}),dt(f)]))}const kb=Lt(kB,[["render",I3],["__scopeId","data-v-ce1252aa"]]);fr.register(yi,On,Vo,Bo,Ti,Lo,Vs,Pi,Pa,Ro,No,Fo,Ma,Da,Ia,xi,Xi,La,ib,ab,cb,db,fb);const L3={name:"configuration",components:{PeerList:kb}},R3={class:"mt-5 text-body"};function N3(e,t,n,s,i,o){const r=Rt("RouterView");return X(),ot("div",R3,[dt(r,null,{default:Gt(({Component:a})=>[dt(Ln,{name:"fade2",mode:"out-in"},{default:Gt(()=>[(X(),ue(Au(a)))]),_:2},1024)]),_:1})])}const F3=Lt(L3,[["render",N3]]),B3=async()=>{let e=!1;return await Re("/api/validateAuthentication",{},t=>{e=t.status}),e},cd=HS({history:iS(),routes:[{name:"Index",path:"/",component:OA,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:wC,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:uP,meta:{title:"Settings"}},{name:"New Configuration",path:"/new_configuration",component:eM,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:F3,meta:{title:"Configuration"},children:[{name:"Peers List",path:"",component:kb}]}]},{path:"/signin",component:JA,meta:{title:"Sign In"}},{path:"/welcome",component:Vk,meta:{requiresAuth:!0}}]});cd.beforeEach(async(e,t,n)=>{const s=mn(),i=Xt();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",e.meta.requiresAuth?GS.getCookie("authToken")&&await B3()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):n("/signin"):n()});const ud=$E(qS);ud.use(cd);const $b=IE();$b.use(({store:e})=>{e.$router=rr(cd)});ud.use($b);ud.mount("#app"); diff --git a/src/static/app/package-lock.json b/src/static/app/package-lock.json index 166c85d..fa8bf24 100644 --- a/src/static/app/package-lock.json +++ b/src/static/app/package-lock.json @@ -10,11 +10,15 @@ "dependencies": { "@vueuse/core": "^10.9.0", "@vueuse/shared": "^10.9.0", + "animate.css": "^4.1.1", "bootstrap": "^5.3.2", "bootstrap-icons": "^1.11.2", "cidr-tools": "^7.0.4", "dayjs": "^1.11.10", "fuse.js": "^7.0.0", + "i": "^0.3.7", + "is-cidr": "^5.0.3", + "npm": "^10.5.0", "pinia": "^2.1.7", "qrcode": "^1.5.3", "qrcodejs": "^1.0.0", @@ -799,6 +803,11 @@ } } }, + "node_modules/animate.css": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz", + "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -874,6 +883,17 @@ "pnpm": ">=7" } }, + "node_modules/cidr-regex": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-4.0.3.tgz", + "integrity": "sha512-HOwDIy/rhKeMf6uOzxtv7FAbrz8zPjmVKfSpM+U7/bNBXC5rtOyr758jxcptiSx6ZZn5LOhPJT5WWxPAGDV8dw==", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/cidr-tools": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cidr-tools/-/cidr-tools-7.0.4.tgz", @@ -1040,6 +1060,14 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/i": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", + "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/ip-bigint": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/ip-bigint/-/ip-bigint-8.0.2.tgz", @@ -1048,6 +1076,28 @@ "node": ">=18" } }, + "node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-cidr": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-5.0.3.tgz", + "integrity": "sha512-lKkM0tmz07dAxNsr8Ii9MGreExa9ZR34N9j8mTG5op824kcwBqinZPowNjcVWWc7j+jR8XAMMItOmBkniN0jOA==", + "dependencies": { + "cidr-regex": "4.0.3" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -1095,6 +1145,2558 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/npm": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.5.0.tgz", + "integrity": "sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^7.2.1", + "@npmcli/config": "^8.0.2", + "@npmcli/fs": "^3.1.0", + "@npmcli/map-workspaces": "^3.0.4", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.1", + "@npmcli/run-script": "^7.0.4", + "@sigstore/tuf": "^2.3.1", + "abbrev": "^2.0.0", + "archy": "~1.0.0", + "cacache": "^18.0.2", + "chalk": "^5.3.0", + "ci-info": "^4.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.3", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^7.0.1", + "ini": "^4.1.1", + "init-package-json": "^6.0.0", + "is-cidr": "^5.0.3", + "json-parse-even-better-errors": "^3.0.1", + "libnpmaccess": "^8.0.1", + "libnpmdiff": "^6.0.3", + "libnpmexec": "^7.0.4", + "libnpmfund": "^5.0.1", + "libnpmhook": "^10.0.0", + "libnpmorg": "^6.0.1", + "libnpmpack": "^6.0.3", + "libnpmpublish": "^9.0.2", + "libnpmsearch": "^7.0.0", + "libnpmteam": "^6.0.0", + "libnpmversion": "^5.0.1", + "make-fetch-happen": "^13.0.0", + "minimatch": "^9.0.3", + "minipass": "^7.0.4", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^10.0.1", + "nopt": "^7.2.0", + "normalize-package-data": "^6.0.0", + "npm-audit-report": "^5.0.0", + "npm-install-checks": "^6.3.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-profile": "^9.0.0", + "npm-registry-fetch": "^16.1.0", + "npm-user-validate": "^2.0.0", + "npmlog": "^7.0.1", + "p-map": "^4.0.0", + "pacote": "^17.0.6", + "parse-conflict-json": "^3.0.1", + "proc-log": "^3.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^2.1.0", + "semver": "^7.6.0", + "spdx-expression-parse": "^3.0.1", + "ssri": "^10.0.5", + "supports-color": "^9.4.0", + "tar": "^6.2.0", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^5.0.0", + "which": "^4.0.0", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "2.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "7.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.1.0", + "@npmcli/run-script": "^7.0.2", + "bin-links": "^4.0.1", + "cacache": "^18.0.0", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.1", + "json-parse-even-better-errors": "^3.0.0", + "json-stringify-nice": "^1.1.4", + "minimatch": "^9.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "npmlog": "^7.0.1", + "pacote": "^17.0.4", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.5", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "8.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^3.0.2", + "ci-info": "^4.0.0", + "ini": "^4.1.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "3.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "5.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^17.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "3.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "7.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "2.2.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/core": { + "version": "1.0.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.3.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "2.2.3", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0", + "tuf-js": "^2.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/verify": { + "version": "1.1.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@tufjs/models": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "4.0.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "4.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "18.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "5.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ci-info": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.0.3", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.2.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/gauge": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^4.0.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "10.3.10", + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hasown": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "6.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ini": { + "version": "4.1.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^11.0.0", + "promzard": "^1.0.0", + "read": "^2.0.0", + "read-package-json": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/npm/node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "5.0.3", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "4.0.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.13.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "2.3.6", + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "6.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.2.1", + "@npmcli/disparity-colors": "^3.0.0", + "@npmcli/installed-package-contents": "^2.0.2", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^9.0.0", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4", + "tar": "^6.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "7.0.8", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.2.1", + "@npmcli/run-script": "^7.0.2", + "ci-info": "^4.0.0", + "npm-package-arg": "^11.0.1", + "npmlog": "^7.0.1", + "pacote": "^17.0.4", + "proc-log": "^3.0.0", + "read": "^2.0.0", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "5.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "10.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^16.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^16.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "6.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.2.1", + "@npmcli/run-script": "^7.0.2", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "9.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^6.0.0", + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.7", + "sigstore": "^2.2.0", + "ssri": "^10.0.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^16.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "6.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^16.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "5.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.3", + "@npmcli/run-script": "^7.0.2", + "json-parse-even-better-errors": "^3.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "10.2.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "13.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "7.0.4", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "3.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "10.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "7.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "6.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "6.3.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "11.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "9.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "9.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "16.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "2.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npmlog": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "17.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/path-scurry": { + "version": "1.10.1", + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.6.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "2.2.2", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/sign": "^2.2.3", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.8.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 16.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.17", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "10.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", diff --git a/src/static/app/package.json b/src/static/app/package.json index 9721511..1c3f3fc 100644 --- a/src/static/app/package.json +++ b/src/static/app/package.json @@ -11,11 +11,15 @@ "dependencies": { "@vueuse/core": "^10.9.0", "@vueuse/shared": "^10.9.0", + "animate.css": "^4.1.1", "bootstrap": "^5.3.2", "bootstrap-icons": "^1.11.2", "cidr-tools": "^7.0.4", "dayjs": "^1.11.10", "fuse.js": "^7.0.0", + "i": "^0.3.7", + "is-cidr": "^5.0.3", + "npm": "^10.5.0", "pinia": "^2.1.7", "qrcode": "^1.5.3", "qrcodejs": "^1.0.0", diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/allowedIPsInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/allowedIPsInput.vue new file mode 100644 index 0000000..f3776a4 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/allowedIPsInput.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/bulkAdd.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/bulkAdd.vue new file mode 100644 index 0000000..410b341 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/bulkAdd.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/dnsInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/dnsInput.vue new file mode 100644 index 0000000..f45f317 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/dnsInput.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/endpointAllowedIps.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/endpointAllowedIps.vue new file mode 100644 index 0000000..6830379 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/endpointAllowedIps.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/mtuInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/mtuInput.vue new file mode 100644 index 0000000..7f1da13 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/mtuInput.vue @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/nameInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/nameInput.vue new file mode 100644 index 0000000..ce14500 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/nameInput.vue @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/persistentKeepAliveInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/persistentKeepAliveInput.vue new file mode 100644 index 0000000..a95878d --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/persistentKeepAliveInput.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/presharedKeyInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/presharedKeyInput.vue new file mode 100644 index 0000000..a8c7d56 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/presharedKeyInput.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue new file mode 100644 index 0000000..315685c --- /dev/null +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue @@ -0,0 +1,108 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/peerCreate.vue b/src/static/app/src/components/configurationComponents/peerCreate.vue new file mode 100644 index 0000000..28d9d66 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/peerCreate.vue @@ -0,0 +1,151 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/peerList.vue b/src/static/app/src/components/configurationComponents/peerList.vue index dec1b20..ef17992 100644 --- a/src/static/app/src/components/configurationComponents/peerList.vue +++ b/src/static/app/src/components/configurationComponents/peerList.vue @@ -35,6 +35,7 @@ import { import dayjs from "dayjs"; import PeerSettings from "@/components/configurationComponents/peerSettings.vue"; import PeerQRCode from "@/components/configurationComponents/peerQRCode.vue"; +import PeerCreate from "@/components/configurationComponents/peerCreate.vue"; Chart.register( ArcElement, @@ -64,7 +65,7 @@ Chart.register( export default { name: "peerList", - components: {PeerQRCode, PeerSettings, PeerSearch, Peer, Line, Bar}, + components: {PeerCreate, PeerQRCode, PeerSettings, PeerSearch, Peer, Line, Bar}, setup(){ const dashboardConfigurationStore = DashboardConfigurationStore(); const wireguardConfigurationStore = WireguardConfigurationsStore(); @@ -109,6 +110,9 @@ export default { peerQRCode: { modalOpen: false, peerConfigData: undefined + }, + peerCreate: { + modalOpen: false } } }, @@ -442,7 +446,10 @@ export default {
@@ -469,6 +476,10 @@ export default { @close="this.peerQRCode.modalOpen = false" v-if="peerQRCode.modalOpen"> + + + +
diff --git a/src/static/app/src/components/configurationComponents/peerQRCode.vue b/src/static/app/src/components/configurationComponents/peerQRCode.vue index 7dec695..bb92f0d 100644 --- a/src/static/app/src/components/configurationComponents/peerQRCode.vue +++ b/src/static/app/src/components/configurationComponents/peerQRCode.vue @@ -6,10 +6,8 @@ export default { peerConfigData: String }, mounted() { - // let qrcode = QRCode.create(, ); QRCode.toCanvas(document.querySelector("#qrcode"), this.peerConfigData , function (error) { if (error) console.error(error) - console.log('success!'); }) } } diff --git a/src/static/app/src/components/configurationComponents/peerSearch.vue b/src/static/app/src/components/configurationComponents/peerSearch.vue index 50d71d0..8e6d60f 100644 --- a/src/static/app/src/components/configurationComponents/peerSearch.vue +++ b/src/static/app/src/components/configurationComponents/peerSearch.vue @@ -51,6 +51,17 @@ export default { } }) } + }, + mounted() { + let fadeIn = "animate__fadeInUp"; + let fadeOut = "animate__fadeOutDown" + + this.$el.querySelectorAll(".dropdown").forEach(x => { + x.addEventListener('show.bs.dropdown', (e) => { + console.log(e.target.parentNode.children) + console.log(e.target.closest("ul.dropdown-menu")) + }) + }) } } @@ -62,7 +73,7 @@ export default { Sort -