diff --git a/src/static/app/.gitignore b/src/static/app/.gitignore index 2028f4a..d473125 100644 --- a/src/static/app/.gitignore +++ b/src/static/app/.gitignore @@ -9,7 +9,6 @@ lerna-debug.log* node_modules .DS_Store -dist dist-ssr coverage *.local diff --git a/src/static/app/dist/assets/bootstrap-icons.woff b/src/static/app/dist/assets/bootstrap-icons.woff new file mode 100644 index 0000000..ae24c65 Binary files /dev/null and b/src/static/app/dist/assets/bootstrap-icons.woff differ diff --git a/src/static/app/dist/assets/bootstrap-icons.woff2 b/src/static/app/dist/assets/bootstrap-icons.woff2 new file mode 100644 index 0000000..fff9d0c Binary files /dev/null and b/src/static/app/dist/assets/bootstrap-icons.woff2 differ diff --git a/src/static/app/dist/assets/index.css b/src/static/app/dist/assets/index.css new file mode 100644 index 0000000..6cd9cf7 --- /dev/null +++ b/src/static/app/dist/assets/index.css @@ -0,0 +1,9 @@ +@charset "UTF-8";::-webkit-scrollbar{display:none}.codeFont{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.feather{width:16px;height:16px;vertical-align:text-bottom}.btn-primary{font-weight:700}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #ff4a00; inherits: false;}@property --distance2{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.dashboardLogo{background:#178bff;background:linear-gradient(234deg,var(--brandColor1) var(--distance2),var(--brandColor2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:--brandColor1 1s,--brandColor2 .3s,--distance2 1s!important}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 1s,--brandColor2 1s,--distance2 .5s!important}.btn-brand.loading{animation:spin infinite forwards 3s linear}.btn-brand:hover,.dashboardLogo:hover{--brandColor1: #009dff;--brandColor2: #ff875b;--distance2: 30%}.signInBtn.signedIn{--distance2: 100%}@keyframes spin{0%{--degree: 234deg}to{--degree: 594deg}}[data-bs-theme=dark].main,#app:has(.main[data-bs-theme=dark]){background-color:#1b1e21}.sidebar .nav-link,.bottomNavContainer .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1.01)}[data-bs-theme=dark] .sidebar .nav-link{color:#fff}[data-bs-theme=dark] .sidebar .nav-link.active{color:#74b7ff}[data-bs-theme=dark] .nav-link:hover{background-color:#323844}.nav-link:hover{padding-left:30px;background-color:#dfdfdf}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active,.bottomNavContainer .nav-link.active{color:#007bff}.sidebar .nav-link:hover .feather,.sidebar .nav-link.active .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}.navbar .navbar-toggler{top:.25rem;right:1rem}.form-control{transition:all .2s ease-in-out}.form-control:disabled{cursor:not-allowed}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:#ffffff1a;border-color:#ffffff1a}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px #ffffff40}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:all .4s cubic-bezier(.96,-.07,.34,1.01);opacity:1}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:none!important;padding:0;margin:0 1rem 0 0}.btn-control:hover{background-color:transparent!important}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:none!important;box-shadow:none}.btn-qrcode-peer{padding:0!important}.btn-qrcode-peer:active,.btn-qrcode-peer:hover{transform:scale(.9) rotate(180deg);border:0!important}.btn-download-peer:active,.btn-download-peer:hover{color:#17a2b8!important;transform:translateY(5px)}.share_peer_btn_group .btn-control{margin:0 0 0 1rem;padding:0!important;transition:all .4s cubic-bezier(1,-.43,0,1.37)}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-lock-peer:hover{color:#28a745}.btn-lock-peer.lock,.btn-lock-peer.lock:hover{color:#6c757d}.btn-control.btn-outline-primary:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width: 992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}.peer_data_group{text-align:right;display:flex;margin-bottom:.5rem}.peer_data_group p{text-transform:uppercase;margin-bottom:0;margin-right:1rem}@media (max-width: 768px){.peer_data_group{text-align:left}}.index-switch{display:flex;align-items:center;justify-content:flex-end}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width: 768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:7rem!important}}.btn-manage-group{z-index:99;position:fixed;bottom:3rem;right:2rem;display:flex}.btn-manage-group .setting_btn_menu{position:absolute;top:-124px;background-color:#fff;padding:1rem 0;right:0;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;border-radius:10px;min-width:250px;display:none;transform:translateY(-30px);opacity:0;transition:all .3s cubic-bezier(.58,.03,.05,1.28)}.btn-manage-group .setting_btn_menu.show{display:block}.setting_btn_menu.showing{transform:translateY(0);opacity:1}.setting_btn_menu a{display:flex;padding:.5rem 1rem;transition:all .1s ease-in-out;font-size:1rem;align-items:center;cursor:pointer}.setting_btn_menu a:hover{background-color:#efefef;text-decoration:none}.setting_btn_menu a i{margin-right:auto!important}.add_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;margin-right:1rem;font-size:1.5rem}.setting_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;font-size:1.5rem}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating:before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key,#peer_preshared_key_textbox{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card{border-radius:10px}.peer_list .card .button-group{height:22px}.form-control{border-radius:10px}.btn{border-radius:8px}.login-box #username,.login-box #password,.login-box #totp{padding:.6rem calc(.9rem + 32px);height:inherit}.login-box label[for=username],.login-box label[for=password],.login-box label[for=totp]{font-size:1rem;margin:0!important;transform:translateY(2.1rem) translate(1rem);padding:0}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}@-webkit-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}@-moz-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff}.info_loading{height:19.19px;opacity:0!important}#conf_status_btn{transition:.2s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}#qrcode_img img{width:100%}#selected_ip_list .badge,#selected_peer_list .badge{margin:.1rem}#add_modal.ip_modal_open{transition:filter .2s ease-in-out;filter:brightness(.5)}#delete_bulk_modal .list-group a.active{background-color:#dc3545;border-color:#dc3545}#selected_peer_list{max-height:80px;overflow-y:scroll;overflow-x:hidden}.no-response{width:100%;height:100%;position:fixed;background:#000000ba;z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all 1s ease-in-out}.no-response.active{display:flex}.no-response.active.show{opacity:100}.no-response .container>*{text-align:center}.no-responding{transition:all 1s ease-in-out;filter:blur(10px)}pre.index-alert{margin-bottom:0;padding:1rem;background-color:#343a40;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-top:1rem;color:#fff}.peerNameCol{display:flex;align-items:center;margin-bottom:.2rem}.peerName{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peerLightContainer{text-transform:uppercase;margin:0;margin-left:auto!important}#config_body{transition:.3s ease-in-out}#config_body.firstLoading{opacity:.2}.chartTitle{display:flex}.chartControl{margin-bottom:1rem;display:flex;align-items:center}.chartTitle h6{margin-bottom:0;line-height:1;margin-right:.5rem}.chartContainer.fullScreen{position:fixed;z-index:9999;background-color:#fff;top:0;left:0;width:calc(100% + 15px);height:100%;padding:32px}.chartContainer.fullScreen .col-sm{padding-right:0;height:100%}.chartContainer.fullScreen .chartCanvasContainer{width:100%;height:calc(100% - 47px)!important;max-height:calc(100% - 47px)!important}#switch{transition:all .2s ease-in}.toggle--switch{display:none}.toggleLabel{width:64px;height:32px;background-color:#6c757d17;display:flex;position:relative;border:2px solid #6c757d8c;border-radius:100px;transition:all .2s ease-in;cursor:pointer;margin:0}.toggle--switch.waiting+.toggleLabel{opacity:.5}.toggleLabel:before{background-color:#6c757d;height:26px;width:26px;content:"";border-radius:100px;margin:1px;position:absolute;animation-name:off;animation-duration:.35s;animation-fill-mode:forwards;transition:all .2s ease-in;cursor:pointer}.toggleLabel:hover:before{filter:brightness(1.2)}.toggle--switch:checked+.toggleLabel{background-color:#007bff17!important;border:2px solid #007bff8c}.toggle--switch:checked+.toggleLabel:before{background-color:#007bff;animation-name:on;animation-duration:.35s;animation-fill-mode:forwards}@keyframes on{0%{left:0}60%{left:0;width:40px}to{left:32px;width:26px}}@keyframes off{0%{left:32px}60%{left:18px;width:40px}to{left:0;width:26px}}.toastContainer{z-index:99999!important}.toast{min-width:300px;background-color:#fff;z-index:99999}.toast-header{background-color:#fff}.toast-progressbar{width:100%;height:4px;background-color:#007bff;border-bottom-left-radius:.25rem}.addConfigurationAvailableIPs{margin-bottom:0}.input-feedback{display:none}#addConfigurationModal label{display:flex;width:100%;align-items:center}#addConfigurationModal label a{margin-left:auto!important}#reGeneratePrivateKey{border-top-right-radius:10px;border-bottom-right-radius:10px}.addConfigurationToggleStatus.waiting{opacity:.5}.peerDataUsageChartContainer{min-height:50vh;width:100%}.peerDataUsageChartControl{display:block!important;margin:0}.peerDataUsageChartControl .switchUnit{width:33.3%}.peerDataUsageChartControl .switchTimePeriod{width:25%}@media (min-width: 1200px){#peerDataUsage .modal-xl{max-width:95vw}}.bottom{display:none}@media (max-width: 768px){.bottom{display:block}.btn-manage-group{bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}main{padding-bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}}.bottomNavContainer{display:flex;color:#333;padding-bottom:env(safe-area-inset-bottom,5px);box-shadow:inset 0 1px #0000001a}.bottomNavButton{width:25vw;display:flex;flex-direction:column;align-items:center;margin:.7rem 0;color:#33333380;cursor:pointer;transition:all ease-in .2s}.bottomNavButton.active{color:#333}.bottomNavButton i{font-size:1.2rem}.bottomNavButton .subNav{width:100vw;position:absolute;z-index:10000;bottom:0;left:0;background-color:#272b30;display:none;animation-duration:.4s;padding-bottom:env(safe-area-inset-bottom,5px)}.bottomNavButton .subNav.active{display:block}.bottomNavButton .subNav .nav .nav-item .nav-link{padding:.7rem 1rem}.bottomNavWrapper{height:100%;width:100%;background-color:#000000a1;position:fixed;z-index:1030;display:none;left:0}.bottomNavWrapper.active{display:block}.sb-update-url .dot-running{transform:translate(10px)}.list-group-item{transition:all .1s ease-in}.theme-switch-btn{width:100%}.fade-enter-active,.fade-leave-active{transition:all .3s ease-in-out}.fade-enter-from,.fade-leave-to{transform:translateY(30px);opacity:0}.fade2-enter-active,.fade2-leave-active{transition:all .15s ease-in-out}.fade2-enter-from{transform:translate(20px);opacity:0}.fade2-leave-to{transform:translate(-20px);opacity:0}.login-container-fluid{height:calc(100% - 50px)!important}.totp{font-family:var(--bs-font-monospace)}.message-move,.message-enter-active,.message-leave-active{transition:all .5s ease}.message-enter-from,.message-leave-to{filter:blur(2px);opacity:0}.message-enter-from{transform:translateY(-30px) scale(.7)}.message-leave-to{transform:translateY(30px)}.message-leave-active{position:absolute}.fade3-enter-active,.fade3-leave-active{transition:all .15s ease-in-out}.fade3-enter-from{transform:scale(1);opacity:0}.fade3-leave-to{transform:scale(.8);opacity:0}/*! + * Bootstrap v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #b5b6b7;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(10,88,202,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,94,100,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(20,108,67,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(176,42,55,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}/*! +* 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-313d0126]{right:1rem}.slide-fade-leave-active[data-v-742207aa],.slide-fade-enter-active[data-v-742207aa]{transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-742207aa],.slide-fade-leave-to[data-v-742207aa]{transform:translateY(20px);opacity:0}.subMenuBtn.active[data-v-742207aa]{background-color:#ffffff20}.peerNav .nav-link[data-v-37a98098].active[data-v-37a98098]{//background: linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);//color: white;background-color:#efefef}.list-move[data-v-37a98098],.list-enter-active[data-v-37a98098],.list-leave-active[data-v-37a98098]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.list-enter-from[data-v-37a98098],.list-leave-to[data-v-37a98098]{opacity:0;transform:translateY(30px)}.list-leave-active[data-v-37a98098]{position:absolute}.peerSettingContainer[data-v-f992ec07]{background-color:#00000060;z-index:1000} diff --git a/src/static/app/dist/assets/index.js b/src/static/app/dist/assets/index.js new file mode 100644 index 0000000..b8c0d38 --- /dev/null +++ b/src/static/app/dist/assets/index.js @@ -0,0 +1,40 @@ +var z0=Object.defineProperty;var U0=(e,t,n)=>t in e?z0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var st=(e,t,n)=>(U0(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 Op=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function K0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Y0(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 G0={exports:{}},fe="top",Pe="bottom",ke="right",pe="left",Sa="auto",Hi=[fe,Pe,ke,pe],Bs="start",yi="end",Dp="clippingParents",Nc="viewport",ri="popper",$p="reference",Gl=Hi.reduce(function(e,t){return e.concat([t+"-"+Bs,t+"-"+yi])},[]),Fc=[].concat(Hi,[Sa]).reduce(function(e,t){return e.concat([t,t+"-"+Bs,t+"-"+yi])},[]),Lp="beforeRead",Ip="read",Rp="afterRead",Np="beforeMain",Fp="main",Bp="afterMain",Vp="beforeWrite",Hp="write",jp="afterWrite",Wp=[Lp,Ip,Rp,Np,Fp,Bp,Vp,Hp,jp];function cn(e){return e?(e.nodeName||"").toLowerCase():null}function Oe(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Vs(e){var t=Oe(e).Element;return e instanceof t||e instanceof Element}function We(e){var t=Oe(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Bc(e){if(typeof ShadowRoot>"u")return!1;var t=Oe(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function q0(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];!We(o)||!cn(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 X0(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},{});!We(i)||!cn(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const Vc={name:"applyStyles",enabled:!0,phase:"write",fn:q0,effect:X0,requires:["computeStyles"]};function rn(e){return e.split("-")[0]}var Ds=Math.max,Zr=Math.min,vi=Math.round;function ql(){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 zp(){return!/^((?!chrome|android).)*safari/i.test(ql())}function xi(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),i=1,o=1;t&&We(e)&&(i=e.offsetWidth>0&&vi(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&vi(s.height)/e.offsetHeight||1);var r=Vs(e)?Oe(e):window,a=r.visualViewport,l=!zp()&&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 Hc(e){var t=xi(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 Up(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Bc(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Mn(e){return Oe(e).getComputedStyle(e)}function Q0(e){return["table","td","th"].indexOf(cn(e))>=0}function os(e){return((Vs(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ca(e){return cn(e)==="html"?e:e.assignedSlot||e.parentNode||(Bc(e)?e.host:null)||os(e)}function Bd(e){return!We(e)||Mn(e).position==="fixed"?null:e.offsetParent}function J0(e){var t=/firefox/i.test(ql()),n=/Trident/i.test(ql());if(n&&We(e)){var s=Mn(e);if(s.position==="fixed")return null}var i=Ca(e);for(Bc(i)&&(i=i.host);We(i)&&["html","body"].indexOf(cn(i))<0;){var o=Mn(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 Ko(e){for(var t=Oe(e),n=Bd(e);n&&Q0(n)&&Mn(n).position==="static";)n=Bd(n);return n&&(cn(n)==="html"||cn(n)==="body"&&Mn(n).position==="static")?t:n||J0(e)||t}function jc(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function ho(e,t,n){return Ds(e,Zr(t,n))}function Z0(e,t,n){var s=ho(e,t,n);return s>n?n:s}function Kp(){return{top:0,right:0,bottom:0,left:0}}function Yp(e){return Object.assign({},Kp(),e)}function Gp(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var tx=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Yp(typeof t!="number"?t:Gp(t,Hi))};function ex(e){var t,n=e.state,s=e.name,i=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=rn(n.placement),l=jc(a),c=[pe,ke].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!r)){var d=tx(i.padding,n),f=Hc(o),p=l==="y"?fe:pe,g=l==="y"?Pe:ke,m=n.rects.reference[u]+n.rects.reference[l]-r[l]-n.rects.popper[u],y=r[l]-n.rects.reference[l],x=Ko(o),S=x?l==="y"?x.clientHeight||0:x.clientWidth||0:0,M=m/2-y/2,C=d[p],v=S-f[u]-d[g],E=S/2-f[u]/2+M,A=ho(C,E,v),w=l;n.modifiersData[s]=(t={},t[w]=A,t.centerOffset=A-E,t)}}function nx(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)||Up(t.elements.popper,i)&&(t.elements.arrow=i))}const qp={name:"arrow",enabled:!0,phase:"main",fn:ex,effect:nx,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function wi(e){return e.split("-")[1]}var sx={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ix(e,t){var n=e.x,s=e.y,i=t.devicePixelRatio||1;return{x:vi(n*i)/i||0,y:vi(s*i)/i||0}}function Vd(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,g=r.y,m=g===void 0?0:g,y=typeof u=="function"?u({x:p,y:m}):{x:p,y:m};p=y.x,m=y.y;var x=r.hasOwnProperty("x"),S=r.hasOwnProperty("y"),M=pe,C=fe,v=window;if(c){var E=Ko(n),A="clientHeight",w="clientWidth";if(E===Oe(n)&&(E=os(n),Mn(E).position!=="static"&&a==="absolute"&&(A="scrollHeight",w="scrollWidth")),E=E,i===fe||(i===pe||i===ke)&&o===yi){C=Pe;var k=d&&E===v&&v.visualViewport?v.visualViewport.height:E[A];m-=k-s.height,m*=l?1:-1}if(i===pe||(i===fe||i===Pe)&&o===yi){M=ke;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&&sx),N=u===!0?ix({x:p,y:m},Oe(n)):{x:p,y:m};if(p=N.x,m=N.y,l){var X;return Object.assign({},L,(X={},X[C]=S?"0":"",X[M]=x?"0":"",X.transform=(v.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",X))}return Object.assign({},L,(t={},t[C]=S?m+"px":"",t[M]=x?p+"px":"",t.transform="",t))}function ox(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:rn(t.placement),variation:wi(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,Vd(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,Vd(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 Wc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:ox,data:{}};var _r={passive:!0};function rx(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=Oe(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,_r)}),a&&l.addEventListener("resize",n.update,_r),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,_r)}),a&&l.removeEventListener("resize",n.update,_r)}}const zc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:rx,data:{}};var ax={left:"right",right:"left",bottom:"top",top:"bottom"};function Wr(e){return e.replace(/left|right|bottom|top/g,function(t){return ax[t]})}var lx={start:"end",end:"start"};function Hd(e){return e.replace(/start|end/g,function(t){return lx[t]})}function Uc(e){var t=Oe(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function Kc(e){return xi(os(e)).left+Uc(e).scrollLeft}function cx(e,t){var n=Oe(e),s=os(e),i=n.visualViewport,o=s.clientWidth,r=s.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=zp();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+Kc(e),y:l}}function ux(e){var t,n=os(e),s=Uc(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Ds(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Ds(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+Kc(e),l=-s.scrollTop;return Mn(i||n).direction==="rtl"&&(a+=Ds(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Yc(e){var t=Mn(e),n=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function Xp(e){return["html","body","#document"].indexOf(cn(e))>=0?e.ownerDocument.body:We(e)&&Yc(e)?e:Xp(Ca(e))}function fo(e,t){var n;t===void 0&&(t=[]);var s=Xp(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),o=Oe(s),r=i?[o].concat(o.visualViewport||[],Yc(s)?s:[]):s,a=t.concat(r);return i?a:a.concat(fo(Ca(r)))}function Xl(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function dx(e,t){var n=xi(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 jd(e,t,n){return t===Nc?Xl(cx(e,n)):Vs(t)?dx(t,n):Xl(ux(os(e)))}function hx(e){var t=fo(Ca(e)),n=["absolute","fixed"].indexOf(Mn(e).position)>=0,s=n&&We(e)?Ko(e):e;return Vs(s)?t.filter(function(i){return Vs(i)&&Up(i,s)&&cn(i)!=="body"}):[]}function fx(e,t,n,s){var i=t==="clippingParents"?hx(e):[].concat(t),o=[].concat(i,[n]),r=o[0],a=o.reduce(function(l,c){var u=jd(e,c,s);return l.top=Ds(u.top,l.top),l.right=Zr(u.right,l.right),l.bottom=Zr(u.bottom,l.bottom),l.left=Ds(u.left,l.left),l},jd(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 Qp(e){var t=e.reference,n=e.element,s=e.placement,i=s?rn(s):null,o=s?wi(s):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case fe:l={x:r,y:t.y-n.height};break;case Pe:l={x:r,y:t.y+t.height};break;case ke:l={x:t.x+t.width,y:a};break;case pe:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?jc(i):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case Bs:l[c]=l[c]-(t[u]/2-n[u]/2);break;case yi:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function Ei(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?Dp:a,c=n.rootBoundary,u=c===void 0?Nc:c,d=n.elementContext,f=d===void 0?ri:d,p=n.altBoundary,g=p===void 0?!1:p,m=n.padding,y=m===void 0?0:m,x=Yp(typeof y!="number"?y:Gp(y,Hi)),S=f===ri?$p:ri,M=e.rects.popper,C=e.elements[g?S:f],v=fx(Vs(C)?C:C.contextElement||os(e.elements.popper),l,u,r),E=xi(e.elements.reference),A=Qp({reference:E,element:M,strategy:"absolute",placement:i}),w=Xl(Object.assign({},M,A)),k=f===ri?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===ri&&L){var N=L[i];Object.keys($).forEach(function(X){var Y=[ke,Pe].indexOf(X)>=0?1:-1,H=[fe,Pe].indexOf(X)>=0?"y":"x";$[X]+=N[H]*Y})}return $}function px(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?Fc:l,u=wi(s),d=u?a?Gl:Gl.filter(function(g){return wi(g)===u}):Hi,f=d.filter(function(g){return c.indexOf(g)>=0});f.length===0&&(f=d);var p=f.reduce(function(g,m){return g[m]=Ei(e,{placement:m,boundary:i,rootBoundary:o,padding:r})[rn(m)],g},{});return Object.keys(p).sort(function(g,m){return p[g]-p[m]})}function gx(e){if(rn(e)===Sa)return[];var t=Wr(e);return[Hd(e),t,Hd(t)]}function mx(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,g=p===void 0?!0:p,m=n.allowedAutoPlacements,y=t.options.placement,x=rn(y),S=x===y,M=l||(S||!g?[Wr(y)]:gx(y)),C=[y].concat(M).reduce(function(xt,Pt){return xt.concat(rn(Pt)===Sa?px(t,{placement:Pt,boundary:u,rootBoundary:d,padding:c,flipVariations:g,allowedAutoPlacements:m}):Pt)},[]),v=t.rects.reference,E=t.rects.popper,A=new Map,w=!0,k=C[0],$=0;$=0,H=Y?"width":"height",R=Ei(t,{placement:L,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),W=Y?X?ke:pe:X?Pe:fe;v[H]>E[H]&&(W=Wr(W));var U=Wr(W),it=[];if(o&&it.push(R[N]<=0),a&&it.push(R[W]<=0,R[U]<=0),it.every(function(xt){return xt})){k=L,w=!1;break}A.set(L,it)}if(w)for(var lt=g?3:1,pt=function(Pt){var wt=C.find(function(j){var et=A.get(j);if(et)return et.slice(0,Pt).every(function(J){return J})});if(wt)return k=wt,"break"},ft=lt;ft>0;ft--){var St=pt(ft);if(St==="break")break}t.placement!==k&&(t.modifiersData[s]._skip=!0,t.placement=k,t.reset=!0)}}const Jp={name:"flip",enabled:!0,phase:"main",fn:mx,requiresIfExists:["offset"],data:{_skip:!1}};function Wd(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 zd(e){return[fe,ke,Pe,pe].some(function(t){return e[t]>=0})}function _x(e){var t=e.state,n=e.name,s=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Ei(t,{elementContext:"reference"}),a=Ei(t,{altBoundary:!0}),l=Wd(r,s),c=Wd(a,i,o),u=zd(l),d=zd(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 Zp={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:_x};function bx(e,t,n){var s=rn(e),i=[pe,fe].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,[pe,ke].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}function yx(e){var t=e.state,n=e.options,s=e.name,i=n.offset,o=i===void 0?[0,0]:i,r=Fc.reduce(function(u,d){return u[d]=bx(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 tg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:yx};function vx(e){var t=e.state,n=e.name;t.modifiersData[n]=Qp({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Gc={name:"popperOffsets",enabled:!0,phase:"read",fn:vx,data:{}};function xx(e){return e==="x"?"y":"x"}function wx(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,g=n.tetherOffset,m=g===void 0?0:g,y=Ei(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),x=rn(t.placement),S=wi(t.placement),M=!S,C=jc(x),v=xx(C),E=t.modifiersData.popperOffsets,A=t.rects.reference,w=t.rects.popper,k=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,$=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"?fe:pe,H=C==="y"?Pe:ke,R=C==="y"?"height":"width",W=E[C],U=W+y[Y],it=W-y[H],lt=p?-w[R]/2:0,pt=S===Bs?A[R]:w[R],ft=S===Bs?-w[R]:-A[R],St=t.elements.arrow,xt=p&&St?Hc(St):{width:0,height:0},Pt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Kp(),wt=Pt[Y],j=Pt[H],et=ho(0,A[R],xt[R]),J=M?A[R]/2-lt-et-wt-$.mainAxis:pt-et-wt-$.mainAxis,ot=M?-A[R]/2+lt+et+j+$.mainAxis:ft+et+j+$.mainAxis,F=t.elements.arrow&&Ko(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+ot-D,K=ho(p?Zr(U,I):U,W,p?Ds(it,V):it);E[C]=K,N[C]=K-W}if(a){var q,Z=C==="x"?fe:pe,Q=C==="x"?Pe:ke,B=E[v],G=v==="y"?"height":"width",at=B+y[Z],dt=B-y[Q],ct=[fe,pe].indexOf(x)!==-1,gt=(q=L==null?void 0:L[v])!=null?q:0,vt=ct?at:B-A[G]-w[G]-gt+$.altAxis,kt=ct?B+A[G]+w[G]-gt-$.altAxis:dt,$t=p&&ct?Z0(vt,B,kt):ho(p?vt:at,B,p?kt:dt);E[v]=$t,N[v]=$t-B}t.modifiersData[s]=N}}const eg={name:"preventOverflow",enabled:!0,phase:"main",fn:wx,requiresIfExists:["offset"]};function Ex(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Sx(e){return e===Oe(e)||!We(e)?Uc(e):Ex(e)}function Cx(e){var t=e.getBoundingClientRect(),n=vi(t.width)/e.offsetWidth||1,s=vi(t.height)/e.offsetHeight||1;return n!==1||s!==1}function Ax(e,t,n){n===void 0&&(n=!1);var s=We(t),i=We(t)&&Cx(t),o=os(t),r=xi(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(s||!s&&!n)&&((cn(t)!=="body"||Yc(o))&&(a=Sx(t)),We(t)?(l=xi(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Kc(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function Tx(e){var t=new Map,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 Mx(e){var t=Tx(e);return Wp.reduce(function(n,s){return n.concat(t.filter(function(i){return i.phase===s}))},[])}function Px(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function kx(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 Ud={placement:"bottom",modifiers:[],strategy:"absolute"};function Kd(){for(var e=arguments.length,t=new Array(e),n=0;nP[_]})}}return h.default=P,Object.freeze(h)}const i=s(n),o=new Map,r={set(P,h,_){o.has(P)||o.set(P,new Map);const O=o.get(P);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,_)},get(P,h){return o.has(P)&&o.get(P).get(h)||null},remove(P,h){if(!o.has(P))return;const _=o.get(P);_.delete(h),_.size===0&&o.delete(P)}},a=1e6,l=1e3,c="transitionend",u=P=>(P&&window.CSS&&window.CSS.escape&&(P=P.replace(/#([^\s"#']+)/g,(h,_)=>`#${CSS.escape(_)}`)),P),d=P=>P==null?`${P}`:Object.prototype.toString.call(P).match(/\s([a-z]+)/i)[1].toLowerCase(),f=P=>{do P+=Math.floor(Math.random()*a);while(document.getElementById(P));return P},p=P=>{if(!P)return 0;let{transitionDuration:h,transitionDelay:_}=window.getComputedStyle(P);const O=Number.parseFloat(h),z=Number.parseFloat(_);return!O&&!z?0:(h=h.split(",")[0],_=_.split(",")[0],(Number.parseFloat(h)+Number.parseFloat(_))*l)},g=P=>{P.dispatchEvent(new Event(c))},m=P=>!P||typeof P!="object"?!1:(typeof P.jquery<"u"&&(P=P[0]),typeof P.nodeType<"u"),y=P=>m(P)?P.jquery?P[0]:P:typeof P=="string"&&P.length>0?document.querySelector(u(P)):null,x=P=>{if(!m(P)||P.getClientRects().length===0)return!1;const h=getComputedStyle(P).getPropertyValue("visibility")==="visible",_=P.closest("details:not([open])");if(!_)return h;if(_!==P){const O=P.closest("summary");if(O&&O.parentNode!==_||O===null)return!1}return h},S=P=>!P||P.nodeType!==Node.ELEMENT_NODE||P.classList.contains("disabled")?!0:typeof P.disabled<"u"?P.disabled:P.hasAttribute("disabled")&&P.getAttribute("disabled")!=="false",M=P=>{if(!document.documentElement.attachShadow)return null;if(typeof P.getRootNode=="function"){const h=P.getRootNode();return h instanceof ShadowRoot?h:null}return P instanceof ShadowRoot?P:P.parentNode?M(P.parentNode):null},C=()=>{},v=P=>{P.offsetHeight},E=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,A=[],w=P=>{document.readyState==="loading"?(A.length||document.addEventListener("DOMContentLoaded",()=>{for(const h of A)h()}),A.push(P)):P()},k=()=>document.documentElement.dir==="rtl",$=P=>{w(()=>{const h=E();if(h){const _=P.NAME,O=h.fn[_];h.fn[_]=P.jQueryInterface,h.fn[_].Constructor=P,h.fn[_].noConflict=()=>(h.fn[_]=O,P.jQueryInterface)}})},L=(P,h=[],_=P)=>typeof P=="function"?P(...h):_,N=(P,h,_=!0)=>{if(!_){L(P);return}const z=p(h)+5;let nt=!1;const tt=({target:Et})=>{Et===h&&(nt=!0,h.removeEventListener(c,tt),L(P))};h.addEventListener(c,tt),setTimeout(()=>{nt||g(h)},z)},X=(P,h,_,O)=>{const z=P.length;let nt=P.indexOf(h);return nt===-1?!_&&O?P[z-1]:P[0]:(nt+=_?1:-1,O&&(nt=(nt+z)%z),P[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(P,h){return h&&`${h}::${U++}`||P.uidEvent||U++}function ft(P){const h=pt(P);return P.uidEvent=h,W[h]=W[h]||{},W[h]}function St(P,h){return function _(O){return T(O,{delegateTarget:P}),_.oneOff&&F.off(P,O.type,h),h.apply(P,[O])}}function xt(P,h,_){return function O(z){const nt=P.querySelectorAll(h);for(let{target:tt}=z;tt&&tt!==this;tt=tt.parentNode)for(const Et of nt)if(Et===tt)return T(z,{delegateTarget:tt}),O.oneOff&&F.off(P,z.type,h,_),_.apply(tt,[z])}}function Pt(P,h,_=null){return Object.values(P).find(O=>O.callable===h&&O.delegationSelector===_)}function wt(P,h,_){const O=typeof h=="string",z=O?_:h||_;let nt=ot(P);return lt.has(nt)||(nt=P),[O,z,nt]}function j(P,h,_,O,z){if(typeof h!="string"||!P)return;let[nt,tt,Et]=wt(h,_,O);h in it&&(tt=(W0=>function(ei){if(!ei.relatedTarget||ei.relatedTarget!==ei.delegateTarget&&!ei.delegateTarget.contains(ei.relatedTarget))return W0.call(this,ei)})(tt));const _e=ft(P),Re=_e[Et]||(_e[Et]={}),ie=Pt(Re,tt,nt?_:null);if(ie){ie.oneOff=ie.oneOff&&z;return}const Je=pt(tt,h.replace(Y,"")),Ye=nt?xt(P,_,tt):St(P,tt);Ye.delegationSelector=nt?_:null,Ye.callable=tt,Ye.oneOff=z,Ye.uidEvent=Je,Re[Je]=Ye,P.addEventListener(Et,Ye,nt)}function et(P,h,_,O,z){const nt=Pt(h[_],O,z);nt&&(P.removeEventListener(_,nt,!!z),delete h[_][nt.uidEvent])}function J(P,h,_,O){const z=h[_]||{};for(const[nt,tt]of Object.entries(z))nt.includes(O)&&et(P,h,_,tt.callable,tt.delegationSelector)}function ot(P){return P=P.replace(H,""),it[P]||P}const F={on(P,h,_,O){j(P,h,_,O,!1)},one(P,h,_,O){j(P,h,_,O,!0)},off(P,h,_,O){if(typeof h!="string"||!P)return;const[z,nt,tt]=wt(h,_,O),Et=tt!==h,_e=ft(P),Re=_e[tt]||{},ie=h.startsWith(".");if(typeof nt<"u"){if(!Object.keys(Re).length)return;et(P,_e,tt,nt,z?_:null);return}if(ie)for(const Je of Object.keys(_e))J(P,_e,Je,h.slice(1));for(const[Je,Ye]of Object.entries(Re)){const mr=Je.replace(R,"");(!Et||h.includes(mr))&&et(P,_e,tt,Ye.callable,Ye.delegationSelector)}},trigger(P,h,_){if(typeof h!="string"||!P)return null;const O=E(),z=ot(h),nt=h!==z;let tt=null,Et=!0,_e=!0,Re=!1;nt&&O&&(tt=O.Event(h,_),O(P).trigger(tt),Et=!tt.isPropagationStopped(),_e=!tt.isImmediatePropagationStopped(),Re=tt.isDefaultPrevented());const ie=T(new Event(h,{bubbles:Et,cancelable:!0}),_);return Re&&ie.preventDefault(),_e&&P.dispatchEvent(ie),ie.defaultPrevented&&tt&&tt.preventDefault(),ie}};function T(P,h={}){for(const[_,O]of Object.entries(h))try{P[_]=O}catch{Object.defineProperty(P,_,{configurable:!0,get(){return O}})}return P}function D(P){if(P==="true")return!0;if(P==="false")return!1;if(P===Number(P).toString())return Number(P);if(P===""||P==="null")return null;if(typeof P!="string")return P;try{return JSON.parse(decodeURIComponent(P))}catch{return P}}function I(P){return P.replace(/[A-Z]/g,h=>`-${h.toLowerCase()}`)}const V={setDataAttribute(P,h,_){P.setAttribute(`data-bs-${I(h)}`,_)},removeDataAttribute(P,h){P.removeAttribute(`data-bs-${I(h)}`)},getDataAttributes(P){if(!P)return{};const h={},_=Object.keys(P.dataset).filter(O=>O.startsWith("bs")&&!O.startsWith("bsConfig"));for(const O of _){let z=O.replace(/^bs/,"");z=z.charAt(0).toLowerCase()+z.slice(1,z.length),h[z]=D(P.dataset[O])}return h},getDataAttribute(P,h){return D(P.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,_){const O=m(_)?V.getDataAttribute(_,"config"):{};return{...this.constructor.Default,...typeof O=="object"?O:{},...m(_)?V.getDataAttributes(_):{},...typeof h=="object"?h:{}}}_typeCheckConfig(h,_=this.constructor.DefaultType){for(const[O,z]of Object.entries(_)){const nt=h[O],tt=m(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 q="5.3.2";class Z extends K{constructor(h,_){super(),h=y(h),h&&(this._element=h,this._config=this._getConfig(_),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,_,O=!0){N(h,_,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,_={}){return this.getInstance(h)||new this(h,typeof _=="object"?_:null)}static get VERSION(){return q}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=P=>{let h=P.getAttribute("data-bs-target");if(!h||h==="#"){let _=P.getAttribute("href");if(!_||!_.includes("#")&&!_.startsWith("."))return null;_.includes("#")&&!_.startsWith("#")&&(_=`#${_.split("#")[1]}`),h=_&&_!=="#"?u(_.trim()):null}return h},B={find(P,h=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(h,P))},findOne(P,h=document.documentElement){return Element.prototype.querySelector.call(h,P)},children(P,h){return[].concat(...P.children).filter(_=>_.matches(h))},parents(P,h){const _=[];let O=P.parentNode.closest(h);for(;O;)_.push(O),O=O.parentNode.closest(h);return _},prev(P,h){let _=P.previousElementSibling;for(;_;){if(_.matches(h))return[_];_=_.previousElementSibling}return[]},next(P,h){let _=P.nextElementSibling;for(;_;){if(_.matches(h))return[_];_=_.nextElementSibling}return[]},focusableChildren(P){const h=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(_=>`${_}:not([tabindex^="-"])`).join(",");return this.find(h,P).filter(_=>!S(_)&&x(_))},getSelectorFromElement(P){const h=Q(P);return h&&B.findOne(h)?h:null},getElementFromSelector(P){const h=Q(P);return h?B.findOne(h):null},getMultipleElementsFromSelector(P){const h=Q(P);return h?B.find(h):[]}},G=(P,h="hide")=>{const _=`click.dismiss${P.EVENT_KEY}`,O=P.NAME;F.on(document,_,`[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}`);P.getOrCreateInstance(nt)[h]()})},at="alert",ct=".bs.alert",gt=`close${ct}`,vt=`closed${ct}`,kt="fade",$t="show";class zt extends Z{static get NAME(){return at}close(){if(F.trigger(this._element,gt).defaultPrevented)return;this._element.classList.remove($t);const _=this._element.classList.contains(kt);this._queueCallback(()=>this._destroyElement(),this._element,_)}_destroyElement(){this._element.remove(),F.trigger(this._element,vt),this.dispose()}static jQueryInterface(h){return this.each(function(){const _=zt.getOrCreateInstance(this);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}G(zt,"close"),$(zt);const Ee="button",sr=".bs.button",ds=".data-api",ir="active",ae='[data-bs-toggle="button"]',Le=`click${sr}${ds}`;class Dn extends Z{static get NAME(){return Ee}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(ir))}static jQueryInterface(h){return this.each(function(){const _=Dn.getOrCreateInstance(this);h==="toggle"&&_[h]()})}}F.on(document,Le,ae,P=>{P.preventDefault();const h=P.target.closest(ae);Dn.getOrCreateInstance(h).toggle()}),$(Dn);const fb="swipe",Ys=".bs.swipe",pb=`touchstart${Ys}`,gb=`touchmove${Ys}`,mb=`touchend${Ys}`,_b=`pointerdown${Ys}`,bb=`pointerup${Ys}`,yb="touch",vb="pen",xb="pointer-event",wb=40,Eb={endCallback:null,leftCallback:null,rightCallback:null},Sb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class or extends K{constructor(h,_){super(),this._element=h,!(!h||!or.isSupported())&&(this._config=this._getConfig(_),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Eb}static get DefaultType(){return Sb}static get NAME(){return fb}dispose(){F.off(this._element,Ys)}_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<=wb)return;const _=h/this._deltaX;this._deltaX=0,_&&L(_>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,_b,h=>this._start(h)),F.on(this._element,bb,h=>this._end(h)),this._element.classList.add(xb)):(F.on(this._element,pb,h=>this._start(h)),F.on(this._element,gb,h=>this._move(h)),F.on(this._element,mb,h=>this._end(h)))}_eventIsPointerPenTouch(h){return this._supportPointerEvents&&(h.pointerType===vb||h.pointerType===yb)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Cb="carousel",$n=".bs.carousel",Ju=".data-api",Ab="ArrowLeft",Tb="ArrowRight",Mb=500,Yi="next",Gs="prev",qs="left",rr="right",Pb=`slide${$n}`,sl=`slid${$n}`,kb=`keydown${$n}`,Ob=`mouseenter${$n}`,Db=`mouseleave${$n}`,$b=`dragstart${$n}`,Lb=`load${$n}${Ju}`,Ib=`click${$n}${Ju}`,Zu="carousel",ar="active",Rb="slide",Nb="carousel-item-end",Fb="carousel-item-start",Bb="carousel-item-next",Vb="carousel-item-prev",td=".active",ed=".carousel-item",Hb=td+ed,jb=".carousel-item img",Wb=".carousel-indicators",zb="[data-bs-slide], [data-bs-slide-to]",Ub='[data-bs-ride="carousel"]',Kb={[Ab]:rr,[Tb]:qs},Yb={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Gb={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Xs extends Z{constructor(h,_){super(h,_),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=B.findOne(Wb,this._element),this._addEventListeners(),this._config.ride===Zu&&this.cycle()}static get Default(){return Yb}static get DefaultType(){return Gb}static get NAME(){return Cb}next(){this._slide(Yi)}nextWhenVisible(){!document.hidden&&x(this._element)&&this.next()}prev(){this._slide(Gs)}pause(){this._isSliding&&g(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,sl,()=>this.cycle());return}this.cycle()}}to(h){const _=this._getItems();if(h>_.length-1||h<0)return;if(this._isSliding){F.one(this._element,sl,()=>this.to(h));return}const O=this._getItemIndex(this._getActive());if(O===h)return;const z=h>O?Yi:Gs;this._slide(z,_[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,kb,h=>this._keydown(h)),this._config.pause==="hover"&&(F.on(this._element,Ob,()=>this.pause()),F.on(this._element,Db,()=>this._maybeEnableCycle())),this._config.touch&&or.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const O of B.find(jb,this._element))F.on(O,$b,z=>z.preventDefault());const _={leftCallback:()=>this._slide(this._directionToOrder(qs)),rightCallback:()=>this._slide(this._directionToOrder(rr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Mb+this._config.interval))}};this._swipeHelper=new or(this._element,_)}_keydown(h){if(/input|textarea/i.test(h.target.tagName))return;const _=Kb[h.key];_&&(h.preventDefault(),this._slide(this._directionToOrder(_)))}_getItemIndex(h){return this._getItems().indexOf(h)}_setActiveIndicatorElement(h){if(!this._indicatorsElement)return;const _=B.findOne(td,this._indicatorsElement);_.classList.remove(ar),_.removeAttribute("aria-current");const O=B.findOne(`[data-bs-slide-to="${h}"]`,this._indicatorsElement);O&&(O.classList.add(ar),O.setAttribute("aria-current","true"))}_updateInterval(){const h=this._activeElement||this._getActive();if(!h)return;const _=Number.parseInt(h.getAttribute("data-bs-interval"),10);this._config.interval=_||this._config.defaultInterval}_slide(h,_=null){if(this._isSliding)return;const O=this._getActive(),z=h===Yi,nt=_||X(this._getItems(),O,z,this._config.wrap);if(nt===O)return;const tt=this._getItemIndex(nt),Et=mr=>F.trigger(this._element,mr,{relatedTarget:nt,direction:this._orderToDirection(h),from:this._getItemIndex(O),to:tt});if(Et(Pb).defaultPrevented||!O||!nt)return;const Re=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(tt),this._activeElement=nt;const ie=z?Fb:Nb,Je=z?Bb:Vb;nt.classList.add(Je),v(nt),O.classList.add(ie),nt.classList.add(ie);const Ye=()=>{nt.classList.remove(ie,Je),nt.classList.add(ar),O.classList.remove(ar,Je,ie),this._isSliding=!1,Et(sl)};this._queueCallback(Ye,O,this._isAnimated()),Re&&this.cycle()}_isAnimated(){return this._element.classList.contains(Rb)}_getActive(){return B.findOne(Hb,this._element)}_getItems(){return B.find(ed,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(h){return k()?h===qs?Gs:Yi:h===qs?Yi:Gs}_orderToDirection(h){return k()?h===Gs?qs:rr:h===Gs?rr:qs}static jQueryInterface(h){return this.each(function(){const _=Xs.getOrCreateInstance(this,h);if(typeof h=="number"){_.to(h);return}if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}F.on(document,Ib,zb,function(P){const h=B.getElementFromSelector(this);if(!h||!h.classList.contains(Zu))return;P.preventDefault();const _=Xs.getOrCreateInstance(h),O=this.getAttribute("data-bs-slide-to");if(O){_.to(O),_._maybeEnableCycle();return}if(V.getDataAttribute(this,"slide")==="next"){_.next(),_._maybeEnableCycle();return}_.prev(),_._maybeEnableCycle()}),F.on(window,Lb,()=>{const P=B.find(Ub);for(const h of P)Xs.getOrCreateInstance(h)}),$(Xs);const qb="collapse",Gi=".bs.collapse",Xb=".data-api",Qb=`show${Gi}`,Jb=`shown${Gi}`,Zb=`hide${Gi}`,ty=`hidden${Gi}`,ey=`click${Gi}${Xb}`,il="show",Qs="collapse",lr="collapsing",ny="collapsed",sy=`:scope .${Qs} .${Qs}`,iy="collapse-horizontal",oy="width",ry="height",ay=".collapse.show, .collapse.collapsing",ol='[data-bs-toggle="collapse"]',ly={parent:null,toggle:!0},cy={parent:"(null|element)",toggle:"boolean"};class Js extends Z{constructor(h,_){super(h,_),this._isTransitioning=!1,this._triggerArray=[];const O=B.find(ol);for(const z of O){const nt=B.getSelectorFromElement(z),tt=B.find(nt).filter(Et=>Et===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 ly}static get DefaultType(){return cy}static get NAME(){return qb}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let h=[];if(this._config.parent&&(h=this._getFirstLevelChildren(ay).filter(Et=>Et!==this._element).map(Et=>Js.getOrCreateInstance(Et,{toggle:!1}))),h.length&&h[0]._isTransitioning||F.trigger(this._element,Qb).defaultPrevented)return;for(const Et of h)Et.hide();const O=this._getDimension();this._element.classList.remove(Qs),this._element.classList.add(lr),this._element.style[O]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const z=()=>{this._isTransitioning=!1,this._element.classList.remove(lr),this._element.classList.add(Qs,il),this._element.style[O]="",F.trigger(this._element,Jb)},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,Zb).defaultPrevented)return;const _=this._getDimension();this._element.style[_]=`${this._element.getBoundingClientRect()[_]}px`,v(this._element),this._element.classList.add(lr),this._element.classList.remove(Qs,il);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(lr),this._element.classList.add(Qs),F.trigger(this._element,ty)};this._element.style[_]="",this._queueCallback(O,this._element,!0)}_isShown(h=this._element){return h.classList.contains(il)}_configAfterMerge(h){return h.toggle=!!h.toggle,h.parent=y(h.parent),h}_getDimension(){return this._element.classList.contains(iy)?oy:ry}_initializeChildren(){if(!this._config.parent)return;const h=this._getFirstLevelChildren(ol);for(const _ of h){const O=B.getElementFromSelector(_);O&&this._addAriaAndCollapsedClass([_],this._isShown(O))}}_getFirstLevelChildren(h){const _=B.find(sy,this._config.parent);return B.find(h,this._config.parent).filter(O=>!_.includes(O))}_addAriaAndCollapsedClass(h,_){if(h.length)for(const O of h)O.classList.toggle(ny,!_),O.setAttribute("aria-expanded",_)}static jQueryInterface(h){const _={};return typeof h=="string"&&/show|hide/.test(h)&&(_.toggle=!1),this.each(function(){const O=Js.getOrCreateInstance(this,_);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h]()}})}}F.on(document,ey,ol,function(P){(P.target.tagName==="A"||P.delegateTarget&&P.delegateTarget.tagName==="A")&&P.preventDefault();for(const h of B.getMultipleElementsFromSelector(this))Js.getOrCreateInstance(h,{toggle:!1}).toggle()}),$(Js);const nd="dropdown",hs=".bs.dropdown",rl=".data-api",uy="Escape",sd="Tab",dy="ArrowUp",id="ArrowDown",hy=2,fy=`hide${hs}`,py=`hidden${hs}`,gy=`show${hs}`,my=`shown${hs}`,od=`click${hs}${rl}`,rd=`keydown${hs}${rl}`,_y=`keyup${hs}${rl}`,Zs="show",by="dropup",yy="dropend",vy="dropstart",xy="dropup-center",wy="dropdown-center",fs='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ey=`${fs}.${Zs}`,cr=".dropdown-menu",Sy=".navbar",Cy=".navbar-nav",Ay=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ty=k()?"top-end":"top-start",My=k()?"top-start":"top-end",Py=k()?"bottom-end":"bottom-start",ky=k()?"bottom-start":"bottom-end",Oy=k()?"left-start":"right-start",Dy=k()?"right-start":"left-start",$y="top",Ly="bottom",Iy={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ry={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ke extends Z{constructor(h,_){super(h,_),this._popper=null,this._parent=this._element.parentNode,this._menu=B.next(this._element,cr)[0]||B.prev(this._element,cr)[0]||B.findOne(cr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Iy}static get DefaultType(){return Ry}static get NAME(){return nd}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,gy,h).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Cy))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(Zs),this._element.classList.add(Zs),F.trigger(this._element,my,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,fy,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(Zs),this._element.classList.remove(Zs),this._element.setAttribute("aria-expanded","false"),V.removeDataAttribute(this._menu,"popper"),F.trigger(this._element,py,h)}}_getConfig(h){if(h=super._getConfig(h),typeof h.reference=="object"&&!m(h.reference)&&typeof h.reference.getBoundingClientRect!="function")throw new TypeError(`${nd.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:m(this._config.reference)?h=y(this._config.reference):typeof this._config.reference=="object"&&(h=this._config.reference);const _=this._getPopperConfig();this._popper=i.createPopper(h,this._menu,_)}_isShown(){return this._menu.classList.contains(Zs)}_getPlacement(){const h=this._parent;if(h.classList.contains(yy))return Oy;if(h.classList.contains(vy))return Dy;if(h.classList.contains(xy))return $y;if(h.classList.contains(wy))return Ly;const _=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return h.classList.contains(by)?_?My:Ty:_?ky:Py}_detectNavbar(){return this._element.closest(Sy)!==null}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(_=>Number.parseInt(_,10)):typeof h=="function"?_=>h(_,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:_}){const O=B.find(Ay,this._menu).filter(z=>x(z));O.length&&X(O,_,h===id,!O.includes(_)).focus()}static jQueryInterface(h){return this.each(function(){const _=Ke.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}static clearMenus(h){if(h.button===hy||h.type==="keyup"&&h.key!==sd)return;const _=B.find(Ey);for(const O of _){const z=Ke.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===sd||/input|select|option|textarea|form/i.test(h.target.tagName)))continue;const Et={relatedTarget:z._element};h.type==="click"&&(Et.clickEvent=h),z._completeHide(Et)}}static dataApiKeydownHandler(h){const _=/input|textarea/i.test(h.target.tagName),O=h.key===uy,z=[dy,id].includes(h.key);if(!z&&!O||_&&!O)return;h.preventDefault();const nt=this.matches(fs)?this:B.prev(this,fs)[0]||B.next(this,fs)[0]||B.findOne(fs,h.delegateTarget.parentNode),tt=Ke.getOrCreateInstance(nt);if(z){h.stopPropagation(),tt.show(),tt._selectMenuItem(h);return}tt._isShown()&&(h.stopPropagation(),tt.hide(),nt.focus())}}F.on(document,rd,fs,Ke.dataApiKeydownHandler),F.on(document,rd,cr,Ke.dataApiKeydownHandler),F.on(document,od,Ke.clearMenus),F.on(document,_y,Ke.clearMenus),F.on(document,od,fs,function(P){P.preventDefault(),Ke.getOrCreateInstance(this).toggle()}),$(Ke);const ad="backdrop",Ny="fade",ld="show",cd=`mousedown.bs.${ad}`,Fy={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},By={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ud extends K{constructor(h){super(),this._config=this._getConfig(h),this._isAppended=!1,this._element=null}static get Default(){return Fy}static get DefaultType(){return By}static get NAME(){return ad}show(h){if(!this._config.isVisible){L(h);return}this._append();const _=this._getElement();this._config.isAnimated&&v(_),_.classList.add(ld),this._emulateAnimation(()=>{L(h)})}hide(h){if(!this._config.isVisible){L(h);return}this._getElement().classList.remove(ld),this._emulateAnimation(()=>{this.dispose(),L(h)})}dispose(){this._isAppended&&(F.off(this._element,cd),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(Ny),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,cd,()=>{L(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(h){N(h,this._getElement(),this._config.isAnimated)}}const Vy="focustrap",ur=".bs.focustrap",Hy=`focusin${ur}`,jy=`keydown.tab${ur}`,Wy="Tab",zy="forward",dd="backward",Uy={autofocus:!0,trapElement:null},Ky={autofocus:"boolean",trapElement:"element"};class hd extends K{constructor(h){super(),this._config=this._getConfig(h),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Uy}static get DefaultType(){return Ky}static get NAME(){return Vy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,ur),F.on(document,Hy,h=>this._handleFocusin(h)),F.on(document,jy,h=>this._handleKeydown(h)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,ur))}_handleFocusin(h){const{trapElement:_}=this._config;if(h.target===document||h.target===_||_.contains(h.target))return;const O=B.focusableChildren(_);O.length===0?_.focus():this._lastTabNavDirection===dd?O[O.length-1].focus():O[0].focus()}_handleKeydown(h){h.key===Wy&&(this._lastTabNavDirection=h.shiftKey?dd:zy)}}const fd=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pd=".sticky-top",dr="padding-right",gd="margin-right";class al{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,dr,_=>_+h),this._setElementAttributes(fd,dr,_=>_+h),this._setElementAttributes(pd,gd,_=>_-h)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,dr),this._resetElementAttributes(fd,dr),this._resetElementAttributes(pd,gd)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(h,_,O){const z=this.getWidth(),nt=tt=>{if(tt!==this._element&&window.innerWidth>tt.clientWidth+z)return;this._saveInitialAttribute(tt,_);const Et=window.getComputedStyle(tt).getPropertyValue(_);tt.style.setProperty(_,`${O(Number.parseFloat(Et))}px`)};this._applyManipulationCallback(h,nt)}_saveInitialAttribute(h,_){const O=h.style.getPropertyValue(_);O&&V.setDataAttribute(h,_,O)}_resetElementAttributes(h,_){const O=z=>{const nt=V.getDataAttribute(z,_);if(nt===null){z.style.removeProperty(_);return}V.removeDataAttribute(z,_),z.style.setProperty(_,nt)};this._applyManipulationCallback(h,O)}_applyManipulationCallback(h,_){if(m(h)){_(h);return}for(const O of B.find(h,this._element))_(O)}}const Yy="modal",Ie=".bs.modal",Gy=".data-api",qy="Escape",Xy=`hide${Ie}`,Qy=`hidePrevented${Ie}`,md=`hidden${Ie}`,_d=`show${Ie}`,Jy=`shown${Ie}`,Zy=`resize${Ie}`,tv=`click.dismiss${Ie}`,ev=`mousedown.dismiss${Ie}`,nv=`keydown.dismiss${Ie}`,sv=`click${Ie}${Gy}`,bd="modal-open",iv="fade",yd="show",ll="modal-static",ov=".modal.show",rv=".modal-dialog",av=".modal-body",lv='[data-bs-toggle="modal"]',cv={backdrop:!0,focus:!0,keyboard:!0},uv={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ps extends Z{constructor(h,_){super(h,_),this._dialog=B.findOne(rv,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new al,this._addEventListeners()}static get Default(){return cv}static get DefaultType(){return uv}static get NAME(){return Yy}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(bd),this._adjustDialog(),this._backdrop.show(()=>this._showElement(h)))}hide(){!this._isShown||this._isTransitioning||F.trigger(this._element,Xy).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(yd),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){F.off(window,Ie),F.off(this._dialog,Ie),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ud({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new hd({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.findOne(av,this._dialog);_&&(_.scrollTop=0),v(this._element),this._element.classList.add(yd);const O=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,Jy,{relatedTarget:h})};this._queueCallback(O,this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,nv,h=>{if(h.key===qy){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),F.on(window,Zy,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),F.on(this._element,ev,h=>{F.one(this._element,tv,_=>{if(!(this._element!==h.target||this._element!==_.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(bd),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,md)})}_isAnimated(){return this._element.classList.contains(iv)}_triggerBackdropTransition(){if(F.trigger(this._element,Qy).defaultPrevented)return;const _=this._element.scrollHeight>document.documentElement.clientHeight,O=this._element.style.overflowY;O==="hidden"||this._element.classList.contains(ll)||(_||(this._element.style.overflowY="hidden"),this._element.classList.add(ll),this._queueCallback(()=>{this._element.classList.remove(ll),this._queueCallback(()=>{this._element.style.overflowY=O},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const h=this._element.scrollHeight>document.documentElement.clientHeight,_=this._scrollBar.getWidth(),O=_>0;if(O&&!h){const z=k()?"paddingLeft":"paddingRight";this._element.style[z]=`${_}px`}if(!O&&h){const z=k()?"paddingRight":"paddingLeft";this._element.style[z]=`${_}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(h,_){return this.each(function(){const O=ps.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h](_)}})}}F.on(document,sv,lv,function(P){const h=B.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&P.preventDefault(),F.one(h,_d,z=>{z.defaultPrevented||F.one(h,md,()=>{x(this)&&this.focus()})});const _=B.findOne(ov);_&&ps.getInstance(_).hide(),ps.getOrCreateInstance(h).toggle(this)}),G(ps),$(ps);const dv="offcanvas",fn=".bs.offcanvas",vd=".data-api",hv=`load${fn}${vd}`,fv="Escape",xd="show",wd="showing",Ed="hiding",pv="offcanvas-backdrop",Sd=".offcanvas.show",gv=`show${fn}`,mv=`shown${fn}`,_v=`hide${fn}`,Cd=`hidePrevented${fn}`,Ad=`hidden${fn}`,bv=`resize${fn}`,yv=`click${fn}${vd}`,vv=`keydown.dismiss${fn}`,xv='[data-bs-toggle="offcanvas"]',wv={backdrop:!0,keyboard:!0,scroll:!1},Ev={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class pn extends Z{constructor(h,_){super(h,_),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return wv}static get DefaultType(){return Ev}static get NAME(){return dv}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){if(this._isShown||F.trigger(this._element,gv,{relatedTarget:h}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new al().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(wd);const O=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(xd),this._element.classList.remove(wd),F.trigger(this._element,mv,{relatedTarget:h})};this._queueCallback(O,this._element,!0)}hide(){if(!this._isShown||F.trigger(this._element,_v).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Ed),this._backdrop.hide();const _=()=>{this._element.classList.remove(xd,Ed),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new al().reset(),F.trigger(this._element,Ad)};this._queueCallback(_,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const h=()=>{if(this._config.backdrop==="static"){F.trigger(this._element,Cd);return}this.hide()},_=!!this._config.backdrop;return new ud({className:pv,isVisible:_,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:_?h:null})}_initializeFocusTrap(){return new hd({trapElement:this._element})}_addEventListeners(){F.on(this._element,vv,h=>{if(h.key===fv){if(this._config.keyboard){this.hide();return}F.trigger(this._element,Cd)}})}static jQueryInterface(h){return this.each(function(){const _=pn.getOrCreateInstance(this,h);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}F.on(document,yv,xv,function(P){const h=B.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&P.preventDefault(),S(this))return;F.one(h,Ad,()=>{x(this)&&this.focus()});const _=B.findOne(Sd);_&&_!==h&&pn.getInstance(_).hide(),pn.getOrCreateInstance(h).toggle(this)}),F.on(window,hv,()=>{for(const P of B.find(Sd))pn.getOrCreateInstance(P).show()}),F.on(window,bv,()=>{for(const P of B.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(P).position!=="fixed"&&pn.getOrCreateInstance(P).hide()}),G(pn),$(pn);const Td={"*":["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:[]},Sv=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Cv=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Av=(P,h)=>{const _=P.nodeName.toLowerCase();return h.includes(_)?Sv.has(_)?!!Cv.test(P.nodeValue):!0:h.filter(O=>O instanceof RegExp).some(O=>O.test(_))};function Tv(P,h,_){if(!P.length)return P;if(_&&typeof _=="function")return _(P);const z=new window.DOMParser().parseFromString(P,"text/html"),nt=[].concat(...z.body.querySelectorAll("*"));for(const tt of nt){const Et=tt.nodeName.toLowerCase();if(!Object.keys(h).includes(Et)){tt.remove();continue}const _e=[].concat(...tt.attributes),Re=[].concat(h["*"]||[],h[Et]||[]);for(const ie of _e)Av(ie,Re)||tt.removeAttribute(ie.nodeName)}return z.body.innerHTML}const Mv="TemplateFactory",Pv={allowList:Td,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},kv={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ov={entry:"(string|element|function|null)",selector:"(string|element)"};class Dv extends K{constructor(h){super(),this._config=this._getConfig(h)}static get Default(){return Pv}static get DefaultType(){return kv}static get NAME(){return Mv}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 _=h.children[0],O=this._resolvePossibleFunction(this._config.extraClass);return O&&_.classList.add(...O.split(" ")),_}_typeCheckConfig(h){super._typeCheckConfig(h),this._checkContent(h.content)}_checkContent(h){for(const[_,O]of Object.entries(h))super._typeCheckConfig({selector:_,entry:O},Ov)}_setContent(h,_,O){const z=B.findOne(O,h);if(z){if(_=this._resolvePossibleFunction(_),!_){z.remove();return}if(m(_)){this._putElementInTemplate(y(_),z);return}if(this._config.html){z.innerHTML=this._maybeSanitize(_);return}z.textContent=_}}_maybeSanitize(h){return this._config.sanitize?Tv(h,this._config.allowList,this._config.sanitizeFn):h}_resolvePossibleFunction(h){return L(h,[this])}_putElementInTemplate(h,_){if(this._config.html){_.innerHTML="",_.append(h);return}_.textContent=h.textContent}}const $v="tooltip",Lv=new Set(["sanitize","allowList","sanitizeFn"]),cl="fade",Iv="modal",hr="show",Rv=".tooltip-inner",Md=`.${Iv}`,Pd="hide.bs.modal",qi="hover",ul="focus",Nv="click",Fv="manual",Bv="hide",Vv="hidden",Hv="show",jv="shown",Wv="inserted",zv="click",Uv="focusin",Kv="focusout",Yv="mouseenter",Gv="mouseleave",qv={AUTO:"auto",TOP:"top",RIGHT:k()?"left":"right",BOTTOM:"bottom",LEFT:k()?"right":"left"},Xv={allowList:Td,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"},Qv={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 gs extends Z{constructor(h,_){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(h,_),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 Xv}static get DefaultType(){return Qv}static get NAME(){return $v}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(Md),Pd,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(Hv)),O=(M(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(Wv))),this._popper=this._createPopper(z),z.classList.add(hr),"ontouchstart"in document.documentElement)for(const Et of[].concat(...document.body.children))F.on(Et,"mouseover",C);const tt=()=>{F.trigger(this._element,this.constructor.eventName(jv)),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(Bv)).defaultPrevented)return;if(this._getTipElement().classList.remove(hr),"ontouchstart"in document.documentElement)for(const z of[].concat(...document.body.children))F.off(z,"mouseover",C);this._activeTrigger[Nv]=!1,this._activeTrigger[ul]=!1,this._activeTrigger[qi]=!1,this._isHovered=null;const O=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName(Vv)))};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 _=this._getTemplateFactory(h).toHtml();if(!_)return null;_.classList.remove(cl,hr),_.classList.add(`bs-${this.constructor.NAME}-auto`);const O=f(this.constructor.NAME).toString();return _.setAttribute("id",O),this._isAnimated()&&_.classList.add(cl),_}setContent(h){this._newContent=h,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(h){return this._templateFactory?this._templateFactory.changeContent(h):this._templateFactory=new Dv({...this._config,content:h,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Rv]: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(cl)}_isShown(){return this.tip&&this.tip.classList.contains(hr)}_createPopper(h){const _=L(this._config.placement,[this,h,this._element]),O=qv[_.toUpperCase()];return i.createPopper(this._element,h,this._getPopperConfig(O))}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(_=>Number.parseInt(_,10)):typeof h=="function"?_=>h(_,this._element):h}_resolvePossibleFunction(h){return L(h,[this._element])}_getPopperConfig(h){const _={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{..._,...L(this._config.popperConfig,[_])}}_setListeners(){const h=this._config.trigger.split(" ");for(const _ of h)if(_==="click")F.on(this._element,this.constructor.eventName(zv),this._config.selector,O=>{this._initializeOnDelegatedTarget(O).toggle()});else if(_!==Fv){const O=_===qi?this.constructor.eventName(Yv):this.constructor.eventName(Uv),z=_===qi?this.constructor.eventName(Gv):this.constructor.eventName(Kv);F.on(this._element,O,this._config.selector,nt=>{const tt=this._initializeOnDelegatedTarget(nt);tt._activeTrigger[nt.type==="focusin"?ul:qi]=!0,tt._enter()}),F.on(this._element,z,this._config.selector,nt=>{const tt=this._initializeOnDelegatedTarget(nt);tt._activeTrigger[nt.type==="focusout"?ul:qi]=tt._element.contains(nt.relatedTarget),tt._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Md),Pd,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,_){clearTimeout(this._timeout),this._timeout=setTimeout(h,_)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(h){const _=V.getDataAttributes(this._element);for(const O of Object.keys(_))Lv.has(O)&&delete _[O];return h={..._,...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[_,O]of Object.entries(this._config))this.constructor.Default[_]!==O&&(h[_]=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 _=gs.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}}$(gs);const Jv="popover",Zv=".popover-header",t0=".popover-body",e0={...gs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},n0={...gs.DefaultType,content:"(null|string|element|function)"};class fr extends gs{static get Default(){return e0}static get DefaultType(){return n0}static get NAME(){return Jv}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Zv]:this._getTitle(),[t0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(h){return this.each(function(){const _=fr.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}}$(fr);const s0="scrollspy",dl=".bs.scrollspy",i0=".data-api",o0=`activate${dl}`,kd=`click${dl}`,r0=`load${dl}${i0}`,a0="dropdown-item",ti="active",l0='[data-bs-spy="scroll"]',hl="[href]",c0=".nav, .list-group",Od=".nav-link",u0=`${Od}, .nav-item > ${Od}, .list-group-item`,d0=".dropdown",h0=".dropdown-toggle",f0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},p0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Xi extends Z{constructor(h,_){super(h,_),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 f0}static get DefaultType(){return p0}static get NAME(){return s0}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(_=>Number.parseFloat(_))),h}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,kd),F.on(this._config.target,kd,hl,h=>{const _=this._observableSections.get(h.target.hash);if(_){h.preventDefault();const O=this._rootElement||window,z=_.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(_=>this._observerCallback(_),h)}_observerCallback(h){const _=tt=>this._targetLinks.get(`#${tt.target.id}`),O=tt=>{this._previousScrollData.visibleEntryTop=tt.target.offsetTop,this._process(_(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(_(tt));continue}const Et=tt.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(nt&&Et){if(O(tt),!z)return;continue}!nt&&!Et&&O(tt)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const h=B.find(hl,this._config.target);for(const _ of h){if(!_.hash||S(_))continue;const O=B.findOne(decodeURI(_.hash),this._element);x(O)&&(this._targetLinks.set(decodeURI(_.hash),_),this._observableSections.set(_.hash,O))}}_process(h){this._activeTarget!==h&&(this._clearActiveClass(this._config.target),this._activeTarget=h,h.classList.add(ti),this._activateParents(h),F.trigger(this._element,o0,{relatedTarget:h}))}_activateParents(h){if(h.classList.contains(a0)){B.findOne(h0,h.closest(d0)).classList.add(ti);return}for(const _ of B.parents(h,c0))for(const O of B.prev(_,u0))O.classList.add(ti)}_clearActiveClass(h){h.classList.remove(ti);const _=B.find(`${hl}.${ti}`,h);for(const O of _)O.classList.remove(ti)}static jQueryInterface(h){return this.each(function(){const _=Xi.getOrCreateInstance(this,h);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}F.on(window,r0,()=>{for(const P of B.find(l0))Xi.getOrCreateInstance(P)}),$(Xi);const g0="tab",ms=".bs.tab",m0=`hide${ms}`,_0=`hidden${ms}`,b0=`show${ms}`,y0=`shown${ms}`,v0=`click${ms}`,x0=`keydown${ms}`,w0=`load${ms}`,E0="ArrowLeft",Dd="ArrowRight",S0="ArrowUp",$d="ArrowDown",fl="Home",Ld="End",_s="active",Id="fade",pl="show",C0="dropdown",Rd=".dropdown-toggle",A0=".dropdown-menu",gl=`:not(${Rd})`,T0='.list-group, .nav, [role="tablist"]',M0=".nav-item, .list-group-item",P0=`.nav-link${gl}, .list-group-item${gl}, [role="tab"]${gl}`,Nd='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',ml=`${P0}, ${Nd}`,k0=`.${_s}[data-bs-toggle="tab"], .${_s}[data-bs-toggle="pill"], .${_s}[data-bs-toggle="list"]`;class bs extends Z{constructor(h){super(h),this._parent=this._element.closest(T0),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,x0,_=>this._keydown(_)))}static get NAME(){return g0}show(){const h=this._element;if(this._elemIsActive(h))return;const _=this._getActiveElem(),O=_?F.trigger(_,m0,{relatedTarget:h}):null;F.trigger(h,b0,{relatedTarget:_}).defaultPrevented||O&&O.defaultPrevented||(this._deactivate(_,h),this._activate(h,_))}_activate(h,_){if(!h)return;h.classList.add(_s),this._activate(B.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.add(pl);return}h.removeAttribute("tabindex"),h.setAttribute("aria-selected",!0),this._toggleDropDown(h,!0),F.trigger(h,y0,{relatedTarget:_})};this._queueCallback(O,h,h.classList.contains(Id))}_deactivate(h,_){if(!h)return;h.classList.remove(_s),h.blur(),this._deactivate(B.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.remove(pl);return}h.setAttribute("aria-selected",!1),h.setAttribute("tabindex","-1"),this._toggleDropDown(h,!1),F.trigger(h,_0,{relatedTarget:_})};this._queueCallback(O,h,h.classList.contains(Id))}_keydown(h){if(![E0,Dd,S0,$d,fl,Ld].includes(h.key))return;h.stopPropagation(),h.preventDefault();const _=this._getChildren().filter(z=>!S(z));let O;if([fl,Ld].includes(h.key))O=_[h.key===fl?0:_.length-1];else{const z=[Dd,$d].includes(h.key);O=X(_,h.target,z,!0)}O&&(O.focus({preventScroll:!0}),bs.getOrCreateInstance(O).show())}_getChildren(){return B.find(ml,this._parent)}_getActiveElem(){return this._getChildren().find(h=>this._elemIsActive(h))||null}_setInitialAttributes(h,_){this._setAttributeIfNotExists(h,"role","tablist");for(const O of _)this._setInitialAttributesOnChild(O)}_setInitialAttributesOnChild(h){h=this._getInnerElement(h);const _=this._elemIsActive(h),O=this._getOuterElement(h);h.setAttribute("aria-selected",_),O!==h&&this._setAttributeIfNotExists(O,"role","presentation"),_||h.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(h,"role","tab"),this._setInitialAttributesOnTargetPanel(h)}_setInitialAttributesOnTargetPanel(h){const _=B.getElementFromSelector(h);_&&(this._setAttributeIfNotExists(_,"role","tabpanel"),h.id&&this._setAttributeIfNotExists(_,"aria-labelledby",`${h.id}`))}_toggleDropDown(h,_){const O=this._getOuterElement(h);if(!O.classList.contains(C0))return;const z=(nt,tt)=>{const Et=B.findOne(nt,O);Et&&Et.classList.toggle(tt,_)};z(Rd,_s),z(A0,pl),O.setAttribute("aria-expanded",_)}_setAttributeIfNotExists(h,_,O){h.hasAttribute(_)||h.setAttribute(_,O)}_elemIsActive(h){return h.classList.contains(_s)}_getInnerElement(h){return h.matches(ml)?h:B.findOne(ml,h)}_getOuterElement(h){return h.closest(M0)||h}static jQueryInterface(h){return this.each(function(){const _=bs.getOrCreateInstance(this);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}F.on(document,v0,Nd,function(P){["A","AREA"].includes(this.tagName)&&P.preventDefault(),!S(this)&&bs.getOrCreateInstance(this).show()}),F.on(window,w0,()=>{for(const P of B.find(k0))bs.getOrCreateInstance(P)}),$(bs);const O0="toast",Ln=".bs.toast",D0=`mouseover${Ln}`,$0=`mouseout${Ln}`,L0=`focusin${Ln}`,I0=`focusout${Ln}`,R0=`hide${Ln}`,N0=`hidden${Ln}`,F0=`show${Ln}`,B0=`shown${Ln}`,V0="fade",Fd="hide",pr="show",gr="showing",H0={animation:"boolean",autohide:"boolean",delay:"number"},j0={animation:!0,autohide:!0,delay:5e3};class Qi extends Z{constructor(h,_){super(h,_),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return j0}static get DefaultType(){return H0}static get NAME(){return O0}show(){if(F.trigger(this._element,F0).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(V0);const _=()=>{this._element.classList.remove(gr),F.trigger(this._element,B0),this._maybeScheduleHide()};this._element.classList.remove(Fd),v(this._element),this._element.classList.add(pr,gr),this._queueCallback(_,this._element,this._config.animation)}hide(){if(!this.isShown()||F.trigger(this._element,R0).defaultPrevented)return;const _=()=>{this._element.classList.add(Fd),this._element.classList.remove(gr,pr),F.trigger(this._element,N0)};this._element.classList.add(gr),this._queueCallback(_,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(pr),super.dispose()}isShown(){return this._element.classList.contains(pr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(h,_){switch(h.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=_;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=_;break}}if(_){this._clearTimeout();return}const O=h.relatedTarget;this._element===O||this._element.contains(O)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,D0,h=>this._onInteraction(h,!0)),F.on(this._element,$0,h=>this._onInteraction(h,!1)),F.on(this._element,L0,h=>this._onInteraction(h,!0)),F.on(this._element,I0,h=>this._onInteraction(h,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(h){return this.each(function(){const _=Qi.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}return G(Qi),$(Qi),{Alert:zt,Button:Dn,Carousel:Xs,Collapse:Js,Dropdown:Ke,Modal:ps,Offcanvas:pn,Popover:fr,ScrollSpy:Xi,Tab:bs,Toast:Qi,Tooltip:gs}})})(G0);function qc(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const Vt={},di=[],Ve=()=>{},Fx=()=>!1,Ta=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Xc=e=>e.startsWith("onUpdate:"),Zt=Object.assign,Qc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Bx=Object.prototype.hasOwnProperty,Ot=(e,t)=>Bx.call(e,t),ht=Array.isArray,hi=e=>Yo(e)==="[object Map]",Ma=e=>Yo(e)==="[object Set]",Yd=e=>Yo(e)==="[object Date]",bt=e=>typeof e=="function",Qt=e=>typeof e=="string",ts=e=>typeof e=="symbol",Nt=e=>e!==null&&typeof e=="object",ng=e=>(Nt(e)||bt(e))&&bt(e.then)&&bt(e.catch),sg=Object.prototype.toString,Yo=e=>sg.call(e),Vx=e=>Yo(e).slice(8,-1),ig=e=>Yo(e)==="[object Object]",Jc=e=>Qt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,zr=qc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pa=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Hx=/-(\w)/g,un=Pa(e=>e.replace(Hx,(t,n)=>n?n.toUpperCase():"")),jx=/\B([A-Z])/g,ji=Pa(e=>e.replace(jx,"-$1").toLowerCase()),ka=Pa(e=>e.charAt(0).toUpperCase()+e.slice(1)),_l=Pa(e=>e?`on${ka(e)}`:""),es=(e,t)=>!Object.is(e,t),Ur=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ql=e=>{const t=parseFloat(e);return isNaN(t)?e:t},og=e=>{const t=Qt(e)?Number(e):NaN;return isNaN(t)?e:t};let Gd;const rg=()=>Gd||(Gd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zc(e){if(ht(e)){const t={};for(let n=0;n{if(n){const s=n.split(zx);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ge(e){let t="";if(Qt(e))t=e;else if(ht(e))for(let n=0;nOa(n,t))}const Ct=e=>Qt(e)?e:e==null?"":ht(e)||Nt(e)&&(e.toString===sg||!bt(e.toString))?JSON.stringify(e,cg,2):String(e),cg=(e,t)=>t&&t.__v_isRef?cg(e,t.value):hi(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[bl(s,o)+" =>"]=i,n),{})}:Ma(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>bl(n))}:ts(t)?bl(t):Nt(t)&&!ht(t)&&!ig(t)?String(t):t,bl=(e,t="")=>{var n;return ts(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Ce;class ug{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ce,!t&&Ce&&(this.index=(Ce.scopes||(Ce.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ce;try{return Ce=this,t()}finally{Ce=n}}}on(){Ce=this}off(){Ce=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break;zs(),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=qn,n=$s;try{return qn=!0,$s=this,this._runnings++,qd(this),this.fn()}finally{Xd(this),this._runnings--,$s=n,qn=t}}stop(){var t;this.active&&(qd(this),Xd(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Qx(e){return e.value}function qd(e){e._trackId++,e._depsLength=0}function Xd(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},ea=new WeakMap,Ls=Symbol(""),tc=Symbol("");function we(e,t,n){if(qn&&$s){let s=ea.get(e);s||ea.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=_g(()=>s.delete(n))),gg($s,i)}}function Tn(e,t,n,s,i,o){const r=ea.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"||!ts(u)&&u>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":ht(e)?Jc(n)&&a.push(r.get("length")):(a.push(r.get(Ls)),hi(e)&&a.push(r.get(tc)));break;case"delete":ht(e)||(a.push(r.get(Ls)),hi(e)&&a.push(r.get(tc)));break;case"set":hi(e)&&a.push(r.get(Ls));break}nu();for(const l of a)l&&mg(l,3);su()}function Jx(e,t){var n;return(n=ea.get(e))==null?void 0:n.get(t)}const Zx=qc("__proto__,__v_isRef,__isVue"),bg=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ts)),Qd=tw();function tw(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=At(this);for(let o=0,r=this.length;o{e[t]=function(...n){Ws(),nu();const s=At(this)[t].apply(this,n);return su(),zs(),s}}),e}function ew(e){const t=At(this);return we(t,"has",e),t.hasOwnProperty(e)}class yg{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?pw:Eg:o?wg:xg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=ht(t);if(!i){if(r&&Ot(Qd,n))return Reflect.get(Qd,n,s);if(n==="hasOwnProperty")return ew}const a=Reflect.get(t,n,s);return(ts(n)?bg.has(n):Zx(n))||(i||we(t,"get",n),o)?a:ne(a)?r&&Jc(n)?a:a.value:Nt(a)?i?Cg(a):Go(a):a}}class vg extends yg{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._shallow){const l=Si(o);if(!li(s)&&!Si(s)&&(o=At(o),s=At(s)),!ht(t)&&ne(o)&&!ne(s))return l?!1:(o.value=s,!0)}const r=ht(t)&&Jc(n)?Number(n)e,Da=e=>Reflect.getPrototypeOf(e);function br(e,t,n=!1,s=!1){e=e.__v_raw;const i=At(e),o=At(t);n||(es(t,o)&&we(i,"get",t),we(i,"get",o));const{has:r}=Da(i),a=s?iu:n?au:ko;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 yr(e,t=!1){const n=this.__v_raw,s=At(n),i=At(e);return t||(es(e,i)&&we(s,"has",e),we(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function vr(e,t=!1){return e=e.__v_raw,!t&&we(At(e),"iterate",Ls),Reflect.get(e,"size",e)}function Jd(e){e=At(e);const t=At(this);return Da(t).has.call(t,e)||(t.add(e),Tn(t,"add",e,e)),this}function Zd(e,t){t=At(t);const n=At(this),{has:s,get:i}=Da(n);let o=s.call(n,e);o||(e=At(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?es(t,r)&&Tn(n,"set",e,t):Tn(n,"add",e,t),this}function th(e){const t=At(this),{has:n,get:s}=Da(t);let i=n.call(t,e);i||(e=At(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Tn(t,"delete",e,void 0),o}function eh(){const e=At(this),t=e.size!==0,n=e.clear();return t&&Tn(e,"clear",void 0,void 0),n}function xr(e,t){return function(s,i){const o=this,r=o.__v_raw,a=At(r),l=t?iu:e?au:ko;return!e&&we(a,"iterate",Ls),r.forEach((c,u)=>s.call(i,l(c),l(u),o))}}function wr(e,t,n){return function(...s){const i=this.__v_raw,o=At(i),r=hi(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...s),u=n?iu:t?au:ko;return!t&&we(o,"iterate",l?tc:Ls),{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 In(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function rw(){const e={get(o){return br(this,o)},get size(){return vr(this)},has:yr,add:Jd,set:Zd,delete:th,clear:eh,forEach:xr(!1,!1)},t={get(o){return br(this,o,!1,!0)},get size(){return vr(this)},has:yr,add:Jd,set:Zd,delete:th,clear:eh,forEach:xr(!1,!0)},n={get(o){return br(this,o,!0)},get size(){return vr(this,!0)},has(o){return yr.call(this,o,!0)},add:In("add"),set:In("set"),delete:In("delete"),clear:In("clear"),forEach:xr(!0,!1)},s={get(o){return br(this,o,!0,!0)},get size(){return vr(this,!0)},has(o){return yr.call(this,o,!0)},add:In("add"),set:In("set"),delete:In("delete"),clear:In("clear"),forEach:xr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=wr(o,!1,!1),n[o]=wr(o,!0,!1),t[o]=wr(o,!1,!0),s[o]=wr(o,!0,!0)}),[e,n,t,s]}const[aw,lw,cw,uw]=rw();function ou(e,t){const n=t?e?uw:cw:e?lw:aw;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(Ot(n,i)&&i in s?n:s,i,o)}const dw={get:ou(!1,!1)},hw={get:ou(!1,!0)},fw={get:ou(!0,!1)},xg=new WeakMap,wg=new WeakMap,Eg=new WeakMap,pw=new WeakMap;function gw(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function mw(e){return e.__v_skip||!Object.isExtensible(e)?0:gw(Vx(e))}function Go(e){return Si(e)?e:ru(e,!1,sw,dw,xg)}function Sg(e){return ru(e,!1,ow,hw,wg)}function Cg(e){return ru(e,!0,iw,fw,Eg)}function ru(e,t,n,s,i){if(!Nt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=mw(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function Xn(e){return Si(e)?Xn(e.__v_raw):!!(e&&e.__v_isReactive)}function Si(e){return!!(e&&e.__v_isReadonly)}function li(e){return!!(e&&e.__v_isShallow)}function $a(e){return Xn(e)||Si(e)}function At(e){const t=e&&e.__v_raw;return t?At(t):e}function qo(e){return ta(e,"__v_skip",!0),e}const ko=e=>Nt(e)?Go(e):e,au=e=>Nt(e)?Cg(e):e;class Ag{constructor(t,n,s,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new eu(()=>t(this._value),()=>ec(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=At(this);return Tg(t),(!t._cacheable||t.effect.dirty)&&es(t._value,t._value=t.effect.run())&&ec(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function _w(e,t,n=!1){let s,i;const o=bt(e);return o?(s=e,i=Ve):(s=e.get,i=e.set),new Ag(s,i,o||!i,n)}function Tg(e){qn&&$s&&(e=At(e),gg($s,e.dep||(e.dep=_g(()=>e.dep=void 0,e instanceof Ag?e:void 0))))}function ec(e,t=3,n){e=At(e);const s=e.dep;s&&mg(s,t)}function ne(e){return!!(e&&e.__v_isRef===!0)}function Ci(e){return Mg(e,!1)}function lu(e){return Mg(e,!0)}function Mg(e,t){return ne(e)?e:new bw(e,t)}class bw{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:At(t),this._value=n?t:ko(t)}get value(){return Tg(this),this._value}set value(t){const n=this.__v_isShallow||li(t)||Si(t);t=n?t:At(t),es(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:ko(t),ec(this,3))}}function Qn(e){return ne(e)?e.value:e}const yw={get:(e,t,n)=>Qn(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 Pg(e){return Xn(e)?e:new Proxy(e,yw)}function vw(e){const t=ht(e)?new Array(e.length):{};for(const n in e)t[n]=ww(e,n);return t}class xw{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 Jx(At(this._object),this._key)}}function ww(e,t,n){const s=e[t];return ne(s)?s:new xw(e,t,n)}function Jn(e,t,n,s){let i;try{i=s?e(...s):e()}catch(o){Xo(o,t,n)}return i}function ze(e,t,n,s){if(bt(e)){const o=Jn(e,t,n,s);return o&&ng(o)&&o.catch(r=>{Xo(r,t,n)}),o}const i=[];for(let o=0;o>>1,i=ce[s],o=Do(i);onn&&ce.splice(t,1)}function sc(e){ht(e)?fi.push(...e):(!vn||!vn.includes(e,e.allowRecurse?Ms+1:Ms))&&fi.push(e),Og()}function nh(e,t,n=Oo?nn+1:0){for(;nDo(n)-Do(s)),Ms=0;Mse.id==null?1/0:e.id,Aw=(e,t)=>{const n=Do(e)-Do(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function $g(e){nc=!1,Oo=!0,ce.sort(Aw);try{for(nn=0;nnQt(p)?p.trim():p)),d&&(i=n.map(Ql))}let a,l=s[a=_l(t)]||s[a=_l(un(t))];!l&&o&&(l=s[a=_l(ji(t))]),l&&ze(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,ze(c,e,6,i)}}function Lg(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=Lg(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?(Nt(e)&&s.set(e,null),null):(ht(o)?o.forEach(l=>r[l]=null):Zt(r,o),Nt(e)&&s.set(e,r),r)}function Ia(e,t){return!e||!Ta(t)?!1:(t=t.slice(2).replace(/Once$/,""),Ot(e,t[0].toLowerCase()+t.slice(1))||Ot(e,ji(t))||Ot(e,t))}let xe=null,Ra=null;function na(e){const t=xe;return xe=e,Ra=e&&e.type.__scopeId||null,t}function Na(e){Ra=e}function Fa(){Ra=null}function Kt(e,t=xe,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&mh(-1);const o=na(t);let r;try{r=e(...i)}finally{na(o),s._d&&mh(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function yl(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:g,inheritAttrs:m}=e;let y,x;const S=na(e);try{if(n.shapeFlag&4){const C=i||s,v=C;y=Ge(u.call(v,C,d,o,p,f,g)),x=l}else{const C=t;y=Ge(C.length>1?C(o,{attrs:l,slots:a,emit:c}):C(o,null)),x=t.props?l:Pw(l)}}catch(C){go.length=0,Xo(C,e,1),y=mt(Me)}let M=y;if(x&&m!==!1){const C=Object.keys(x),{shapeFlag:v}=M;C.length&&v&7&&(r&&C.some(Xc)&&(x=kw(x,r)),M=ns(M,x))}return n.dirs&&(M=ns(M),M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&(M.transition=n.transition),y=M,na(S),y}function Mw(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Ta(n))&&((t||(t={}))[n]=e[n]);return t},kw=(e,t)=>{const n={};for(const s in e)(!Xc(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ow(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?sh(s,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;let oh=0;const $w={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,o,r,a,l,c){e==null?Lw(t,n,s,i,o,r,a,l,c):Iw(e,t,n,s,i,r,a,l,c)},hydrate:Rw,create:gu,normalize:Nw},pu=$w;function $o(e,t){const n=e.props&&e.props[t];bt(n)&&n()}function Lw(e,t,n,s,i,o,r,a,l){const{p:c,o:{createElement:u}}=l,d=u("div"),f=e.suspense=gu(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?($o(e,"onPending"),$o(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,o,r),pi(f,e.ssFallback)):f.resolve(!1,!0)}function Iw(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:g,pendingBranch:m,isInFallback:y,isHydrating:x}=d;if(m)d.pendingBranch=f,sn(f,m)?(l(m,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():y&&(x||(l(g,p,n,s,i,null,o,r,a),pi(d,p)))):(d.pendingId=oh++,x?(d.isHydrating=!1,d.activeBranch=m):c(m,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(g,p,n,s,i,null,o,r,a),pi(d,p))):g&&sn(f,g)?(l(g,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(g&&sn(f,g))l(g,f,n,s,i,d,o,r,a),pi(d,f);else if($o(t,"onPending"),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=oh++,l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0)d.resolve();else{const{timeout:S,pendingId:M}=d;S>0?setTimeout(()=>{d.pendingId===M&&d.fallback(p)},S):S===0&&d.fallback(p)}}function gu(e,t,n,s,i,o,r,a,l,c,u=!1){const{p:d,m:f,um:p,n:g,o:{parentNode:m,remove:y}}=c;let x;const S=Bw(e);S&&t!=null&&t.pendingBranch&&(x=t.pendingId,t.deps++);const M=e.props?og(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 M=="number"?M:-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,g(w),0),sc(L))});let{anchor:W}=C;w&&(W=g(w),p(w,N,C,!0)),Y||f(k,X,W,0)}pi(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&&sc(L),C.effects=[],S&&t&&t.pendingBranch&&x===t.pendingId&&(t.deps--,t.deps===0&&!E&&t.resolve()),$o(A,"onResolve")},fallback(v){if(!C.pendingBranch)return;const{vnode:E,activeBranch:A,parentComponent:w,container:k,namespace:$}=C;$o(E,"onFallback");const L=g(A),N=()=>{C.isInFallback&&(d(null,v,k,L,w,null,$,a,l),pi(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&&g(C.activeBranch)},registerDep(v,E){const A=!!C.pendingBranch;A&&C.deps++;const w=v.vnode.el;v.asyncDep.catch(k=>{Xo(k,v,0)}).then(k=>{if(v.isUnmounted||C.isUnmounted||C.pendingId!==v.suspenseId)return;v.asyncResolved=!0;const{vnode:$}=v;uc(v,k,!1),w&&($.el=w);const L=!w&&v.subTree.el;E(v,$,m(w||v.subTree.el),w?null:g(v.subTree),C,r,l),L&&y(L),du(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 Rw(e,t,n,s,i,o,r,a,l){const c=t.suspense=gu(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 Nw(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=rh(s?n.default:n),e.ssFallback=s?rh(n.fallback):mt(Me)}function rh(e){let t;if(bt(e)){const n=Ti&&e._c;n&&(e._d=!1,rt()),e=e(),n&&(e._d=!0,t=He,tm())}return ht(e)&&(e=Mw(e)),e=Ge(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Fw(e,t){t&&t.pendingBranch?ht(e)?t.effects.push(...e):t.effects.push(e):sc(e)}function pi(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,i=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=i,du(s,i))}function Bw(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}const Vw=Symbol.for("v-scx"),Hw=()=>an(Vw),Er={};function Is(e,t,n){return Ng(e,t,n)}function Ng(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=tu()===((l=te)==null?void 0:l.scope)?te:null;let u,d=!1,f=!1;if(ne(e)?(u=()=>e.value,d=li(e)):Xn(e)?(u=li(e)||s===!1?()=>wn(e,1):()=>wn(e),d=!0):ht(e)?(f=!0,d=e.some(v=>Xn(v)||li(v)),u=()=>e.map(v=>{if(ne(v))return v.value;if(Xn(v))return wn(v,li(v)||s===!1?1:void 0);if(bt(v))return Jn(v,c,2)})):bt(e)?t?u=()=>Jn(e,c,2):u=()=>{if(!(c&&c.isUnmounted))return p&&p(),ze(e,c,3,[g])}:u=Ve,t&&s){const v=u;u=()=>wn(v())}let p,g=v=>{p=M.onStop=()=>{Jn(v,c,4),p=M.onStop=void 0}},m;if(za)if(g=Ve,t?n&&ze(t,c,3,[u(),f?[]:void 0,g]):u(),i==="sync"){const v=Hw();m=v.__watcherHandles||(v.__watcherHandles=[])}else return Ve;let y=f?new Array(e.length).fill(Er):Er;const x=()=>{if(!(!M.active||!M.dirty))if(t){const v=M.run();(s||d||(f?v.some((E,A)=>es(E,y[A])):es(v,y)))&&(p&&p(),ze(t,c,3,[v,y===Er?void 0:f&&y[0]===Er?[]:y,g]),y=v)}else M.run()};x.allowRecurse=!!t;let S;i==="sync"?S=x:i==="post"?S=()=>ye(x,c&&c.suspense):(x.pre=!0,c&&(x.id=c.uid),S=()=>uu(x));const M=new eu(u,Ve,S),C=()=>{M.stop(),c&&c.scope&&Qc(c.scope.effects,M)};return t?n?x():y=M.run():i==="post"?ye(M.run.bind(M),c&&c.suspense):M.run(),m&&m.push(C),C}function jw(e,t,n){const s=this.proxy,i=Qt(e)?e.includes(".")?Fg(s,e):()=>s[e]:e.bind(s,s);let o;bt(t)?o=t:(o=t.handler,n=t);const r=te;Mi(this);const a=Ng(i,o.bind(s),n);return r?Mi(r):Rs(),a}function Fg(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))wn(e.value,t,n,s);else if(ht(e))for(let i=0;i{wn(i,t,n,s)});else if(ig(e))for(const i in e)wn(e[i],t,n,s);return e}function Rt(e,t){const n=xe;if(n===null)return e;const s=Ua(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),bu(()=>{e.isUnmounting=!0}),e}const Ne=[Function,Array],Vg={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ne,onEnter:Ne,onAfterEnter:Ne,onEnterCancelled:Ne,onBeforeLeave:Ne,onLeave:Ne,onAfterLeave:Ne,onLeaveCancelled:Ne,onBeforeAppear:Ne,onAppear:Ne,onAfterAppear:Ne,onAppearCancelled:Ne},Ww={name:"BaseTransition",props:Vg,setup(e,{slots:t}){const n=sm(),s=Bg();let i;return()=>{const o=t.default&&mu(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const m of o)if(m.type!==Me){r=m;break}}const a=At(e),{mode:l}=a;if(s.isLeaving)return vl(r);const c=ah(r);if(!c)return vl(r);const u=Lo(c,a,s,n);Io(c,u);const d=n.subTree,f=d&&ah(d);let p=!1;const{getTransitionKey:g}=c.type;if(g){const m=g();i===void 0?i=m:m!==i&&(i=m,p=!0)}if(f&&f.type!==Me&&(!sn(c,f)||p)){const m=Lo(f,a,s,n);if(Io(f,m),l==="out-in")return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},vl(r);l==="in-out"&&c.type!==Me&&(m.delayLeave=(y,x,S)=>{const M=Hg(s,f);M[String(f.key)]=f,y[Hn]=()=>{x(),y[Hn]=void 0,delete u.delayedLeave},u.delayedLeave=S})}return r}}},zw=Ww;function Hg(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 Lo(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:g,onBeforeAppear:m,onAppear:y,onAfterAppear:x,onAppearCancelled:S}=t,M=String(e.key),C=Hg(n,e),v=(w,k)=>{w&&ze(w,s,9,k)},E=(w,k)=>{const $=k[1];v(w,k),ht(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=m||a;else return;w[Hn]&&w[Hn](!0);const $=C[M];$&&sn(e,$)&&$.el[Hn]&&$.el[Hn](),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[Sr]=Y=>{N||(N=!0,Y?v(L,[w]):v($,[w]),A.delayedLeave&&A.delayedLeave(),w[Sr]=void 0)};k?E(k,[w,X]):X()},leave(w,k){const $=String(e.key);if(w[Sr]&&w[Sr](!0),n.isUnmounting)return k();v(d,[w]);let L=!1;const N=w[Hn]=X=>{L||(L=!0,k(),X?v(g,[w]):v(p,[w]),w[Hn]=void 0,C[$]===e&&delete C[$])};C[$]=e,f?E(f,[w,N]):N()},clone(w){return Lo(w,t,n,s)}};return A}function vl(e){if(Va(e))return e=ns(e),e.children=null,e}function ah(e){return Va(e)?e.children?e.children[0]:void 0:e}function Io(e,t){e.shapeFlag&6&&e.component?Io(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 mu(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Va=e=>e.type.__isKeepAlive;function Uw(e,t){jg(e,"a",t)}function Kw(e,t){jg(e,"da",t)}function jg(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(Ha(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Va(i.parent.vnode)&&Yw(s,t,n,i),i=i.parent}}function Yw(e,t,n,s){const i=Ha(t,e,s,!0);zg(()=>{Qc(s[t],i)},n)}function Ha(e,t,n=te,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;Ws(),Mi(n);const a=ze(t,n,e,r);return Rs(),zs(),a});return s?i.unshift(o):i.push(o),o}}const kn=e=>(t,n=te)=>(!za||e==="sp")&&Ha(e,(...s)=>t(...s),n),Gw=kn("bm"),_u=kn("m"),qw=kn("bu"),Wg=kn("u"),bu=kn("bum"),zg=kn("um"),Xw=kn("sp"),Qw=kn("rtg"),Jw=kn("rtc");function Zw(e,t=te){Ha("ec",e,t)}function Ai(e,t,n,s){let i;const o=n&&n[s];if(ht(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?im(e)?Ua(e)||e.proxy:ic(e.parent):null,po=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=>ic(e.parent),$root:e=>ic(e.root),$emit:e=>e.emit,$options:e=>yu(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,uu(e.update)}),$nextTick:e=>e.n||(e.n=La.bind(e.proxy)),$watch:e=>jw.bind(e)}),xl=(e,t)=>e!==Vt&&!e.__isScriptSetup&&Ot(e,t),t1={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(xl(s,t))return r[t]=1,s[t];if(i!==Vt&&Ot(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Ot(c,t))return r[t]=3,o[t];if(n!==Vt&&Ot(n,t))return r[t]=4,n[t];oc&&(r[t]=0)}}const u=po[t];let d,f;if(u)return t==="$attrs"&&we(e,"get",t),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Vt&&Ot(n,t))return r[t]=4,n[t];if(f=l.config.globalProperties,Ot(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return xl(i,t)?(i[t]=n,!0):s!==Vt&&Ot(s,t)?(s[t]=n,!0):Ot(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&&Ot(e,r)||xl(t,r)||(a=o[0])&&Ot(a,r)||Ot(s,r)||Ot(po,r)||Ot(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ot(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lh(e){return ht(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let oc=!0;function e1(e){const t=yu(e),n=e.proxy,s=e.ctx;oc=!1,t.beforeCreate&&ch(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:g,activated:m,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:M,unmounted:C,render:v,renderTracked:E,renderTriggered:A,errorCaptured:w,serverPrefetch:k,expose:$,inheritAttrs:L,components:N,directives:X,filters:Y}=t;if(c&&n1(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);Nt(W)&&(e.data=Go(W))}if(oc=!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):Ve,lt=!bt(U)&&bt(U.set)?U.set.bind(n):Ve,pt=Be({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)Ug(a[W],s,n,W);if(l){const W=bt(l)?l.call(n):l;Reflect.ownKeys(W).forEach(U=>{Yr(U,W[U])})}u&&ch(u,e,"c");function R(W,U){ht(U)?U.forEach(it=>W(it.bind(n))):U&&W(U.bind(n))}if(R(Gw,d),R(_u,f),R(qw,p),R(Wg,g),R(Uw,m),R(Kw,y),R(Zw,w),R(Jw,E),R(Qw,A),R(bu,S),R(zg,C),R(Xw,k),ht($))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===Ve&&(e.render=v),L!=null&&(e.inheritAttrs=L),N&&(e.components=N),X&&(e.directives=X)}function n1(e,t,n=Ve){ht(e)&&(e=rc(e));for(const s in e){const i=e[s];let o;Nt(i)?"default"in i?o=an(i.from||s,i.default,!0):o=an(i.from||s):o=an(i),ne(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[s]=o}}function ch(e,t,n){ze(ht(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ug(e,t,n,s){const i=s.includes(".")?Fg(n,s):()=>n[s];if(Qt(e)){const o=t[e];bt(o)&&Is(i,o)}else if(bt(e))Is(i,e.bind(n));else if(Nt(e))if(ht(e))e.forEach(o=>Ug(o,t,n,s));else{const o=bt(e.handler)?e.handler.bind(n):t[e.handler];bt(o)&&Is(i,o,e)}}function yu(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=>sa(l,c,r,!0)),sa(l,t,r)),Nt(t)&&o.set(t,l),l}function sa(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&sa(e,o,n,!0),i&&i.forEach(r=>sa(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=s1[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const s1={data:uh,props:dh,emits:dh,methods:oo,computed:oo,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:oo,directives:oo,watch:o1,provide:uh,inject:i1};function uh(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 i1(e,t){return oo(rc(e),rc(t))}function rc(e){if(ht(e)){const t={};for(let n=0;n1)return n&&bt(t)?t.call(s&&s.proxy):t}}function l1(){return!!(te||xe||Ro)}function c1(e,t,n,s=!1){const i={},o={};ta(o,Wa,1),e.propsDefaults=Object.create(null),Yg(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=s?i:Sg(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function u1(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=At(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]=Gg(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 Nt(e)&&s.set(e,di),di;if(ht(o))for(let u=0;u-1,p[1]=m<0||g-1||Ot(p,"default"))&&a.push(d)}}}const c=[r,a];return Nt(e)&&s.set(e,c),c}function hh(e){return e[0]!=="$"}function fh(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ph(e,t){return fh(e)===fh(t)}function gh(e,t){return ht(t)?t.findIndex(n=>ph(n,e)):bt(t)&&ph(t,e)?0:-1}const qg=e=>e[0]==="_"||e==="$stable",vu=e=>ht(e)?e.map(Ge):[Ge(e)],d1=(e,t,n)=>{if(t._n)return t;const s=Kt((...i)=>vu(t(...i)),n);return s._c=!1,s},Xg=(e,t,n)=>{const s=e._ctx;for(const i in e){if(qg(i))continue;const o=e[i];if(bt(o))t[i]=d1(i,o,s);else if(o!=null){const r=vu(o);t[i]=()=>r}}},Qg=(e,t)=>{const n=vu(t);e.slots.default=()=>n},h1=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=At(t),ta(t,"_",n)):Xg(t,e.slots={})}else e.slots={},t&&Qg(e,t);ta(e.slots,Wa,1)},f1=(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,Xg(t,i)),r=t}else t&&(Qg(e,t),r={default:1});if(o)for(const a in i)!qg(a)&&r[a]==null&&delete i[a]};function lc(e,t,n,s,i=!1){if(ht(e)){e.forEach((f,p)=>lc(f,t&&(ht(t)?t[p]:t),n,s,i));return}if(Kr(s)&&!i)return;const o=s.shapeFlag&4?Ua(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,Ot(d,c)&&(d[c]=null)):ne(c)&&(c.value=null)),bt(l))Jn(l,a,12,[r,u]);else{const f=Qt(l),p=ne(l);if(f||p){const g=()=>{if(e.f){const m=f?Ot(d,l)?d[l]:u[l]:l.value;i?ht(m)&&Qc(m,o):ht(m)?m.includes(o)||m.push(o):f?(u[l]=[o],Ot(d,l)&&(d[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else f?(u[l]=r,Ot(d,l)&&(d[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(g.id=-1,ye(g,n)):g()}}}const ye=Fw;function p1(e){return g1(e)}function g1(e,t){const n=rg();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=Ve,insertStaticContent:g}=e,m=(T,D,I,V=null,K=null,q=null,Z=void 0,Q=null,B=!!D.dynamicChildren)=>{if(T===D)return;T&&!sn(T,D)&&(V=j(T),ft(T,K,q,!0),T=null),D.patchFlag===-2&&(B=!1,D.dynamicChildren=null);const{type:G,ref:at,shapeFlag:dt}=D;switch(G){case ja:y(T,D,I,V);break;case Me:x(T,D,I,V);break;case Gr:T==null&&S(D,I,V,Z);break;case Jt:N(T,D,I,V,K,q,Z,Q,B);break;default:dt&1?v(T,D,I,V,K,q,Z,Q,B):dt&6?X(T,D,I,V,K,q,Z,Q,B):(dt&64||dt&128)&&G.process(T,D,I,V,K,q,Z,Q,B,J)}at!=null&&K&&lc(at,T&&T.ref,q,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]=g(T.children,D,I,V,T.el,T.anchor)},M=({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,q,Z,Q,B)=>{D.type==="svg"?Z="svg":D.type==="math"&&(Z="mathml"),T==null?E(D,I,V,K,q,Z,Q,B):k(T,D,K,q,Z,Q,B)},E=(T,D,I,V,K,q,Z,Q)=>{let B,G;const{props:at,shapeFlag:dt,transition:ct,dirs:gt}=T;if(B=T.el=r(T.type,q,at&&at.is,at),dt&8?u(B,T.children):dt&16&&w(T.children,B,null,V,K,wl(T,q),Z,Q),gt&&ys(T,null,V,"created"),A(B,T,T.scopeId,Z,V),at){for(const kt in at)kt!=="value"&&!zr(kt)&&o(B,kt,null,at[kt],q,T.children,V,K,wt);"value"in at&&o(B,"value",null,at.value,q),(G=at.onVnodeBeforeMount)&&Ze(G,V,T)}gt&&ys(T,null,V,"beforeMount");const vt=m1(K,ct);vt&&ct.beforeEnter(B),s(B,D,I),((G=at&&at.onVnodeMounted)||vt||gt)&&ye(()=>{G&&Ze(G,V,T),vt&&ct.enter(B),gt&&ys(T,null,V,"mounted")},K)},A=(T,D,I,V,K)=>{if(I&&p(T,I),V)for(let q=0;q{for(let G=B;G{const Q=D.el=T.el;let{patchFlag:B,dynamicChildren:G,dirs:at}=D;B|=T.patchFlag&16;const dt=T.props||Vt,ct=D.props||Vt;let gt;if(I&&vs(I,!1),(gt=ct.onVnodeBeforeUpdate)&&Ze(gt,I,D,T),at&&ys(D,T,I,"beforeUpdate"),I&&vs(I,!0),G?$(T.dynamicChildren,G,Q,I,V,wl(D,K),q):Z||U(T,D,Q,null,I,V,wl(D,K),q,!1),B>0){if(B&16)L(Q,D,dt,ct,I,V,K);else if(B&2&&dt.class!==ct.class&&o(Q,"class",null,ct.class,K),B&4&&o(Q,"style",dt.style,ct.style,K),B&8){const vt=D.dynamicProps;for(let kt=0;kt{gt&&Ze(gt,I,D,T),at&&ys(D,T,I,"updated")},V)},$=(T,D,I,V,K,q,Z)=>{for(let Q=0;Q{if(I!==V){if(I!==Vt)for(const Q in I)!zr(Q)&&!(Q in V)&&o(T,Q,I[Q],null,Z,D.children,K,q,wt);for(const Q in V){if(zr(Q))continue;const B=V[Q],G=I[Q];B!==G&&Q!=="value"&&o(T,Q,G,B,Z,D.children,K,q,wt)}"value"in V&&o(T,"value",I.value,V.value,Z)}},N=(T,D,I,V,K,q,Z,Q,B)=>{const G=D.el=T?T.el:a(""),at=D.anchor=T?T.anchor:a("");let{patchFlag:dt,dynamicChildren:ct,slotScopeIds:gt}=D;gt&&(Q=Q?Q.concat(gt):gt),T==null?(s(G,I,V),s(at,I,V),w(D.children,I,at,K,q,Z,Q,B)):dt>0&&dt&64&&ct&&T.dynamicChildren?($(T.dynamicChildren,ct,I,K,q,Z,Q),(D.key!=null||K&&D===K.subTree)&&Jg(T,D,!0)):U(T,D,I,at,K,q,Z,Q,B)},X=(T,D,I,V,K,q,Z,Q,B)=>{D.slotScopeIds=Q,T==null?D.shapeFlag&512?K.ctx.activate(D,I,V,Z,B):Y(D,I,V,K,q,Z,B):H(T,D,B)},Y=(T,D,I,V,K,q,Z)=>{const Q=T.component=C1(T,V,K);if(Va(T)&&(Q.ctx.renderer=J),A1(Q),Q.asyncDep){if(K&&K.registerDep(Q,R),!T.el){const B=Q.subTree=mt(Me);x(null,B,D,I)}}else R(Q,T,D,I,K,q,Z)},H=(T,D,I)=>{const V=D.component=T.component;if(Ow(T,D,I))if(V.asyncDep&&!V.asyncResolved){W(V,D,I);return}else V.next=D,Cw(V.update),V.effect.dirty=!0,V.update();else D.el=T.el,V.vnode=D},R=(T,D,I,V,K,q,Z)=>{const Q=()=>{if(T.isMounted){let{next:at,bu:dt,u:ct,parent:gt,vnode:vt}=T;{const us=Zg(T);if(us){at&&(at.el=vt.el,W(T,at,Z)),us.asyncDep.then(()=>{T.isUnmounted||Q()});return}}let kt=at,$t;vs(T,!1),at?(at.el=vt.el,W(T,at,Z)):at=vt,dt&&Ur(dt),($t=at.props&&at.props.onVnodeBeforeUpdate)&&Ze($t,gt,at,vt),vs(T,!0);const zt=yl(T),Ee=T.subTree;T.subTree=zt,m(Ee,zt,d(Ee.el),j(Ee),T,K,q),at.el=zt.el,kt===null&&du(T,zt.el),ct&&ye(ct,K),($t=at.props&&at.props.onVnodeUpdated)&&ye(()=>Ze($t,gt,at,vt),K)}else{let at;const{el:dt,props:ct}=D,{bm:gt,m:vt,parent:kt}=T,$t=Kr(D);if(vs(T,!1),gt&&Ur(gt),!$t&&(at=ct&&ct.onVnodeBeforeMount)&&Ze(at,kt,D),vs(T,!0),dt&&F){const zt=()=>{T.subTree=yl(T),F(dt,T.subTree,T,K,null)};$t?D.type.__asyncLoader().then(()=>!T.isUnmounted&&zt()):zt()}else{const zt=T.subTree=yl(T);m(null,zt,I,V,T,K,q),D.el=zt.el}if(vt&&ye(vt,K),!$t&&(at=ct&&ct.onVnodeMounted)){const zt=D;ye(()=>Ze(at,kt,zt),K)}(D.shapeFlag&256||kt&&Kr(kt.vnode)&&kt.vnode.shapeFlag&256)&&T.a&&ye(T.a,K),T.isMounted=!0,D=I=V=null}},B=T.effect=new eu(Q,Ve,()=>uu(G),T.scope),G=T.update=()=>{B.dirty&&B.run()};G.id=T.uid,vs(T,!0),G()},W=(T,D,I)=>{D.component=T;const V=T.vnode.props;T.vnode=D,T.next=null,u1(T,D.props,V,I),f1(T,D.children,I),Ws(),nh(T),zs()},U=(T,D,I,V,K,q,Z,Q,B=!1)=>{const G=T&&T.children,at=T?T.shapeFlag:0,dt=D.children,{patchFlag:ct,shapeFlag:gt}=D;if(ct>0){if(ct&128){lt(G,dt,I,V,K,q,Z,Q,B);return}else if(ct&256){it(G,dt,I,V,K,q,Z,Q,B);return}}gt&8?(at&16&&wt(G,K,q),dt!==G&&u(I,dt)):at&16?gt&16?lt(G,dt,I,V,K,q,Z,Q,B):wt(G,K,q,!0):(at&8&&u(I,""),gt&16&&w(dt,I,V,K,q,Z,Q,B))},it=(T,D,I,V,K,q,Z,Q,B)=>{T=T||di,D=D||di;const G=T.length,at=D.length,dt=Math.min(G,at);let ct;for(ct=0;ctat?wt(T,K,q,!0,!1,dt):w(D,I,V,K,q,Z,Q,B,dt)},lt=(T,D,I,V,K,q,Z,Q,B)=>{let G=0;const at=D.length;let dt=T.length-1,ct=at-1;for(;G<=dt&&G<=ct;){const gt=T[G],vt=D[G]=B?jn(D[G]):Ge(D[G]);if(sn(gt,vt))m(gt,vt,I,null,K,q,Z,Q,B);else break;G++}for(;G<=dt&&G<=ct;){const gt=T[dt],vt=D[ct]=B?jn(D[ct]):Ge(D[ct]);if(sn(gt,vt))m(gt,vt,I,null,K,q,Z,Q,B);else break;dt--,ct--}if(G>dt){if(G<=ct){const gt=ct+1,vt=gtct)for(;G<=dt;)ft(T[G],K,q,!0),G++;else{const gt=G,vt=G,kt=new Map;for(G=vt;G<=ct;G++){const ae=D[G]=B?jn(D[G]):Ge(D[G]);ae.key!=null&&kt.set(ae.key,G)}let $t,zt=0;const Ee=ct-vt+1;let us=!1,sr=0;const ds=new Array(Ee);for(G=0;G=Ee){ft(ae,K,q,!0);continue}let Le;if(ae.key!=null)Le=kt.get(ae.key);else for($t=vt;$t<=ct;$t++)if(ds[$t-vt]===0&&sn(ae,D[$t])){Le=$t;break}Le===void 0?ft(ae,K,q,!0):(ds[Le-vt]=G+1,Le>=sr?sr=Le:us=!0,m(ae,D[Le],I,null,K,q,Z,Q,B),zt++)}const ir=us?_1(ds):di;for($t=ir.length-1,G=Ee-1;G>=0;G--){const ae=vt+G,Le=D[ae],Dn=ae+1{const{el:q,type:Z,transition:Q,children:B,shapeFlag:G}=T;if(G&6){pt(T.component.subTree,D,I,V);return}if(G&128){T.suspense.move(D,I,V);return}if(G&64){Z.move(T,D,I,J);return}if(Z===Jt){s(q,D,I);for(let dt=0;dtQ.enter(q),K);else{const{leave:dt,delayLeave:ct,afterLeave:gt}=Q,vt=()=>s(q,D,I),kt=()=>{dt(q,()=>{vt(),gt&>()})};ct?ct(q,vt,kt):kt()}else s(q,D,I)},ft=(T,D,I,V=!1,K=!1)=>{const{type:q,props:Z,ref:Q,children:B,dynamicChildren:G,shapeFlag:at,patchFlag:dt,dirs:ct}=T;if(Q!=null&&lc(Q,null,I,T,!0),at&256){D.ctx.deactivate(T);return}const gt=at&1&&ct,vt=!Kr(T);let kt;if(vt&&(kt=Z&&Z.onVnodeBeforeUnmount)&&Ze(kt,D,T),at&6)Pt(T.component,I,V);else{if(at&128){T.suspense.unmount(I,V);return}gt&&ys(T,null,D,"beforeUnmount"),at&64?T.type.remove(T,D,I,K,J,V):G&&(q!==Jt||dt>0&&dt&64)?wt(G,D,I,!1,!0):(q===Jt&&dt&384||!K&&at&16)&&wt(B,D,I),V&&St(T)}(vt&&(kt=Z&&Z.onVnodeUnmounted)||gt)&&ye(()=>{kt&&Ze(kt,D,T),gt&&ys(T,null,D,"unmounted")},I)},St=T=>{const{type:D,el:I,anchor:V,transition:K}=T;if(D===Jt){xt(I,V);return}if(D===Gr){C(T);return}const q=()=>{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,q);Q?Q(T.el,q,B):B()}else q()},xt=(T,D)=>{let I;for(;T!==D;)I=f(T),i(T),T=I;i(D)},Pt=(T,D,I)=>{const{bum:V,scope:K,update:q,subTree:Z,um:Q}=T;V&&Ur(V),K.stop(),q&&(q.active=!1,ft(Z,T,D,I)),Q&&ye(Q,D),ye(()=>{T.isUnmounted=!0},D),D&&D.pendingBranch&&!D.isUnmounted&&T.asyncDep&&!T.asyncResolved&&T.suspenseId===D.pendingId&&(D.deps--,D.deps===0&&D.resolve())},wt=(T,D,I,V=!1,K=!1,q=0)=>{for(let Z=q;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):m(D._vnode||null,T,D,null,null,null,I),nh(),Dg(),D._vnode=T},J={p:m,um:ft,m:pt,r:St,mt:Y,mc:w,pc:U,pbc:$,n:j,o:e};let ot,F;return t&&([ot,F]=t(J)),{render:et,hydrate:ot,createApp:a1(et,ot)}}function wl({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 vs({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function m1(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Jg(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 Zg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zg(t)}const b1=e=>e.__isTeleport,Jt=Symbol.for("v-fgt"),ja=Symbol.for("v-txt"),Me=Symbol.for("v-cmt"),Gr=Symbol.for("v-stc"),go=[];let He=null;function rt(e=!1){go.push(He=e?null:[])}function tm(){go.pop(),He=go[go.length-1]||null}let Ti=1;function mh(e){Ti+=e}function em(e){return e.dynamicChildren=Ti>0?He||di:null,tm(),Ti>0&&He&&He.push(e),e}function ut(e,t,n,s,i,o){return em(b(e,t,n,s,i,o,!0))}function Ue(e,t,n,s,i){return em(mt(e,t,n,s,i,!0))}function ia(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const Wa="__vInternal",nm=({key:e})=>e??null,qr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Qt(e)||ne(e)||bt(e)?{i:xe,r:e,k:t,f:!!n}:e:null);function b(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&&nm(t),ref:t&&qr(t),scopeId:Ra,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:xe};return a?(xu(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=Qt(n)?8:16),Ti>0&&!r&&He&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&He.push(l),l}const mt=y1;function y1(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===Ig)&&(e=Me),ia(e)){const a=ns(e,t,!0);return n&&xu(a,n),Ti>0&&!o&&He&&(a.shapeFlag&6?He[He.indexOf(e)]=a:He.push(a)),a.patchFlag|=-2,a}if(O1(e)&&(e=e.__vccOpts),t){t=v1(t);let{class:a,style:l}=t;a&&!Qt(a)&&(t.class=ge(a)),Nt(l)&&($a(l)&&!ht(l)&&(l=Zt({},l)),t.style=Zc(l))}const r=Qt(e)?1:Dw(e)?128:b1(e)?64:Nt(e)?4:bt(e)?2:0;return b(e,t,n,s,i,r,o,!0)}function v1(e){return e?$a(e)||Wa in e?Zt({},e):e:null}function ns(e,t,n=!1){const{props:s,ref:i,patchFlag:o,children:r}=e,a=t?w1(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&nm(a),ref:t&&t.ref?n&&i?ht(i)?i.concat(qr(t)):[i,qr(t)]:qr(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&&ns(e.ssContent),ssFallback:e.ssFallback&&ns(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Tt(e=" ",t=0){return mt(ja,null,e,t)}function x1(e,t){const n=mt(Gr,null,e);return n.staticCount=t,n}function me(e="",t=!1){return t?(rt(),Ue(Me,null,e)):mt(Me,null,e)}function Ge(e){return e==null||typeof e=="boolean"?mt(Me):ht(e)?mt(Jt,null,e.slice()):typeof e=="object"?jn(e):mt(ja,null,String(e))}function jn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ns(e)}function xu(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),xu(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(Wa in t)?t._ctx=xe:i===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else bt(t)?(t={default:t,_ctx:xe},n=32):(t=String(t),s&64?(n=16,t=[Tt(t)]):n=8);e.children=t,e.shapeFlag|=n}function w1(...e){const t={};for(let n=0;nte||xe;let wu,cc;{const e=rg(),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)}};wu=t("__VUE_INSTANCE_SETTERS__",n=>te=n),cc=t("__VUE_SSR_SETTERS__",n=>za=n)}const Mi=e=>{wu(e),e.scope.on()},Rs=()=>{te&&te.scope.off(),wu(null)};function im(e){return e.vnode.shapeFlag&4}let za=!1;function A1(e,t=!1){t&&cc(t);const{props:n,children:s}=e.vnode,i=im(e);c1(e,n,i,t),h1(e,s);const o=i?T1(e,t):void 0;return t&&cc(!1),o}function T1(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=qo(new Proxy(e.ctx,t1));const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?P1(e):null;Mi(e),Ws();const o=Jn(s,e,0,[e.props,i]);if(zs(),Rs(),ng(o)){if(o.then(Rs,Rs),t)return o.then(r=>{uc(e,r,t)}).catch(r=>{Xo(r,e,0)});e.asyncDep=o}else uc(e,o,t)}else om(e,t)}function uc(e,t,n){bt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Nt(t)&&(e.setupState=Pg(t)),om(e,n)}let _h;function om(e,t,n){const s=e.type;if(!e.render){if(!t&&_h&&!s.render){const i=s.template||yu(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=_h(i,c)}}e.render=s.render||Ve}{Mi(e),Ws();try{e1(e)}finally{zs(),Rs()}}}function M1(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return we(e,"get","$attrs"),t[n]}}))}function P1(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return M1(e)},slots:e.slots,emit:e.emit,expose:t}}function Ua(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Pg(qo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in po)return po[n](e)},has(t,n){return n in t||n in po}}))}function k1(e,t=!0){return bt(e)?e.displayName||e.name:e.name||t&&e.__name}function O1(e){return bt(e)&&"__vccOpts"in e}const Be=(e,t)=>_w(e,t,za);function Pi(e,t,n){const s=arguments.length;return s===2?Nt(t)&&!ht(t)?ia(t)?mt(e,null,[t]):mt(e,t):mt(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&ia(n)&&(n=[n]),mt(e,t,n))}const rm="3.4.3",D1="http://www.w3.org/2000/svg",$1="http://www.w3.org/1998/Math/MathML",Wn=typeof document<"u"?document:null,bh=Wn&&Wn.createElement("template"),L1={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"?Wn.createElementNS(D1,e):t==="mathml"?Wn.createElementNS($1,e):Wn.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Wn.createTextNode(e),createComment:e=>Wn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wn.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{bh.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const a=bh.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]}},Rn="transition",Ji="animation",ki=Symbol("_vtc"),Us=(e,{slots:t})=>Pi(zw,lm(e),t);Us.displayName="Transition";const am={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},I1=Us.props=Zt({},Vg,am),xs=(e,t=[])=>{ht(e)?e.forEach(n=>n(...t)):e&&e(...t)},yh=e=>e?ht(e)?e.some(t=>t.length>1):e.length>1:!1;function lm(e){const t={};for(const N in e)N in am||(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,g=R1(i),m=g&&g[0],y=g&&g[1],{onBeforeEnter:x,onEnter:S,onEnterCancelled:M,onLeave:C,onLeaveCancelled:v,onBeforeAppear:E=x,onAppear:A=S,onAppearCancelled:w=M}=t,k=(N,X,Y)=>{Bn(N,X?u:a),Bn(N,X?c:r),Y&&Y()},$=(N,X)=>{N._isLeaving=!1,Bn(N,d),Bn(N,p),Bn(N,f),X&&X()},L=N=>(X,Y)=>{const H=N?A:S,R=()=>k(X,N,Y);xs(H,[X,R]),vh(()=>{Bn(X,N?l:o),_n(X,N?u:a),yh(H)||xh(X,s,m,R)})};return Zt(t,{onBeforeEnter(N){xs(x,[N]),_n(N,o),_n(N,r)},onBeforeAppear(N){xs(E,[N]),_n(N,l),_n(N,c)},onEnter:L(!1),onAppear:L(!0),onLeave(N,X){N._isLeaving=!0;const Y=()=>$(N,X);_n(N,d),um(),_n(N,f),vh(()=>{N._isLeaving&&(Bn(N,d),_n(N,p),yh(C)||xh(N,s,y,Y))}),xs(C,[N,Y])},onEnterCancelled(N){k(N,!1),xs(M,[N])},onAppearCancelled(N){k(N,!0),xs(w,[N])},onLeaveCancelled(N){$(N),xs(v,[N])}})}function R1(e){if(e==null)return null;if(Nt(e))return[El(e.enter),El(e.leave)];{const t=El(e);return[t,t]}}function El(e){return og(e)}function _n(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ki]||(e[ki]=new Set)).add(t)}function Bn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[ki];n&&(n.delete(t),n.size||(e[ki]=void 0))}function vh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let N1=0;function xh(e,t,n,s){const i=e._endId=++N1,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:l}=cm(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[g]||"").split(", "),i=s(`${Rn}Delay`),o=s(`${Rn}Duration`),r=wh(i,o),a=s(`${Ji}Delay`),l=s(`${Ji}Duration`),c=wh(a,l);let u=null,d=0,f=0;t===Rn?r>0&&(u=Rn,d=r,f=o.length):t===Ji?c>0&&(u=Ji,d=c,f=l.length):(d=Math.max(r,c),u=d>0?r>c?Rn:Ji:null,f=u?u===Rn?o.length:l.length:0);const p=u===Rn&&/\b(transform|all)(,|$)/.test(s(`${Rn}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function wh(e,t){for(;e.lengthEh(n)+Eh(e[s])))}function Eh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function um(){return document.body.offsetHeight}function F1(e,t,n){const s=e[ki];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const B1=Symbol("_vod"),V1=Symbol("");function H1(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&&dc(s,o,"");for(const o in n)dc(s,o,n[o])}else{const o=s.display;if(i){if(t!==n){const r=s[V1];r&&(n+=";"+r),s.cssText=n}}else t&&e.removeAttribute("style");B1 in e&&(s.display=o)}}const Sh=/\s*!important$/;function dc(e,t,n){if(ht(n))n.forEach(s=>dc(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=j1(e,t);Sh.test(n)?e.setProperty(ji(s),n.replace(Sh,""),"important"):e[s]=n}}const Ch=["Webkit","Moz","ms"],Sl={};function j1(e,t){const n=Sl[t];if(n)return n;let s=un(t);if(s!=="filter"&&s in e)return Sl[t]=s;s=ka(s);for(let i=0;iCl||(G1.then(()=>Cl=0),Cl=Date.now());function X1(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ze(Q1(s,n.value),t,5,[s])};return n.value=e,n.attached=q1(),n}function Q1(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 Ph=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,J1=(e,t,n,s,i,o,r,a,l)=>{const c=i==="svg";t==="class"?F1(e,s,c):t==="style"?H1(e,n,s):Ta(t)?Xc(t)||K1(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Z1(e,t,s,c))?z1(e,t,s,o,r,a,l):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),W1(e,t,s,c))};function Z1(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ph(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 Ph(t)&&Qt(n)?!1:t in e}const dm=new WeakMap,hm=new WeakMap,oa=Symbol("_moveCb"),kh=Symbol("_enterCb"),fm={name:"TransitionGroup",props:Zt({},I1,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=sm(),s=Bg();let i,o;return Wg(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!iE(i[0].el,n.vnode.el,r))return;i.forEach(eE),i.forEach(nE);const a=i.filter(sE);um(),a.forEach(l=>{const c=l.el,u=c.style;_n(c,r),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[oa]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[oa]=null,Bn(c,r))};c.addEventListener("transitionend",d)})}),()=>{const r=At(e),a=lm(r);let l=r.tag||Jt;i=o,o=t.default?mu(t.default()):[];for(let c=0;cdelete e.mode;fm.props;const pm=fm;function eE(e){const t=e.el;t[oa]&&t[oa](),t[kh]&&t[kh]()}function nE(e){hm.set(e,e.el.getBoundingClientRect())}function sE(e){const t=dm.get(e),n=hm.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 iE(e,t,n){const s=e.cloneNode(),i=e[ki];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}=cm(s);return o.removeChild(s),r}const ra=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ht(t)?n=>Ur(t,n):t};function oE(e){e.target.composing=!0}function Oh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const gi=Symbol("_assign"),Bt={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[gi]=ra(i);const o=s||i.props&&i.props.type==="number";Ps(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=Ql(a)),e[gi](a)}),n&&Ps(e,"change",()=>{e.value=e.value.trim()}),t||(Ps(e,"compositionstart",oE),Ps(e,"compositionend",Oh),Ps(e,"change",Oh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:i}},o){if(e[gi]=ra(o),e.composing)return;const r=i||e.type==="number"?Ql(e.value):e.value,a=t??"";r!==a&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===a)||(e.value=a))}},gm={deep:!0,created(e,t,n){e[gi]=ra(n),Ps(e,"change",()=>{const s=e._modelValue,i=rE(e),o=e.checked,r=e[gi];if(ht(s)){const a=lg(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(Ma(s)){const a=new Set(s);o?a.add(i):a.delete(i),r(a)}else r(mm(e,o))})},mounted:Dh,beforeUpdate(e,t,n){e[gi]=ra(n),Dh(e,t,n)}};function Dh(e,{value:t,oldValue:n},s){e._modelValue=t,ht(t)?e.checked=lg(t,s.props.value)>-1:Ma(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Oa(t,mm(e,!0)))}function rE(e){return"_value"in e?e._value:e.value}function mm(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const aE=Zt({patchProp:J1},L1);let $h;function lE(){return $h||($h=p1(aE))}const cE=(...e)=>{const t=lE().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=dE(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,uE(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function uE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function dE(e){return Qt(e)?document.querySelector(e):e}var hE=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let _m;const Ka=e=>_m=e,bm=Symbol();function hc(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var mo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(mo||(mo={}));function fE(){const e=dg(!0),t=e.run(()=>Ci({}));let n=[],s=[];const i=qo({install(o){Ka(i),i._a=o,o.provide(bm,i),o.config.globalProperties.$pinia=i,s.forEach(r=>n.push(r)),s=[]},use(o){return!this._a&&!hE?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const ym=()=>{};function Lh(e,t,n,s=ym){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&tu()&&hg(i),i}function ni(e,...t){e.slice().forEach(n=>{n(...t)})}const pE=e=>e();function fc(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];hc(i)&&hc(s)&&e.hasOwnProperty(n)&&!ne(s)&&!Xn(s)?e[n]=fc(i,s):e[n]=s}return e}const gE=Symbol();function mE(e){return!hc(e)||!e.hasOwnProperty(gE)}const{assign:Vn}=Object;function _E(e){return!!(ne(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=vw(n.state.value[e]);return Vn(u,o,Object.keys(r||{}).reduce((d,f)=>(d[f]=qo(Be(()=>{Ka(n);const p=n._s.get(e);return r[f].call(p,p)})),d),{}))}return l=vm(e,c,t,n,s,!0),l}function vm(e,t,n={},s,i,o){let r;const a=Vn({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],p;const g=s.state.value[e];!o&&!g&&(s.state.value[e]={}),Ci({});let m;function y(w){let k;c=u=!1,typeof w=="function"?(w(s.state.value[e]),k={type:mo.patchFunction,storeId:e,events:p}):(fc(s.state.value[e],w),k={type:mo.patchObject,payload:w,storeId:e,events:p});const $=m=Symbol();La().then(()=>{m===$&&(c=!0)}),u=!0,ni(d,k,s.state.value[e])}const x=o?function(){const{state:k}=n,$=k?k():{};this.$patch(L=>{Vn(L,$)})}:ym;function S(){r.stop(),d=[],f=[],s._s.delete(e)}function M(w,k){return function(){Ka(s);const $=Array.from(arguments),L=[],N=[];function X(R){L.push(R)}function Y(R){N.push(R)}ni(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 ni(N,R),R}return H instanceof Promise?H.then(R=>(ni(L,R),R)).catch(R=>(ni(N,R),Promise.reject(R))):(ni(L,H),H)}}const C={_p:s,$id:e,$onAction:Lh.bind(null,f),$patch:y,$reset:x,$subscribe(w,k={}){const $=Lh(d,w,k.detached,()=>L()),L=r.run(()=>Is(()=>s.state.value[e],N=>{(k.flush==="sync"?u:c)&&w({storeId:e,type:mo.direct,events:p},N)},Vn({},l,k)));return $},$dispose:S},v=Go(C);s._s.set(e,v);const A=(s._a&&s._a.runWithContext||pE)(()=>s._e.run(()=>(r=dg()).run(t)));for(const w in A){const k=A[w];if(ne(k)&&!_E(k)||Xn(k))o||(g&&mE(k)&&(ne(k)?k.value=g[w]:fc(k,g[w])),s.state.value[e][w]=k);else if(typeof k=="function"){const $=M(w,k);A[w]=$,a.actions[w]=k}}return Vn(v,A),Vn(At(v),A),Object.defineProperty(v,"$state",{get:()=>s.state.value[e],set:w=>{y(k=>{Vn(k,w)})}}),s._p.forEach(w=>{Vn(v,r.run(()=>w({store:v,app:s._a,pinia:s,options:a})))}),g&&o&&n.hydrate&&n.hydrate(v.$state,g),c=!0,u=!0,v}function Eu(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=l1();return a=a||(c?an(bm,null):null),a&&Ka(a),a=_m,a._s.has(s)||(o?vm(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 ai=typeof window<"u";function yE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Lt=Object.assign;function Al(e,t){const n={};for(const s in t){const i=t[s];n[s]=Qe(i)?i.map(e):e(i)}return n}const _o=()=>{},Qe=Array.isArray,vE=/\/$/,xE=e=>e.replace(vE,"");function Tl(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=CE(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 Ih(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function EE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&Oi(t.matched[s],n.matched[i])&&xm(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Oi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!SE(e[n],t[n]))return!1;return!0}function SE(e,t){return Qe(e)?Rh(e,t):Qe(t)?Rh(t,e):e===t}function Rh(e,t){return Qe(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function CE(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 No;(function(e){e.pop="pop",e.push="push"})(No||(No={}));var bo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(bo||(bo={}));function AE(e){if(!e)if(ai){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),xE(e)}const TE=/^[^#]+#/;function ME(e,t){return e.replace(TE,"#")+t}function PE(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 Ya=()=>({left:window.pageXOffset,top:window.pageYOffset});function kE(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=PE(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 Nh(e,t){return(history.state?history.state.position-t:-1)+e}const pc=new Map;function OE(e,t){pc.set(e,t)}function DE(e){const t=pc.get(e);return pc.delete(e),t}let $E=()=>location.protocol+"//"+location.host;function wm(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),Ih(l,"")}return Ih(n,e)+s+i}function LE(e,t,n,s){let i=[],o=[],r=null;const a=({state:f})=>{const p=wm(e,location),g=n.value,m=t.value;let y=0;if(f){if(n.value=p,t.value=f,r&&r===g){r=null;return}y=m?f.position-m.position:0}else s(p);i.forEach(x=>{x(n.value,g,{delta:y,type:No.pop,direction:y?y>0?bo.forward:bo.back:bo.unknown})})};function l(){r=n.value}function c(f){i.push(f);const p=()=>{const g=i.indexOf(f);g>-1&&i.splice(g,1)};return o.push(p),p}function u(){const{history:f}=window;f.state&&f.replaceState(Lt({},f.state,{scroll:Ya()}),"")}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 Fh(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?Ya():null}}function IE(e){const{history:t,location:n}=window,s={value:wm(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:$E()+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=Lt({},t.state,Fh(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=Lt({},i.value,t.state,{forward:l,scroll:Ya()});o(u.current,u,!0);const d=Lt({},Fh(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 RE(e){e=AE(e);const t=IE(e),n=LE(e,t.state,t.location,t.replace);function s(o,r=!0){r||n.pauseListeners(),history.go(o)}const i=Lt({location:"",base:e,go:s,createHref:ME.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 NE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),RE(e)}function FE(e){return typeof e=="string"||e&&typeof e=="object"}function Em(e){return typeof e=="string"||typeof e=="symbol"}const Nn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Sm=Symbol("");var Bh;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Bh||(Bh={}));function Di(e,t){return Lt(new Error,{type:e,[Sm]:!0},t)}function gn(e,t){return e instanceof Error&&Sm in e&&(t==null||!!(e.type&t))}const Vh="[^/]+?",BE={sensitive:!1,strict:!1,start:!0,end:!0},VE=/[.+*?^${}()[\]/\\]/g;function HE(e,t){const n=Lt({},BE,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 WE(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const zE={type:0,value:""},UE=/[a-zA-Z0-9_]/;function KE(e){if(!e)return[[]];if(e==="/")return[[zE]];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)}:_o}function r(u){if(Em(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||!Cm(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!Wh(u)&&s.set(u.record.name,u)}function c(u,d){let f,p={},g,m;if("name"in u&&u.name){if(f=s.get(u.name),!f)throw Di(1,{location:u});m=f.record.name,p=Lt(jh(d.params,f.keys.filter(S=>!S.optional).map(S=>S.name)),u.params&&jh(u.params,f.keys.map(S=>S.name))),g=f.stringify(p)}else if("path"in u)g=u.path,f=n.find(S=>S.re.test(g)),f&&(p=f.parse(g),m=f.record.name);else{if(f=d.name?s.get(d.name):n.find(S=>S.re.test(d.path)),!f)throw Di(1,{location:u,currentLocation:d});m=f.record.name,p=Lt({},d.params,u.params),g=f.stringify(p)}const y=[];let x=f;for(;x;)y.unshift(x.record),x=x.parent;return{name:m,path:g,params:p,matched:y,meta:QE(y)}}return e.forEach(u=>o(u)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function jh(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function qE(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:XE(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 XE(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 Wh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function QE(e){return e.reduce((t,n)=>Lt(t,n.meta),{})}function zh(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function Cm(e,t){return t.children.some(n=>n===e||Cm(e,n))}const Am=/#/g,JE=/&/g,ZE=/\//g,tS=/=/g,eS=/\?/g,Tm=/\+/g,nS=/%5B/g,sS=/%5D/g,Mm=/%5E/g,iS=/%60/g,Pm=/%7B/g,oS=/%7C/g,km=/%7D/g,rS=/%20/g;function Su(e){return encodeURI(""+e).replace(oS,"|").replace(nS,"[").replace(sS,"]")}function aS(e){return Su(e).replace(Pm,"{").replace(km,"}").replace(Mm,"^")}function gc(e){return Su(e).replace(Tm,"%2B").replace(rS,"+").replace(Am,"%23").replace(JE,"%26").replace(iS,"`").replace(Pm,"{").replace(km,"}").replace(Mm,"^")}function lS(e){return gc(e).replace(tS,"%3D")}function cS(e){return Su(e).replace(Am,"%23").replace(eS,"%3F")}function uS(e){return e==null?"":cS(e).replace(ZE,"%2F")}function aa(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function dS(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&gc(o)):[s&&gc(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function hS(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Qe(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const fS=Symbol(""),Kh=Symbol(""),Cu=Symbol(""),Om=Symbol(""),mc=Symbol("");function Zi(){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 zn(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(Di(4,{from:n,to:t})):d instanceof Error?a(d):FE(d)?a(Di(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 Ml(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(pS(a)){const c=(a.__vccOpts||a)[t];c&&i.push(zn(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=yE(c)?c.default:c;o.components[r]=u;const f=(u.__vccOpts||u)[t];return f&&zn(f,n,s,o,r)()}))}}return i}function pS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yh(e){const t=an(Cu),n=an(Om),s=Be(()=>t.resolve(Qn(e.to))),i=Be(()=>{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(Oi.bind(null,u));if(f>-1)return f;const p=Gh(l[c-2]);return c>1&&Gh(u)===p&&d[d.length-1].path!==p?d.findIndex(Oi.bind(null,l[c-2])):f}),o=Be(()=>i.value>-1&&bS(n.params,s.value.params)),r=Be(()=>i.value>-1&&i.value===n.matched.length-1&&xm(n.params,s.value.params));function a(l={}){return _S(l)?t[Qn(e.replace)?"replace":"push"](Qn(e.to)).catch(_o):Promise.resolve()}return{route:s,href:Be(()=>s.value.href),isActive:o,isExactActive:r,navigate:a}}const gS=Ba({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:Yh,setup(e,{slots:t}){const n=Go(Yh(e)),{options:s}=an(Cu),i=Be(()=>({[qh(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[qh(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Pi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),mS=gS;function _S(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(!Qe(i)||i.length!==s.length||s.some((o,r)=>o!==i[r]))return!1}return!0}function Gh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const qh=(e,t,n)=>e??t??n,yS=Ba({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=an(mc),i=Be(()=>e.route||s.value),o=an(Kh,0),r=Be(()=>{let c=Qn(o);const{matched:u}=i.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=Be(()=>i.value.matched[r.value]);Yr(Kh,Be(()=>r.value+1)),Yr(fS,a),Yr(mc,i);const l=Ci();return Is(()=>[l.value,a.value,e.name],([c,u,d],[f,p,g])=>{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||!Oi(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(m=>m(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return Xh(n.default,{Component:f,route:c});const p=d.props[u],g=p?p===!0?c.params:typeof p=="function"?p(c):p:null,y=Pi(f,Lt({},g,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return Xh(n.default,{Component:y,route:c})||y}}});function Xh(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Dm=yS;function vS(e){const t=GE(e.routes,e),n=e.parseQuery||dS,s=e.stringifyQuery||Uh,i=e.history,o=Zi(),r=Zi(),a=Zi(),l=lu(Nn);let c=Nn;ai&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Al.bind(null,j=>""+j),d=Al.bind(null,uS),f=Al.bind(null,aa);function p(j,et){let J,ot;return Em(j)?(J=t.getRecordMatcher(j),ot=et):ot=j,t.addRoute(ot,J)}function g(j){const et=t.getRecordMatcher(j);et&&t.removeRoute(et)}function m(){return t.getRoutes().map(j=>j.record)}function y(j){return!!t.getRecordMatcher(j)}function x(j,et){if(et=Lt({},et||l.value),typeof j=="string"){const I=Tl(n,j,et.path),V=t.resolve({path:I.path},et),K=i.createHref(I.fullPath);return Lt(I,V,{params:f(V.params),hash:aa(I.hash),redirectedFrom:void 0,href:K})}let J;if("path"in j)J=Lt({},j,{path:Tl(n,j.path,et.path).path});else{const I=Lt({},j.params);for(const V in I)I[V]==null&&delete I[V];J=Lt({},j,{params:d(I)}),et.params=d(et.params)}const ot=t.resolve(J,et),F=j.hash||"";ot.params=u(f(ot.params));const T=wE(s,Lt({},j,{hash:aS(F),path:ot.path})),D=i.createHref(T);return Lt({fullPath:T,hash:F,query:s===Uh?hS(j.query):j.query||{}},ot,{redirectedFrom:void 0,href:D})}function S(j){return typeof j=="string"?Tl(n,j,l.value.path):Lt({},j)}function M(j,et){if(c!==j)return Di(8,{from:et,to:j})}function C(j){return A(j)}function v(j){return C(Lt(S(j),{replace:!0}))}function E(j){const et=j.matched[j.matched.length-1];if(et&&et.redirect){const{redirect:J}=et;let ot=typeof J=="function"?J(j):J;return typeof ot=="string"&&(ot=ot.includes("?")||ot.includes("#")?ot=S(ot):{path:ot},ot.params={}),Lt({query:j.query,hash:j.hash,params:"path"in ot?{}:j.params},ot)}}function A(j,et){const J=c=x(j),ot=l.value,F=j.state,T=j.force,D=j.replace===!0,I=E(J);if(I)return A(Lt(S(I),{state:typeof I=="object"?Lt({},F,I.state):F,force:T,replace:D}),et||J);const V=J;V.redirectedFrom=et;let K;return!T&&EE(s,ot,J)&&(K=Di(16,{to:V,from:ot}),pt(ot,ot,!0,!1)),(K?Promise.resolve(K):$(V,ot)).catch(q=>gn(q)?gn(q,2)?q:lt(q):U(q,V,ot)).then(q=>{if(q){if(gn(q,2))return A(Lt({replace:D},S(q.to),{state:typeof q.to=="object"?Lt({},F,q.to.state):F,force:T}),et||V)}else q=N(V,ot,!0,D,F);return L(V,ot,q),q})}function w(j,et){const J=M(j,et);return J?Promise.reject(J):Promise.resolve()}function k(j){const et=xt.values().next().value;return et&&typeof et.runWithContext=="function"?et.runWithContext(j):j()}function $(j,et){let J;const[ot,F,T]=xS(j,et);J=Ml(ot.reverse(),"beforeRouteLeave",j,et);for(const I of ot)I.leaveGuards.forEach(V=>{J.push(zn(V,j,et))});const D=w.bind(null,j,et);return J.push(D),wt(J).then(()=>{J=[];for(const I of o.list())J.push(zn(I,j,et));return J.push(D),wt(J)}).then(()=>{J=Ml(F,"beforeRouteUpdate",j,et);for(const I of F)I.updateGuards.forEach(V=>{J.push(zn(V,j,et))});return J.push(D),wt(J)}).then(()=>{J=[];for(const I of T)if(I.beforeEnter)if(Qe(I.beforeEnter))for(const V of I.beforeEnter)J.push(zn(V,j,et));else J.push(zn(I.beforeEnter,j,et));return J.push(D),wt(J)}).then(()=>(j.matched.forEach(I=>I.enterCallbacks={}),J=Ml(T,"beforeRouteEnter",j,et),J.push(D),wt(J))).then(()=>{J=[];for(const I of r.list())J.push(zn(I,j,et));return J.push(D),wt(J)}).catch(I=>gn(I,8)?I:Promise.reject(I))}function L(j,et,J){a.list().forEach(ot=>k(()=>ot(j,et,J)))}function N(j,et,J,ot,F){const T=M(j,et);if(T)return T;const D=et===Nn,I=ai?history.state:{};J&&(ot||D?i.replace(j.fullPath,Lt({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(!Pt.listening)return;const ot=x(j),F=E(ot);if(F){A(Lt(F,{replace:!0}),ot).catch(_o);return}c=ot;const T=l.value;ai&&OE(Nh(T.fullPath,J.delta),Ya()),$(ot,T).catch(D=>gn(D,12)?D:gn(D,2)?(A(D.to,ot).then(I=>{gn(I,20)&&!J.delta&&J.type===No.pop&&i.go(-1,!1)}).catch(_o),Promise.reject()):(J.delta&&i.go(-J.delta,!1),U(D,ot,T))).then(D=>{D=D||N(ot,T,!1),D&&(J.delta&&!gn(D,8)?i.go(-J.delta,!1):J.type===No.pop&&gn(D,20)&&i.go(-1,!1)),L(ot,T,D)}).catch(_o)}))}let H=Zi(),R=Zi(),W;function U(j,et,J){lt(j);const ot=R.list();return ot.length?ot.forEach(F=>F(j,et,J)):console.error(j),Promise.reject(j)}function it(){return W&&l.value!==Nn?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,ot){const{scrollBehavior:F}=e;if(!ai||!F)return Promise.resolve();const T=!J&&DE(Nh(j.fullPath,0))||(ot||!J)&&history.state&&history.state.scroll||null;return La().then(()=>F(j,et,T)).then(D=>D&&kE(D)).catch(D=>U(D,j,et))}const ft=j=>i.go(j);let St;const xt=new Set,Pt={currentRoute:l,listening:!0,addRoute:p,removeRoute:g,hasRoute:y,getRoutes:m,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",mS),j.component("RouterView",Dm),j.config.globalProperties.$router=et,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>Qn(l)}),ai&&!St&&l.value===Nn&&(St=!0,C(i.location).catch(F=>{}));const J={};for(const F in Nn)Object.defineProperty(J,F,{get:()=>l.value[F],enumerable:!0});j.provide(Cu,et),j.provide(Om,Sg(J)),j.provide(mc,l);const ot=j.unmount;xt.add(j),j.unmount=function(){xt.delete(j),xt.size<1&&(c=Nn,X&&X(),X=null,l.value=Nn,St=!1,W=!1),ot()}}};function wt(j){return j.reduce((et,J)=>et.then(()=>k(J)),Promise.resolve())}return Pt}function xS(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rOi(c,a))?s.push(a):n.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Oi(c,l))||i.push(l))}return[n,s,i]}const dn=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)},De=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 Cr;const wS=new Uint8Array(16);function ES(){if(!Cr&&(Cr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Cr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cr(wS)}const re=[];for(let e=0;e<256;++e)re.push((e+256).toString(16).slice(1));function SS(e,t=0){return re[e[t+0]]+re[e[t+1]]+re[e[t+2]]+re[e[t+3]]+"-"+re[e[t+4]]+re[e[t+5]]+"-"+re[e[t+6]]+re[e[t+7]]+"-"+re[e[t+8]]+re[e[t+9]]+"-"+re[e[t+10]]+re[e[t+11]]+re[e[t+12]]+re[e[t+13]]+re[e[t+14]]+re[e[t+15]]}const CS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Qh={randomUUID:CS};function Wi(e,t,n){if(Qh.randomUUID&&!t&&!e)return Qh.randomUUID();e=e||{};const s=e.random||(e.rng||ES)();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 SS(s)}const de=Eu("DashboardConfigurationStore",{state:()=>({Configuration:void 0,Messages:[]}),actions:{async getConfiguration(){await dn("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await De("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await dn("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Wi(),from:e,content:t,type:n,show:!0})}}}),AS=b("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[b("div",{class:"container-fluid"},[b("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1),TS={__name:"App",setup(e){return de(),(t,n)=>(rt(),ut(Jt,null,[AS,(rt(),Ue(pu,null,{default:Kt(()=>[mt(Qn(Dm),null,{default:Kt(({Component:s})=>[mt(Us,{name:"fade",mode:"out-in"},{default:Kt(()=>[(rt(),Ue(fu(s)))]),_:2},1024)]),_:1})]),_:1}))],64))}},MS={getCookie(e){const n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2)return n.pop().split(";").shift()}};Eu("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await dn("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const zi=Eu("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:""}),actions:{async getConfigurations(){await dn("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})}}}),qt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},PS={name:"navbar",setup(){const e=zi(),t=de();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},kS={class:"col-md-3 col-lg-2 d-md-block p-3"},OS={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow"},DS={class:"sidebar-sticky pt-3"},$S={class:"nav flex-column"},LS={class:"nav-item"},IS={class:"nav-item"},RS=b("hr",null,null,-1),NS=b("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[b("span",null,"Configurations")],-1),FS={class:"nav flex-column"},BS={class:"nav-item"},VS=x1('

',4),HS={class:"nav flex-column"},jS={class:"nav-item"},WS=b("ul",{class:"nav flex-column"},[b("li",{class:"nav-item"},[b("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[b("small",{class:"nav-link text-muted"})])])],-1);function zS(e,t,n,s,i,o){const r=Ut("RouterLink");return rt(),ut("div",kS,[b("nav",OS,[b("div",DS,[b("ul",$S,[b("li",LS,[mt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:Kt(()=>[Tt("Home")]),_:1})]),b("li",IS,[mt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:Kt(()=>[Tt("Settings")]),_:1})])]),RS,NS,b("ul",FS,[b("li",BS,[(rt(!0),ut(Jt,null,Ai(this.wireguardConfigurationsStore.Configurations,a=>(rt(),Ue(r,{to:"/configuration/"+a.Name,class:"nav-link nav-conf-link"},{default:Kt(()=>[b("samp",null,Ct(a.Name),1)]),_:2},1032,["to"]))),256))])]),VS,b("ul",HS,[b("li",jS,[b("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),WS])])])}const US=qt(PS,[["render",zS]]),KS={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},YS=["id"],GS={class:"card-body"},qS={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function XS(e,t,n,s,i,o){return rt(),ut("div",{class:ge(["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"}},[b("div",GS,[b("small",qS,"FROM "+Ct(this.message.from),1),Tt(" "+Ct(this.message.content),1)])],10,YS)}const QS=qt(KS,[["render",XS]]),JS={name:"index",components:{Message:QS,Navbar:US},async setup(){return{dashboardConfigurationStore:de()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},ZS=["data-bs-theme"],tC={class:"row h-100"},eC={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},nC={class:"messageCentre text-body position-fixed"};function sC(e,t,n,s,i,o){const r=Ut("Navbar"),a=Ut("RouterView"),l=Ut("Message");return rt(),ut("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[b("div",tC,[mt(r),b("main",eC,[(rt(),Ue(pu,null,{default:Kt(()=>[mt(a,null,{default:Kt(({Component:c})=>[mt(Us,{name:"fade2",mode:"out-in"},{default:Kt(()=>[(rt(),Ue(fu(c)))]),_:2},1024)]),_:1})]),_:1})),b("div",nC,[mt(pm,{name:"message",tag:"div",class:"position-relative"},{default:Kt(()=>[(rt(!0),ut(Jt,null,Ai(o.getMessages.slice().reverse(),c=>(rt(),Ue(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,ZS)}const iC=qt(JS,[["render",sC],["__scopeId","data-v-54755a4a"]]),oC={name:"signin",async setup(){const e=de();let t="",n=!1;return await dn("/api/getDashboardTheme",{},s=>{t=s.data}),await dn("/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 De("/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"))})}}},rC=["data-bs-theme"],aC={class:"login-box m-auto",style:{width:"500px"}},lC=b("h4",{class:"mb-0 text-body"},"Welcome to",-1),cC=b("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),uC={class:"m-auto"},dC={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},hC={class:"form-group text-body"},fC=b("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[b("i",{class:"bi bi-person-circle"})],-1),pC={class:"form-group text-body"},gC=b("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[b("i",{class:"bi bi-key-fill"})],-1),mC={key:0,class:"form-group text-body"},_C=b("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[b("i",{class:"bi bi-lock-fill"})],-1),bC={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand shadow signInBtn",ref:"signInBtn"},yC={key:0,class:"d-flex w-100"},vC=b("i",{class:"ms-auto bi bi-chevron-right"},null,-1),xC={key:1,class:"d-flex w-100 align-items-center"},wC=b("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[b("span",{class:"visually-hidden"},"Loading...")],-1);function EC(e,t,n,s,i,o){return rt(),ut("div",{class:"container-fluid login-container-fluid d-flex main","data-bs-theme":this.theme},[b("div",aC,[lC,cC,b("div",uC,[i.loginError?(rt(),ut("div",dC,Ct(this.loginErrorMessage),1)):me("",!0),b("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[b("div",hC,[fC,Rt(b("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[Bt,i.username]])]),b("div",pC,[gC,Rt(b("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[Bt,i.password]])]),s.totpEnabled?(rt(),ut("div",mC,[_C,Rt(b("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=r=>this.totp=r)},null,512),[[Bt,this.totp]])])):me("",!0),b("button",bC,[this.loading?(rt(),ut("span",xC,[Tt(" Signing In... "),wC])):(rt(),ut("span",yC,[Tt(" Sign In"),vC]))],512)],32)])])],8,rC)}const SC=qt(oC,[["render",EC]]),CC={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},setup(){return{dashboardConfigurationStore:de()}},methods:{toggle(){dn("/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})}}},AC={class:"card conf_card rounded-3 shadow text-decoration-none"},TC={class:"mb-0"},MC={class:"card-title mb-0"},PC=b("h6",{class:"mb-0 ms-auto"},[b("i",{class:"bi bi-chevron-right"})],-1),kC={class:"card-footer d-flex align-items-center"},OC=b("small",{class:"me-2 text-muted"},[b("strong",null,"PUBLIC KEY")],-1),DC={class:"mb-0 d-block d-lg-inline-block"},$C={style:{"line-break":"anywhere"}},LC={class:"form-check form-switch ms-auto"},IC=["for"],RC=["id"];function NC(e,t,n,s,i,o){const r=Ut("RouterLink");return rt(),ut("div",AC,[mt(r,{to:"/configuration/"+n.c.Name,class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Kt(()=>[b("h6",TC,[b("span",{class:ge(["dot",{active:n.c.Status}])},null,2)]),b("h6",MC,[b("samp",null,Ct(n.c.Name),1)]),PC]),_:1},8,["to"]),b("div",kC,[OC,b("small",DC,[b("samp",$C,Ct(n.c.PublicKey),1)]),b("div",LC,[b("label",{class:"form-check-label",for:"switch"+n.c.PrivateKey},Ct(n.c.Status?"On":"Off"),9,IC),Rt(b("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,RC),[[gm,n.c.Status]])])])])}const FC=qt(CC,[["render",NC]]),BC={name:"configurationList",components:{ConfigurationCard:FC},async setup(){const e=zi();return await e.getConfigurations(),{wireguardConfigurationsStore:e}}},VC={class:"mt-4"},HC={class:"container"},jC={class:"d-flex mb-4"},WC=b("h3",{class:"text-body"},"Wireguard Configurations",-1),zC=b("i",{class:"bi bi-plus-circle-fill ms-2"},null,-1),UC={key:0,class:"text-muted"},KC={key:1,class:"d-flex gap-3 flex-column"};function YC(e,t,n,s,i,o){const r=Ut("RouterLink"),a=Ut("ConfigurationCard");return rt(),ut("div",VC,[b("div",HC,[b("div",jC,[WC,mt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Kt(()=>[Tt(" Configuration "),zC]),_:1})]),this.wireguardConfigurationsStore.Configurations.length===0?(rt(),ut("p",UC,`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".`)):(rt(),ut("div",KC,[(rt(!0),ut(Jt,null,Ai(this.wireguardConfigurationsStore.Configurations,l=>(rt(),Ue(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])])}const GC=qt(BC,[["render",YC]]),qC={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=de(),t=`input_${Wi()}`;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 De("/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})}}},XC={class:"form-group mb-2"},QC=["for"],JC=["id","disabled"],ZC={class:"invalid-feedback"},tA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},eA=b("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),nA=["innerHTML"];function sA(e,t,n,s,i,o){return rt(),ut("div",XC,[b("label",{for:this.uuid,class:"text-muted mb-1"},[b("strong",null,[b("small",null,Ct(this.title),1)])],8,QC),Rt(b("input",{type:"text",class:ge(["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,JC),[[Bt,this.value]]),b("div",ZC,Ct(this.invalidFeedback),1),n.warning?(rt(),ut("div",tA,[b("small",null,[eA,b("span",{innerHTML:n.warningText},null,8,nA)])])):me("",!0)])}const iA=qt(qC,[["render",sA]]),oA=e=>{},rA={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=de(),t=`input_${Wi()}`;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 De("/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}))}}},aA={class:"form-group mb-2"},lA=["for"],cA=["id","disabled"],uA={class:"invalid-feedback"},dA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},hA=b("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),fA=["innerHTML"];function pA(e,t,n,s,i,o){return rt(),ut("div",aA,[b("label",{for:this.uuid,class:"text-muted mb-1"},[b("strong",null,[b("small",null,Ct(this.title),1)])],8,lA),Rt(b("input",{type:"text",class:ge(["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,cA),[[Bt,this.value]]),b("div",uA,Ct(this.invalidFeedback),1),n.warning?(rt(),ut("div",dA,[b("small",null,[hA,b("span",{innerHTML:n.warningText},null,8,fA)])])):me("",!0)])}const gA=qt(rA,[["render",pA]]),mA={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=de(),t=`input_${Wi()}`;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 De("/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.")}}},_A={class:"row"},bA={class:"col-sm"},yA={class:"form-group mb-2"},vA=["for"],xA=b("strong",null,[b("small",null,"Current Password")],-1),wA=[xA],EA=["id"],SA={key:0,class:"invalid-feedback d-block"},CA={class:"col-sm"},AA={class:"form-group mb-2"},TA=["for"],MA=b("strong",null,[b("small",null,"New Password")],-1),PA=[MA],kA=["id"],OA={class:"col-sm"},DA={class:"form-group mb-2"},$A=["for"],LA=b("strong",null,[b("small",null,"Repeat New Password")],-1),IA=[LA],RA=["id"],NA=b("i",{class:"bi bi-key-fill me-2"},null,-1);function FA(e,t,n,s,i,o){return rt(),ut("div",null,[b("div",_A,[b("div",bA,[b("div",yA,[b("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},wA,8,vA),Rt(b("input",{type:"password",class:ge(["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,EA),[[Bt,this.value.currentPassword]]),i.showInvalidFeedback?(rt(),ut("div",SA,Ct(this.invalidFeedback),1)):me("",!0)])]),b("div",CA,[b("div",AA,[b("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},PA,8,TA),Rt(b("input",{type:"password",class:ge(["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,kA),[[Bt,this.value.newPassword]])])]),b("div",OA,[b("div",DA,[b("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},IA,8,$A),Rt(b("input",{type:"password",class:ge(["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,RA),[[Bt,this.value.repeatNewPassword]])])])]),b("button",{class:"btn btn-success btn-sm fw-bold rounded-3",onClick:t[3]||(t[3]=r=>this.useValidation())},[NA,Tt("Update Password ")])])}const BA=qt(mA,[["render",FA]]),VA={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=de(),t=`input_${Wi()}`;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 De("/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})}}},HA={class:"form-group mb-2"},jA=["for"],WA=["id","disabled"],zA={class:"invalid-feedback"},UA={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},KA=b("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),YA=["innerHTML"];function GA(e,t,n,s,i,o){return rt(),ut("div",HA,[b("label",{for:this.uuid,class:"text-muted mb-1"},[b("strong",null,[b("small",null,Ct(this.title),1)])],8,jA),Rt(b("input",{type:"text",class:ge(["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,WA),[[Bt,this.value]]),b("div",zA,Ct(this.invalidFeedback),1),n.warning?(rt(),ut("div",UA,[b("small",null,[KA,b("span",{innerHTML:n.warningText},null,8,YA)])])):me("",!0)])}const qA=qt(VA,[["render",GA]]),XA={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:de()}},methods:{async switchTheme(e){await De("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},QA={class:"card mb-4 shadow rounded-3"},JA=b("p",{class:"card-header"},"Dashboard Theme",-1),ZA={class:"card-body d-flex gap-2"},tT=b("i",{class:"bi bi-sun-fill"},null,-1),eT=b("i",{class:"bi bi-moon-fill"},null,-1);function nT(e,t,n,s,i,o){return rt(),ut("div",QA,[JA,b("div",ZA,[b("button",{class:ge(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[tT,Tt(" Light ")],2),b("button",{class:ge(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[eT,Tt(" Dark ")],2)])])}const sT=qt(XA,[["render",nT]]),iT={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=de(),t=`input_${Wi()}`;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 De("/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)})}}},oT={class:"invalid-feedback d-block mt-0"},rT={class:"row"},aT={class:"form-group mb-2 col-sm"},lT=["for"],cT=b("strong",null,[b("small",null,"Dashboard IP Address")],-1),uT=[cT],dT=["id"],hT=b("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[b("small",null,[b("i",{class:"bi bi-exclamation-triangle-fill me-2"}),b("code",null,"0.0.0.0"),Tt(" means it can be access by anyone with your server IP Address.")])],-1),fT={class:"form-group col-sm"},pT=["for"],gT=b("strong",null,[b("small",null,"Dashboard Port")],-1),mT=[gT],_T=["id"],bT=b("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[b("i",{class:"bi bi-floppy-fill me-2"}),Tt("Update Dashboard Settings & Restart ")],-1);function yT(e,t,n,s,i,o){return rt(),ut("div",null,[b("div",oT,Ct(this.invalidFeedback),1),b("div",rT,[b("div",aT,[b("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},uT,8,lT),Rt(b("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,dT),[[Bt,this.app_ip]]),hT]),b("div",fT,[b("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},mT,8,pT),Rt(b("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,_T),[[Bt,this.app_port]])])]),bT])}const vT=qt(iT,[["render",yT]]),xT={name:"settings",methods:{ipV46RegexCheck:oA},components:{DashboardSettingsInputIPAddressAndPort:vT,DashboardTheme:sT,DashboardSettingsInputWireguardConfigurationPath:qA,AccountSettingsInputPassword:BA,AccountSettingsInputUsername:gA,PeersDefaultSettingsInput:iA},setup(){return{dashboardConfigurationStore:de()}},watch:{}},wT={class:"mt-4"},ET={class:"container"},ST=b("h3",{class:"mb-3 text-body"},"Settings",-1),CT={class:"card mb-4 shadow rounded-3"},AT=b("p",{class:"card-header"},"Peers Default Settings",-1),TT={class:"card-body"},MT={class:"card mb-4 shadow rounded-3"},PT=b("p",{class:"card-header"},"WireGuard Configurations Settings",-1),kT={class:"card-body"},OT={class:"card mb-4 shadow rounded-3"},DT=b("p",{class:"card-header"},"Account Settings",-1),$T={class:"card-body"},LT=b("hr",null,null,-1);function IT(e,t,n,s,i,o){const r=Ut("DashboardTheme"),a=Ut("PeersDefaultSettingsInput"),l=Ut("DashboardSettingsInputWireguardConfigurationPath"),c=Ut("AccountSettingsInputUsername"),u=Ut("AccountSettingsInputPassword");return rt(),ut("div",wT,[b("div",ET,[ST,mt(r),b("div",CT,[AT,b("div",TT,[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."})])]),b("div",MT,[PT,b("div",kT,[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"})])]),b("div",OT,[DT,b("div",$T,[mt(c,{targetData:"username",title:"Username"}),LT,mt(u,{targetData:"password"})])])])])}const RT=qt(xT,[["render",IT]]);var Qo={},NT=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},$m={},$e={};let Au;const FT=[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];$e.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};$e.getSymbolTotalCodewords=function(t){return FT[t]};$e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};$e.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Au=t};$e.isKanjiModeEnabled=function(){return typeof Au<"u"};$e.toSJIS=function(t){return Au(t)};var Ga={};(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}}})(Ga);function Lm(){this.buffer=[],this.length=0}Lm.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 BT=Lm;function Jo(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)}Jo.prototype.set=function(e,t,n,s){const i=e*this.size+t;this.data[i]=n,s&&(this.reservedBit[i]=!0)};Jo.prototype.get=function(e,t){return this.data[e*this.size+t]};Jo.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n};Jo.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var VT=Jo,Im={};(function(e){const t=$e.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 jT=Tu,Vm={},rs={},Mu={};Mu.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var hn={};const Hm="[0-9]+",WT="[A-Z $%*+\\-./:]+";let Fo="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Fo=Fo.replace(/u/g,"\\u");const zT="(?:(?![A-Z0-9 $%*+\\-./:]|"+Fo+`)(?:.|[\r +]))+`;hn.KANJI=new RegExp(Fo,"g");hn.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");hn.BYTE=new RegExp(zT,"g");hn.NUMERIC=new RegExp(Hm,"g");hn.ALPHANUMERIC=new RegExp(WT,"g");const UT=new RegExp("^"+Fo+"$"),KT=new RegExp("^"+Hm+"$"),YT=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");hn.testKanji=function(t){return UT.test(t)};hn.testNumeric=function(t){return KT.test(t)};hn.testAlphanumeric=function(t){return YT.test(t)};(function(e){const t=Mu,n=hn;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}}})(rs);(function(e){const t=$e,n=qa,s=Ga,i=rs,o=Mu,r=7973,a=t.getBCHDigit(r);function l(f,p,g){for(let m=1;m<=40;m++)if(p<=e.getCapacity(m,g,f))return m}function c(f,p){return i.getCharCountIndicator(f,p)+4}function u(f,p){let g=0;return f.forEach(function(m){const y=c(m.mode,p);g+=y+m.getBitsLength()}),g}function d(f,p){for(let g=1;g<=40;g++)if(u(f,g)<=e.getCapacity(g,p,i.MIXED))return g}e.from=function(p,g){return o.isValid(p)?parseInt(p,10):g},e.getCapacity=function(p,g,m){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof m>"u"&&(m=i.BYTE);const y=t.getSymbolTotalCodewords(p),x=n.getTotalCodewordsCount(p,g),S=(y-x)*8;if(m===i.MIXED)return S;const M=S-c(m,p);switch(m){case i.NUMERIC:return Math.floor(M/10*3);case i.ALPHANUMERIC:return Math.floor(M/11*2);case i.KANJI:return Math.floor(M/13);case i.BYTE:default:return Math.floor(M/8)}},e.getBestVersionForData=function(p,g){let m;const y=s.from(g,s.M);if(Array.isArray(p)){if(p.length>1)return d(p,y);if(p.length===0)return 1;m=p[0]}else m=p;return l(m.mode,m.getLength(),y)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let g=p<<12;for(;t.getBCHDigit(g)-a>=0;)g^=r<=0;)i^=Wm<<_c.getBCHDigit(i)-Zh;return(s<<10|i)^GT};var zm={};const qT=rs;function $i(e){this.mode=qT.NUMERIC,this.data=e.toString()}$i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};$i.prototype.getLength=function(){return this.data.length};$i.prototype.getBitsLength=function(){return $i.getBitsLength(this.data.length)};$i.prototype.write=function(t){let n,s,i;for(n=0;n+3<=this.data.length;n+=3)s=this.data.substr(n,3),i=parseInt(s,10),t.put(i,10);const o=this.data.length-n;o>0&&(s=this.data.substr(n),i=parseInt(s,10),t.put(i,o*3+1))};var XT=$i;const QT=rs,Pl=["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 Li(e){this.mode=QT.ALPHANUMERIC,this.data=e}Li.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Li.prototype.getLength=function(){return this.data.length};Li.prototype.getBitsLength=function(){return Li.getBitsLength(this.data.length)};Li.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=Pl.indexOf(this.data[n])*45;s+=Pl.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(Pl.indexOf(this.data[n]),6)};var JT=Li,ZT=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 tM=ZT,eM=rs;function Ii(e){this.mode=eM.BYTE,typeof e=="string"&&(e=tM(e)),this.data=new Uint8Array(e)}Ii.getBitsLength=function(t){return t*8};Ii.prototype.getLength=function(){return this.data.length};Ii.prototype.getBitsLength=function(){return Ii.getBitsLength(this.data.length)};Ii.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 oM=Ri,Um={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,g,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],g=d+p,m=r[u],y=typeof r[u]>"u",(y||m>g)&&(r[u]=g,a.push(u,g),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})(Um);var rM=Um.exports;(function(e){const t=rs,n=XT,s=JT,i=nM,o=oM,r=hn,a=$e,l=rM;function c(x){return unescape(encodeURIComponent(x)).length}function u(x,S,M){const C=[];let v;for(;(v=x.exec(M))!==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),M=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(M,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,M){const C=S.length-1>=0?S[S.length-1]:null;return C&&C.mode===M.mode?(S[S.length-1].data+=M.data,S):(S.push(M),S)},[])}function g(x){const S=[];for(let M=0;M=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 gM(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 Dl(e,t,n){const s=e.size,i=hM.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 bM(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 yM(e,t,n){const s=new aM;n.forEach(function(l){s.put(l.mode.bit,4),s.put(l.getLength(),fM.getCharCountIndicator(l.mode,e)),l.write(s)});const i=Qa.getSymbolTotalCodewords(e),o=yc.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&&_M(l,t),bM(l,r),isNaN(s)&&(s=bc.getBestMask(l,Dl.bind(null,l,n))),bc.applyMask(s,l),Dl(l,n,s),{modules:l,version:t,errorCorrectionLevel:n,maskPattern:s,segments:i}}$m.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let s=kl.M,i,o;return typeof n<"u"&&(s=kl.from(n.errorCorrectionLevel,kl.M),i=ca.from(n.version),o=bc.from(n.maskPattern),n.toSJISFunc&&Qa.setToSJISFunction(n.toSJISFunc)),xM(t,i,s,o)};var Km={},Pu={};(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)}})(Km);var Ym={};const wM=Pu;function tf(e,t){const n=e.a/255,s=t+'="'+e.hex+'"';return n<1?s+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':s}function $l(e,t,n){let s=e+t;return typeof n<"u"&&(s+=" "+n),s}function EM(e,t,n){let s="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(s+=o?$l("M",l+n,.5+c+n):$l("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 SM=NT,vc=$m,Gm=Km,CM=Ym;function ku(e,t,n,s,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!SM())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=vc.create(n,s);l(e(u,t,s))}catch(u){c(u)}})}try{const l=vc.create(n,s);i(null,e(l,t,s))}catch(l){i(l)}}Qo.create=vc.create;Qo.toCanvas=ku.bind(null,Gm.render);Qo.toDataURL=ku.bind(null,Gm.renderToDataURL);Qo.toString=ku.bind(null,function(e,t,n){return CM.render(e,n)});const AM={name:"totp",async setup(){let e="";return await dn("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&Qo.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)?De("/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"))}}},TM={class:"mb-3"},MM=b("p",{class:"mb-2"},[b("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),PM=b("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),kM={class:"p-3 bg-body-secondary rounded-3 border mb-3"},OM=b("p",{class:"text-muted mb-0"},[b("small",null,"Or you can click the link below:")],-1),DM=["href"],$M={style:{"line-break":"anywhere"}},LM=b("label",{for:"totp",class:"mb-2"},[b("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),IM={class:"form-group"},RM=["disabled"],NM={class:"invalid-feedback"},FM=b("div",{class:"valid-feedback"}," TOTP verified! ",-1);function BM(e,t,n,s,i,o){return rt(),ut("div",TM,[MM,PM,b("div",kM,[OM,b("a",{href:this.l},[b("code",$M,Ct(this.l),1)],8,DM)]),LM,b("div",IM,[Rt(b("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,RM),[[Bt,this.totp]]),b("div",NM,Ct(this.totpInvalidMessage),1),FM])])}const VM=qt(AM,[["render",BM]]),HM={name:"setup",components:{Totp:VM},setup(){return{store:de()}},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,De("/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})}}},jM=["data-bs-theme"],WM={class:"mx-auto text-body",style:{width:"500px"}},zM=b("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),UM=b("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),KM=b("h3",null,"Create an account",-1),YM={key:0,class:"alert alert-danger"},GM={class:"d-flex flex-column gap-3"},qM={id:"createAccount"},XM={class:"form-group text-body"},QM=b("label",{for:"username",class:"mb-1 text-muted"},[b("small",null,"Pick an username you like")],-1),JM={class:"form-group text-body"},ZM=b("label",{for:"password",class:"mb-1 text-muted"},[b("small",null,"Create a password (at least 8 characters)")],-1),tP={class:"form-group text-body"},eP=b("label",{for:"confirmPassword",class:"mb-1 text-muted"},[b("small",null,"Confirm password")],-1),nP=b("hr",null,null,-1),sP={class:"form-check form-switch"},iP=b("label",{class:"form-check-label",for:"enable_totp"},[Tt("Enable 2 Factor Authentication? "),b("strong",null,"Strongly recommended")],-1),oP=["disabled"],rP={key:0,class:"d-flex align-items-center w-100"},aP=b("i",{class:"bi bi-chevron-right ms-auto"},null,-1),lP={key:1,class:"d-flex align-items-center w-100"},cP={key:2,class:"d-flex align-items-center w-100"},uP=b("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[b("span",{class:"visually-hidden"},"Loading...")],-1);function dP(e,t,n,s,i,o){const r=Ut("Totp");return rt(),ut("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[b("div",WM,[zM,UM,b("div",null,[KM,this.errorMessage?(rt(),ut("div",YM,Ct(this.errorMessage),1)):me("",!0),b("div",GM,[b("div",qM,[b("div",XM,[QM,Rt(b("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[Bt,this.setup.username]])]),b("div",JM,[ZM,Rt(b("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[Bt,this.setup.newPassword]])]),b("div",tP,[eP,Rt(b("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[Bt,this.setup.repeatNewPassword]])])]),nP,b("div",sP,[Rt(b("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),[[gm,this.setup.enable_totp]]),iP]),(rt(),Ue(pu,null,{default:Kt(()=>[mt(Us,{name:"fade"},{default:Kt(()=>[this.setup.enable_totp?(rt(),Ue(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):me("",!0)]),_:1})]),_:1})),b("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?(rt(),ut("span",rP,[Tt(" Finish"),aP])):this.done?(rt(),ut("span",lP," Welcome to WGDashboard!")):(rt(),ut("span",cP,[Tt(" Saving..."),uP]))],8,oP)])])])],8,jM)}const hP=qt(HM,[["render",dP]]);function Ou(e){return e.includes(":")?6:e.includes(".")?4:0}function fP(e){const t=Ou(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 ef={4:32,6:128},pP=e=>e.includes("/")?Ou(e):0;function gP(e){const t=pP(e),n=Object.create(null);if(n.single=!1,t)n.cidr=e,n.version=t;else{const d=Ou(e);if(d)n.cidr=`${e}/${ef[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}=fP(s),a=ef[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 g(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;M.table[A]=E}}for(var k=-1,$=0;$>>8^M.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=gP(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")}}}},_P={class:"mt-4"},bP={class:"container mb-4"},yP={class:"mb-4 d-flex align-items-center gap-4"},vP=b("h3",{class:"mb-0 text-body"},[b("i",{class:"bi bi-chevron-left"})],-1),xP=b("h3",{class:"text-body mb-0"},"New Configuration",-1),wP={class:"card rounded-3 shadow"},EP=b("div",{class:"card-header"},"Configuration Name",-1),SP={class:"card-body"},CP=["disabled"],AP={class:"invalid-feedback"},TP={key:0},MP={key:1},PP=b("ul",{class:"mb-0"},[b("li",null,"Configuration name already exist."),b("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),kP={class:"card rounded-3 shadow"},OP=b("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),DP={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},$P={class:"mb-2"},LP=b("label",{class:"text-muted fw-bold mb-1"},[b("small",null,"PRIVATE KEY")],-1),IP={class:"input-group"},RP=["disabled"],NP=b("i",{class:"bi bi-arrow-repeat"},null,-1),FP=[NP],BP=b("label",{class:"text-muted fw-bold mb-1"},[b("small",null,"PUBLIC KEY")],-1),VP={class:"card rounded-3 shadow"},HP=b("div",{class:"card-header"},"Listen Port",-1),jP={class:"card-body"},WP=["disabled"],zP={class:"invalid-feedback"},UP={key:0},KP={key:1},YP={class:"card rounded-3 shadow"},GP={class:"card-header d-flex align-items-center"},qP={class:"badge rounded-pill text-bg-success ms-auto"},XP={class:"card-body"},QP=["disabled"],JP={class:"invalid-feedback"},ZP={key:0},tk={key:1},ek=b("hr",null,null,-1),nk={class:"accordion",id:"newConfigurationOptionalAccordion"},sk={class:"accordion-item"},ik=b("h2",{class:"accordion-header"},[b("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),ok={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},rk={class:"accordion-body d-flex flex-column gap-3"},ak={class:"card rounded-3"},lk=b("div",{class:"card-header"},"PreUp",-1),ck={class:"card-body"},uk={class:"card rounded-3"},dk=b("div",{class:"card-header"},"PreDown",-1),hk={class:"card-body"},fk={class:"card rounded-3"},pk=b("div",{class:"card-header"},"PostUp",-1),gk={class:"card-body"},mk={class:"card rounded-3"},_k=b("div",{class:"card-header"},"PostDown",-1),bk={class:"card-body"},yk=["disabled"],vk={key:0,class:"d-flex w-100"},xk=b("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),wk={key:1,class:"d-flex w-100"},Ek=b("i",{class:"bi bi-save-fill ms-2"},null,-1),Sk={key:2,class:"d-flex w-100 align-items-center"},Ck=b("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function Ak(e,t,n,s,i,o){const r=Ut("RouterLink");return rt(),ut("div",_P,[b("div",bP,[b("div",yP,[mt(r,{to:"/"},{default:Kt(()=>[vP]),_:1}),xP]),b("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[b("div",wP,[EP,b("div",SP,[Rt(b("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,CP),[[Bt,this.newConfiguration.ConfigurationName]]),b("div",AP,[this.error?(rt(),ut("div",TP,Ct(this.errorMessage),1)):(rt(),ut("div",MP,[Tt(" Configuration name is invalid. Possible reasons: "),PP]))])])]),b("div",kP,[OP,b("div",DP,[b("div",$P,[LP,b("div",IP,[Rt(b("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,RP),[[Bt,this.newConfiguration.PrivateKey]]),b("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},FP)])]),b("div",null,[BP,Rt(b("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[Bt,this.newConfiguration.PublicKey]])])])]),b("div",VP,[HP,b("div",jP,[Rt(b("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,WP),[[Bt,this.newConfiguration.ListenPort]]),b("div",zP,[this.error?(rt(),ut("div",UP,Ct(this.errorMessage),1)):(rt(),ut("div",KP," Invalid port "))])])]),b("div",YP,[b("div",GP,[Tt(" IP Address & Range "),b("span",qP,Ct(i.numberOfAvailableIPs)+" Available IPs",1)]),b("div",XP,[Rt(b("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,QP),[[Bt,this.newConfiguration.Address]]),b("div",JP,[this.error?(rt(),ut("div",ZP,Ct(this.errorMessage),1)):(rt(),ut("div",tk," IP address & range is invalid. "))])])]),ek,b("div",nk,[b("div",sk,[ik,b("div",ok,[b("div",rk,[b("div",ak,[lk,b("div",ck,[Rt(b("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[Bt,this.newConfiguration.PreUp]])])]),b("div",uk,[dk,b("div",hk,[Rt(b("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[Bt,this.newConfiguration.PreDown]])])]),b("div",fk,[pk,b("div",gk,[Rt(b("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[Bt,this.newConfiguration.PostUp]])])]),b("div",mk,[_k,b("div",bk,[Rt(b("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[Bt,this.newConfiguration.PostDown]])])])])])])]),b("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(rt(),ut("span",vk,[Tt(" Success! "),xk])):this.loading?(rt(),ut("span",Sk,[Tt(" Saving... "),Ck])):(rt(),ut("span",wk,[Tt(" Save Configuration "),Ek]))],8,yk)],32)])])}const Tk=qt(mP,[["render",Ak]]);function Mk(e){return tu()?(hg(e),!0):!1}function qm(e){return typeof e=="function"?e():Qn(e)}const Xm=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Pk=Object.prototype.toString,kk=e=>Pk.call(e)==="[object Object]",Xr=()=>{},Ok=Dk();function Dk(){var e,t;return Xm&&((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 ro(e){var t;const n=qm(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Qm=Xm?window:void 0;function Ll(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=Qm):[t,n,s,i]=e,!t)return Xr;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=Is(()=>[ro(t),qm(i)],([u,d])=>{if(r(),!u)return;const f=kk(d)?{...d}:d;o.push(...n.flatMap(p=>s.map(g=>a(u,p,g,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return Mk(c),c}let nf=!1;function $k(e,t,n={}){const{window:s=Qm,ignore:i=[],capture:o=!0,detectIframe:r=!1}=n;if(!s)return Xr;Ok&&!nf&&(nf=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",Xr)),s.document.documentElement.addEventListener("click",Xr));let a=!0;const l=f=>i.some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(g=>g===f.target||f.composedPath().includes(g));{const g=ro(p);return g&&(f.target===g||f.composedPath().includes(g))}}),u=[Ll(s,"click",f=>{const p=ro(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}),Ll(s,"pointerdown",f=>{const p=ro(e);a=!l(f)&&!!(p&&!f.composedPath().includes(p))},{passive:!0}),r&&Ll(s,"blur",f=>{setTimeout(()=>{var p;const g=ro(e);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(g!=null&&g.contains(s.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const Lk={name:"peerSettingsDropdown",props:{Peer:Object}},as=e=>(Na("data-v-313d0126"),e=e(),Fa(),e),Ik={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},Rk=as(()=>b("li",null,[b("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[Tt("Download & QR Code is not available due to no "),b("code",null,"private key"),Tt(" set for this peer ")])],-1)),Nk=as(()=>b("li",null,[b("hr",{class:"dropdown-divider"})],-1)),Fk=as(()=>b("li",null,[b("a",{class:"dropdown-item d-flex",role:"button"},[b("i",{class:"me-auto bi bi-pen"}),Tt(" Edit ")])],-1)),Bk=as(()=>b("li",null,[b("a",{class:"dropdown-item d-flex",role:"button"},[b("i",{class:"me-auto bi bi-download"}),Tt(" Download ")])],-1)),Vk=as(()=>b("li",null,[b("a",{class:"dropdown-item d-flex",role:"button"},[b("i",{class:"me-auto bi bi-qr-code"}),Tt(" QR Code ")])],-1)),Hk=as(()=>b("li",null,[b("hr",{class:"dropdown-divider"})],-1)),jk=as(()=>b("li",null,[b("a",{class:"dropdown-item d-flex text-warning",role:"button"},[b("i",{class:"me-auto bi bi-lock"}),Tt(" Lock ")])],-1)),Wk=as(()=>b("li",null,[b("a",{class:"dropdown-item d-flex fw-bold text-danger",role:"button"},[b("i",{class:"me-auto bi bi-trash"}),Tt(" Delete ")])],-1));function zk(e,t,n,s,i,o){return rt(),ut("ul",Ik,[this.Peer.private_key?me("",!0):(rt(),ut(Jt,{key:0},[Rk,Nk],64)),Fk,this.Peer.private_key?(rt(),ut(Jt,{key:1},[Bk,Vk],64)):me("",!0),Hk,jk,Wk])}const Uk=qt(Lk,[["render",zk],["__scopeId","data-v-313d0126"]]),Kk={name:"peer",components:{PeerSettingsDropdown:Uk},props:{Peer:Object},data(){return{}},setup(){const e=Ci(null),t=Ci(!1);return $k(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}}},Ui=e=>(Na("data-v-742207aa"),e=e(),Fa(),e),Yk={class:"card shadow-sm rounded-3"},Gk={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},qk={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},Xk={class:"text-primary"},Qk=Ui(()=>b("i",{class:"bi bi-arrow-down"},null,-1)),Jk={class:"text-success"},Zk=Ui(()=>b("i",{class:"bi bi-arrow-up"},null,-1)),tO={key:0,class:"text-secondary"},eO=Ui(()=>b("i",{class:"bi bi-arrows-angle-contract"},null,-1)),nO={class:"card-body pt-1",style:{"font-size":"0.9rem"}},sO={class:"mb-2"},iO=Ui(()=>b("small",{class:"text-muted"},"Public Key",-1)),oO={class:"mb-0"},rO={class:"d-flex align-items-end"},aO=Ui(()=>b("small",{class:"text-muted"},"Allowed IP",-1)),lO={class:"mb-0"},cO=Ui(()=>b("h5",{class:"mb-0"},[b("i",{class:"bi bi-three-dots"})],-1)),uO=[cO];function dO(e,t,n,s,i,o){const r=Ut("PeerSettingsDropdown");return rt(),ut("div",Yk,[b("div",Gk,[b("div",{class:ge(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),b("div",qk,[b("span",Xk,[Qk,b("strong",null,Ct((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),Tt(" GB ")]),b("span",Jk,[Zk,b("strong",null,Ct((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),Tt(" GB ")]),n.Peer.latest_handshake!=="No Handshake"?(rt(),ut("span",tO,[eO,Tt(" "+Ct(o.getLatestHandshake)+" ago ",1)])):me("",!0)])]),b("div",nO,[b("h5",null,Ct(n.Peer.name?n.Peer.name:"Untitled Peer"),1),b("div",sO,[iO,b("p",oO,[b("samp",null,Ct(n.Peer.id),1)])]),b("div",rO,[b("div",null,[aO,b("p",lO,[b("samp",null,Ct(n.Peer.allowed_ip),1)])]),b("div",{class:ge(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[b("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},uO),mt(Us,{name:"slide-fade"},{default:Kt(()=>[this.subMenuOpened?(rt(),Ue(r,{key:0,Peer:n.Peer,ref:"target"},null,8,["Peer"])):me("",!0)]),_:1})],2)])])])}const hO=qt(Kk,[["render",dO],["__scopeId","data-v-742207aa"]]);/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function Zo(e){return e+.5|0}const Kn=(e,t,n)=>Math.max(Math.min(e,n),t);function ao(e){return Kn(Zo(e*2.55),0,255)}function Zn(e){return Kn(Zo(e*255),0,255)}function xn(e){return Kn(Zo(e/2.55)/100,0,1)}function sf(e){return Kn(Zo(e*100),0,100)}const Fe={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},xc=[..."0123456789ABCDEF"],fO=e=>xc[e&15],pO=e=>xc[(e&240)>>4]+xc[e&15],Mr=e=>(e&240)>>4===(e&15),gO=e=>Mr(e.r)&&Mr(e.g)&&Mr(e.b)&&Mr(e.a);function mO(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Fe[e[1]]*17,g:255&Fe[e[2]]*17,b:255&Fe[e[3]]*17,a:t===5?Fe[e[4]]*17:255}:(t===7||t===9)&&(n={r:Fe[e[1]]<<4|Fe[e[2]],g:Fe[e[3]]<<4|Fe[e[4]],b:Fe[e[5]]<<4|Fe[e[6]],a:t===9?Fe[e[7]]<<4|Fe[e[8]]:255})),n}const _O=(e,t)=>e<255?t(e):"";function bO(e){var t=gO(e)?fO:pO;return e?"#"+t(e.r)+t(e.g)+t(e.b)+_O(e.a,t):void 0}const yO=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jm(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 vO(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 xO(e,t,n){const s=Jm(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 wO(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-o-r):u/(o+r),l=wO(n,s,i,u,o),l=l*60+.5),[l|0,c||0,a]}function $u(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(Zn)}function Lu(e,t,n){return $u(Jm,e,t,n)}function EO(e,t,n){return $u(xO,e,t,n)}function SO(e,t,n){return $u(vO,e,t,n)}function Zm(e){return(e%360+360)%360}function CO(e){const t=yO.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?ao(+t[5]):Zn(+t[5]));const i=Zm(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=EO(i,o,r):t[1]==="hsv"?s=SO(i,o,r):s=Lu(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function AO(e,t){var n=Du(e);n[0]=Zm(n[0]+t),n=Lu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function TO(e){if(!e)return;const t=Du(e),n=t[0],s=sf(t[1]),i=sf(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${xn(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const of={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"},rf={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 MO(){const e={},t=Object.keys(rf),n=Object.keys(of);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let Pr;function PO(e){Pr||(Pr=MO(),Pr.transparent=[0,0,0,0]);const t=Pr[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const kO=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function OO(e){const t=kO.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?ao(r):Kn(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?ao(s):Kn(s,0,255)),i=255&(t[4]?ao(i):Kn(i,0,255)),o=255&(t[6]?ao(o):Kn(o,0,255)),{r:s,g:i,b:o,a:n}}}function DO(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${xn(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Il=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,si=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function $O(e,t,n){const s=si(xn(e.r)),i=si(xn(e.g)),o=si(xn(e.b));return{r:Zn(Il(s+n*(si(xn(t.r))-s))),g:Zn(Il(i+n*(si(xn(t.g))-i))),b:Zn(Il(o+n*(si(xn(t.b))-o))),a:e.a+n*(t.a-e.a)}}function kr(e,t,n){if(e){let s=Du(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=Lu(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function t_(e,t){return e&&Object.assign(t||{},e)}function af(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=Zn(e[3]))):(t=t_(e,{r:0,g:0,b:0,a:1}),t.a=Zn(t.a)),t}function LO(e){return e.charAt(0)==="r"?OO(e):CO(e)}class Bo{constructor(t){if(t instanceof Bo)return t;const n=typeof t;let s;n==="object"?s=af(t):n==="string"&&(s=mO(t)||PO(t)||LO(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=t_(this._rgb);return t&&(t.a=xn(t.a)),t}set rgb(t){this._rgb=af(t)}rgbString(){return this._valid?DO(this._rgb):void 0}hexString(){return this._valid?bO(this._rgb):void 0}hslString(){return this._valid?TO(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=$O(this._rgb,t._rgb,n)),this}clone(){return new Bo(this.rgb)}alpha(t){return this._rgb.a=Zn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Zo(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 kr(this._rgb,2,t),this}darken(t){return kr(this._rgb,2,-t),this}saturate(t){return kr(this._rgb,1,t),this}desaturate(t){return kr(this._rgb,1,-t),this}rotate(t){return AO(this._rgb,t),this}}/*! + * Chart.js v4.4.1 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */function mn(){}const IO=(()=>{let e=0;return()=>e++})();function Dt(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 Mt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Yt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Se(e,t){return Yt(e)?e:t}function yt(e,t){return typeof e>"u"?t:e}const RO=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,e_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Ft(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function It(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 BO(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 VO(e){const t=BO(e);return n=>{for(const s of t){if(s==="")break;n=n&&n[s]}return n}}function ss(e,t){return(lf[t]||(lf[t]=VO(t)))(e)}function Iu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Ho=e=>typeof e<"u",is=e=>typeof e=="function",cf=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function HO(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Wt=Math.PI,jt=2*Wt,jO=jt+Wt,ha=Number.POSITIVE_INFINITY,WO=Wt/180,Xt=Wt/2,ws=Wt/4,uf=Wt*2/3,Yn=Math.log10,ln=Math.sign;function xo(e,t,n){return Math.abs(e-t)i-o).pop(),t}function Ni(e){return!isNaN(parseFloat(e))&&isFinite(e)}function UO(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function s_(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 Nu(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 Sn=(e,t,n,s)=>Nu(e,n,s?i=>{const o=e[i][t];return oe[i][t]Nu(e,n,s=>e[s][t]>=n);function qO(e,t,n){let s=0,i=e.length;for(;ss&&e[i-1]>n;)i--;return s>0||i{const s="_onData"+Iu(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 ff(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)&&(o_.forEach(o=>{delete e[o]}),delete e._chartjs)}function r_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const a_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function l_(e,t){let n=[],s=!1;return function(...i){n=i,s||(s=!0,a_.call(window,()=>{s=!1,e.apply(t,n)}))}}function QO(e,t){let n;return function(...s){return t?(clearTimeout(n),n=setTimeout(e,t,s)):e.apply(this,s),t}}const Fu=e=>e==="start"?"left":e==="end"?"right":"center",le=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,JO=(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=oe(Math.min(Sn(a,l,c).lo,n?s:Sn(t,l,r.getPixelForValue(c)).lo),0,s-1)),f?o=oe(Math.max(Sn(a,r.axis,u,!0).hi+1,n?0:Sn(t,l,r.getPixelForValue(u),!0).hi+1),i,s)-i:o=s-i}return{start:i,count:o}}function u_(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 Or=e=>e===0||e===1,pf=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*jt/n)),gf=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*jt/n)+1,wo={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=>Or(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=>Or(e)?e:pf(e,.075,.3),easeOutElastic:e=>Or(e)?e:gf(e,.075,.3),easeInOutElastic(e){return Or(e)?e:e<.5?.5*pf(e*2,.1125,.45):.5+.5*gf(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-wo.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?wo.easeInBounce(e*2)*.5:wo.easeOutBounce(e*2-1)*.5+.5};function Bu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function mf(e){return Bu(e)?e:new Bo(e)}function Rl(e){return Bu(e)?e:new Bo(e).saturate(.5).darken(.1).hexString()}const ZO=["x","y","borderWidth","radius","tension"],tD=["color","borderColor","backgroundColor"];function eD(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:tD},numbers:{type:"number",properties:ZO}}),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 nD(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const _f=new Map;function sD(e,t){t=t||{};const n=e+JSON.stringify(t);let s=_f.get(n);return s||(s=new Intl.NumberFormat(e,t),_f.set(n,s)),s}function tr(e,t,n){return sD(t,n).format(e)}const d_={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=iD(e,n)}const r=Yn(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),tr(e,s,l)},logarithmic(e,t,n){if(e===0)return"0";const s=n[t].significand||e/Math.pow(10,Math.floor(Yn(e)));return[1,2,3,5,10,15].includes(s)||t>.8*n.length?d_.numeric.call(this,e,t,n):""}};function iD(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 Ja={formatters:d_};function oD(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:Ja.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 Hs=Object.create(null),Ec=Object.create(null);function Eo(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)=>Rl(i.backgroundColor),this.hoverBorderColor=(s,i)=>Rl(i.borderColor),this.hoverColor=(s,i)=>Rl(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 Nl(this,t,n)}get(t){return Eo(this,t)}describe(t,n){return Nl(Ec,t,n)}override(t,n){return Nl(Hs,t,n)}route(t,n,s,i){const o=Eo(this,t),r=Eo(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 Mt(l)?Object.assign({},c,l):yt(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var Gt=new rD({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[eD,nD,oD]);function aD(e){return!e||Dt(e.size)||Dt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function fa(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 lD(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 Cn(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,dD(e,o),l=0;l+e||0;function Vu(e,t){const n={},s=Mt(t),i=s?Object.keys(t):t,o=Mt(e)?s?r=>yt(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)n[r]=_D(o(r));return n}function f_(e){return Vu(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Ns(e){return Vu(e,["topLeft","topRight","bottomLeft","bottomRight"])}function ue(e){const t=f_(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(gD)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const i={family:yt(e.family,t.family),lineHeight:mD(yt(e.lineHeight,t.lineHeight),n),size:n,style:s,weight:yt(e.weight,t.weight),string:""};return i.string=aD(i),i}function lo(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 ls(e,t){return Object.assign(Object.create(e),t)}function Hu(e,t=[""],n,s,i=()=>e[0]){const o=n||e;typeof s>"u"&&(s=__("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:s,_getTarget:i,override:a=>Hu([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 g_(a,l,()=>AD(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return vf(a).includes(l)},ownKeys(a){return vf(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function Fi(e,t,n,s){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:p_(e,s),setContext:o=>Fi(e,o,n,s),override:o=>Fi(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 g_(o,r,()=>vD(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 p_(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:is(n)?n:()=>n,isIndexable:is(s)?s:()=>s}}const yD=(e,t)=>e?e+Iu(t):t,ju=(e,t)=>Mt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function g_(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const s=n();return e[t]=s,s}function vD(e,t,n){const{_proxy:s,_context:i,_subProxy:o,_descriptors:r}=e;let a=s[t];return is(a)&&r.isScriptable(t)&&(a=xD(t,a,e,n)),Ht(a)&&a.length&&(a=wD(t,a,e,r.isIndexable)),ju(t,a)&&(a=Fi(a,i,o&&o[t],r)),a}function xD(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),ju(e,l)&&(l=Wu(i._scopes,i,e,l)),l}function wD(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(Mt(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const d=Wu(c,i,e,u);t.push(Fi(d,o,r&&r[e],a))}}return t}function m_(e,t,n){return is(e)?e(t,n):e}const ED=(e,t)=>e===!0?t:typeof e=="string"?ss(t,e):void 0;function SD(e,t,n,s,i){for(const o of t){const r=ED(n,o);if(r){e.add(r);const a=m_(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 Wu(e,t,n,s){const i=t._rootScopes,o=m_(t._fallback,n,s),r=[...e,...i],a=new Set;a.add(s);let l=yf(a,r,n,o||n,s);return l===null||typeof o<"u"&&o!==n&&(l=yf(a,r,o,l,s),l===null)?!1:Hu(Array.from(a),[""],i,o,()=>CD(t,n,s))}function yf(e,t,n,s,i){for(;n;)n=SD(e,t,n,s,i);return n}function CD(e,t,n){const s=e._getTarget();t in s||(s[t]={});const i=s[t];return Ht(i)&&Mt(n)?n:i||{}}function AD(e,t,n,s){let i;for(const o of t)if(i=__(yD(o,e),n),typeof i<"u")return ju(e,i)?Wu(n,s,e,i):i}function __(e,t){for(const n of t){if(!n)continue;const s=n[e];if(typeof s<"u")return s}}function vf(e){let t=e._keys;return t||(t=e._keys=TD(e._scopes)),t}function TD(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 b_(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 PD(e,t,n,s){const i=e.skip?t:e,o=t,r=n.skip?t:n,a=wc(o,i),l=wc(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 kD(e,t,n){const s=e.length;let i,o,r,a,l,c=Bi(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")DD(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 ID(e,t){return el(e).getPropertyValue(t)}const RD=["top","right","bottom","left"];function Fs(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=RD[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ND=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function FD(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(ND(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 As(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=el(n),o=i.boxSizing==="border-box",r=Fs(i,"padding"),a=Fs(i,"border","width"),{x:l,y:c,box:u}=FD(e,n),d=r.left+(u&&a.left),f=r.top+(u&&a.top);let{width:p,height:g}=t;return o&&(p-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((c-f)/g*n.height/s)}}function BD(e,t,n){let s,i;if(t===void 0||n===void 0){const o=Uu(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=el(o),l=Fs(a,"border","width"),c=Fs(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,s=pa(a.maxWidth,o,"clientWidth"),i=pa(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||ha,maxHeight:i||ha}}const $r=e=>Math.round(e*10)/10;function VD(e,t,n,s){const i=el(e),o=Fs(i,"margin"),r=pa(i.maxWidth,e,"clientWidth")||ha,a=pa(i.maxHeight,e,"clientHeight")||ha,l=BD(e,t,n);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const f=Fs(i,"border","width"),p=Fs(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=$r(Math.min(c,r,l.maxWidth)),u=$r(Math.min(u,a,l.maxHeight)),c&&!u&&(u=$r(c/2)),(t!==void 0||n!==void 0)&&s&&l.height&&u>l.height&&(u=l.height,c=$r(Math.floor(u*s))),{width:c,height:u}}function xf(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 HD=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};zu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function wf(e,t){const n=ID(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Ts(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function jD(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 WD(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=Ts(e,i,n),a=Ts(i,o,n),l=Ts(o,t,n),c=Ts(r,a,n),u=Ts(a,l,n);return Ts(c,u,n)}const zD=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}}},UD=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function mi(e,t,n){return e?zD(t,n):UD()}function v_(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 x_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function w_(e){return e==="angle"?{between:jo,compare:KO,normalize:Ae}:{between:En,compare:(t,n)=>t-n,normalize:t=>t}}function Ef({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 KD(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=w_(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,M,x)&&a(i,M)!==0,v=()=>a(o,x)===0||l(o,M,x),E=()=>m||C(),A=()=>!m||v();for(let w=u,k=u;w<=d;++w)S=t[w%r],!S.skip&&(x=c(S[s]),x!==M&&(m=l(x,i,o),y===null&&E()&&(y=a(x,i)===0?w:k),y!==null&&A()&&(g.push(Ef({start:y,end:w,loop:f,count:r,style:p})),y=null),k=w,M=x));return y!==null&&g.push(Ef({start:y,end:d,loop:f,count:r,style:p})),g}function S_(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 GD(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 qD(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=YD(n,i,o,s);if(s===!0)return Sf(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=a_.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 bn=new JD;const Af="transparent",ZD={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=mf(e||Af),i=s.valid&&mf(t||Af);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class t${constructor(t,n,s,i){const o=n[s];i=lo([t.to,i,o,t.from]);const r=lo([t.from,o,i]);this._active=!0,this._fn=t.fn||ZD[t.type||typeof r],this._easing=wo[t.easing]||wo.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=lo([t.to,n,i,t.from]),this._from=lo([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(!Mt(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=n$(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&e$(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 t$(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 bn.add(this._chart,s),!0}}function e$(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function Of(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=r$(o,r,s),d=t.length;let f;for(let p=0;pn[s].axis===t).shift()}function c$(e,t){return ls(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function u$(e,t,n){return ls(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function to(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 Bl=e=>e==="reset"||e==="none",Df=(e,t)=>t?e:Object.assign({},e),d$=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:A_(n,!0),values:null};class Xe{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=Pf(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&&to(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,s=this.getDataset(),i=(d,f,p,g)=>d==="x"?f:d==="r"?g:p,o=n.xAxisID=yt(s.xAxisID,Fl(t,"x")),r=n.yAxisID=yt(s.yAxisID,Fl(t,"y")),a=n.rAxisID=yt(s.rAxisID,Fl(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&&ff(this._data,this),t._stacked&&to(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if(Mt(n))this._data=o$(n);else if(s!==n){if(s){ff(s,this);const i=this._cachedMeta;to(i),i._parsed=[]}n&&Object.isExtensible(n)&&XO(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=Pf(n.vScale,n),n.stack!==s.stack&&(i=!0,to(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&Of(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):Mt(i[t])?f=this.parseObjectData(s,i,t,n):f=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||c&&d[a]m||d=0;--f)if(!g()){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),m=c.resolveNamedOptions(f,p,g,d);return m.$shared&&(m.$shared=l,o[r]=Object.freeze(Df(m,l))),m}_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 C_(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||Bl(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){Bl(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!Bl(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 f$(e){const t=e.iScale,n=h$(t,e.type);let s=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Ho(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 T_(e,t,n,s){return Ht(e)?m$(e,t,n,s):t[n.axis]=n.parse(e,s),t}function $f(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 b$(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(Dt(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;fjo(M,a,l,!0)?1:Math.max(C,C*n,v,v*n),g=(M,C,v)=>jo(M,a,l,!0)?-1:Math.min(C,C*n,v,v*n),m=p(0,c,d),y=p(Xt,u,f),x=g(Wt,c,d),S=g(Wt+Xt,u,f);s=(m-x)/2,i=(y-S)/2,o=-(m+x)/2,r=-(y+S)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class Os extends Xe{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(Mt(s[t])){const{key:l="value"}=this._parsing;o=c=>+ss(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=tr(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(Os,"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 bi extends Xe{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,u_(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:g,segment:m}=this.options,y=Ni(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||i==="none",S=n+s,M=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=Dt(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,m&&(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(bi,"id","line"),st(bi,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),st(bi,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class Co extends Xe{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=tr(n._parsed[t].r,s.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,n,s,i){return b_.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,g;const m=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&n++}),n}_computeAngle(t,n,s){return this.chart.getDataVisibility(t)?qe(this.resolveDataElementOptions(t,n).angle||s):0}}st(Co,"id","polarArea"),st(Co,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),st(Co,"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 ga extends Os{}st(ga,"id","pie"),st(ga,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class Ao extends Xe{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 b_.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]-M[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),M=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(To,"id","scatter"),st(To,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),st(To,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Ss(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Ku{constructor(t){st(this,"options");this.options=t||{}}static override(t){Object.assign(Ku.prototype,t)}init(){}formats(){return Ss()}parse(){return Ss()}format(){return Ss()}add(){return Ss()}diff(){return Ss()}startOf(){return Ss()}endOf(){return Ss()}}var E$={_date:Ku};function S$(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?GO:Sn;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 er(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 M$={evaluateInteractionItems:er,modes:{index(e,t,n,s){const i=As(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?Hl(e,i,o,s,r):jl(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=As(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?Hl(e,i,o,s,r):jl(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 Nf(e,t){return e.filter(n=>M_.indexOf(n.pos)===-1&&n.box.axis===t)}function no(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 P$(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nc.box.fullSize),!0),s=no(eo(t,"left"),!0),i=no(eo(t,"right")),o=no(eo(t,"top"),!0),r=no(eo(t,"bottom")),a=Nf(t,"x"),l=Nf(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:eo(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function Ff(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function P_(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 $$(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!Mt(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&&P_(r,o.getPadding());const a=Math.max(0,t.outerWidth-Ff(r,e,"left","right")),l=Math.max(0,t.outerHeight-Ff(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 L$(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 I$(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 co(e,t,n,s){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o{typeof m.beforeLayout=="function"&&m.beforeLayout()});const u=l.reduce((m,y)=>y.box.options&&y.box.options.display===!1?m:m+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);P_(f,ue(s));const p=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),g=O$(l.concat(c),d);co(a.fullSize,p,d,g),co(l,p,d,g),co(c,p,d,g)&&co(l,p,d,g),L$(p),Bf(a.leftAndTop,p,d,g),p.x+=p.w,p.y+=p.h,Bf(a.rightAndBottom,p,d,g),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},It(a.chartArea,m=>{const y=m.box;Object.assign(y,e.chartArea),y.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class k_{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 R$ extends k_{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Qr="$chartjs",N$={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Vf=e=>e===null||e==="";function F$(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[Qr]={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",Vf(i)){const o=wf(e,"width");o!==void 0&&(e.width=o)}if(Vf(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=wf(e,"height");o!==void 0&&(e.height=o)}return e}const O_=HD?{passive:!0}:!1;function B$(e,t,n){e.addEventListener(t,n,O_)}function V$(e,t,n){e.canvas.removeEventListener(t,n,O_)}function H$(e,t){const n=N$[e.type]||e.type,{x:s,y:i}=As(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function ma(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function j$(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ma(a.addedNodes,s),r=r&&!ma(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function W$(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ma(a.removedNodes,s),r=r&&!ma(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const zo=new Map;let Hf=0;function D_(){const e=window.devicePixelRatio;e!==Hf&&(Hf=e,zo.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function z$(e,t){zo.size||window.addEventListener("resize",D_),zo.set(e,t)}function U$(e){zo.delete(e),zo.size||window.removeEventListener("resize",D_)}function K$(e,t,n){const s=e.canvas,i=s&&Uu(s);if(!i)return;const o=l_((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),z$(e,o),r}function Wl(e,t,n){n&&n.disconnect(),t==="resize"&&U$(e)}function Y$(e,t,n){const s=e.canvas,i=l_(o=>{e.ctx!==null&&n(H$(o,e))},e);return B$(s,t,i),i}class G$ extends k_{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(F$(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[Qr])return!1;const s=n[Qr].initial;["height","width"].forEach(o=>{const r=s[o];Dt(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[Qr],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),r={attach:j$,detach:W$,resize:K$}[n]||Y$;i[n]=r(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];if(!i)return;({attach:Wl,detach:Wl,resize:Wl}[n]||V$)(t,n,i),s[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return VD(t,n,s,i)}isAttached(t){const n=Uu(t);return!!(n&&n.isConnected)}}function q$(e){return!zu()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?R$:G$}var jr;let On=(jr=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 Ni(this.x)&&Ni(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(jr,"defaults",{}),st(jr,"defaultRoutes"),jr);function X$(e,t){const n=e.options.ticks,s=Q$(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?Z$(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return tL(t,c,o,r/i),c;const u=J$(o,t,i);if(r>0){let d,f;const p=r>1?Math.round((l-a)/(r-1)):null;for(Ir(t,c,u,Dt(p)?0:a-p,a),d=0,f=r-1;di)return l}return Math.max(i,1)}function Z$(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,jf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,Wf=(e,t)=>Math.min(t||e,e);function zf(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function iL(e,t){It(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:Se(n,Se(s,n)),max:Se(s,Se(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(){Ft(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=bD(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=oe(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-so(t.grid)-n.padding-Uf(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Ru(Math.min(Math.asin(oe((u.highest.height+6)/a,-1,1)),Math.asin(oe(l/c,-1,1))-Math.asin(oe(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Ft(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Ft(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=Uf(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=so(o)+l):(t.height=this.maxHeight,t.width=so(o)+l),s.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),p=s.padding*2,g=qe(this.labelRotation),m=Math.cos(g),y=Math.sin(g);if(a){const x=s.mirror?0:y*d.width+m*f.height;t.height=Math.min(this.maxHeight,t.height+x+p)}else{const x=s.mirror?0:m*d.width+y*f.height;t.width=Math.min(this.maxWidth,t.width+x+p)}this._calculatePadding(c,u,y,m)}}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(){Ft(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 YO(this._alignToPixels?Es(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=so(o),p=[],g=a.setContext(this.getContext()),m=g.display?g.width:0,y=m/2,x=function(R){return Es(s,R,m)};let S,M,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(Mt(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(Mt(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(M=0;M0&&(wt-=xt/2);break}pt={left:wt,top:Pt,width:xt+ft.width,height:St+ft.height,color:H.backdropColor}}y.push({label:C,font:k,textOffset:N,options:{rotation:m,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(-qe(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 dL(e){return"id"in e&&"defaults"in e}class hL{constructor(){this.controllers=new Rr(Xe,"datasets",!0),this.elements=new Rr(On,"elements"),this.plugins=new Rr(Object,"plugins"),this.scales=new Rr(Ks,"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):It(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Iu(t);Ft(s["before"+i],[],s),n[t](s),Ft(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 pL(e){const t={},n=[],s=Object.keys(en.plugins.items);for(let o=0;o1&&Kf(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Yf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function xL(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 Yf(e,"x",n[0])||Yf(e,"y",n[0])}return{}}function wL(e,t){const n=Hs[e.type]||{scales:{}},s=t.scales||{},i=Cc(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!Mt(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=Ac(r,a,xL(r,e),Gt.scales[a.type]),c=yL(l,i),u=n.scales||{};o[r]=vo(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Cc(a,t),u=(Hs[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=bL(d,l),p=r[f+"AxisID"]||f;o[p]=o[p]||Object.create(null),vo(o[p],[{axis:f},s[p],u[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];vo(a,[Gt.scales[a.type],Gt.scale])}),o}function $_(e){const t=e.options||(e.options={});t.plugins=yt(t.plugins,{}),t.scales=wL(e,t)}function L_(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function EL(e){return e=e||{},e.data=L_(e.data),$_(e),e}const Gf=new Map,I_=new Set;function Nr(e,t){let n=Gf.get(e);return n||(n=t(),Gf.set(e,n),I_.add(n)),n}const io=(e,t,n)=>{const s=ss(t,n);s!==void 0&&e.add(s)};let SL=class{constructor(t){this._config=EL(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=L_(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(),$_(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Nr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Nr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Nr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Nr(`${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=>io(l,t,d))),u.forEach(d=>io(l,i,d)),u.forEach(d=>io(l,Hs[o]||{},d)),u.forEach(d=>io(l,Gt,d)),u.forEach(d=>io(l,Ec,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),I_.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,Hs[n]||{},Gt.datasets[n]||{},{type:n},Gt,Ec]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=qf(this._resolverCache,t,i);let l=r;if(AL(r,n)){o.$shared=!1,s=is(s)?s():s;const c=this.createResolver(t,s,a);l=Fi(r,s,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,s=[""],i){const{resolver:o}=qf(this._resolverCache,t,s);return Mt(n)?Fi(o,n,void 0,i):o}};function qf(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:Hu(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},s.set(i,o)),o}const CL=e=>Mt(e)&&Object.getOwnPropertyNames(e).some(t=>is(e[t]));function AL(e,t){const{isScriptable:n,isIndexable:s}=p_(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(is(a)||CL(a))||r&&Ht(a))return!0}return!1}var TL="4.4.1";const ML=["top","bottom","left","right","chartArea"];function Xf(e,t){return e==="top"||e==="bottom"||ML.indexOf(e)===-1&&t==="x"}function Qf(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function Jf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),Ft(n&&n.onComplete,[e],t)}function PL(e){const t=e.chart,n=t.options.animation;Ft(n&&n.onProgress,[e],t)}function R_(e){return zu()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Jr={},Zf=e=>{const t=R_(e);return Object.values(Jr).filter(n=>n.canvas===t).pop()};function kL(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 OL(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}function Fr(e,t,n){return e.options.clip?e[n]:t[n]}function DL(e,t){const{xScale:n,yScale:s}=e;return n&&s?{left:Fr(n,t,"left"),right:Fr(n,t,"right"),top:Fr(s,t,"top"),bottom:Fr(s,t,"bottom")}:t}var Fn;let nr=(Fn=class{static register(...t){en.add(...t),tp()}static unregister(...t){en.remove(...t),tp()}constructor(t,n){const s=this.config=new SL(n),i=R_(t),o=Zf(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||q$(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=IO(),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 fL,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=QO(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],Jr[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}bn.listen(this,"complete",Jf),bn.listen(this,"progress",PL),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:s,height:i,_aspectRatio:o}=this;return Dt(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 en}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():xf(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return bf(this.canvas,this.ctx),this}stop(){return bn.stop(this),this}resize(t,n){bn.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,xf(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Ft(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};It(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=Ac(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),It(o,r=>{const a=r.options,l=a.id,c=Ac(l,a),u=yt(a.type,r.dtype);(a.position===void 0||Xf(a.position,c)!==Xf(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=en.getScale(u);d=new f({id:l,type:u,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),It(i,(r,a)=>{r||delete s[a]}),It(s,r=>{je.configure(this,r,r.options),je.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(Qf("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){It(this.scales,t=>{je.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!cf(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;kL(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;je.update(this,this.width,this.height,t);const n=this.chartArea,s=n.width<=0||n.height<=0;this._layers=[],It(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=DL(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&Za(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&&tl(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Cn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,s,i){const o=M$.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=ls(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);Ho(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(),bn.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)};It(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(){It(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},It(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}});!ua(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=HO(t),c=OL(t,this._lastEvent,s,l);s&&(this._lastEvent=null,Ft(o.onHover,[t,a,this],this),l&&Ft(o.onClick,[t,a,this],this));const u=!ua(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(Fn,"defaults",Gt),st(Fn,"instances",Jr),st(Fn,"overrides",Hs),st(Fn,"registry",en),st(Fn,"version",TL),st(Fn,"getChart",Zf),Fn);function tp(){return It(nr.instances,e=>e._plugins.invalidate())}function $L(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 LL(e){return Vu(e,["outerStart","outerEnd","innerStart","innerEnd"])}function IL(e,t,n,s){const i=LL(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 oe(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:oe(i.innerStart,0,r),innerEnd:oe(i.innerEnd,0,r)}}function ii(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 g=i-l;if(s){const H=u>0?u-s:0,R=d>0?d-s:0,W=(H+R)/2,U=W!==0?g*W/(W+s):g;p=(g-U)/2}const m=Math.max(.001,g*d-n/Wt)/d,y=(g-m)/2,x=l+y+p,S=i-y-p,{outerStart:M,outerEnd:C,innerStart:v,innerEnd:E}=IL(t,f,d,S-x),A=d-M,w=d-C,k=x+M/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=ii(w,$,r,a);e.arc(it.x,it.y,C,$,S+Xt)}const R=ii(N,S,r,a);if(e.lineTo(R.x,R.y),E>0){const it=ii(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=ii(L,X,r,a);e.arc(it.x,it.y,v,X+Math.PI,x-Xt)}const U=ii(A,x,r,a);if(e.lineTo(U.x,U.y),M>0){const it=ii(A,k,r,a);e.arc(it.x,it.y,M,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 RL(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=jt||jo(r,l,c),y=En(a,u+p,d+p);return m&&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,RL(n,this,u,r,a),NL(n,this,u,r,a),n.restore()}}st(ci,"id","arc"),st(ci,"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(ci,"defaultRoutes",{backgroundColor:"backgroundColor"}),st(ci,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function N_(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 FL(e,t,n){e.lineTo(n.x,n.y)}function BL(e){return e.stepped?cD:e.tension||e.cubicInterpolationMode==="monotone"?uD:FL}function F_(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,M=()=>{m!==y&&(e.lineTo(u,y),e.lineTo(u,m),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===g?(vy&&(y=v),u=(d*u+C)/++d):(M(),e.lineTo(C,v),g=E,d=0,m=y=v),x=v}M()}function Tc(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?HL:VL}function jL(e){return e.stepped?jD:e.tension||e.cubicInterpolationMode==="monotone"?WD:Ts}function WL(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),N_(e,t.options),e.stroke(i)}function zL(e,t,n,s){const{segments:i,options:o}=t,r=Tc(t);for(const a of i)N_(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const UL=typeof Path2D=="function";function KL(e,t,n,s){UL&&!t.options.segment?WL(e,t,n,s):zL(e,t,n,s)}class An extends On{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=qD(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=S_(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=jL(s);let c,u;for(c=0,u=r.length;ct!=="borderDash"&&t!=="fill"});function ep(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,g,m;for(r[l++]=e[u],d=0;dp&&(p=g,f=e[S],m=S);r[l++]=f,u=m}return r[l++]=e[c],r}function ZL(e,t,n,s){let i=0,o=0,r,a,l,c,u,d,f,p,g,m;const y=[],x=t+n-1,S=e[t].x,C=e[x].x-S;for(r=t;rm&&(m=c,f=r),i=(o*i+a.x)/++o;else{const E=r-1;if(!Dt(d)&&!Dt(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,g=m=c,d=f=p=r}}return y}function V_(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 np(e){e.data.datasets.forEach(t=>{V_(t)})}function tI(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=oe(Sn(t,o.axis,r).lo,0,n-1)),c?i=oe(Sn(t,o.axis,a).hi+1,s,n)-s:i=n-s,{start:s,count:i}}var H_={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){np(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(lo([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}=tI(l,c);const p=n.threshold||4*s;if(f<=p){V_(i);return}Dt(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(m){this._data=m}}));let g;switch(n.algorithm){case"lttb":g=JL(c,d,f,s,n);break;case"min-max":g=ZL(c,d,f,s);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}i._decimated=g})},destroy(e){np(e)}};function eI(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=Yu(l,c,i);const u=Mc(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=S_(t,u);for(const f of d){const p=Mc(n,o[f.start],o[f.end],f.loop),g=E_(a,i,p);for(const m of g)r.push({source:m,target:f,start:{[n]:sp(u,p,"start",Math.max)},end:{[n]:sp(u,p,"end",Math.min)}})}}return r}function Mc(e,t,n,s){if(s)return;let i=t[e],o=n[e];return e==="angle"&&(i=Ae(i),o=Ae(o)),{property:e,start:i,end:o}}function nI(e,t){const{x:n=null,y:s=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=Yu(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 Yu(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function sp(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function j_(e,t){let n=[],s=!1;return Ht(e)?(s=!0,n=e):n=nI(e,t),n.length?new An({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function ip(e){return e&&e.fill!==!1}function sI(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(!Yt(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function iI(e,t,n){const s=lI(e);if(Mt(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return Yt(i)&&Math.floor(i)===i?oI(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function oI(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function rI(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:Mt(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function aI(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:Mt(e)?s=e.value:s=t.getBaseValue(),s}function lI(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 cI(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=uI(t,n);a.push(j_({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&&Kl(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;ip(o)&&Kl(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!ip(s)||n.drawTime!=="beforeDatasetDraw"||Kl(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const lp=(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)}},vI=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class cp extends On{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=Ft(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}=lp(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((g,m)=>{const y=s+n/2+o.measureText(g.text).width;(m===0||c[c.length-1]+y+2*a>r)&&(d+=u,c[c.length-(m>0?0:1)]=0,p+=u,f++),l[m]={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,g=0,m=0;return this.legendItems.forEach((y,x)=>{const{itemWidth:S,itemHeight:M}=xI(s,n,o,y,i);x>0&&p+M+2*a>u&&(d+=f+a,c.push({width:f,height:p}),g+=f+a,m++,f=p=0),l[x]={left:g,top:p,col:m,width:S,height:M},f=Math.max(f,S),p+=M+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=mi(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=le(s,this.left+i,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=le(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=le(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=le(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;Za(t,this),this._draw(),tl(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=Gt.color,l=mi(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:g,boxHeight:m,itemHeight:y}=lp(r,d),x=function(E,A,w){if(isNaN(g)||g<=0||isNaN(m)||m<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:m*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:k},L=l.xPlus(E,g/2),N=A+f;h_(i,$,L,N,r.pointStyleWidth&&g)}else{const $=A+Math.max((d-m)/2,0),L=l.leftForLtr(E,g),N=Ns(w.borderRadius);i.beginPath(),Object.values(N).some(X=>X!==0)?Wo(i,{x:L,y:$,w:g,h:m,radius:N}):i.rect(L,$,g,m),i.fill(),k!==0&&i.stroke()}i.restore()},S=function(E,A,w){js(i,w.text,E,A+y/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},M=this.isHorizontal(),C=this._computeTitleHeight();M?p={x:le(o,this.left+u,this.right-s[0]),y:this.top+u+C,line:0}:p={x:this.left+u,y:le(o,this.top+C+u,this.bottom-n[0].height),line:0},v_(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)),$=g+f+w;let L=p.x,N=p.y;l.setWidth(this.width),M?A>0&&L+$+u>this.right&&(N=p.y+=v,p.line++,L=p.x=le(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=le(o,this.top+C+u,this.bottom-n[p.line].height));const X=l.x(L);if(x(X,N,E),L=JO(k,L+g+f,M?L+$:this.right,t.rtl),S(l.x(L),N,E),M)p.x+=$+u;else if(typeof E.text!="string"){const Y=c.lineHeight;p.y+=U_(E,Y)+u}else p.y+=v}),x_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=ee(n.font),i=ue(n.padding);if(!n.display)return;const o=mi(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=le(t.align,d,this.right-f);else{const g=this.columnSizes.reduce((m,y)=>Math.max(m,y.height),0);u=c+le(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}const p=le(a,d,d+f);r.textAlign=o.textAlign(Fu(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=ee(t.font),s=ue(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(En(t,this.left,this.right)&&En(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 EI(e,t,n){let s=e;return typeof t.text!="string"&&(s=U_(t,n)),s}function U_(e,t){const n=e.text?e.text.length:0;return t*n}function SI(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var K_={id:"legend",_element:cp,start(e,t,n){const s=e.legend=new cp({ctx:e.ctx,options:n,chart:e});je.configure(e,s,n),je.addBox(e,s)},stop(e){je.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;je.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=ue(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 Y_ extends On{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=ue(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=le(a,s,o),d=n+t,c=o-s):(r.position==="left"?(u=s+t,d=le(a,i,n),l=Wt*-.5):(u=o-t,d=le(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);js(t,n.text,0,0,s,{color:n.color,maxWidth:l,rotation:c,textAlign:Fu(n.align),textBaseline:"middle",translation:[r,a]})}}function CI(e,t){const n=new Y_({ctx:e.ctx,options:t,chart:e});je.configure(e,n,t),je.addBox(e,n),e.titleBlock=n}var G_={id:"title",_element:Y_,start(e,t,n){CI(e,n)},stop(e){const t=e.titleBlock;je.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const s=e.titleBlock;je.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 uo={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 AI(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 up(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,g=ue(t.padding);let m=g.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&&(m+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),x){const C=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=p*C+(x-p)*l.lineHeight+(x-1)*t.bodySpacing}f&&(m+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let S=0;const M=function(C){y=Math.max(y,n.measureText(C).width+S)};return n.save(),n.font=c.string,It(e.title,M),n.font=l.string,It(e.beforeBody.concat(e.afterBody),M),S=t.displayColors?r+2+t.boxPadding:0,It(s,C=>{It(C.before,M),It(C.lines,M),It(C.after,M)}),S=0,n.font=u.string,It(e.footer,M),n.restore(),y+=g.width,{width:y,height:m}}function TI(e,t){const{y:n,height:s}=t;return ne.height-s/2?"bottom":"center"}function MI(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 PI(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"),MI(c,e,t,n)&&(c="center"),c}function dp(e,t,n){const s=n.yAlign||t.yAlign||TI(e,n);return{xAlign:n.xAlign||t.xAlign||PI(e,t,n,s),yAlign:s}}function kI(e,t){let{x:n,width:s}=e;return t==="right"?n-=s:t==="center"&&(n-=s/2),n}function OI(e,t,n){let{y:s,height:i}=e;return t==="top"?s+=n:t==="bottom"?s-=i+n:s-=i/2,s}function hp(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}=Ns(r);let g=kI(t,a);const m=OI(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(u,f)+i:a==="right"&&(g+=Math.max(d,p)+i),{x:oe(g,0,s.width-t.width),y:oe(m,0,s.height-t.height)}}function Br(e,t,n){const s=ue(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-s.right:e.x+s.left}function fp(e){return tn([],yn(e))}function DI(e,t,n){return ls(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function pp(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const q_={beforeTitle:mn,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"?q_[t].call(n,s):i}class Pc extends On{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 C_(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=DI(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:s}=n,i=be(s,"beforeTitle",this,t),o=be(s,"title",this,t),r=be(s,"afterTitle",this,t);let a=[];return a=tn(a,yn(i)),a=tn(a,yn(o)),a=tn(a,yn(r)),a}getBeforeBody(t,n){return fp(be(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:s}=n,i=[];return It(t,o=>{const r={before:[],lines:[],after:[]},a=pp(s,o);tn(r.before,yn(be(a,"beforeLabel",this,o))),tn(r.lines,be(a,"label",this,o)),tn(r.after,yn(be(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,n){return fp(be(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:s}=n,i=be(s,"beforeFooter",this,t),o=be(s,"footer",this,t),r=be(s,"afterFooter",this,t);let a=[];return a=tn(a,yn(i)),a=tn(a,yn(o)),a=tn(a,yn(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))),It(a,u=>{const d=pp(t.callbacks,u);i.push(be(d,"labelColor",this,u)),o.push(be(d,"labelPointStyle",this,u)),r.push(be(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=uo[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=up(this,s),c=Object.assign({},a,l),u=dp(this.chart,s,c),d=hp(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}=Ns(a),{x:f,y:p}=t,{width:g,height:m}=n;let y,x,S,M,C,v;return o==="center"?(C=p+m/2,i==="left"?(y=f,x=y-r,M=C+r,v=C-r):(y=f+g,x=y+r,M=C-r,v=C+r),S=y):(i==="left"?x=f+Math.max(l,u)+r:i==="right"?x=f+g-Math.max(c,d)-r:x=this.caretX,o==="top"?(M=p,C=M-r,y=x-r,S=x+r):(M=p+m,C=M+r,y=x+r,S=x-r),v=M),{x1:y,x2:x,x3:S,y1:M,y2:C,y3:v}}drawTitle(t,n,s){const i=this.title,o=i.length;let r,a,l;if(o){const c=mi(s.rtl,this.x,this.width);for(t.x=Br(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,Wo(t,{x:m,y:g,w:c,h:l,radius:x}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Wo(t,{x:y,y:g+1,w:c-2,h:l-2,radius:x}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,g,c,l),t.strokeRect(m,g,c,l),t.fillStyle=r.backgroundColor,t.fillRect(y,g+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 g=mi(s.rtl,this.x,this.width),m=function(w){n.fillText(w,g.x(t.x+p),t.y+f/2),t.y+=f+o},y=g.textAlign(r);let x,S,M,C,v,E,A;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=Br(this,y,s),n.fillStyle=s.bodyColor,It(this.beforeBody,m),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=uo[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=up(this,t),l=Object.assign({},r,this._size),c=dp(n,t,l),u=hp(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=ue(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),v_(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),x_(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=!ua(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||!ua(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=uo[o.position].call(this,t,n);return r!==!1&&(s!==r.x||i!==r.y)}}st(Pc,"positioners",uo);var X_={id:"tooltip",_element:Pc,positioners:uo,afterInit(e,t,n){n&&(e.tooltip=new Pc({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:q_},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 $I=(e,t,n,s)=>(typeof t=="string"?(n=e.push(t)-1,s.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function LI(e,t,n,s){const i=e.indexOf(t);if(i===-1)return $I(e,t,n,s);const o=e.lastIndexOf(t);return i!==o?n:i}const II=(e,t)=>e===null?null:oe(Math.round(e),0,t);function gp(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(ba,"id","category"),st(ba,"defaults",{ticks:{callback:gp}});function RI(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,g=u-1,{min:m,max:y}=t,x=!Dt(r),S=!Dt(a),M=!Dt(c),C=(y-m)/(d+1);let v=df((y-m)/g/p)*p,E,A,w,k;if(v<1e-14&&!x&&!S)return[{value:m},{value:y}];k=Math.ceil(y/v)-Math.floor(m/v),k>g&&(v=df(k*v/g/p)*p),Dt(l)||(E=Math.pow(10,l),v=Math.ceil(v*E)/E),i==="ticks"?(A=Math.floor(m/v)*v,w=Math.ceil(y/v)*v):(A=m,w=y),x&&S&&o&&UO((a-r)/o,v/1e3)?(k=Math.round(Math.min((a-r)/v,u)),v=(a-r)/k,A=r,w=a):M?(A=x?r:A,w=S?a:w,k=c-1,v=(w-A)/k):(k=(w-A)/v,xo(k,Math.round(k),v/1e3)?k=Math.round(k):k=Math.ceil(k));const $=Math.max(hf(v),hf(A));E=Math.pow(10,Dt(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&&xo(n[n.length-1].value,a,mp(a,C,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=qe(s),o=(n?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class ya extends Ks{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 Dt(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=ln(i),c=ln(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=RI(i,o);return t.bounds==="ticks"&&s_(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 tr(t,this.chart.options.locale,this.options.ticks.format)}}class va extends ya{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Yt(t)?t:0,this.max=Yt(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,s=qe(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(va,"id","linear"),st(va,"defaults",{ticks:{callback:Ja.formatters.numeric}});const Uo=e=>Math.floor(Yn(e)),Cs=(e,t)=>Math.pow(10,Uo(e)+t);function _p(e){return e/Math.pow(10,Uo(e))===1}function bp(e,t,n){const s=Math.pow(10,n),i=Math.floor(e/s);return Math.ceil(t/s)-i}function NI(e,t){const n=t-e;let s=Uo(n);for(;bp(e,t,s)>10;)s++;for(;bp(e,t,s)<10;)s--;return Math.min(s,Uo(e))}function FI(e,{min:t,max:n}){t=Se(e.min,t);const s=[],i=Uo(t);let o=NI(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=Se(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=Se(e.max,f);return s.push({value:p,major:_p(p),significand:d}),s}class xa extends Ks{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const s=ya.prototype.parse.apply(this,[t,n]);if(s===0){this._zero=!0;return}return Yt(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Yt(t)?Math.max(0,t):null,this.max=Yt(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Yt(this._userMin)&&(this.min=t===Cs(this.min,0)?Cs(this.min,-1):Cs(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(Cs(s,-1)),r(Cs(i,1)))),s<=0&&o(Cs(i,-1)),i<=0&&r(Cs(s,1)),this.min=s,this.max=i}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},s=FI(n,this);return t.bounds==="ticks"&&s_(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":tr(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Yn(t),this._valueRange=Yn(this.max)-Yn(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Yn(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}st(xa,"id","logarithmic"),st(xa,"defaults",{ticks:{callback:Ja.formatters.logarithmic,major:{enabled:!0}}});function kc(e){const t=e.ticks;if(t.display&&e.display){const n=ue(t.backdropPadding);return yt(t.font&&t.font.size,Gt.font.size)+n.height}return 0}function BI(e,t,n){return n=Ht(n)?n:[n],{w:lD(e,t.string,n),h:n.length*t.lineHeight}}function yp(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 VI(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 jI(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(Ru(Ae(l.angle+Xt))),u=YI(l.y,a.h,c),d=UI(c),f=KI(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 WI(e,t){if(!t)return!0;const{left:n,top:s,right:i,bottom:o}=e;return!(Cn({x:n,y:s},t)||Cn({x:n,y:o},t)||Cn({x:i,y:s},t)||Cn({x:i,y:o},t))}function zI(e,t,n){const s=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:kc(o)/2,additionalAngle:r?Wt/i:0};let c;for(let u=0;u270||n<90)&&(e-=t),e}function GI(e,t,n){const{left:s,top:i,right:o,bottom:r}=n,{backdropColor:a}=t;if(!Dt(a)){const l=Ns(t.borderRadius),c=ue(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(g=>g!==0)?(e.beginPath(),Wo(e,{x:u,y:d,w:f,h:p,radius:l}),e.fill()):e.fillRect(u,d,f,p)}}function qI(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));GI(n,r,o);const a=ee(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 Q_(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=Ft(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?VI(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 Ae(t*n+qe(s))}getDistanceFromCenterForValue(t){if(Dt(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(Dt(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),g=o.setContext(f);XI(this,p,l,r,g)}}),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=ue(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(){}}st(ui,"id","radialLinear"),st(ui,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ja.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),st(ui,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),st(ui,"descriptors",{angleLines:{_fallback:"grid"}});const nl={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}},ve=Object.keys(nl);function vp(e,t){return e-t}function xp(e,t){if(Dt(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)),Yt(r)||(r=typeof s=="string"?n.parse(r,s):n.parse(r)),r===null?null:(i&&(r=i==="week"&&(Ni(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,i)),+r)}function wp(e,t,n,s){const i=ve.length;for(let o=ve.indexOf(e);o=ve.indexOf(n);o--){const r=ve[o];if(nl[r].common&&e._adapter.diff(i,s,r)>=t-1)return r}return ve[n?ve.indexOf(n):0]}function ZI(e){for(let t=ve.indexOf(e)+1,n=ve.length;t=t?n[s]:n[i];e[o]=!0}}function tR(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 Sp(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=oe(n,0,r),s=oe(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||wp(o.minUnit,n,s,this._getLabelCapacity(n)),a=yt(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Ni(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 g=i.ticks.source==="data"&&this.getDataTimestamps();for(f=d,p=0;f+m)}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 Ft(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}=Sn(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}=Sn(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 wa extends Vi{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=Vr(n,this.min),this._tableRange=Vr(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(Vr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,s=this.getDecimalForPixel(t)/n.factor-n.end;return Vr(this._table,s*this._tableRange+this._minPos,!0)}}st(wa,"id","timeseries"),st(wa,"defaults",Vi.defaults);const J_={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},eR={ariaLabel:{type:String},ariaDescribedby:{type:String}},nR={type:{type:String,required:!0},...J_,...eR},sR=rm[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function oi(e){return $a(e)?At(e):e}function iR(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return $a(t)?new Proxy(e,{}):e}function oR(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function Z_(e,t){e.labels=t}function tb(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 rR(e,t){const n={labels:[],datasets:[]};return Z_(n,e.labels),tb(n,e.datasets,t),n}const aR=Ba({props:nR,setup(e,t){let{expose:n,slots:s}=t;const i=Ci(null),o=lu(null);n({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:u,options:d,plugins:f,datasetIdKey:p}=e,g=rR(u,p),m=iR(g,u);o.value=new nr(i.value,{type:c,data:m,options:{...d},plugins:f})},a=()=>{const c=At(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return _u(r),bu(a),Is([()=>e.options,()=>e.data],(c,u)=>{let[d,f]=c,[p,g]=u;const m=At(o.value);if(!m)return;let y=!1;if(d){const x=oi(d),S=oi(p);x&&x!==S&&(oR(m,x),y=!0)}if(f){const x=oi(f.labels),S=oi(g.labels),M=oi(f.datasets),C=oi(g.datasets);x!==S&&(Z_(m.config.data,x),y=!0),M&&M!==C&&(tb(m.config.data,M,e.datasetIdKey),y=!0)}y&&La(()=>{l(m)})},{deep:!0}),()=>Pi("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Pi("p",{},[s.default?s.default():""])])}});function eb(e,t){return nr.register(t),Ba({props:J_,setup(n,s){let{expose:i}=s;const o=lu(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Pi(aR,sR({ref:r},{type:e,...n}))}})}const lR=eb("bar",_i),cR=eb("line",bi);function Pn(e){return Array.isArray?Array.isArray(e):ib(e)==="[object Array]"}const uR=1/0;function dR(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-uR?"-0":t}function hR(e){return e==null?"":dR(e)}function on(e){return typeof e=="string"}function nb(e){return typeof e=="number"}function fR(e){return e===!0||e===!1||pR(e)&&ib(e)=="[object Boolean]"}function sb(e){return typeof e=="object"}function pR(e){return sb(e)&&e!==null}function Te(e){return e!=null}function Yl(e){return!e.trim().length}function ib(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const gR="Incorrect 'index' type",mR=e=>`Invalid value for key ${e}`,_R=e=>`Pattern length exceeds max of ${e}.`,bR=e=>`Missing ${e} property in key`,yR=e=>`Property 'weight' in key '${e}' must be a positive integer`,Cp=Object.prototype.hasOwnProperty;class vR{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(s=>{let i=ob(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 ob(e){let t=null,n=null,s=null,i=1,o=null;if(on(e)||Pn(e))s=e,t=Ap(e),n=Oc(e);else{if(!Cp.call(e,"name"))throw new Error(bR("name"));const r=e.name;if(s=r,Cp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(yR(r));t=Ap(r),n=Oc(r),o=e.getFn}return{path:t,id:n,weight:i,src:s,getFn:o}}function Ap(e){return Pn(e)?e:e.split(".")}function Oc(e){return Pn(e)?e.join("."):e}function xR(e,t){let n=[],s=!1;const i=(o,r,a)=>{if(Te(o))if(!r[a])n.push(o);else{let l=r[a];const c=o[l];if(!Te(c))return;if(a===r.length-1&&(on(c)||nb(c)||fR(c)))n.push(hR(c));else if(Pn(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,on(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();on(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(Te(r)){if(Pn(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(Te(u))if(on(u)&&!Yl(u)){let d={v:u,i:c,n:this.norm.get(u)};a.push(d)}else Pn(u)&&u.forEach((d,f)=>{l.push({nestedArrIndex:f,value:d})})}s.$[o]=a}else if(on(r)&&!Yl(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 rb(e,t,{getFn:n=_t.getFn,fieldNormWeight:s=_t.fieldNormWeight}={}){const i=new Gu({getFn:n,fieldNormWeight:s});return i.setKeys(e.map(ob)),i.setSources(t),i.create(),i}function MR(e,{getFn:t=_t.getFn,fieldNormWeight:n=_t.fieldNormWeight}={}){const{keys:s,records:i}=e,o=new Gu({getFn:t,fieldNormWeight:n});return o.setKeys(s),o.setIndexRecords(i),o}function Hr(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 PR(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 ks=32;function kR(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>ks)throw new Error(_R(ks));const u=t.length,d=e.length,f=Math.max(0,Math.min(s,d));let p=o,g=f;const m=a>1||l,y=m?Array(d):[];let x;for(;(x=e.indexOf(t,g))>-1;){let A=Hr(t,{currentLocation:x,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(A,p),g=x+u,m){let w=0;for(;w=$;Y-=1){let H=Y-1,R=n[e.charAt(H)];if(m&&(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&&(M=Hr(t,{errors:A,currentLocation:H,expectedLocation:f,distance:i,ignoreLocation:c}),M<=p)){if(p=M,g=H,g<=f)break;$=Math.max(1,2*f-g)}}if(Hr(t,{errors:A+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;S=N}const E={isMatch:g>=0,score:Math.max(.001,M)};if(m){const A=PR(y,a);A.length?l&&(E.indices=A):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>ks){let f=0;const p=d%ks,g=d-p;for(;f{const{isMatch:x,score:S,indices:M}=kR(t,g,m,{location:i+y,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:s,ignoreLocation:c});x&&(f=!0),d+=S,x&&M&&(u=[...u,...M])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&s&&(p.indices=u),p}}class cs{constructor(t){this.pattern=t}static isMultiMatch(t){return Tp(t,this.multiRegex)}static isSingleMatch(t){return Tp(t,this.singleRegex)}search(){}}function Tp(e,t){const n=e.match(t);return n?n[1]:null}class DR extends cs{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 $R extends cs{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 cs{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 IR extends cs{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 RR extends cs{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 NR extends cs{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 lb extends cs{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 ab(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 cs{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 Dc=[DR,cb,LR,IR,NR,RR,$R,lb],Mp=Dc.length,FR=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,BR="|";function VR(e,t={}){return e.split(BR).map(n=>{let s=n.trim().split(FR).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=s.length;o!!(e[Ea.AND]||e[Ea.OR]),zR=e=>!!e[Ic.PATH],UR=e=>!Pn(e)&&sb(e)&&!Rc(e),Pp=e=>({[Ea.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function ub(e,t,{auto:n=!0}={}){const s=i=>{let o=Object.keys(i);const r=zR(i);if(!r&&o.length>1&&!Rc(i))return s(Pp(i));if(UR(i)){const l=r?i[Ic.PATH]:o[0],c=r?i[Ic.PATTERN]:i[l];if(!on(c))throw new Error(mR(l));const u={keyId:Oc(l),pattern:c};return n&&(u.searcher=Lc(c,t)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];Pn(c)&&c.forEach(u=>{a.children.push(s(u))})}),a};return Rc(e)||(e=Pp(e)),s(e)}function KR(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 YR(e,t){const n=e.matches;t.matches=[],Te(n)&&n.forEach(s=>{if(!Te(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 GR(e,t){t.score=e.score}function qR(e,t,{includeMatches:n=_t.includeMatches,includeScore:s=_t.includeScore}={}){const i=[];return n&&i.push(YR),s&&i.push(GR),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class Ki{constructor(t,n={},s){this.options={..._t,...n},this.options.useExtendedSearch,this._keyStore=new vR(this.options.keys),this.setCollection(t,s)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Gu))throw new Error(gR);this._myIndex=n||rb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Te(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)),qR(l,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(t){const n=Lc(t,this.options),{records:s}=this._myIndex,i=[];return s.forEach(({v:o,i:r,n:a})=>{if(!Te(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=ub(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(Te(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=Lc(t,this.options),{keys:s,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!Te(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(!Te(n))return[];let i=[];if(Pn(n))n.forEach(({v:o,i:r,n:a})=>{if(!Te(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}}Ki.version="7.0.0";Ki.createIndex=rb;Ki.parseIndex=MR;Ki.config=_t;Ki.parseQuery=ub;WR(jR);var db={exports:{}};(function(e,t){(function(n,s){e.exports=s()})(Op,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",g="date",m="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])+"]"}},M=function(Y,H,R){var W=String(Y);return!W||W.length>=H?Y:""+Array(H+1-W.length).join(R)+Y},C={s:M,z:function(Y){var H=-Y.utcOffset(),R=Math.abs(H),W=Math.floor(R/60),U=R%60;return(H<=0?"+":"-")+M(W,2,"0")+":"+M(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()!==m},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){De("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})}}},JR={class:"d-flex gap-2 mb-3 z-3"},ZR={class:"dropdown"},tN=b("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[b("i",{class:"bi bi-filter-circle me-2"}),Tt(" Sort ")],-1),eN={class:"dropdown-menu mt-2 shadow-lg"},nN=["onClick"],sN={class:"me-auto"},iN={key:0,class:"bi bi-check"},oN={class:"dropdown"},rN=b("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[b("i",{class:"bi bi-arrow-repeat me-2"}),Tt("Refresh Interval ")],-1),aN={class:"dropdown-menu"},lN=["onClick"],cN={class:"me-auto"},uN={key:0,class:"bi bi-check"},dN={class:"ms-auto d-flex align-items-center"},hN=b("label",{class:"d-flex me-2 text-muted",for:"searchPeers"},[b("i",{class:"bi bi-search me-1"})],-1);function fN(e,t,n,s,i,o){return rt(),ut("div",JR,[b("div",ZR,[tN,b("ul",eN,[(rt(!0),ut(Jt,null,Ai(this.sort,(r,a)=>(rt(),ut("li",null,[b("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>this.updateSort(a)},[b("span",sN,Ct(r),1),s.store.Configuration.Server.dashboard_sort===a?(rt(),ut("i",iN)):me("",!0)],8,nN)]))),256))])]),b("div",oN,[rN,b("ul",aN,[(rt(!0),ut(Jt,null,Ai(this.interval,(r,a)=>(rt(),ut("li",null,[b("a",{class:"dropdown-item d-flex",role:"button",onClick:l=>o.updateRefreshInterval(a)},[b("span",cN,Ct(r),1),s.store.Configuration.Server.dashboard_refresh_interval===a?(rt(),ut("i",uN)):me("",!0)],8,lN)]))),256))])]),b("div",dN,[hN,Rt(b("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[0]||(t[0]=r=>this.wireguardConfigurationStore.searchString=r)},null,512),[[Bt,this.wireguardConfigurationStore.searchString]])])])}const pN=qt(QR,[["render",fN]]);nr.register(ci,An,Po,Mo,_i,So,Os,bi,ga,Co,Ao,To,ba,va,xa,ui,Vi,wa,H_,z_,K_,G_,X_);const gN={name:"peerList",components:{PeerSearch:pN,Peer:hO,Line:cR,Bar:lR},setup(){const e=de(),t=zi();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}]}}},watch:{"$route.params.id":{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){dn("/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,kp().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,kp().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 Ki(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)}}},se=e=>(Na("data-v-37a98098"),e=e(),Fa(),e),mN={key:0},_N=se(()=>b("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),bN={class:"d-flex align-items-center gap-3"},yN={class:"mb-0"},vN=se(()=>b("div",{class:"dot active ms-0"},null,-1)),xN={class:"row mt-3 gy-2 gx-2 mb-2"},wN={class:"col-6 col-lg-3"},EN={class:"card rounded-3 bg-transparent shadow-sm"},SN={class:"card-body py-2"},CN=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Address")],-1)),AN={class:"col-6 col-lg-3"},TN={class:"card rounded-3 bg-transparent shadow-sm"},MN={class:"card-body py-2"},PN=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Listen Port")],-1)),kN={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},ON={class:"card rounded-3 bg-transparent shadow-sm"},DN={class:"card-body py-2"},$N=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Public Key")],-1)),LN={class:"row gx-2 gy-2 mb-2"},IN={class:"col-6 col-lg-3"},RN={class:"card rounded-3 bg-transparent shadow-sm"},NN={class:"card-body d-flex"},FN=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Connected Peers")],-1)),BN={class:"h4"},VN=se(()=>b("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),HN={class:"col-6 col-lg-3"},jN={class:"card rounded-3 bg-transparent shadow-sm"},WN={class:"card-body d-flex"},zN=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Total Usage")],-1)),UN={class:"h4"},KN=se(()=>b("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),YN={class:"col-6 col-lg-3"},GN={class:"card rounded-3 bg-transparent shadow-sm"},qN={class:"card-body d-flex"},XN=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Total Received")],-1)),QN={class:"h4 text-primary"},JN=se(()=>b("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),ZN={class:"col-6 col-lg-3"},t2={class:"card rounded-3 bg-transparent shadow-sm"},e2={class:"card-body d-flex"},n2=se(()=>b("p",{class:"mb-0 text-muted"},[b("small",null,"Total Sent")],-1)),s2={class:"h4 text-success"},i2=se(()=>b("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),o2={class:"row gx-2 gy-2 mb-5"},r2={class:"col-12 col-lg-6"},a2={class:"card rounded-3 bg-transparent shadow-sm"},l2=se(()=>b("div",{class:"card-header bg-transparent border-0"},[b("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),c2={class:"card-body pt-1"},u2={class:"col-sm col-lg-3"},d2={class:"card rounded-3 bg-transparent shadow-sm"},h2=se(()=>b("div",{class:"card-header bg-transparent border-0"},[b("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),f2={class:"card-body pt-1"},p2={class:"col-sm col-lg-3"},g2={class:"card rounded-3 bg-transparent shadow-sm"},m2=se(()=>b("div",{class:"card-header bg-transparent border-0"},[b("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),_2={class:"card-body pt-1"},b2={class:"mb-4"},y2={class:"d-flex align-items-center gap-3 mb-2"},v2=se(()=>b("h3",null,"Peers",-1)),x2=se(()=>b("i",{class:"bi bi-sliders2 me-2"},null,-1)),w2=se(()=>b("a",{href:"#",class:"text-decoration-none"},[b("i",{class:"bi bi-plus-circle-fill me-2"}),Tt("Add Peer")],-1));function E2(e,t,n,s,i,o){const r=Ut("Bar"),a=Ut("Line"),l=Ut("RouterView"),c=Ut("RouterLink"),u=Ut("PeerSearch"),d=Ut("Peer");return this.loading?me("",!0):(rt(),ut("div",mN,[b("div",null,[_N,b("div",bN,[b("h1",yN,[b("samp",null,Ct(this.configurationInfo.Name),1)]),vN])]),b("div",xN,[b("div",wN,[b("div",EN,[b("div",SN,[CN,Tt(" "+Ct(this.configurationInfo.Address),1)])])]),b("div",AN,[b("div",TN,[b("div",MN,[PN,Tt(" "+Ct(this.configurationInfo.ListenPort),1)])])]),b("div",kN,[b("div",ON,[b("div",DN,[$N,b("samp",null,Ct(this.configurationInfo.PublicKey),1)])])])]),b("div",LN,[b("div",IN,[b("div",RN,[b("div",NN,[b("div",null,[FN,b("strong",BN,Ct(o.configurationSummary.connectedPeers),1)]),VN])])]),b("div",HN,[b("div",jN,[b("div",WN,[b("div",null,[zN,b("strong",UN,Ct(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),KN])])]),b("div",YN,[b("div",GN,[b("div",qN,[b("div",null,[XN,b("strong",QN,Ct(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),JN])])]),b("div",ZN,[b("div",t2,[b("div",e2,[b("div",null,[n2,b("strong",s2,Ct(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),i2])])])]),b("div",o2,[b("div",r2,[b("div",a2,[l2,b("div",c2,[mt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{height:"200px",width:"100%"}},null,8,["data","options"])])])]),b("div",u2,[b("div",d2,[h2,b("div",f2,[mt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])]),b("div",p2,[b("div",g2,[m2,b("div",_2,[mt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px"}},null,8,["options","data"])])])])]),b("div",b2,[mt(l,null,{default:Kt(({Component:f})=>[mt(Us,{name:"fade3",mode:"out-in"},{default:Kt(()=>[(rt(),Ue(fu(f)))]),_:2},1024)]),_:1}),b("div",y2,[v2,mt(c,{to:"./peer_settings",class:"ms-auto text-secondary text-decoration-none"},{default:Kt(()=>[x2,Tt("Peer Settings")]),_:1}),w2]),mt(u),mt(pm,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Kt(()=>[(rt(!0),ut(Jt,null,Ai(this.searchPeers,f=>(rt(),ut("div",{class:"col-12 col-lg-6 col-xl-4",key:f.id},[mt(d,{Peer:f},null,8,["Peer"])]))),128))]),_:1})])]))}const S2=qt(gN,[["render",E2],["__scopeId","data-v-37a98098"]]);nr.register(ci,An,Po,Mo,_i,So,Os,bi,ga,Co,Ao,To,ba,va,xa,ui,Vi,wa,H_,z_,K_,G_,X_);const C2={name:"configuration",components:{PeerList:S2}},A2={class:"mt-5 text-body"};function T2(e,t,n,s,i,o){const r=Ut("PeerList");return rt(),ut("div",A2,[mt(r)])}const M2=qt(C2,[["render",T2]]),P2={name:"peerSettings"},qu=e=>(Na("data-v-f992ec07"),e=e(),Fa(),e),k2={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},O2={class:"container d-flex h-100 w-100"},D2={class:"card m-auto rounded-3 w-100"},$2={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},L2=qu(()=>b("h4",{class:"mb-0"},"Peer Settings",-1)),I2=qu(()=>b("i",{class:"bi bi-x-lg"},null,-1)),R2=qu(()=>b("div",{class:"card-body p-4"},null,-1));function N2(e,t,n,s,i,o){const r=Ut("router-link");return rt(),ut("div",k2,[b("div",O2,[b("div",D2,[b("div",$2,[L2,mt(r,{to:"./",class:"ms-auto btn"},{default:Kt(()=>[I2]),_:1})]),R2])])])}const F2=qt(P2,[["render",N2],["__scopeId","data-v-f992ec07"]]),B2=async()=>{let e=!1;return await dn("/api/validateAuthentication",{},t=>{e=t.status}),e},Xu=vS({history:NE(),routes:[{name:"Index",path:"/",component:iC,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:GC},{name:"Settings",path:"/settings",component:RT},{name:"New Configuration",path:"/new_configuration",component:Tk},{name:"Configuration",path:"/configuration/:id/",component:M2,children:[{name:"Peer Settings",path:"peer_settings",component:F2}]}]},{path:"/signin",component:SC},{path:"/welcome",component:hP,meta:{requiresAuth:!0}}]});Xu.beforeEach(async(e,t,n)=>{const s=zi(),i=de();e.meta.requiresAuth?MS.getCookie("authToken")&&await B2()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):n("/signin"):n()});const Qu=cE(TS);Qu.use(Xu);const hb=fE();hb.use(({store:e})=>{e.$router=qo(Xu)});Qu.use(hb);Qu.mount("#app"); diff --git a/src/static/app/dist/dashboard.css b/src/static/app/dist/dashboard.css new file mode 100644 index 0000000..c821f75 --- /dev/null +++ b/src/static/app/dist/dashboard.css @@ -0,0 +1,938 @@ +body { + font-size: .875rem; + /*font-family: 'Poppins', sans-serif;*/ +} + +.codeFont{ + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +.feather { + width: 16px; + height: 16px; + vertical-align: text-bottom; +} + +.btn-primary { + font-weight: bold; +} + +.dashboardLogo{ + background: -webkit-linear-gradient(#178bff, #ff4a00); +} + +/* + * Sidebar + */ + +/*.sidebar {*/ +/* position: fixed;*/ +/* top: 0;*/ +/* bottom: 0;*/ +/* left: 0;*/ +/* z-index: 100;*/ +/* !* Behind the navbar *!*/ +/* padding: 48px 0 0;*/ +/* !* Height of navbar *!*/ +/* box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);*/ +/*}*/ + +/*.sidebar-sticky {*/ +/* position: relative;*/ +/* top: 0;*/ +/* height: calc(100vh - 48px);*/ +/* padding-top: .5rem;*/ +/* overflow-x: hidden;*/ +/* overflow-y: auto;*/ +/* !* Scrollable contents if viewport is shorter than content. *!*/ +/*}*/ + +/*@supports ((position: -webkit-sticky) or (position: sticky)) {*/ +/* .sidebar-sticky {*/ +/* position: -webkit-sticky;*/ +/* position: sticky;*/ +/* }*/ +/*}*/ + +.sidebar .nav-link, .bottomNavContainer .nav-link{ + font-weight: 500; + color: #333; + transition: 0.2s cubic-bezier(0.82, -0.07, 0, 1.01); +} + +.nav-link:hover { + padding-left: 30px; + background-color: #dfdfdf; +} + +.sidebar .nav-link .feather { + margin-right: 4px; + color: #999; +} + +.sidebar .nav-link.active, .bottomNavContainer .nav-link.active { + color: #007bff; +} + +.sidebar .nav-link:hover .feather, +.sidebar .nav-link.active .feather { + color: inherit; +} + +.sidebar-heading { + font-size: .75rem; + text-transform: uppercase; +} + + +/* + * Navbar + */ + +.navbar-brand { + padding-top: .75rem; + padding-bottom: .75rem; + font-size: 1rem; + /*background-color: rgba(0, 0, 0, .25);*/ + /*box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);*/ +} + +.navbar .navbar-toggler { + top: .25rem; + right: 1rem; +} + +.form-control { + transition: all 0.2s ease-in-out; +} + +.form-control:disabled { + cursor: not-allowed; +} + +.navbar .form-control { + padding: .75rem 1rem; + border-width: 0; + border-radius: 0; +} + +.form-control-dark { + color: #fff; + background-color: rgba(255, 255, 255, .1); + border-color: rgba(255, 255, 255, .1); +} + +.form-control-dark:focus { + border-color: transparent; + box-shadow: 0 0 0 3px rgba(255, 255, 255, .25); +} + +.dot { + width: 10px; + height: 10px; + border-radius: 50px; + display: inline-block; + margin-left: auto !important; +} + +.dot-running { + background-color: #28a745!important; + box-shadow: 0 0 0 0.2rem #28a74545; +} + +.h6-dot-running { + margin-left: 0.3rem; +} + +.dot-stopped { + background-color: #6c757d!important; +} + +.card-running { + border-color: #28a745; +} + +.info h6 { + line-break: anywhere; + transition: all 0.4s cubic-bezier(0.96, -0.07, 0.34, 1.01); + opacity: 1; +} + +.info .row .col-sm { + display: flex; + flex-direction: column; +} + +.info .row .col-sm small { + display: flex; +} + +.info .row .col-sm small strong:last-child(1) { + margin-left: auto !important; +} + +.btn-control { + border: none !important; + padding: 0; + margin: 0 1rem 0 0; +} + +.btn-control:hover{ + background-color: transparent !important; +} + +.btn-control:active, +.btn-control:focus { + background-color: transparent !important; + border: none !important; + box-shadow: none; +} + +.btn-qrcode-peer { + padding: 0 !important; +} + +.btn-qrcode-peer:active, +.btn-qrcode-peer:hover { + transform: scale(0.9) rotate(180deg); + border: 0 !important; +} + +.btn-download-peer:active, +.btn-download-peer:hover { + color: #17a2b8 !important; + transform: translateY(5px); +} + +.share_peer_btn_group .btn-control { + margin: 0 0 0 1rem; + padding: 0 !important; + transition: all 0.4s cubic-bezier(1, -0.43, 0, 1.37); +} + +.btn-control:hover { + background: white; +} + +.btn-delete-peer:hover { + color: #dc3545; +} + +.btn-lock-peer:hover { + color: #28a745; +} + +.btn-lock-peer.lock{ + color: #6c757d +} + +.btn-lock-peer.lock:hover{ + color: #6c757d +} + +.btn-control.btn-outline-primary:hover{ + color: #007bff +} + +/* .btn-setting-peer:hover { + color: #007bff +} */ + +.btn-download-peer:hover { + color: #17a2b8; +} + +.login-container { + padding: 2rem; +} + +@media (max-width: 992px) { + .card-col { + margin-bottom: 1rem; + } +} + +.switch { + font-size: 2rem; +} + +.switch:hover { + text-decoration: none +} + +.btn-group-label:hover { + color: #007bff; + border-color: #007bff; + background: white; +} + +.peer_data_group { + text-align: right; + display: flex; + margin-bottom: 0.5rem +} + +.peer_data_group p { + text-transform: uppercase; + margin-bottom: 0; + margin-right: 1rem +} + +@media (max-width: 768px) { + .peer_data_group { + text-align: left; + } +} + +.index-switch { + display: flex; + align-items: center; + justify-content: flex-end; +} + +main { + margin-bottom: 3rem; +} + +.peer_list { + margin-bottom: 7rem +} + +@media (max-width: 768px) { + .add_btn { + bottom: 1.5rem !important; + } + .peer_list { + margin-bottom: 7rem !important; + } +} + +.btn-manage-group { + z-index: 99; + position: fixed; + bottom: 3rem; + right: 2rem; + display: flex; +} + +.btn-manage-group .setting_btn_menu { + position: absolute; + top: -124px; + background-color: white; + padding: 1rem 0; + right: 0; + box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 23%); + border-radius: 10px; + min-width: 250px; + display: none; + transform: translateY(-30px); + opacity: 0; + transition: all 0.3s cubic-bezier(0.58, 0.03, 0.05, 1.28); +} + +.btn-manage-group .setting_btn_menu.show { + display: block; +} + +.setting_btn_menu.showing { + transform: translateY(0px); + opacity: 1; +} + +.setting_btn_menu a { + display: flex; + padding: 0.5rem 1rem; + transition: all 0.1s ease-in-out; + font-size: 1rem; + align-items: center; + cursor: pointer; +} + +.setting_btn_menu a:hover { + background-color: #efefef; + text-decoration: none; +} + +.setting_btn_menu a i { + margin-right: auto !important; +} + +.add_btn { + height: 54px; + z-index: 99; + border-radius: 100px !important; + padding: 0 14px; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + margin-right: 1rem; + font-size: 1.5rem; +} + +.setting_btn { + height: 54px; + z-index: 99; + border-radius: 100px !important; + padding: 0 14px; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + font-size: 1.5rem; +} + +@-webkit-keyframes rotating +/* Safari and Chrome */ + +{ + from { + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes rotating { + from { + -ms-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -ms-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.rotating::before { + -webkit-animation: rotating 0.75s linear infinite; + -moz-animation: rotating 0.75s linear infinite; + -ms-animation: rotating 0.75s linear infinite; + -o-animation: rotating 0.75s linear infinite; + animation: rotating 0.75s linear infinite; +} + +.peer_private_key_textbox_switch { + position: absolute; + right: 2rem; + transform: translateY(-28px); + font-size: 1.2rem; + cursor: pointer; +} + +#peer_private_key_textbox, +#private_key, +#public_key, +#peer_preshared_key_textbox { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +.progress-bar { + transition: 0.3s ease-in-out; +} + +.key { + transition: 0.2s ease-in-out; + cursor: pointer; +} + +.key:hover { + color: #007bff; +} + +.card { + border-radius: 10px; +} + +.peer_list .card .button-group { + height: 22px; +} + +.form-control { + border-radius: 10px; +} + +.btn { + border-radius: 8px; + /*padding: 0.6rem 0.9em;*/ +} + +.login-box #username, +.login-box #password { + padding: 0.6rem calc( 0.9rem + 32px); + height: inherit; +} + +.login-box label[for="username"], +.login-box label[for="password"] { + font-size: 1rem; + margin: 0 !important; + transform: translateY(2.1rem) translateX(1rem); + padding: 0; +} + + +/*label[for="password"]{*/ + + +/* transform: translateY(32px) translateX(16px);*/ + + +/*}*/ + +.modal-content { + border-radius: 10px; +} + +.tooltip-inner { + font-size: 0.8rem; +} + +@-webkit-keyframes loading { + 0% { + background-color: #dfdfdf; + } + 50% { + background-color: #adadad; + } + 100% { + background-color: #dfdfdf; + } +} + +@-moz-keyframes loading { + 0% { + background-color: #dfdfdf; + } + 50% { + background-color: #adadad; + } + 100% { + background-color: #dfdfdf; + } +} + +.conf_card { + transition: 0.2s ease-in-out; +} + +.conf_card:hover { + border-color: #007bff; + cursor: pointer; +} + +.info_loading { + /* animation: loading 2s infinite ease-in-out; + /* border-radius: 5px; */ + height: 19.19px; + /* transition: 0.3s ease-in-out; */ + + /* transform: translateX(40px); */ + opacity: 0 !important; +} + +#conf_status_btn { + transition: 0.2s ease-in-out; +} + +#conf_status_btn.info_loading { + height: 38px; + border-radius: 5px; + animation: loading 3s infinite ease-in-out; +} + +#qrcode_img img { + width: 100%; +} + +#selected_ip_list .badge, +#selected_peer_list .badge { + margin: 0.1rem +} + +#add_modal.ip_modal_open { + transition: filter 0.2s ease-in-out; + filter: brightness(0.5); +} + +#delete_bulk_modal .list-group a.active { + background-color: #dc3545; + border-color: #dc3545; +} + +#selected_peer_list { + max-height: 80px; + overflow-y: scroll; + overflow-x: hidden; +} + +.no-response { + width: 100%; + height: 100%; + position: fixed; + background: #000000ba; + z-index: 10000; + display: none; + flex-direction: column; + align-items: center; + justify-content: center; + opacity: 0; + transition: all 1s ease-in-out; +} + +.no-response.active { + display: flex; +} + +.no-response.active.show { + opacity: 100; +} + +.no-response .container>* { + text-align: center; +} + +.no-responding { + transition: all 1s ease-in-out; + filter: blur(10px); +} + +pre.index-alert { + margin-bottom: 0; + padding: 1rem; + background-color: #343a40; + border: 1px solid rgba(0, 0, 0, .125); + border-radius: .25rem; + margin-top: 1rem; + color: white; +} + +.peerNameCol { + display: flex; + align-items: center; + margin-bottom: 0.2rem +} + +.peerName { + margin: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.peerLightContainer { + text-transform: uppercase; + margin: 0; + margin-left: auto !important; +} + +.conf_card .dot, +.info .dot { + transform: translateX(10px); +} + +#config_body { + transition: 0.3s ease-in-out; +} + + +#config_body.firstLoading { + opacity: 0.2; +} + +.chartTitle { + display: flex; +} + +.chartControl { + margin-bottom: 1rem; + display: flex; + align-items: center; +} + +.chartTitle h6 { + margin-bottom: 0; + line-height: 1; + margin-right: 0.5rem; +} + +.chartContainer.fullScreen { + position: fixed; + z-index: 9999; + background-color: white; + top: 0; + left: 0; + width: calc( 100% + 15px); + height: 100%; + padding: 32px; +} + +.chartContainer.fullScreen .col-sm { + padding-right: 0; + height: 100%; +} + +.chartContainer.fullScreen .chartCanvasContainer { + width: 100%; + height: calc( 100% - 47px) !important; + max-height: calc( 100% - 47px) !important; +} + +#switch{ + transition: all 200ms ease-in; +} + +.toggle--switch{ + display: none; +} + +.toggleLabel{ + width: 64px; + height: 32px; + background-color: #6c757d17; + display: flex; + position: relative; + border: 2px solid #6c757d8c; + border-radius: 100px; + transition: all 200ms ease-in; + cursor: pointer; + margin: 0; +} + +.toggle--switch.waiting + .toggleLabel{ + opacity: 0.5; +} + +.toggleLabel::before{ + background-color: #6c757d; + height: 26px; + width: 26px; + content: ""; + border-radius: 100px; + margin: 1px; + position: absolute; + animation-name: off; + animation-duration: 350ms; + animation-fill-mode: forwards; + transition: all 200ms ease-in; + cursor: pointer; +} + +.toggleLabel:hover::before{ + filter: brightness(1.2); +} + + +.toggle--switch:checked + .toggleLabel{ + background-color: #007bff17 !important; + border: 2px solid #007bff8c; +} + +.toggle--switch:checked + .toggleLabel::before{ + background-color: #007bff; + animation-name: on; + animation-duration: 350ms; + animation-fill-mode: forwards; +} + +@keyframes on { + 0%{ + left: 0px; + } + 60%{ + left: 0px; + width: 40px; + } + 100%{ + left: 32px; + width: 26px; + } +} + +@keyframes off { + 0%{ + left: 32px; + } + 60%{ + left: 18px; + width: 40px; + } + 100%{ + left: 0px; + width: 26px; + } +} + +.toastContainer{ + z-index: 99999 !important; +} + +.toast{ + min-width: 300px; + background-color: rgba(255,255,255,1); + z-index: 99999; +} + +.toast-header{ + background-color: rgba(255,255,255); +} + +.toast-progressbar{ + width: 100%; + height: 4px; + background-color: #007bff; + border-bottom-left-radius: .25rem; +} + +.addConfigurationAvailableIPs{ + margin-bottom: 0; +} + +.input-feedback{ + display: none; +} + +#addConfigurationModal label{ + display: flex; + width: 100%; + align-items: center; +} + +#addConfigurationModal label a{ + margin-left: auto !important; +} + +#reGeneratePrivateKey{ + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; +} + +.addConfigurationToggleStatus.waiting{ + opacity: 0.5; +} + +/*.conf_card .card-body .row .card-col{*/ +/* margin-bottom: 0.5rem;*/ +/*}*/ + +.peerDataUsageChartContainer{ + min-height: 50vh; + width: 100%; +} + +.peerDataUsageChartControl{ + display: block !important; + margin: 0; +} + +.peerDataUsageChartControl .switchUnit{ + width: 33.3%; +} + +.peerDataUsageChartControl .switchTimePeriod{ + width: 25%; +} + +@media (min-width: 1200px){ + #peerDataUsage .modal-xl { + max-width: 95vw; + } +} + +.bottom{ + display: none; +} + + +@media (max-width: 768px){ + .bottom{ + display: block; + } + + .btn-manage-group{ + bottom: calc( 3rem + 40px + env(safe-area-inset-bottom, 5px)); + } + + main{ + padding-bottom: calc( 3rem + 40px + env(safe-area-inset-bottom, 5px)); + } +} + + +.bottomNavContainer{ + display: flex; + color: #333; + padding-bottom: env(safe-area-inset-bottom, 5px); + box-shadow: inset 0 1px 0 rgb(0 0 0 / 10%); +} + +.bottomNavButton{ + width: 25vw; + display: flex; + flex-direction: column; + align-items: center; + margin: 0.7rem 0; + color: rgba(51, 51, 51, 0.5); + cursor: pointer; + transition: all ease-in 0.2s; +} + +.bottomNavButton.active{ + color: #333; +} + +.bottomNavButton i{ + font-size: 1.2rem; +} + +.bottomNavButton .subNav{ + width: 100vw; + position: absolute; + z-index: 10000; + bottom: 0; + left: 0; + background-color: #272b30; + display: none; + animation-duration: 400ms; + padding-bottom: env(safe-area-inset-bottom, 5px); +} + +.bottomNavButton .subNav.active{ + display: block; +} + + +.bottomNavButton .subNav .nav .nav-item .nav-link{ + padding: 0.7rem 1rem; +} + +.bottomNavWrapper{ + height: 100%; + width: 100%; + background-color: #000000a1; + position: fixed; + z-index: 1030; + display: none; + left: 0; +} + +.bottomNavWrapper.active{ + display: block; +} + +.sb-update-url .dot-running{ + transform: translateX(10px); +} + +.list-group-item{ + transition: all 0.1s ease-in; +} + +.theme-switch-btn{ + width: 100%; +} \ No newline at end of file diff --git a/src/static/app/dist/favicon.ico b/src/static/app/dist/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/src/static/app/dist/favicon.ico differ diff --git a/src/static/app/dist/index.html b/src/static/app/dist/index.html new file mode 100644 index 0000000..270798a --- /dev/null +++ b/src/static/app/dist/index.html @@ -0,0 +1,14 @@ + + + + + + + Vite App + + + + +
+ + diff --git a/src/static/app/src/components/configurationComponents/peer.vue b/src/static/app/src/components/configurationComponents/peer.vue index 6cad328..c43af9c 100644 --- a/src/static/app/src/components/configurationComponents/peer.vue +++ b/src/static/app/src/components/configurationComponents/peer.vue @@ -1,8 +1,10 @@ @@ -40,7 +47,7 @@ export default { - {{Peer.latest_handshake}} ago + {{getLatestHandshake}} ago @@ -57,17 +64,20 @@ export default { Allowed IP

{{Peer.allowed_ip}}

-
- +
@@ -86,4 +96,8 @@ export default { transform: translateY(20px); opacity: 0; } + +.subMenuBtn.active{ + background-color: #ffffff20; +} \ 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 new file mode 100644 index 0000000..9f78847 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/peerList.vue @@ -0,0 +1,489 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/peerSettings.vue b/src/static/app/src/components/configurationComponents/peerSettings.vue new file mode 100644 index 0000000..cbd93c2 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/peerSettings.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/peerSettingsDropdown.vue b/src/static/app/src/components/configurationComponents/peerSettingsDropdown.vue new file mode 100644 index 0000000..0fd3646 --- /dev/null +++ b/src/static/app/src/components/configurationComponents/peerSettingsDropdown.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/router/index.js b/src/static/app/src/router/index.js index ea9c547..565204c 100644 --- a/src/static/app/src/router/index.js +++ b/src/static/app/src/router/index.js @@ -11,6 +11,8 @@ import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore. import Setup from "@/views/setup.vue"; import NewConfiguration from "@/views/newConfiguration.vue"; import Configuration from "@/views/configuration.vue"; +import PeerSettings from "@/components/configurationComponents/peerSettings.vue"; +import PeerList from "@/components/configurationComponents/peerList.vue"; const checkAuth = async () => { let result = false @@ -48,9 +50,18 @@ const router = createRouter({ }, { name: "Configuration", - path: '/configuration/:id', - component: Configuration - } + path: '/configuration/:id/', + component: Configuration, + children: [ + + { + name: "Peer Settings", + path: 'peer_settings', + component: PeerSettings + } + ] + }, + ] }, { diff --git a/src/static/app/src/views/configuration.vue b/src/static/app/src/views/configuration.vue index f5475ab..9ea269a 100644 --- a/src/static/app/src/views/configuration.vue +++ b/src/static/app/src/views/configuration.vue @@ -61,429 +61,20 @@ import PeerSearch from "@/components/configurationComponents/peerSearch.vue"; import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js"; import {ref} from "vue"; import {WireguardConfigurationsStore} from "@/stores/WireguardConfigurationsStore.js"; +import PeerList from "@/components/configurationComponents/peerList.vue"; export default { name: "configuration", - setup(){ - const dashboardConfigurationStore = DashboardConfigurationStore(); - const wireguardConfigurationStore = WireguardConfigurationsStore(); - return {dashboardConfigurationStore, wireguardConfigurationStore} - }, - components: {PeerSearch, Peer, Line, Bar}, - data(){ - return { - loading: false, - error: null, - configurationInfo: [], - configurationPeers: [], - historyDataSentDifference: [], - historyDataReceivedDifference: [], - - - historySentData: { - labels: [], - datasets: [ - { - label: 'Data Sent', - data: [], - fill: false, - borderColor: '#198754', - tension: 0 - }, - ], - }, - historyReceiveData: { - labels: [], - datasets: [ - { - label: 'Data Received', - data: [], - fill: false, - borderColor: '#0d6efd', - tension: 0 - }, - ], - }, - } - }, - watch: { - '$route.params': { - immediate: true, - handler(){ - clearInterval(this.interval) - this.loading = true; - let id = this.$route.params.id; - this.configurationInfo = []; - this.configurationPeers = []; - if (id){ - this.getPeers(id) - this.setInterval(); - } - } - }, - 'dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval'(){ - clearInterval(this.interval); - this.setInterval(); - } - }, - beforeRouteLeave(){ - clearInterval(this.interval) - }, - methods:{ - getPeers(id){ - fetchGet("/api/getWireguardConfigurationInfo", - { - configurationName: id - }, (res) => { - this.configurationInfo = res.data.configurationInfo; - this.configurationPeers = res.data.configurationPeers; - this.loading = false; - if (this.configurationPeers.length > 0){ - const sent = this.configurationPeers.map(x => x.total_sent + x.cumu_sent).reduce((x,y) => x + y).toFixed(4); - const receive = this.configurationPeers.map(x => x.total_receive + x.cumu_receive).reduce((x,y) => x + y).toFixed(4); - if ( - this.historyDataSentDifference[this.historyDataSentDifference.length - 1] !== sent - ){ - if (this.historyDataSentDifference.length > 0){ - this.historySentData = { - labels: [...this.historySentData.labels, dayjs().format("HH:mm:ss A")], - datasets: [ - { - label: 'Data Sent', - data: [...this.historySentData.datasets[0].data, - ((sent - this.historyDataSentDifference[this.historyDataSentDifference.length - 1])*1000).toFixed(4)], - fill: false, - borderColor: ' #198754', - tension: 0 - } - ], - } - } - this.historyDataSentDifference.push(sent) - } - if ( - this.historyDataReceivedDifference[this.historyDataReceivedDifference.length - 1] !== receive - ){ - if (this.historyDataReceivedDifference.length > 0){ - this.historyReceiveData = { - labels: [...this.historyReceiveData.labels, dayjs().format("HH:mm:ss A")], - datasets: [ - { - label: 'Data Received', - data: [...this.historyReceiveData.datasets[0].data, - ((receive - this.historyDataReceivedDifference[this.historyDataReceivedDifference.length - 1])*1000).toFixed(4)], - fill: false, - borderColor: '#0d6efd', - tension: 0 - } - ], - } - } - this.historyDataReceivedDifference.push(receive) - } - } - }); - }, - setInterval(){ - console.log('Set Interval'); - this.interval = setInterval(() => { - this.getPeers(this.$route.params.id) - }, parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval)) - } - }, - computed: { - configurationSummary(){ - return { - connectedPeers: this.configurationPeers.filter(x => x.status === "running").length, - totalUsage: this.configurationPeers.length > 0 ? this.configurationPeers.map(x => x.total_data + x.cumu_data).reduce((a, b) => a + b) : 0, - totalReceive: this.configurationPeers.length > 0 ? this.configurationPeers.map(x => x.total_receive + x.cumu_receive).reduce((a, b) => a + b) : 0, - totalSent: this.configurationPeers.length > 0 ? this.configurationPeers.map(x => x.total_sent + x.cumu_sent).reduce((a, b) => a + b) : 0 - } - }, - receiveData(){ - return this.historyReceiveData - }, - sentData(){ - return this.historySentData - }, - individualDataUsage(){ - return { - labels: this.configurationPeers.map(x => { - if (x.name) return x.name - return `Untitled Peer - ${x.id}` - }), - datasets: [{ - label: 'Total Data Usage', - data: this.configurationPeers.map(x => x.cumu_data + x.total_data), - backgroundColor: this.configurationPeers.map(x => `#0dcaf0`), - tooltip: { - callbacks: { - label: (tooltipItem) => { - console.log(tooltipItem) - return `${tooltipItem.formattedValue} GB` - } - } - } - }] - } - }, - individualDataUsageChartOption(){ - return { - responsive: true, - plugins: { - legend: { - display: false - } - }, - scales: { - x: { - ticks: { - display: false, - }, - grid: { - display: false - }, - }, - y:{ - ticks: { - callback: (val, index) => { - return `${val} GB` - } - }, - grid: { - display: false - }, - } - } - } - }, - chartOptions() { - return { - responsive: true, - plugins: { - legend: { - display: false - }, - tooltip: { - callbacks: { - label: (tooltipItem) => { - console.log(tooltipItem) - return `${tooltipItem.formattedValue} MB/s` - } - } - } - }, - scales: { - x: { - ticks: { - display: false, - }, - grid: { - display: false - }, - }, - y:{ - ticks: { - callback: (val, index) => { - return `${val} MB/s` - } - }, - grid: { - display: false - }, - } - } - } - }, - searchPeers(){ - const fuse = new Fuse(this.configurationPeers, { - keys: ["name", "id", "allowed_ip"] - }); - - const result = this.wireguardConfigurationStore.searchString ? fuse.search(this.wireguardConfigurationStore.searchString).map(x => x.item) : this.configurationPeers; - - return result.slice().sort((a, b) => { - if ( a[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort] - < b[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort] ){ - return -1; - } - if ( a[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort] - > b[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]){ - return 1; - } - return 0; - }); - } - } + components: {PeerList}, } \ No newline at end of file diff --git a/src/static/css/dashboard.css b/src/static/css/dashboard.css index 5821df9..7c68c4c 100644 --- a/src/static/css/dashboard.css +++ b/src/static/css/dashboard.css @@ -1077,4 +1077,19 @@ pre.index-alert { animations can be calculated correctly. */ .message-leave-active { position: absolute; +} + +.fade3-enter-active, +.fade3-leave-active { + transition: all 0.15s ease-in-out; +} + +.fade3-enter-from{ + transform: scale(1); + opacity: 0; +} + +.fade3-leave-to { + transform: scale(0.8); + opacity: 0; } \ No newline at end of file