diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index f9d9f6e1..6c362bdb 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -7,11 +7,11 @@ FitTrackee - + - +
diff --git a/fittrackee/dist/static/css/index-USPMbwcT.css b/fittrackee/dist/static/css/index-USPMbwcT.css deleted file mode 100644 index ac4e735c..00000000 --- a/fittrackee/dist/static/css/index-USPMbwcT.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";#footer[data-v-dd2dabd2]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-dd2dabd2]{text-decoration:none}#footer .footer-items[data-v-dd2dabd2]{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-dd2dabd2]{padding:10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width: 500px){#footer .footer-items[data-v-dd2dabd2]{border-top:solid 1px var(--footer-border-color);font-size:.85em;padding:0 0 2px}#footer .footer-items .footer-item[data-v-dd2dabd2]{border-top:none;padding:1px 5px}#footer .footer-items .bullet[data-v-dd2dabd2]{padding:1px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}[data-v-d0405657]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}#nav[data-v-d0405657]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-d0405657]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-d0405657]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-d0405657]{font-size:1.2em;font-weight:700;margin-right:10px;line-height:1.6em}#nav .fa[data-v-d0405657]{font-size:1.2em}#nav .nav-icon-open[data-v-d0405657],#nav .hamburger-icon[data-v-d0405657],#nav .close-icon[data-v-d0405657]{display:none}#nav .menu-button[data-v-d0405657]{padding:0}#nav .nav-items[data-v-d0405657]{display:flex;flex:1;justify-content:space-between;line-height:2em;width:100%}#nav .nav-items .nav-items-close[data-v-d0405657]{display:none}#nav .nav-items .nav-items-app-menu[data-v-d0405657],#nav .nav-items .nav-items-user-menu[data-v-d0405657]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-d0405657]{display:flex}#nav .nav-items .nav-item[data-v-d0405657]{padding:0 10px;height:28px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-d0405657]{padding:0;margin-left:2px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-d0405657] .dropdown-list{z-index:1000;margin-left:-150px!important;width:180px!important}#nav .nav-items .nav-link[data-v-d0405657]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-d0405657]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-d0405657] .user-picture img{height:32px;width:32px;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-d0405657] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-d0405657]{display:none}#nav .nav-items .nav-button[data-v-d0405657]{padding:5px 7.5px;margin-left:2px}#nav .nav-items .nav-button .nav-button-fa[data-v-d0405657]{display:block}#nav .nav-items .nav-button .nav-button-text[data-v-d0405657]{display:none}#nav .nav-items .clear-theme[data-v-d0405657]{filter:var(--workout-img-color);height:20px;margin-bottom:-5px}@media screen and (max-width: 1000px){#nav .hamburger-icon[data-v-d0405657]{display:block}#nav .nav-icon-open[data-v-d0405657]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-d0405657]{display:none}#nav .close-icon[data-v-d0405657]{display:block}#nav .close-icon.menu-closed[data-v-d0405657],#nav .nav-items[data-v-d0405657]{display:none}#nav .nav-items.menu-open[data-v-d0405657]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-close[data-v-d0405657],#nav .nav-items.menu-open .nav-items-app-menu[data-v-d0405657],#nav .nav-items.menu-open .nav-items-user-menu[data-v-d0405657]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-d0405657]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-d0405657]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-d0405657]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-group .nav-button[data-v-d0405657]{padding:10px 10px 10px 24px;color:var(--app-a-color);text-align:left}#nav .nav-items.menu-open .nav-items-group .nav-button .nav-button-fa[data-v-d0405657]{display:none;width:36px}#nav .nav-items.menu-open .nav-items-group .nav-button .nav-button-text[data-v-d0405657]{display:block}#nav .nav-items.menu-open .nav-item[data-v-d0405657]{padding:7px 25px}#nav .nav-items.menu-open .nav-item.dropdown-wrapper[data-v-d0405657]{padding-left:20px}#nav .nav-items.menu-open .nav-item.dropdown-wrapper[data-v-d0405657] .dropdown-list{margin-left:initial!important;width:auto!important;height:200px;overflow-y:scroll}#nav .nav-items.menu-open .nav-profile-img[data-v-d0405657]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-d0405657]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}#nav .theme-button[data-v-d0405657]{margin-left:20px}}#no-config[data-v-73140811]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-73140811]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-73140811]{width:150px}#no-config .error-page .error-img svg[data-v-73140811]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-73140811]{font-size:1.2em;text-align:center}@media screen and (max-width: 1000px){#no-config .error-page .error-message[data-v-73140811]{font-size:1em}}:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark]{color-scheme:dark}body{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body::-webkit-scrollbar{width:5px;height:5px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body:hover::-webkit-scrollbar-track{background:transparent}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,textarea,select{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input:disabled,textarea:disabled,select:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors :invalid{outline:2px solid var(--input-error-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent:hover,button.transparent:disabled{background:transparent}button.transparent:hover{color:var(--app-color)}button.transparent:enabled:active{box-shadow:none}button.transparent:disabled,button.transparent.confirm:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled,button.confirm:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.form-info{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width: 1000px){.center-card{width:100%;margin:0 auto 50px}}.text-center{text-align:center}.text-left{text-align:left}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width: 500px){.responsive-table table td{width:100%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px var(--app-shadow-color);display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.alert-message[data-v-f7bf1117]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}.custom-textarea[data-v-57267720]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-57267720]{font-size:.8em;font-style:italic}.strong[data-v-0f0f76cd]{font-weight:700}.dropdown-wrapper .dropdown-selector[data-v-46c11932]{margin:0;padding:5px}.dropdown-wrapper .dropdown-list[data-v-46c11932]{list-style-type:none;background-color:var(--dropdown-background-color);padding:0!important;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:solid 1px var(--dropdown-border-color);box-shadow:2px 2px 5px var(--app-shadow-color);width:auto!important}.dropdown-wrapper .dropdown-list .dropdown-item[data-v-46c11932]{padding:3px 12px}.dropdown-wrapper .dropdown-list .dropdown-item.selected[data-v-46c11932]{font-weight:700}.dropdown-wrapper .dropdown-list .dropdown-item.selected[data-v-46c11932]:after{content:" ✔"}.dropdown-wrapper .dropdown-list .dropdown-item[data-v-46c11932]:hover{background-color:var(--dropdown-hover-color)}.error-message[data-v-5dcde231]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-8b613881]{animation:spin-8b613881 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@keyframes spin-8b613881{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#modal[data-v-e277942a]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240;display:flex;justify-content:center;align-items:center}#modal .custom-modal[data-v-e277942a]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;z-index:1250}@media screen and (max-width: 1000px){#modal .custom-modal[data-v-e277942a]{width:100%}}#modal .custom-modal[data-v-e277942a] .card{border:0;margin:0}#modal .custom-modal[data-v-e277942a] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-buttons button{margin:5px}#admin-app .user-limit-help[data-v-a720b26e]{display:flex}#admin-app .user-limit-help span[data-v-a720b26e]{font-style:italic}#admin-app .user-limit-help .fa-info-circle[data-v-a720b26e]{margin-right:10px}#admin-app .no-contact[data-v-a720b26e]{font-style:italic}#admin-app textarea[data-v-a720b26e]{margin-bottom:10px}#admin-app .textarea-description[data-v-a720b26e]{font-style:italic}#admin-app .textarea-content[data-v-a720b26e]{margin-bottom:10px;padding:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width: 700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}#admin-menu[data-v-efcd2677]{display:flex}#admin-menu.center-card[data-v-efcd2677]{width:100%}#admin-menu[data-v-efcd2677] .card{flex-grow:1}#admin-menu[data-v-efcd2677] .card .admin-menu{padding:0 10px}#admin-menu[data-v-efcd2677] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-203d96b8]{font-size:1.1em}#admin-sports .sport-img[data-v-203d96b8]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-203d96b8]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-203d96b8]{padding-left:40px}#admin-sports .action-button[data-v-203d96b8]{display:block}#admin-sports .top-button[data-v-203d96b8]{display:none}@media screen and (max-width: 700px){#admin-sports .sport-action[data-v-203d96b8]{padding-left:10px}#admin-sports .has-workouts[data-v-203d96b8]{padding-top:5px}#admin-sports .action-button[data-v-203d96b8]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-203d96b8]{display:block;margin-bottom:20px}}.table-selects[data-v-fc86ab3c]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-fc86ab3c]{margin-left:10px;padding:5px}@media screen and (max-width: 700px){.table-selects[data-v-fc86ab3c]{flex-wrap:wrap}.table-selects label[data-v-fc86ab3c]{margin-bottom:10px}.table-selects label select[data-v-fc86ab3c]{margin-left:0}}.pagination-center[data-v-b6235e81]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-b6235e81]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-prev[data-v-b6235e81],.pagination-center .pagination .page-next[data-v-b6235e81],.pagination-center .pagination .page[data-v-b6235e81]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-prev.active[data-v-b6235e81],.pagination-center .pagination .page-next.active[data-v-b6235e81],.pagination-center .pagination .page.active[data-v-b6235e81]{font-weight:700}.pagination-center .pagination .page-prev.disabled[data-v-b6235e81],.pagination-center .pagination .page-next.disabled[data-v-b6235e81],.pagination-center .pagination .page.disabled[data-v-b6235e81]{cursor:default}.pagination-center .pagination .page-prev.disabled a[data-v-b6235e81],.pagination-center .pagination .page-next.disabled a[data-v-b6235e81],.pagination-center .pagination .page.disabled a[data-v-b6235e81]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-b6235e81]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-b6235e81]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-b6235e81]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-b6235e81]{font-size:.8em;padding:0 5px}@media screen and (max-width: 1000px){.pagination-center .pagination .page[data-v-b6235e81]{display:none}}.users-filters[data-v-553040c7]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-553040c7]{font-size:1.5em}.users-filters .fa-disabled[data-v-553040c7]{color:var(--disabled-color)}.users-filters .search-username[data-v-553040c7]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-553040c7]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-553040c7]:focus{outline:none}.users-filters .search-username .fa-times[data-v-553040c7]{padding-right:10px}@media screen and (max-width: 700px){.users-filters .search-username[data-v-553040c7]{width:400px}}@media screen and (max-width: 500px){.users-filters .search-username[data-v-553040c7]{width:90%}}#admin-users .top-button[data-v-4beb3bfa]{display:none}#admin-users .no-users[data-v-4beb3bfa]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-4beb3bfa]{font-size:1.1em}#admin-users .left-text[data-v-4beb3bfa]{text-align:left}#admin-users[data-v-4beb3bfa] .user-picture img{height:30px;width:30px}#admin-users[data-v-4beb3bfa] .user-picture .no-picture{font-size:2em}@media screen and (max-width: 700px){#admin-users .top-button[data-v-4beb3bfa]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4beb3bfa]{margin-top:-30px}}.user-header[data-v-3abb1646]{display:flex;align-items:stretch}.user-header .user-details[data-v-3abb1646]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-3abb1646]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-3abb1646]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646],.user-header .user-details .user-stats .user-stat .stat-label[data-v-3abb1646]{padding:0 5px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646] .distance,.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646]{font-weight:700;font-size:1.5em}@media screen and (max-width: 500px){.user-header .user-details .user-name[data-v-3abb1646]{font-size:1.5em}.user-header .user-details .user-stats[data-v-3abb1646]{gap:20px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646] .distance,.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-3abb1646]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-bottom:10px}#user-profile[data-v-8a058d49]{margin:auto;width:700px}@media screen and (max-width: 1000px){#user-profile[data-v-8a058d49]{width:100%;margin:0 auto 50px}}#user-infos .user-bio[data-v-98220281]{white-space:pre-wrap}#user-infos .alert-message[data-v-98220281]{margin:0}#user-infos .profile-buttons[data-v-98220281]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-98220281]{display:flex}#user-infos .email-form form[data-v-98220281]{width:100%}#user-infos .email-form .form-buttons[data-v-98220281]{display:flex;gap:10px;margin-top:10px}#user-preferences .preferences-section[data-v-b0528e22]{font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--card-border-color)}#user-preferences .raw-speed-help[data-v-b0528e22]{margin-top:-5px}.password-strength[data-v-1affb508]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-1affb508]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-1affb508],.password-strength .strength-1[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-weak)),color-stop(100%,var(--password-color-weak)));background-image:-webkit-linear-gradient(left,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:-moz-linear-gradient(left,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:-o-linear-gradient(to right,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:linear-gradient(to right,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-medium)),color-stop(100%,var(--password-color-medium)));background-image:-webkit-linear-gradient(left,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:-moz-linear-gradient(left,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:-o-linear-gradient(to right,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:linear-gradient(to right,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-good)),color-stop(100%,var(--password-color-good)));background-image:-webkit-linear-gradient(left,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:-moz-linear-gradient(left,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:-o-linear-gradient(to right,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:linear-gradient(to right,var(--password-color-good) 0%,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-strong)),color-stop(100%,var(--password-color-strong)));background-image:-webkit-linear-gradient(left,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:-moz-linear-gradient(left,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:-o-linear-gradient(to right,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:linear-gradient(to right,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-1affb508]::-webkit-slider-thumb,.password-strength .password-slider[data-v-1affb508]::-moz-range-thumb{opacity:0}.password-strength .password-slider[data-v-1affb508]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-1affb508]::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-1affb508]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-1affb508]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-1affb508]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-1affb508]{padding-left:20px}.password-input[data-v-ac528612]{display:flex;flex-direction:column}.password-input .show-password[data-v-ac528612]{margin-top:-5px;display:flex;justify-content:right}.password-input .show-password button[data-v-ac528612]{font-style:italic;font-size:.85em;padding:5px 10px;cursor:pointer}.form-items .password-input[data-v-8ebb5cd3] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-8ebb5cd3] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-8ebb5cd3] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-8ebb5cd3]{flex-direction:row}@media screen and (max-width: 500px){.form-buttons[data-v-8ebb5cd3]{flex-direction:column}}.data-export[data-v-8ebb5cd3]{padding:10px 0}.data-export .data-export-archive[data-v-8ebb5cd3]{padding-top:20px;font-size:.9em}.data-export .data-export-archive .archive-link[data-v-8ebb5cd3]{color:var(--app-a-color);cursor:pointer}.form-items .password-input[data-v-5f5c8fca] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-5f5c8fca]{flex-direction:row}@media screen and (max-width: 500px){.form-buttons[data-v-5f5c8fca]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-8f62d42f]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-8f62d42f]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-8f62d42f]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-8f62d42f]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-8f62d42f]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-8f62d42f]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-8f62d42f]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-8f62d42f]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width: 500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-8f62d42f],#user-picture-edition .user-picture-form .picture-help[data-v-8f62d42f]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-0ed9f402]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-0ed9f402]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-0ed9f402]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-0ed9f402]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-e38a969e]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-e38a969e]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-e38a969e]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-e38a969e]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-e38a969e]{font-weight:400}#user-preferences-edition .preferences-section[data-v-e38a969e]{font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--card-border-color);margin-bottom:5px}#user-preferences-edition #language[data-v-e38a969e],#user-preferences-edition #date_format[data-v-e38a969e],#user-preferences-edition #use_dark_mode[data-v-e38a969e]{padding:5px}[data-v-31d5cd27]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark][data-v-31d5cd27]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark][data-v-31d5cd27]{color-scheme:dark}body[data-v-31d5cd27]{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body[data-v-31d5cd27]::-webkit-scrollbar{width:5px;height:5px}body[data-v-31d5cd27]::-webkit-scrollbar-track{background:transparent}body[data-v-31d5cd27]::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body[data-v-31d5cd27]:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body[data-v-31d5cd27]:hover::-webkit-scrollbar-track{background:transparent}#app[data-v-31d5cd27]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-31d5cd27]{color:var(--app-a-color);text-decoration:none}img[data-v-31d5cd27]{max-width:100%}input[data-v-31d5cd27],textarea[data-v-31d5cd27],select[data-v-31d5cd27]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input[data-v-31d5cd27]:disabled,textarea[data-v-31d5cd27]:disabled,select[data-v-31d5cd27]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-31d5cd27] :invalid{outline:2px solid var(--input-error-color)}label[data-v-31d5cd27]{font-weight:700}button[data-v-31d5cd27]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent[data-v-31d5cd27]{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent[data-v-31d5cd27]:hover,button.transparent[data-v-31d5cd27]:disabled{background:transparent}button.transparent[data-v-31d5cd27]:hover{color:var(--app-color)}button.transparent[data-v-31d5cd27]:enabled:active{box-shadow:none}button.transparent[data-v-31d5cd27]:disabled,button.transparent.confirm[data-v-31d5cd27]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button[data-v-31d5cd27]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-31d5cd27]:disabled,button.confirm[data-v-31d5cd27]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-31d5cd27]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm[data-v-31d5cd27]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger[data-v-31d5cd27]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-31d5cd27]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-31d5cd27]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-31d5cd27]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-31d5cd27]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-31d5cd27]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-31d5cd27]{display:flex;flex-direction:column}.form-box .form-items input[data-v-31d5cd27]{margin:10px;padding:5px}.form-info[data-v-31d5cd27]{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-31d5cd27]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-31d5cd27]{text-transform:uppercase}.view[data-v-31d5cd27]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-31d5cd27]{color:var(--workout-trophy-color)}.mountains[data-v-31d5cd27]{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title[data-v-31d5cd27]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-31d5cd27]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-31d5cd27]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-31d5cd27]{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes[data-v-31d5cd27]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-31d5cd27]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-31d5cd27]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-31d5cd27]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-31d5cd27]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-31d5cd27]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-31d5cd27]{font-weight:700}.description-list dl dd[data-v-31d5cd27]{margin-bottom:10px}.center-card[data-v-31d5cd27]{margin:0 auto;width:700px}.center-card.with-margin[data-v-31d5cd27]{margin-top:100px}@media screen and (max-width: 1000px){.center-card[data-v-31d5cd27]{width:100%;margin:0 auto 50px}}.text-center[data-v-31d5cd27]{text-align:center}.text-left[data-v-31d5cd27]{text-align:left}.responsive-table[data-v-31d5cd27]{margin-bottom:15px}.responsive-table table[data-v-31d5cd27]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-31d5cd27]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-31d5cd27]{font-size:.95em}.responsive-table table tbody td[data-v-31d5cd27]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-31d5cd27]{border:none}.responsive-table table .cell-heading[data-v-31d5cd27]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead[data-v-31d5cd27]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-31d5cd27]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-31d5cd27]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-31d5cd27]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-31d5cd27]{display:flex}}@media screen and (max-width: 500px){.responsive-table table td[data-v-31d5cd27]{width:100%}}.profile-buttons[data-v-31d5cd27]{display:flex;gap:10px}.medium-sport-img[data-v-31d5cd27]{height:35px;width:35px;margin:0 auto}.privacy-policy-text[data-v-31d5cd27]{margin:10px 50px 20px;padding:10px;width:100%}@media screen and (max-width: 700px){.privacy-policy-text[data-v-31d5cd27]{margin:0}}#user-privacy-policy[data-v-a70349ce]{padding:10px 0}#user-privacy-policy form[data-v-a70349ce]{display:flex;flex-direction:column;gap:10px}#user-privacy-policy form .policy-content[data-v-a70349ce]{height:500px;border:1px solid var(--policy-border-color);overflow:auto;margin:10px;border-radius:4px}@media screen and (max-width: 700px){#user-privacy-policy form .policy-content[data-v-a70349ce]{margin:10px 0;font-size:.9em}}#user-privacy-policy form .policy-content .privacy-policy-text[data-v-a70349ce]{width:auto}#user-privacy-policy form .form-buttons[data-v-a70349ce]{display:flex;gap:10px;flex-direction:row}@media screen and (max-width: 500px){#user-privacy-policy form .form-buttons[data-v-a70349ce]{flex-direction:column}}#new-oauth2-app #new-oauth2-title[data-v-e2284e06]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-e2284e06]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-e2284e06]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-e2284e06]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-e2284e06]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-e2284e06]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-e2284e06]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-e2284e06]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-e2284e06]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-e2284e06]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-e2284e06]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-a8ed6bf8]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-a8ed6bf8]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-a8ed6bf8]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-a8ed6bf8]{margin:5px}#oauth2-app .app-buttons[data-v-3a7d0f4a]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-3a7d0f4a]{word-break:break-word}#oauth2-app .client-scopes[data-v-3a7d0f4a]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-3a7d0f4a]{padding-right:15px}#oauth2-app .fa-copy[data-v-3a7d0f4a]{font-size:.9em}#oauth2-app .no-description[data-v-3a7d0f4a]{font-style:italic}#oauth2-app .no-app[data-v-3a7d0f4a]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-064a87b7]{list-style:square}#oauth2-apps-list ul li[data-v-064a87b7]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-064a87b7]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-064a87b7]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-064a87b7]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-064a87b7]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-aa4857fe]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-aa4857fe]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-aa4857fe]{width:170px}#user-sport-preferences .disabled-sport[data-v-aa4857fe]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-aa4857fe]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-aa4857fe]{font-style:normal}#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:70px}#user-sport-preferences .edition-buttons[data-v-aa4857fe]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-aa4857fe]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-aa4857fe]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-aa4857fe]{display:none}#user-sport-preferences div.error-message[data-v-aa4857fe]{margin:0}@media screen and (max-width: 700px){#user-sport-preferences .sport-label[data-v-aa4857fe],#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:45%}#user-sport-preferences .edition-buttons[data-v-aa4857fe]{justify-content:center}#user-sport-preferences .mobile-display[data-v-aa4857fe]{display:flex;margin:20px 0 10px}}@media screen and (max-width: 500px){#user-sport-preferences .sport-label[data-v-aa4857fe],#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:100%}}[data-v-43bcf522]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark][data-v-43bcf522]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark][data-v-43bcf522]{color-scheme:dark}body[data-v-43bcf522]{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body[data-v-43bcf522]::-webkit-scrollbar{width:5px;height:5px}body[data-v-43bcf522]::-webkit-scrollbar-track{background:transparent}body[data-v-43bcf522]::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body[data-v-43bcf522]:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body[data-v-43bcf522]:hover::-webkit-scrollbar-track{background:transparent}#app[data-v-43bcf522]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-43bcf522]{color:var(--app-a-color);text-decoration:none}img[data-v-43bcf522]{max-width:100%}input[data-v-43bcf522],textarea[data-v-43bcf522],select[data-v-43bcf522]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input[data-v-43bcf522]:disabled,textarea[data-v-43bcf522]:disabled,select[data-v-43bcf522]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-43bcf522] :invalid{outline:2px solid var(--input-error-color)}label[data-v-43bcf522]{font-weight:700}button[data-v-43bcf522]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent[data-v-43bcf522]{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent[data-v-43bcf522]:hover,button.transparent[data-v-43bcf522]:disabled{background:transparent}button.transparent[data-v-43bcf522]:hover{color:var(--app-color)}button.transparent[data-v-43bcf522]:enabled:active{box-shadow:none}button.transparent[data-v-43bcf522]:disabled,button.transparent.confirm[data-v-43bcf522]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button[data-v-43bcf522]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-43bcf522]:disabled,button.confirm[data-v-43bcf522]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-43bcf522]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm[data-v-43bcf522]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger[data-v-43bcf522]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-43bcf522]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-43bcf522]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-43bcf522]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-43bcf522]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-43bcf522]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-43bcf522]{display:flex;flex-direction:column}.form-box .form-items input[data-v-43bcf522]{margin:10px;padding:5px}.form-info[data-v-43bcf522]{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-43bcf522]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-43bcf522]{text-transform:uppercase}.view[data-v-43bcf522]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-43bcf522]{color:var(--workout-trophy-color)}.mountains[data-v-43bcf522]{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title[data-v-43bcf522]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-43bcf522]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-43bcf522]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-43bcf522]{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes[data-v-43bcf522]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-43bcf522]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-43bcf522]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-43bcf522]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-43bcf522]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-43bcf522]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-43bcf522]{font-weight:700}.description-list dl dd[data-v-43bcf522]{margin-bottom:10px}.center-card[data-v-43bcf522]{margin:0 auto;width:700px}.center-card.with-margin[data-v-43bcf522]{margin-top:100px}@media screen and (max-width: 1000px){.center-card[data-v-43bcf522]{width:100%;margin:0 auto 50px}}.text-center[data-v-43bcf522]{text-align:center}.text-left[data-v-43bcf522]{text-align:left}.responsive-table[data-v-43bcf522]{margin-bottom:15px}.responsive-table table[data-v-43bcf522]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-43bcf522]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-43bcf522]{font-size:.95em}.responsive-table table tbody td[data-v-43bcf522]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-43bcf522]{border:none}.responsive-table table .cell-heading[data-v-43bcf522]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead[data-v-43bcf522]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-43bcf522]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-43bcf522]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-43bcf522]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-43bcf522]{display:flex}}@media screen and (max-width: 500px){.responsive-table table td[data-v-43bcf522]{width:100%}}.profile-buttons[data-v-43bcf522]{display:flex;gap:10px}.medium-sport-img[data-v-43bcf522]{height:35px;width:35px;margin:0 auto}.about-text[data-v-43bcf522]{margin-top:200px;margin-right:100px}@media screen and (max-width: 700px){.about-text[data-v-43bcf522]{margin-top:0;margin-right:0}}.about-text .fa-padding[data-v-43bcf522]{padding-right:10px}.about-text .about-instance[data-v-43bcf522]{font-weight:700;margin-top:30px}#bike[data-v-dc181e30]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-dc181e30]{max-width:200px}@media screen and (max-width: 700px){#bike[data-v-dc181e30]{margin-top:10px}#bike .bike-img[data-v-dc181e30]{max-width:150px}}#about[data-v-ef9c7198]{display:flex;height:100%}#about .container[data-v-ef9c7198]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-ef9c7198]{min-width:50%;height:100%}#about .container .about-details[data-v-ef9c7198]{width:100%}@media screen and (max-width: 1000px){#about[data-v-ef9c7198]{height:auto}#about .container .container-sub[data-v-ef9c7198]{align-items:center}#about .container .container-sub .bike-img[data-v-ef9c7198]{max-width:60%}}@media screen and (max-width: 700px){#about .container[data-v-ef9c7198]{flex-direction:column}}#error[data-v-48ec856d]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-48ec856d]{margin-top:50px}#error .error-content h1[data-v-48ec856d]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-48ec856d]{font-size:1.2em;margin:30px 0}#admin .admin-card[data-v-5eee0876]{width:100%}#admin .admin-card[data-v-5eee0876] .card .admin-form{display:flex;flex-direction:column}#admin .admin-card[data-v-5eee0876] .card .admin-form label{display:flex;align-items:center;justify-content:space-between;margin:10px 0;flex-wrap:wrap}#admin .admin-card[data-v-5eee0876] .card .admin-form label input{width:50%;font-size:.9em;margin-right:50px}@media screen and (max-width: 1000px){#admin .admin-card[data-v-5eee0876] .card .admin-form label input{margin-right:0}}@media screen and (max-width: 700px){#admin .admin-card[data-v-5eee0876] .card .admin-form label input{width:100%}}#admin .admin-card[data-v-5eee0876] .card .admin-form label input:disabled{-webkit-appearance:none;-moz-appearance:textfield;background-color:var(--admin-disabled-input-color);border-color:var(--admin-disabled-input-color);color:var(--app-color)}#admin .admin-card[data-v-5eee0876] .card .admin-form .form-buttons{display:flex;gap:10px;margin-bottom:10px}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100;filter:var(--map-display-hover-filter)}.static-map.display-hover .map-attribution-text{color:var(--map-display-hover-attribution-text);background-color:var(--map-attribution-bg-color)}.static-map .bg-map-image{background-size:cover;background-position:center;opacity:.6;height:200px;width:100%;filter:var(--map-filter)}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{color:var(--map-attribution-text);background-color:var(--map-attribution-bg-color)}.mountains[data-v-e44ad394]{padding-right:5px}.timeline-workout[data-v-e44ad394]{margin-bottom:20px}.timeline-workout .box[data-v-e44ad394]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-e44ad394]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-e44ad394]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-e44ad394] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-e44ad394] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-e44ad394]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-e44ad394]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-e44ad394]{display:block;text-align:center;padding:0 10px}@media screen and (max-width: 500px){.timeline-workout .box .workout-user-date .workout-title[data-v-e44ad394]{display:none}}.timeline-workout .box .workout-map[data-v-e44ad394]{background-color:var(--workout-static-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-e44ad394]{line-height:150px;filter:var(--no-map-filter)}.timeline-workout .box .workout-map[data-v-e44ad394] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-e44ad394]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-e44ad394]{height:25px;width:25px}.timeline-workout .box .workout-data .img[data-v-e44ad394],.timeline-workout .box .workout-data .data[data-v-e44ad394]{display:flex;align-items:center}.timeline-workout .box .workout-data .img .data-values[data-v-e44ad394],.timeline-workout .box .workout-data .data .data-values[data-v-e44ad394]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-e44ad394]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-e44ad394]{justify-content:center;width:22%}@media screen and (max-width: 500px){.timeline-workout .box .workout-data .img[data-v-e44ad394]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-e44ad394]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-e44ad394],.timeline-workout .box .workout-data .elevation[data-v-e44ad394]{display:none}}.timeline-workout .box .workout-data.without-elevation .img[data-v-e44ad394],.timeline-workout .box .workout-data.without-elevation .data[data-v-e44ad394]{justify-content:center;width:33%}.timeline-workout .box .workout-map[data-v-e44ad394],.timeline-workout .box .workout-data[data-v-e44ad394]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-e44ad394]{cursor:default}.timeline-workout .box .fa[data-v-e44ad394]{padding-right:10px}.no-workouts[data-v-b0c91cc6]{display:flex;justify-content:center}#timeline[data-v-e0964959]{margin-bottom:20px}#timeline .more-workouts[data-v-e0964959]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width: 700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}.calendar-workouts-chart[data-v-bf05bb20]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-bf05bb20]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width: 700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-bf05bb20]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-bf05bb20]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-bf05bb20]{background:var(--calendar-workouts-color);border-radius:4px;box-shadow:0 4px 8px 0 var(--calendar-workouts-box-shadow-0),0 6px 20px 0 var(--calendar-workouts-box-shadow-1);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width: 700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-bf05bb20]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-bf05bb20]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width: 700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width: 700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width: 700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--calendar-day-color)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}.bar-chart[data-v-d506f845]{position:relative;min-height:400px;width:100%}.bar-chart.minimal[data-v-d506f845]{min-height:300px}@media screen and (max-width: 700px){.bar-chart[data-v-d506f845]{min-height:268px}.bar-chart.minimal[data-v-d506f845]{min-height:290px}}@media screen and (max-width: 420px){.bar-chart[data-v-d506f845]{width:calc(100vw - 95px)}}.stats-chart[data-v-b8d7f5c9]{width:100%}.stats-chart .chart-radio[data-v-b8d7f5c9]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.stats-chart .chart-radio label[data-v-b8d7f5c9]{font-size:.85em;font-weight:400}@media screen and (max-width: 700px){.stats-chart .chart-radio label[data-v-b8d7f5c9]{padding-bottom:10px}}.user-month-stats[data-v-8f59a282] .card-content{padding:10px}.records-card[data-v-64523a87]{width:100%;padding-bottom:3px}.records-card[data-v-64523a87] .card{font-size:.9em}.records-card[data-v-64523a87] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-64523a87] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-64523a87] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-64523a87] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-64523a87] .card .card-content .record span{padding:2px}.records-card[data-v-64523a87] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-64523a87] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:10px}.records-card[data-v-64523a87] .card .card-content .record .record-date{white-space:nowrap;min-width:30%;text-align:right}@media screen and (max-width: 1000px){.records-card[data-v-64523a87] .card,.records-card[data-v-64523a87] .card .card-title{font-size:1em}.records-card[data-v-64523a87] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-fff33919]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}.privacy-policy-message[data-v-1b250692]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;padding:10px 20px}.privacy-policy-message .policy-link[data-v-1b250692]{color:var(--policy-link-color);text-decoration:underline}#dashboard .dashboard-container[data-v-8f5da609]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-8f5da609]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-8f5da609]{width:32%}#dashboard .dashboard-container .right-container[data-v-8f5da609]{width:68%}#dashboard .mobile-menu[data-v-8f5da609]{display:none}#dashboard .privacy-policy-message[data-v-8f5da609]{display:flex;justify-content:center}@media screen and (max-width: 1000px){#dashboard[data-v-8f5da609]{padding-bottom:60px}#dashboard .dashboard-container[data-v-8f5da609]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-8f5da609],#dashboard .dashboard-container .right-container[data-v-8f5da609]{width:100%}#dashboard .mobile-menu[data-v-8f5da609]{display:flex}#dashboard .mobile-menu .box[data-v-8f5da609]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-8f5da609]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-8f5da609]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-8f5da609]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-8f5da609]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-8f5da609]{display:none}}@media screen and (max-width: 700px){#dashboard .privacy-policy-message[data-v-8f5da609]{margin:0 5px}}.chart-menu[data-v-174c91c4]{display:flex;align-items:center}.chart-menu .chart-arrow[data-v-174c91c4],.chart-menu .time-frames[data-v-174c91c4]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-174c91c4]{cursor:pointer}.sports-menu{display:flex;flex-wrap:wrap;padding:10px}.sports-menu label{display:flex;align-items:center;font-size:.9em;font-weight:400;min-width:120px;padding:10px}@media screen and (max-width: 1000px){.sports-menu label{min-width:100px}}@media screen and (max-width: 500px){.sports-menu label{min-width:20px}.sports-menu label .sport-label{display:none}}.sports-menu .sport-img{padding:3px;width:20px;height:20px}#user-statistics.stats-disabled[data-v-b145e4ac]{opacity:.3;pointer-events:none}#user-statistics[data-v-b145e4ac] .chart-radio{justify-content:space-around;padding:30px 10px 10px}#statistics[data-v-0aa997fa]{display:flex;width:100%}#statistics .container[data-v-0aa997fa]{display:flex;flex-direction:column;width:100%}[data-v-13388f00]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}#user-auth-form[data-v-13388f00]{display:flex}#user-auth-form #user-form[data-v-13388f00]{width:60%}#user-auth-form #user-form .account[data-v-13388f00]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-13388f00]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-13388f00]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-13388f00]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-13388f00]{margin:10px}#user-auth-form #user-form .accepted_policy[data-v-13388f00]{display:flex;align-items:center;font-size:.85em;font-weight:400}@media screen and (max-width: 1000px){#user-auth-form[data-v-13388f00]{margin-bottom:50px}#user-auth-form #user-form[data-v-13388f00]{width:100%}}.user-form[data-v-13388f00]{margin-top:200px}@media screen and (max-width: 700px){.user-form[data-v-13388f00]{margin-top:10px}}#account-confirmation-email[data-v-b0299010]{display:flex;flex-direction:column}#account-confirmation-email .email-sent[data-v-b0299010]{display:flex;flex-direction:column;align-items:center}#account-confirmation-email .email-sent svg[data-v-b0299010]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#account-confirmation-email .email-sent .email-sent-message[data-v-b0299010]{font-size:1.1em;text-align:center}@media screen and (max-width: 1000px){#account-confirmation-email .email-sent .email-sent-message[data-v-b0299010]{font-size:1em}}#account-confirmation-email[data-v-b0299010] .card .card-content #user-auth-form{margin-top:0}#account-confirmation-email[data-v-b0299010] .card .card-content #user-auth-form #user-form{width:100%}#account-confirmation[data-v-9a9c1644]{display:flex}#account-confirmation .container[data-v-9a9c1644]{display:flex;justify-content:center;width:50%}@media screen and (max-width: 700px){#account-confirmation .container[data-v-9a9c1644]{width:100%}}#account-confirmation[data-v-a0fa0b62]{display:flex;flex-direction:column;align-items:center}#account-confirmation svg[data-v-a0fa0b62]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#account-confirmation .error-message[data-v-a0fa0b62]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width: 1000px){#account-confirmation .error-message[data-v-a0fa0b62]{font-size:1em}}#email-update[data-v-b8fbd32f]{display:flex;flex-direction:column;align-items:center}#email-update svg[data-v-b8fbd32f]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#email-update .error-message[data-v-b8fbd32f]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width: 1000px){#email-update .error-message[data-v-b8fbd32f]{font-size:1em}}#loginOrRegister[data-v-84d61340]{display:flex}#loginOrRegister .container[data-v-84d61340]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-84d61340]{min-width:50%;height:100%}@media screen and (max-width: 1000px){#loginOrRegister[data-v-84d61340]{height:auto}#loginOrRegister .container .container-sub[data-v-84d61340]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-84d61340]{max-width:60%}}@media screen and (max-width: 700px){#loginOrRegister .container[data-v-84d61340]{flex-direction:column}}#password-action-done[data-v-ee1004fc]{display:flex;flex-direction:column;align-items:center}#password-action-done svg[data-v-ee1004fc]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#password-action-done .password-message[data-v-ee1004fc]{font-size:1.1em;text-align:center}@media screen and (max-width: 1000px){#password-action-done .password-message[data-v-ee1004fc]{font-size:1em}}#password-reset-request[data-v-97f01ba1] .card .card-content #user-form{width:100%}#password-reset[data-v-5cbe9029]{display:flex}#password-reset .container[data-v-5cbe9029]{display:flex;justify-content:center;width:50%}@media screen and (max-width: 700px){#password-reset .container[data-v-5cbe9029]{width:100%}}#profile[data-v-af92ad3a]{display:flex;flex-direction:column;padding:0 10px 40px}#profile[data-v-af92ad3a] .profile-form{display:flex;flex-direction:column}#profile[data-v-af92ad3a] .profile-form hr{border-color:var(--card-border-color);border-width:1px 0 0 0}#profile[data-v-af92ad3a] .profile-form .form-items{display:flex;flex-direction:column}#profile[data-v-af92ad3a] .profile-form .form-items input{margin:5px 0}#profile[data-v-af92ad3a] .profile-form .form-items select{height:35px;padding:5px 0}#profile[data-v-af92ad3a] .profile-form .form-items ::v-deep(.custom-textarea) textarea{padding:5px}#profile[data-v-af92ad3a] .profile-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#profile[data-v-af92ad3a] .profile-form .form-items .birth-date{height:20px}#profile[data-v-af92ad3a] .profile-form .form-buttons{display:flex;margin-top:10px;padding:10px 0;gap:10px}#user[data-v-1b7a0b4f]{margin:auto;width:700px}@media screen and (max-width: 1000px){#user[data-v-1b7a0b4f]{width:100%;margin:0 auto 50px}}#workout-edition[data-v-4c5a9cd1] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content{padding:10px 0}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data{display:flex;flex-direction:row;justify-content:space-between}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data .form-item{width:30%}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data{flex-direction:column}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data .form-item{width:initial}}@media screen and (max-width: 700px){#workout-edition[data-v-4c5a9cd1]{margin-bottom:0}#workout-edition.center-form[data-v-4c5a9cd1]{margin:50px auto}#workout-edition.with-margin[data-v-4c5a9cd1]{margin-top:0}}#workout-edition .errored[data-v-4c5a9cd1]{outline:2px solid var(--input-error-color)}#workout-card-title[data-v-e1628a52]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-e1628a52]{cursor:pointer;padding:10px}#workout-card-title .workout-arrow.inactive[data-v-e1628a52]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-e1628a52]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-e1628a52]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-e1628a52] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-e1628a52]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-e1628a52]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-e1628a52]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-e1628a52]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-e1628a52]{padding:0 3px}#workout-card-title .workout-card-title .icon-button[data-v-e1628a52]{cursor:pointer;padding:0;margin-left:2px}@media screen and (max-width: 700px){#workout-card-title .workout-arrow[data-v-e1628a52]{padding:5px}}@media screen and (max-width: 700px) and (max-width: 700px){#workout-card-title .workout-card-title .fa-download[data-v-e1628a52],#workout-card-title .workout-card-title .fa-trash[data-v-e1628a52],#workout-card-title .workout-card-title .fa-edit[data-v-e1628a52]{padding:0 7px}}.workout-record sup[data-v-1b247cbe]{font-size:75%;line-height:0}.wind[data-v-e1f7f9cc]{display:flex;justify-content:center}.wind .wind-bearing[data-v-e1f7f9cc]{padding-left:5px}#workout-weather[data-v-be2fffb0]{padding-top:10px}#workout-weather .weather-img[data-v-be2fffb0]{height:30px;filter:var(--icon-svg-filter)}#workout-weather .weather-img-small[data-v-be2fffb0]{height:20px}#workout-weather .weather-table[data-v-be2fffb0]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-be2fffb0]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-be2fffb0]{font-size:.8em}#workout-info[data-v-9341b3e8]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-9341b3e8],#workout-info .mountains[data-v-9341b3e8]{padding-right:5px}#workout-info .workout-data[data-v-9341b3e8]{padding:5px 0}#workout-info .workout-data .label[data-v-9341b3e8]{text-transform:capitalize}#workout-info .workout-data .value[data-v-9341b3e8]{font-weight:700;text-transform:lowercase}@media screen and (max-width: 700px){#workout-info[data-v-9341b3e8]{padding:10px}}#workout-map[data-v-dac2dfa0]{padding:10px 0}#workout-map .leaflet-container[data-v-dac2dfa0],#workout-map .no-map[data-v-dac2dfa0]{height:400px;width:600px}#workout-map .no-map[data-v-dac2dfa0]{line-height:400px;filter:var(--no-map-filter)}#workout-map .leaflet-container .map[data-v-dac2dfa0]{filter:var(--map-filter)}#workout-map .leaflet-container .map-control[data-v-dac2dfa0]{background:var(--map-control-bg-color);padding:5px 10px;border:2px solid var(--map-control-border-color);border-radius:3px;color:var(--map-control-color)}#workout-map .leaflet-container .map-control[data-v-dac2dfa0]:hover{background-color:var(--map-control-hover-bg-color)}#workout-map[data-v-dac2dfa0] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-dac2dfa0] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width: 700px){#workout-map[data-v-dac2dfa0]{padding:0}#workout-map .leaflet-container[data-v-dac2dfa0]{width:100%;height:300px}#workout-map .no-map[data-v-dac2dfa0]{display:none}}.workout-detail[data-v-f8b05eca]{display:flex}.workout-detail[data-v-f8b05eca] .card{width:100%}.workout-detail[data-v-f8b05eca] .card .card-title{padding:10px 15px}.workout-detail[data-v-f8b05eca] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width: 1000px){.workout-detail[data-v-f8b05eca] .card .card-content{flex-direction:column}}#workout-chart[data-v-b15bb69d] .card .card-title{text-transform:capitalize}#workout-chart[data-v-b15bb69d] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-b15bb69d] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-b15bb69d] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul li span{border-radius:5%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:20px}#workout-chart[data-v-b15bb69d] .card .card-content .line-chart{min-height:400px}@media screen and (max-width: 700px){#workout-chart[data-v-b15bb69d] .card .card-content{padding:10px 0}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}#workout-chart[data-v-b15bb69d] .card .card-content .line-chart{min-height:338px}}#workout-note[data-v-f3e81eff] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-15725c61] .card .card-title{text-transform:capitalize}#workout-segments[data-v-15725c61] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-15725c61] .card .card-content a{font-weight:700}#workout-segments[data-v-15725c61] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-eac6aa4b]{display:flex}#workout .container[data-v-eac6aa4b]{width:100%;padding:0}#workout .container .workout-container[data-v-eac6aa4b]{width:100%}#workout .container .workout-loading[data-v-eac6aa4b]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-eac6aa4b]{display:flex;align-items:center;height:100%}.workouts-filters .form .form-all-items[data-v-29caaf8f]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item[data-v-29caaf8f]{display:flex;flex-direction:column}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:34%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item input[data-v-29caaf8f]{height:16px}.workouts-filters .form .form-all-items .form-items-group .form-item select[data-v-29caaf8f]{height:38px;padding:0 5px}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:10px}.workouts-filters .form .form-all-items .form-items-group .form-item-title input.title[data-v-29caaf8f]{width:100%}.workouts-filters .form-button[data-v-29caaf8f]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-29caaf8f]{margin-top:10px;width:100%}@media screen and (max-width: 1000px){.workouts-filters .form .form-all-items[data-v-29caaf8f]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{padding:0 5px;height:100%}.workouts-filters .form .form-all-items .form-items-group .form-item label[data-v-29caaf8f],.workouts-filters .form .form-all-items .form-items-group .form-item span[data-v-29caaf8f]{font-size:.9em}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:85%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:0}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:0}.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:initial}.workouts-filters .form-button button[data-v-29caaf8f]{margin:10px 5px;width:100%}}@media screen and (max-width: 700px){.workouts-filters .form .form-all-items[data-v-29caaf8f]{flex-direction:column;padding-top:0}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item label[data-v-29caaf8f]{font-size:1em}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:50%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:5px}.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:initial}.workouts-filters .form-button button[data-v-29caaf8f]{margin:10px 5px}}@media screen and (max-width: 500px){.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:wrap}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:10px}.workouts-filters .form .form-all-items .form-items-group .form-item-title input.title[data-v-29caaf8f]{width:100%}}.workouts-list[data-v-bb980a00]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-bb980a00]{padding:10px 15px}@media screen and (max-width: 700px){.workouts-list .box.empty-table[data-v-bb980a00]{display:none}}.workouts-list .box .total[data-v-bb980a00]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-bb980a00]{font-weight:700}.workouts-list .box .top-pagination[data-v-bb980a00]{display:none}@media screen and (max-width: 700px){.workouts-list .box .top-pagination[data-v-bb980a00]{display:flex}}@media screen and (max-width: 700px){.workouts-list .box[data-v-bb980a00] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .smaller th[data-v-bb980a00]{font-size:.95em;padding:10px 0;max-width:100px}.workouts-list .box .workouts-table td[data-v-bb980a00]{text-align:right}.workouts-list .box .workouts-table .sport-col[data-v-bb980a00]{padding:0}.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{text-align:left;width:100px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-bb980a00]{font-size:.75em;padding-right:5px}.workouts-list .box .workouts-table .workout-title .nav-item[data-v-bb980a00]{white-space:nowrap}.workouts-list .box .workouts-table .workout-title .nav-item .title[data-v-bb980a00]{word-break:break-word;white-space:normal}.workouts-list .box .workouts-table .workout-title .static-map[data-v-bb980a00]{display:none;box-shadow:3px 3px 3px 1px var(--workout-static-map-shadow-color)}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-bb980a00]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-bb980a00]{height:20px;width:20px}.workouts-list .box .workouts-table .workout-date[data-v-bb980a00]{max-width:60px;text-align:left}@media screen and (max-width: 700px){.workouts-list .box .workouts-table td[data-v-bb980a00],.workouts-list .box .workouts-table .workout-date[data-v-bb980a00],.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{text-align:center}.workouts-list .box .workouts-table .sport-col[data-v-bb980a00]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-date[data-v-bb980a00]{max-width:initial}.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{max-width:initial;width:100%}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-bb980a00]{display:none}}.workouts-list .more-workouts[data-v-bb980a00]{display:flex;justify-content:center;padding:10px}#workouts .workouts-container[data-v-3fa59b88]{display:flex;flex-direction:row}@media screen and (max-width: 1000px){#workouts .workouts-container[data-v-3fa59b88]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-3fa59b88],#workouts .workouts-container .list-container[data-v-3fa59b88]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-3fa59b88]{width:25%}@media screen and (max-width: 1000px){#workouts .workouts-container .filters-container[data-v-3fa59b88]{width:100%}}@media screen and (max-width: 1000px) and (max-width: 700px){#workouts .workouts-container .filters-container.hidden[data-v-3fa59b88]{display:none}}#workouts .workouts-container .display-filters[data-v-3fa59b88]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-3fa59b88]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-3fa59b88]{cursor:pointer}@media screen and (max-width: 700px){#workouts .workouts-container .display-filters[data-v-3fa59b88]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-3fa59b88]{width:75%}@media screen and (max-width: 1000px){#workouts .workouts-container .list-container[data-v-3fa59b88]{width:100%}} diff --git a/fittrackee/dist/static/css/index-c_c6nkZl.css b/fittrackee/dist/static/css/index-c_c6nkZl.css new file mode 100644 index 00000000..490420c3 --- /dev/null +++ b/fittrackee/dist/static/css/index-c_c6nkZl.css @@ -0,0 +1 @@ +@charset "UTF-8";#footer[data-v-7bc410b7]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer .footer-items[data-v-7bc410b7]{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-7bc410b7]{padding:10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width: 500px){#footer .footer-items[data-v-7bc410b7]{border-top:solid 1px var(--footer-border-color);font-size:.85em;padding:0 0 2px}#footer .footer-items .footer-item[data-v-7bc410b7]{border-top:none;padding:1px 5px}#footer .footer-items .bullet[data-v-7bc410b7]{padding:1px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}[data-v-2cae01c1]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-a-text-decoration-color: #d2d2d2;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}#nav[data-v-2cae01c1]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav a[data-v-2cae01c1]{text-decoration:none}#nav .nav-container[data-v-2cae01c1]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-2cae01c1]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-2cae01c1]{font-size:1.2em;font-weight:700;margin-right:10px;line-height:1.6em}#nav .fa[data-v-2cae01c1]{font-size:1.2em}#nav .nav-icon-open[data-v-2cae01c1],#nav .hamburger-icon[data-v-2cae01c1],#nav .close-icon[data-v-2cae01c1]{display:none}#nav .menu-button[data-v-2cae01c1]{padding:0}#nav .nav-items[data-v-2cae01c1]{display:flex;flex:1;justify-content:space-between;line-height:2em;width:100%}#nav .nav-items .nav-items-close[data-v-2cae01c1]{display:none}#nav .nav-items .nav-items-app-menu[data-v-2cae01c1],#nav .nav-items .nav-items-user-menu[data-v-2cae01c1]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-2cae01c1]{display:flex}#nav .nav-items .nav-item[data-v-2cae01c1]{padding:0 10px;height:28px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-2cae01c1]{padding:0;margin-left:2px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-2cae01c1] .dropdown-list{z-index:1000;margin-left:-150px!important;width:180px!important}#nav .nav-items .nav-link[data-v-2cae01c1]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-2cae01c1]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-2cae01c1] .user-picture img{height:32px;width:32px;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-2cae01c1] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-2cae01c1]{display:none}#nav .nav-items .nav-button[data-v-2cae01c1]{padding:5px 7.5px;margin-left:2px}#nav .nav-items .nav-button .nav-button-fa[data-v-2cae01c1]{display:block}#nav .nav-items .nav-button .nav-button-text[data-v-2cae01c1]{display:none}#nav .nav-items .clear-theme[data-v-2cae01c1]{filter:var(--workout-img-color);height:20px;margin-bottom:-5px}@media screen and (max-width: 1000px){#nav .hamburger-icon[data-v-2cae01c1]{display:block}#nav .nav-icon-open[data-v-2cae01c1]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-2cae01c1]{display:none}#nav .close-icon[data-v-2cae01c1]{display:block}#nav .close-icon.menu-closed[data-v-2cae01c1],#nav .nav-items[data-v-2cae01c1]{display:none}#nav .nav-items.menu-open[data-v-2cae01c1]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-close[data-v-2cae01c1],#nav .nav-items.menu-open .nav-items-app-menu[data-v-2cae01c1],#nav .nav-items.menu-open .nav-items-user-menu[data-v-2cae01c1]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-2cae01c1]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-2cae01c1]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-2cae01c1]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-group .nav-button[data-v-2cae01c1]{padding:10px 10px 10px 24px;color:var(--app-a-color);text-align:left}#nav .nav-items.menu-open .nav-items-group .nav-button .nav-button-fa[data-v-2cae01c1]{display:none;width:36px}#nav .nav-items.menu-open .nav-items-group .nav-button .nav-button-text[data-v-2cae01c1]{display:block}#nav .nav-items.menu-open .nav-item[data-v-2cae01c1]{padding:7px 25px}#nav .nav-items.menu-open .nav-item.dropdown-wrapper[data-v-2cae01c1]{padding-left:20px}#nav .nav-items.menu-open .nav-item.dropdown-wrapper[data-v-2cae01c1] .dropdown-list{margin-left:initial!important;width:auto!important;height:200px;overflow-y:scroll}#nav .nav-items.menu-open .nav-profile-img[data-v-2cae01c1]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-2cae01c1]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}#nav .theme-button[data-v-2cae01c1]{margin-left:20px}}#no-config[data-v-73140811]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-73140811]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-73140811]{width:150px}#no-config .error-page .error-img svg[data-v-73140811]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-73140811]{font-size:1.2em;text-align:center}@media screen and (max-width: 1000px){#no-config .error-page .error-message[data-v-73140811]{font-size:1em}}:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-a-text-decoration-color: #d2d2d2;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-a-text-decoration-color: #494949;--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark]{color-scheme:dark}body{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body::-webkit-scrollbar{width:5px;height:5px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body:hover::-webkit-scrollbar-track{background:transparent}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a{color:var(--app-a-color);text-decoration-color:var(--app-a-text-decoration-color)}a:hover,a:focus{text-decoration-color:var(--app-a-color)}img{max-width:100%}input,textarea,select{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input:disabled,textarea:disabled,select:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors :invalid{outline:2px solid var(--input-error-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent:hover,button.transparent:disabled{background:transparent}button.transparent:hover{color:var(--app-color)}button.transparent:enabled:active{box-shadow:none}button.transparent:disabled,button.transparent.confirm:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled,button.confirm:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.form-info{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width: 1000px){.center-card{width:100%;margin:0 auto 50px}}.text-center{text-align:center}.text-left{text-align:left}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width: 500px){.responsive-table table td{width:100%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px var(--app-shadow-color);display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.alert-message[data-v-f7bf1117]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}.custom-textarea[data-v-57267720]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-57267720]{font-size:.8em;font-style:italic}.strong[data-v-0f0f76cd]{font-weight:700}.dropdown-wrapper .dropdown-selector[data-v-46c11932]{margin:0;padding:5px}.dropdown-wrapper .dropdown-list[data-v-46c11932]{list-style-type:none;background-color:var(--dropdown-background-color);padding:0!important;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:solid 1px var(--dropdown-border-color);box-shadow:2px 2px 5px var(--app-shadow-color);width:auto!important}.dropdown-wrapper .dropdown-list .dropdown-item[data-v-46c11932]{padding:3px 12px}.dropdown-wrapper .dropdown-list .dropdown-item.selected[data-v-46c11932]{font-weight:700}.dropdown-wrapper .dropdown-list .dropdown-item.selected[data-v-46c11932]:after{content:" ✔"}.dropdown-wrapper .dropdown-list .dropdown-item[data-v-46c11932]:hover{background-color:var(--dropdown-hover-color)}.error-message[data-v-5dcde231]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-8b613881]{animation:spin-8b613881 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@keyframes spin-8b613881{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#modal[data-v-e277942a]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240;display:flex;justify-content:center;align-items:center}#modal .custom-modal[data-v-e277942a]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;z-index:1250}@media screen and (max-width: 1000px){#modal .custom-modal[data-v-e277942a]{width:100%}}#modal .custom-modal[data-v-e277942a] .card{border:0;margin:0}#modal .custom-modal[data-v-e277942a] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e277942a] .card .card-content .modal-buttons button{margin:5px}#admin-app .user-limit-help[data-v-a720b26e]{display:flex}#admin-app .user-limit-help span[data-v-a720b26e]{font-style:italic}#admin-app .user-limit-help .fa-info-circle[data-v-a720b26e]{margin-right:10px}#admin-app .no-contact[data-v-a720b26e]{font-style:italic}#admin-app textarea[data-v-a720b26e]{margin-bottom:10px}#admin-app .textarea-description[data-v-a720b26e]{font-style:italic}#admin-app .textarea-content[data-v-a720b26e]{margin-bottom:10px;padding:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width: 700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width: 1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width: 500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}#admin-menu[data-v-efcd2677]{display:flex}#admin-menu.center-card[data-v-efcd2677]{width:100%}#admin-menu[data-v-efcd2677] .card{flex-grow:1}#admin-menu[data-v-efcd2677] .card .admin-menu{padding:0 10px}#admin-menu[data-v-efcd2677] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-efcd2677] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-203d96b8]{font-size:1.1em}#admin-sports .sport-img[data-v-203d96b8]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-203d96b8]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-203d96b8]{padding-left:40px}#admin-sports .action-button[data-v-203d96b8]{display:block}#admin-sports .top-button[data-v-203d96b8]{display:none}@media screen and (max-width: 700px){#admin-sports .sport-action[data-v-203d96b8]{padding-left:10px}#admin-sports .has-workouts[data-v-203d96b8]{padding-top:5px}#admin-sports .action-button[data-v-203d96b8]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-203d96b8]{display:block;margin-bottom:20px}}.table-selects[data-v-fc86ab3c]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-fc86ab3c]{margin-left:10px;padding:5px}@media screen and (max-width: 700px){.table-selects[data-v-fc86ab3c]{flex-wrap:wrap}.table-selects label[data-v-fc86ab3c]{margin-bottom:10px}.table-selects label select[data-v-fc86ab3c]{margin-left:0}}.pagination-center[data-v-69dd9739]{display:flex;justify-content:center;font-size:.9em}.pagination-center a[data-v-69dd9739]{text-decoration:none}.pagination-center .pagination[data-v-69dd9739]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-prev[data-v-69dd9739],.pagination-center .pagination .page-next[data-v-69dd9739],.pagination-center .pagination .page[data-v-69dd9739]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-prev.active[data-v-69dd9739],.pagination-center .pagination .page-next.active[data-v-69dd9739],.pagination-center .pagination .page.active[data-v-69dd9739]{font-weight:700}.pagination-center .pagination .page-prev.disabled[data-v-69dd9739],.pagination-center .pagination .page-next.disabled[data-v-69dd9739],.pagination-center .pagination .page.disabled[data-v-69dd9739]{cursor:default}.pagination-center .pagination .page-prev.disabled a[data-v-69dd9739],.pagination-center .pagination .page-next.disabled a[data-v-69dd9739],.pagination-center .pagination .page.disabled a[data-v-69dd9739]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-69dd9739]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-69dd9739]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-69dd9739]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-69dd9739]{font-size:.8em;padding:0 5px}@media screen and (max-width: 1000px){.pagination-center .pagination .page[data-v-69dd9739]{display:none}}.users-filters[data-v-553040c7]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-553040c7]{font-size:1.5em}.users-filters .fa-disabled[data-v-553040c7]{color:var(--disabled-color)}.users-filters .search-username[data-v-553040c7]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-553040c7]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-553040c7]:focus{outline:none}.users-filters .search-username .fa-times[data-v-553040c7]{padding-right:10px}@media screen and (max-width: 700px){.users-filters .search-username[data-v-553040c7]{width:400px}}@media screen and (max-width: 500px){.users-filters .search-username[data-v-553040c7]{width:90%}}#admin-users .top-button[data-v-4beb3bfa]{display:none}#admin-users .no-users[data-v-4beb3bfa]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-4beb3bfa]{font-size:1.1em}#admin-users .left-text[data-v-4beb3bfa]{text-align:left}#admin-users[data-v-4beb3bfa] .user-picture img{height:30px;width:30px}#admin-users[data-v-4beb3bfa] .user-picture .no-picture{font-size:2em}@media screen and (max-width: 700px){#admin-users .top-button[data-v-4beb3bfa]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4beb3bfa]{margin-top:-30px}}.user-header[data-v-3abb1646]{display:flex;align-items:stretch}.user-header .user-details[data-v-3abb1646]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-3abb1646]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-3abb1646]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646],.user-header .user-details .user-stats .user-stat .stat-label[data-v-3abb1646]{padding:0 5px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646] .distance,.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646]{font-weight:700;font-size:1.5em}@media screen and (max-width: 500px){.user-header .user-details .user-name[data-v-3abb1646]{font-size:1.5em}.user-header .user-details .user-stats[data-v-3abb1646]{gap:20px}.user-header .user-details .user-stats .user-stat[data-v-3abb1646] .distance,.user-header .user-details .user-stats .user-stat .stat-number[data-v-3abb1646]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-3abb1646]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-bottom:10px}#user-profile[data-v-8a058d49]{margin:auto;width:700px}@media screen and (max-width: 1000px){#user-profile[data-v-8a058d49]{width:100%;margin:0 auto 50px}}#user-infos .user-bio[data-v-98220281]{white-space:pre-wrap}#user-infos .alert-message[data-v-98220281]{margin:0}#user-infos .profile-buttons[data-v-98220281]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-98220281]{display:flex}#user-infos .email-form form[data-v-98220281]{width:100%}#user-infos .email-form .form-buttons[data-v-98220281]{display:flex;gap:10px;margin-top:10px}#user-preferences .preferences-section[data-v-b0528e22]{font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--card-border-color)}#user-preferences .raw-speed-help[data-v-b0528e22]{margin-top:-5px}.password-strength[data-v-1affb508]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-1affb508]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-1affb508],.password-strength .strength-1[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-weak)),color-stop(100%,var(--password-color-weak)));background-image:-webkit-linear-gradient(left,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:-moz-linear-gradient(left,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:-o-linear-gradient(to right,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-image:linear-gradient(to right,var(--password-color-weak) 0%,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-medium)),color-stop(100%,var(--password-color-medium)));background-image:-webkit-linear-gradient(left,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:-moz-linear-gradient(left,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:-o-linear-gradient(to right,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-image:linear-gradient(to right,var(--password-color-medium) 0%,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-good)),color-stop(100%,var(--password-color-good)));background-image:-webkit-linear-gradient(left,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:-moz-linear-gradient(left,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:-o-linear-gradient(to right,var(--password-color-good) 0%,var(--password-color-good) 100%);background-image:linear-gradient(to right,var(--password-color-good) 0%,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-1affb508]{background:var(--password-bg-color);background-image:-webkit-gradient(linear,20% 0%,20% 100%,color-stop(0%,var(--password-color-strong)),color-stop(100%,var(--password-color-strong)));background-image:-webkit-linear-gradient(left,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:-moz-linear-gradient(left,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:-o-linear-gradient(to right,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-image:linear-gradient(to right,var(--password-color-strong) 0%,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-1affb508]::-webkit-slider-thumb,.password-strength .password-slider[data-v-1affb508]::-moz-range-thumb{opacity:0}.password-strength .password-slider[data-v-1affb508]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-1affb508]::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-1affb508]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-1affb508]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-1affb508]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-1affb508]{padding-left:20px}.password-input[data-v-ac528612]{display:flex;flex-direction:column}.password-input .show-password[data-v-ac528612]{margin-top:-5px;display:flex;justify-content:right}.password-input .show-password button[data-v-ac528612]{font-style:italic;font-size:.85em;padding:5px 10px;cursor:pointer}.form-items .password-input[data-v-8ebb5cd3] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-8ebb5cd3] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-8ebb5cd3] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-8ebb5cd3]{flex-direction:row}@media screen and (max-width: 500px){.form-buttons[data-v-8ebb5cd3]{flex-direction:column}}.data-export[data-v-8ebb5cd3]{padding:10px 0}.data-export .data-export-archive[data-v-8ebb5cd3]{padding-top:20px;font-size:.9em}.data-export .data-export-archive .archive-link[data-v-8ebb5cd3]{color:var(--app-a-color);cursor:pointer}.form-items .password-input[data-v-5f5c8fca] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-5f5c8fca]{flex-direction:row}@media screen and (max-width: 500px){.form-buttons[data-v-5f5c8fca]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-8f62d42f]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-8f62d42f]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-8f62d42f]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-8f62d42f]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-8f62d42f]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-8f62d42f]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-8f62d42f]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-8f62d42f]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width: 500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-8f62d42f],#user-picture-edition .user-picture-form .picture-help[data-v-8f62d42f]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-0ed9f402]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-0ed9f402]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-0ed9f402]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-0ed9f402]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-e38a969e]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-e38a969e]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-e38a969e]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-e38a969e]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-e38a969e]{font-weight:400}#user-preferences-edition .preferences-section[data-v-e38a969e]{font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--card-border-color);margin-bottom:5px}#user-preferences-edition #language[data-v-e38a969e],#user-preferences-edition #date_format[data-v-e38a969e],#user-preferences-edition #use_dark_mode[data-v-e38a969e]{padding:5px}[data-v-31d5cd27]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-a-text-decoration-color: #d2d2d2;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark][data-v-31d5cd27]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-a-text-decoration-color: #494949;--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark][data-v-31d5cd27]{color-scheme:dark}body[data-v-31d5cd27]{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body[data-v-31d5cd27]::-webkit-scrollbar{width:5px;height:5px}body[data-v-31d5cd27]::-webkit-scrollbar-track{background:transparent}body[data-v-31d5cd27]::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body[data-v-31d5cd27]:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body[data-v-31d5cd27]:hover::-webkit-scrollbar-track{background:transparent}#app[data-v-31d5cd27]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-31d5cd27]{color:var(--app-a-color);text-decoration-color:var(--app-a-text-decoration-color)}a[data-v-31d5cd27]:hover,a[data-v-31d5cd27]:focus{text-decoration-color:var(--app-a-color)}img[data-v-31d5cd27]{max-width:100%}input[data-v-31d5cd27],textarea[data-v-31d5cd27],select[data-v-31d5cd27]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input[data-v-31d5cd27]:disabled,textarea[data-v-31d5cd27]:disabled,select[data-v-31d5cd27]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-31d5cd27] :invalid{outline:2px solid var(--input-error-color)}label[data-v-31d5cd27]{font-weight:700}button[data-v-31d5cd27]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent[data-v-31d5cd27]{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent[data-v-31d5cd27]:hover,button.transparent[data-v-31d5cd27]:disabled{background:transparent}button.transparent[data-v-31d5cd27]:hover{color:var(--app-color)}button.transparent[data-v-31d5cd27]:enabled:active{box-shadow:none}button.transparent[data-v-31d5cd27]:disabled,button.transparent.confirm[data-v-31d5cd27]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button[data-v-31d5cd27]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-31d5cd27]:disabled,button.confirm[data-v-31d5cd27]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-31d5cd27]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm[data-v-31d5cd27]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-31d5cd27]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger[data-v-31d5cd27]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-31d5cd27]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-31d5cd27]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-31d5cd27]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-31d5cd27]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-31d5cd27]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-31d5cd27]{display:flex;flex-direction:column}.form-box .form-items input[data-v-31d5cd27]{margin:10px;padding:5px}.form-info[data-v-31d5cd27]{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-31d5cd27]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-31d5cd27]{text-transform:uppercase}.view[data-v-31d5cd27]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-31d5cd27]{color:var(--workout-trophy-color)}.mountains[data-v-31d5cd27]{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title[data-v-31d5cd27]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-31d5cd27]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-31d5cd27]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-31d5cd27]{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes[data-v-31d5cd27]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-31d5cd27]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-31d5cd27]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-31d5cd27]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-31d5cd27]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-31d5cd27]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-31d5cd27]{font-weight:700}.description-list dl dd[data-v-31d5cd27]{margin-bottom:10px}.center-card[data-v-31d5cd27]{margin:0 auto;width:700px}.center-card.with-margin[data-v-31d5cd27]{margin-top:100px}@media screen and (max-width: 1000px){.center-card[data-v-31d5cd27]{width:100%;margin:0 auto 50px}}.text-center[data-v-31d5cd27]{text-align:center}.text-left[data-v-31d5cd27]{text-align:left}.responsive-table[data-v-31d5cd27]{margin-bottom:15px}.responsive-table table[data-v-31d5cd27]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-31d5cd27]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-31d5cd27]{font-size:.95em}.responsive-table table tbody td[data-v-31d5cd27]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-31d5cd27]{border:none}.responsive-table table .cell-heading[data-v-31d5cd27]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead[data-v-31d5cd27]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-31d5cd27]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-31d5cd27]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-31d5cd27]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-31d5cd27]{display:flex}}@media screen and (max-width: 500px){.responsive-table table td[data-v-31d5cd27]{width:100%}}.profile-buttons[data-v-31d5cd27]{display:flex;gap:10px}.medium-sport-img[data-v-31d5cd27]{height:35px;width:35px;margin:0 auto}.privacy-policy-text[data-v-31d5cd27]{margin:10px 50px 20px;padding:10px;width:100%}@media screen and (max-width: 700px){.privacy-policy-text[data-v-31d5cd27]{margin:0}}#user-privacy-policy[data-v-a70349ce]{padding:10px 0}#user-privacy-policy form[data-v-a70349ce]{display:flex;flex-direction:column;gap:10px}#user-privacy-policy form .policy-content[data-v-a70349ce]{height:500px;border:1px solid var(--policy-border-color);overflow:auto;margin:10px;border-radius:4px}@media screen and (max-width: 700px){#user-privacy-policy form .policy-content[data-v-a70349ce]{margin:10px 0;font-size:.9em}}#user-privacy-policy form .policy-content .privacy-policy-text[data-v-a70349ce]{width:auto}#user-privacy-policy form .form-buttons[data-v-a70349ce]{display:flex;gap:10px;flex-direction:row}@media screen and (max-width: 500px){#user-privacy-policy form .form-buttons[data-v-a70349ce]{flex-direction:column}}#new-oauth2-app #new-oauth2-title[data-v-e2284e06]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-e2284e06]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-e2284e06]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-e2284e06]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-e2284e06]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-e2284e06]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-e2284e06]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-e2284e06]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-e2284e06]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-e2284e06]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-e2284e06]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-a8ed6bf8]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-a8ed6bf8]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-a8ed6bf8]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-a8ed6bf8]{margin:5px}#oauth2-app .app-buttons[data-v-3a7d0f4a]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-3a7d0f4a]{word-break:break-word}#oauth2-app .client-scopes[data-v-3a7d0f4a]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-3a7d0f4a]{padding-right:15px}#oauth2-app .fa-copy[data-v-3a7d0f4a]{font-size:.9em}#oauth2-app .no-description[data-v-3a7d0f4a]{font-style:italic}#oauth2-app .no-app[data-v-3a7d0f4a]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-064a87b7]{list-style:square}#oauth2-apps-list ul li[data-v-064a87b7]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-064a87b7]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-064a87b7]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-064a87b7]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-064a87b7]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-aa4857fe]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-aa4857fe]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-aa4857fe]{width:170px}#user-sport-preferences .disabled-sport[data-v-aa4857fe]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-aa4857fe]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-aa4857fe]{font-style:normal}#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:70px}#user-sport-preferences .edition-buttons[data-v-aa4857fe]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-aa4857fe]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-aa4857fe]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-aa4857fe]{display:none}#user-sport-preferences div.error-message[data-v-aa4857fe]{margin:0}@media screen and (max-width: 700px){#user-sport-preferences .sport-label[data-v-aa4857fe],#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:45%}#user-sport-preferences .edition-buttons[data-v-aa4857fe]{justify-content:center}#user-sport-preferences .mobile-display[data-v-aa4857fe]{display:flex;margin:20px 0 10px}}@media screen and (max-width: 500px){#user-sport-preferences .sport-label[data-v-aa4857fe],#user-sport-preferences .action-buttons[data-v-aa4857fe]{width:100%}}[data-v-43bcf522]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-a-text-decoration-color: #d2d2d2;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}:root [data-theme=dark][data-v-43bcf522]{--dark-blue: #181a1b;--light-grey: #cfd0d0;--app-background-color: var(--dark-blue);--app-color: var(--light-grey);--app-color-light: #6f7070;--app-a-color: var(--light-grey);--app-a-text-decoration-color: #494949;--app-shadow-color: #383d3f;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: var(--app-color);--button-transparent-hover-color: #233240;--button-cancel-bg-color: var(--dark-blue);--button-cancel-color: var(--app-color);--button-confirm-bg-color: var(--dark-blue);--button-confirm-color: var(--app-color);--button-danger-bg-color: var(--dark-blue);--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: var(--dark-blue);--card-border-color: #494f52;--input-border-color: #494f52;--input-bg-color: var(--dark-blue);--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #233240;--dropdown-background-color: var(--dark-blue);--dropdown-border-color: var(--input-border-color);--policy-border-color: #ccc;--policy-link-color: var(--alert-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: var(--dark-blue);--custom-checkbox-border-color: #665f54;--custom-checkbox-checked-bg-color: #575e62;--custom-checkbox-checked-color: #e8e6e3;--calendar-border-color: var(--input-border-color);--calendar-week-end-color: #1e2021;--calendar-day-color: var(--app-color);--calendar-today-color: #202324;--calendar-workouts-color: #233240;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: var(--dark-blue);--nav-bar-link-active: #ffffff;--nav-border-color: var(--input-border-color);--mobile-menu-selected-color: var(--dark-blue);--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: var(--dark-blue);--footer-border-color: var(--input-border-color);--footer-color: #9f968a;--form-info: var(--app-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #33353a;--info-color: var(--app-color);--error-background-color: #4e0000;--error-color: #ea464f;--success-background-color: #24391c;--success-color: #97cd97;--disabled-background-color: var(--dark-blue);--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: var(--dark-blue);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: #eff0f5;--map-attribution-text: #e8e8e8;--map-display-hover-attribution-text: #444444;--map-attribution-bg-color: none;--map-filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.85);--map-display-hover-filter: invert(1) hue-rotate(180deg) brightness(1.5) contrast(.6);--map-layers-overlays: var(--app-color);--map-control-bar: var(--app-color);--no-map-filter: invert(1) brightness(1.5) contrast(.9);--workout-static-map-shadow-color: #d2d2d2;--workout-static-map-bg-color: #818181;--icon-svg-filter: invert(90%) sepia(19%) saturate(0%) hue-rotate(39deg) brightness(86%) contrast(102%);--cell-heading-bg-color: #383838;--cell-heading-color: #eeeeee;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #831819;--password-color-medium: #9e6906;--password-color-good: #4b5826;--password-color-strong: #4a8c32;--scroll-thumb-color: #949697}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular-T9JcUGms.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular-45aO1uf0.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular-IXe2Axuj.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular-pqSZZJmj.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-regular-21U27O2x.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic-4DDtZWYF.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic-1FTPleHH.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic-DwGwmXuQ.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic-I2gXY_1s.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-italic-YH_Gnq5o.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700-skEWD7W_.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700-BC8QGIrG.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700-tcZ3J-O8.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700-TR0YiIVK.ttf) format("truetype"),url(/static/fonts/pt-sans-v9-latin-700-Xyyq4crW.svg#PTSans) format("svg")}html [data-theme=dark][data-v-43bcf522]{color-scheme:dark}body[data-v-43bcf522]{margin:0;overflow-y:scroll;scrollbar-gutter:stable both-edges}body[data-v-43bcf522]::-webkit-scrollbar{width:5px;height:5px}body[data-v-43bcf522]::-webkit-scrollbar-track{background:transparent}body[data-v-43bcf522]::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}body[data-v-43bcf522]:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb-color)}body[data-v-43bcf522]:hover::-webkit-scrollbar-track{background:transparent}#app[data-v-43bcf522]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-43bcf522]{color:var(--app-a-color);text-decoration-color:var(--app-a-text-decoration-color)}a[data-v-43bcf522]:hover,a[data-v-43bcf522]:focus{text-decoration-color:var(--app-a-color)}img[data-v-43bcf522]{max-width:100%}input[data-v-43bcf522],textarea[data-v-43bcf522],select[data-v-43bcf522]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);color:var(--input-color);padding:10px}input[data-v-43bcf522]:disabled,textarea[data-v-43bcf522]:disabled,select[data-v-43bcf522]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-43bcf522] :invalid{outline:2px solid var(--input-error-color)}label[data-v-43bcf522]{font-weight:700}button[data-v-43bcf522]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button.transparent[data-v-43bcf522]{font-family:PT Sans,Helvetica,Arial,sans-serif;font-size:1em;border-color:transparent;box-shadow:none}button.transparent[data-v-43bcf522]:hover,button.transparent[data-v-43bcf522]:disabled{background:transparent}button.transparent[data-v-43bcf522]:hover{color:var(--app-color)}button.transparent[data-v-43bcf522]:enabled:active{box-shadow:none}button.transparent[data-v-43bcf522]:disabled,button.transparent.confirm[data-v-43bcf522]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color)}button[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button[data-v-43bcf522]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-43bcf522]:disabled,button.confirm[data-v-43bcf522]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-43bcf522]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.confirm[data-v-43bcf522]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-43bcf522]:hover{background:var(--button-transparent-hover-color);color:var(--button-hover-color)}button.danger[data-v-43bcf522]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-43bcf522]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-43bcf522]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-43bcf522]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-43bcf522]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-43bcf522]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-43bcf522]{display:flex;flex-direction:column}.form-box .form-items input[data-v-43bcf522]{margin:10px;padding:5px}.form-info[data-v-43bcf522]{color:var(--form-info);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-43bcf522]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-43bcf522]{text-transform:uppercase}.view[data-v-43bcf522]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-43bcf522]{color:var(--workout-trophy-color)}.mountains[data-v-43bcf522]{margin-bottom:-3px;height:16px;filter:var(--icon-svg-filter)}.section-title[data-v-43bcf522]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-43bcf522]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map-3oCLAjmu.svg);background-size:contain;background-repeat:no-repeat;background-position:center;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-43bcf522]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-43bcf522]{display:inline-flex}@media screen and (max-width: 300px){.custom-checkboxes-group .custom-checkboxes[data-v-43bcf522]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-43bcf522]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-43bcf522]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-43bcf522]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-43bcf522]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-43bcf522]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-43bcf522]{font-weight:700}.description-list dl dd[data-v-43bcf522]{margin-bottom:10px}.center-card[data-v-43bcf522]{margin:0 auto;width:700px}.center-card.with-margin[data-v-43bcf522]{margin-top:100px}@media screen and (max-width: 1000px){.center-card[data-v-43bcf522]{width:100%;margin:0 auto 50px}}.text-center[data-v-43bcf522]{text-align:center}.text-left[data-v-43bcf522]{text-align:left}.responsive-table[data-v-43bcf522]{margin-bottom:15px}.responsive-table table[data-v-43bcf522]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-43bcf522]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-43bcf522]{font-size:.95em}.responsive-table table tbody td[data-v-43bcf522]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-43bcf522]{border:none}.responsive-table table .cell-heading[data-v-43bcf522]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width: 700px){.responsive-table table thead[data-v-43bcf522]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-43bcf522]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-43bcf522]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-43bcf522]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-43bcf522]{display:flex}}@media screen and (max-width: 500px){.responsive-table table td[data-v-43bcf522]{width:100%}}.profile-buttons[data-v-43bcf522]{display:flex;gap:10px}.medium-sport-img[data-v-43bcf522]{height:35px;width:35px;margin:0 auto}.about-text[data-v-43bcf522]{margin-top:200px;margin-right:100px}@media screen and (max-width: 700px){.about-text[data-v-43bcf522]{margin-top:0;margin-right:0}}.about-text .fa-padding[data-v-43bcf522]{padding-right:10px}.about-text .about-instance[data-v-43bcf522]{font-weight:700;margin-top:30px}#bike[data-v-dc181e30]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-dc181e30]{max-width:200px}@media screen and (max-width: 700px){#bike[data-v-dc181e30]{margin-top:10px}#bike .bike-img[data-v-dc181e30]{max-width:150px}}#about[data-v-ef9c7198]{display:flex;height:100%}#about .container[data-v-ef9c7198]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-ef9c7198]{min-width:50%;height:100%}#about .container .about-details[data-v-ef9c7198]{width:100%}@media screen and (max-width: 1000px){#about[data-v-ef9c7198]{height:auto}#about .container .container-sub[data-v-ef9c7198]{align-items:center}#about .container .container-sub .bike-img[data-v-ef9c7198]{max-width:60%}}@media screen and (max-width: 700px){#about .container[data-v-ef9c7198]{flex-direction:column}}#error[data-v-48ec856d]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-48ec856d]{margin-top:50px}#error .error-content h1[data-v-48ec856d]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-48ec856d]{font-size:1.2em;margin:30px 0}#admin .admin-card[data-v-5eee0876]{width:100%}#admin .admin-card[data-v-5eee0876] .card .admin-form{display:flex;flex-direction:column}#admin .admin-card[data-v-5eee0876] .card .admin-form label{display:flex;align-items:center;justify-content:space-between;margin:10px 0;flex-wrap:wrap}#admin .admin-card[data-v-5eee0876] .card .admin-form label input{width:50%;font-size:.9em;margin-right:50px}@media screen and (max-width: 1000px){#admin .admin-card[data-v-5eee0876] .card .admin-form label input{margin-right:0}}@media screen and (max-width: 700px){#admin .admin-card[data-v-5eee0876] .card .admin-form label input{width:100%}}#admin .admin-card[data-v-5eee0876] .card .admin-form label input:disabled{-webkit-appearance:none;-moz-appearance:textfield;background-color:var(--admin-disabled-input-color);border-color:var(--admin-disabled-input-color);color:var(--app-color)}#admin .admin-card[data-v-5eee0876] .card .admin-form .form-buttons{display:flex;gap:10px;margin-bottom:10px}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100;filter:var(--map-display-hover-filter)}.static-map.display-hover .map-attribution-text{color:var(--map-display-hover-attribution-text);background-color:var(--map-attribution-bg-color)}.static-map .bg-map-image{background-size:cover;background-position:center;opacity:.6;height:200px;width:100%;filter:var(--map-filter)}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{color:var(--map-attribution-text);background-color:var(--map-attribution-bg-color)}.mountains[data-v-0bcae633]{padding-right:5px}.timeline-workout[data-v-0bcae633]{margin-bottom:20px}.timeline-workout .box[data-v-0bcae633]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-0bcae633]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-0bcae633]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-0bcae633] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-0bcae633] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-0bcae633]{white-space:nowrap;padding-left:5px;text-decoration:none}.timeline-workout .box .workout-user-date .workout-date[data-v-0bcae633]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-0bcae633]{display:block;text-align:center;padding:0 10px}@media screen and (max-width: 500px){.timeline-workout .box .workout-user-date .workout-title[data-v-0bcae633]{display:none}}.timeline-workout .box .workout-map[data-v-0bcae633]{background-color:var(--workout-static-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-0bcae633]{line-height:150px;filter:var(--no-map-filter)}.timeline-workout .box .workout-map[data-v-0bcae633] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-0bcae633]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-0bcae633]{height:25px;width:25px}.timeline-workout .box .workout-data .img[data-v-0bcae633],.timeline-workout .box .workout-data .data[data-v-0bcae633]{display:flex;align-items:center}.timeline-workout .box .workout-data .img .data-values[data-v-0bcae633],.timeline-workout .box .workout-data .data .data-values[data-v-0bcae633]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-0bcae633]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-0bcae633]{justify-content:center;width:22%}@media screen and (max-width: 500px){.timeline-workout .box .workout-data .img[data-v-0bcae633]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-0bcae633]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-0bcae633],.timeline-workout .box .workout-data .elevation[data-v-0bcae633]{display:none}}.timeline-workout .box .workout-data.without-elevation .img[data-v-0bcae633],.timeline-workout .box .workout-data.without-elevation .data[data-v-0bcae633]{justify-content:center;width:33%}.timeline-workout .box .workout-map[data-v-0bcae633],.timeline-workout .box .workout-data[data-v-0bcae633]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-0bcae633]{cursor:default}.timeline-workout .box .fa[data-v-0bcae633]{padding-right:10px}.no-workouts[data-v-b0c91cc6]{display:flex;justify-content:center}#timeline[data-v-e0964959]{margin-bottom:20px}#timeline .more-workouts[data-v-e0964959]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width: 700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}.calendar-workouts-chart[data-v-bf05bb20]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-bf05bb20]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width: 700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-bf05bb20]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-bf05bb20] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-bf05bb20]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-bf05bb20]{background:var(--calendar-workouts-color);border-radius:4px;box-shadow:0 4px 8px 0 var(--calendar-workouts-box-shadow-0),0 6px 20px 0 var(--calendar-workouts-box-shadow-1);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width: 700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-bf05bb20]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-bf05bb20]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width: 700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width: 700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width: 700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--calendar-day-color)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}.bar-chart[data-v-d506f845]{position:relative;min-height:400px;width:100%}.bar-chart.minimal[data-v-d506f845]{min-height:300px}@media screen and (max-width: 700px){.bar-chart[data-v-d506f845]{min-height:268px}.bar-chart.minimal[data-v-d506f845]{min-height:290px}}@media screen and (max-width: 420px){.bar-chart[data-v-d506f845]{width:calc(100vw - 95px)}}.stats-chart[data-v-b8d7f5c9]{width:100%}.stats-chart .chart-radio[data-v-b8d7f5c9]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.stats-chart .chart-radio label[data-v-b8d7f5c9]{font-size:.85em;font-weight:400}@media screen and (max-width: 700px){.stats-chart .chart-radio label[data-v-b8d7f5c9]{padding-bottom:10px}}.user-month-stats[data-v-8f59a282] .card-content{padding:10px}.records-card[data-v-64523a87]{width:100%;padding-bottom:3px}.records-card[data-v-64523a87] .card{font-size:.9em}.records-card[data-v-64523a87] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-64523a87] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-64523a87] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-64523a87] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-64523a87] .card .card-content .record span{padding:2px}.records-card[data-v-64523a87] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-64523a87] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:10px}.records-card[data-v-64523a87] .card .card-content .record .record-date{white-space:nowrap;min-width:30%;text-align:right}@media screen and (max-width: 1000px){.records-card[data-v-64523a87] .card,.records-card[data-v-64523a87] .card .card-title{font-size:1em}.records-card[data-v-64523a87] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-fff33919]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}.privacy-policy-message[data-v-1b250692]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;padding:10px 20px}.privacy-policy-message .policy-link[data-v-1b250692]{color:var(--policy-link-color);text-decoration:underline}#dashboard .dashboard-container[data-v-8f5da609]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-8f5da609]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-8f5da609]{width:32%}#dashboard .dashboard-container .right-container[data-v-8f5da609]{width:68%}#dashboard .mobile-menu[data-v-8f5da609]{display:none}#dashboard .privacy-policy-message[data-v-8f5da609]{display:flex;justify-content:center}@media screen and (max-width: 1000px){#dashboard[data-v-8f5da609]{padding-bottom:60px}#dashboard .dashboard-container[data-v-8f5da609]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-8f5da609],#dashboard .dashboard-container .right-container[data-v-8f5da609]{width:100%}#dashboard .mobile-menu[data-v-8f5da609]{display:flex}#dashboard .mobile-menu .box[data-v-8f5da609]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-8f5da609]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-8f5da609]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-8f5da609]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-8f5da609]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-8f5da609]{display:none}}@media screen and (max-width: 700px){#dashboard .privacy-policy-message[data-v-8f5da609]{margin:0 5px}}.chart-menu[data-v-174c91c4]{display:flex;align-items:center}.chart-menu .chart-arrow[data-v-174c91c4],.chart-menu .time-frames[data-v-174c91c4]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-174c91c4]{cursor:pointer}.sports-menu{display:flex;flex-wrap:wrap;padding:10px}.sports-menu label{display:flex;align-items:center;font-size:.9em;font-weight:400;min-width:120px;padding:10px}@media screen and (max-width: 1000px){.sports-menu label{min-width:100px}}@media screen and (max-width: 500px){.sports-menu label{min-width:20px}.sports-menu label .sport-label{display:none}}.sports-menu .sport-img{padding:3px;width:20px;height:20px}#user-statistics.stats-disabled[data-v-b145e4ac]{opacity:.3;pointer-events:none}#user-statistics[data-v-b145e4ac] .chart-radio{justify-content:space-around;padding:30px 10px 10px}#statistics[data-v-0aa997fa]{display:flex;width:100%}#statistics .container[data-v-0aa997fa]{display:flex;flex-direction:column;width:100%}[data-v-13388f00]:root{--app-background-color: #ffffff;--app-color: #2c3e50;--app-color-light: #6f7070;--app-a-color: #40578a;--app-a-text-decoration-color: #d2d2d2;--app-shadow-color: lightgrey;--app-loading-color: #f3f3f3;--app-loading-top-color: var(--app-color);--button-hover-color: #ffffff;--button-transparent-hover-color: var(--app-color);--button-cancel-bg-color: #ffffff;--button-cancel-color: var(--app-color);--button-confirm-bg-color: #ffffff;--button-confirm-color: var(--app-color);--button-danger-bg-color: #ffffff;--button-danger-color: #dc3545;--button-danger-hover-bg-color: #dc3545;--button-danger-hover-color: #ffffff;--card-border-color: #c4c7cf;--input-border-color: #9da3af;--input-bg-color: #ffffff;--input-color: var(--app-color);--input-error-color: #dc3545;--dropdown-hover-color: #eff0f5;--dropdown-background-color: #ffffff;--dropdown-border-color: lightgrey;--policy-border-color: #ccc;--policy-link-color: var(--app-a-color);--box-shadow-color: lightgrey;--admin-disabled-input-color: #ffffff;--custom-checkbox-border-color: #6d797a;--custom-checkbox-checked-bg-color: #6d797a;--custom-checkbox-checked-color: #ffffff;--calendar-border-color: #c4c7cf;--calendar-week-end-color: #f5f5f5;--calendar-day-color: var(--app-color-light);--calendar-today-color: #eff1f3;--calendar-workouts-color: whitesmoke;--calendar-workouts-box-shadow-0: rgba(0, 0, 0, .2);--calendar-workouts-box-shadow-1: rgba(0, 0, 0, .19);--modal-background-color: rgba(0, 0, 0, .3);--nav-bar-background-color: #ffffff;--nav-bar-link-active: #485b6e;--nav-border-color: #c5ccdb;--mobile-menu-selected-color: #ffffff;--mobile-menu-selected-bgcolor: #9da3af;--footer-background-color: #ffffff;--footer-border-color: #ebeef3;--footer-color: #6f7070;--form-info: var(--alert-color);--alert-background-color: #d6dde3;--alert-color: #3f3f3f;--info-background-color: #e5e7ea;--info-color: var(--app-color);--error-background-color: #ffd2d2;--error-color: #db1924;--success-background-color: #d9ecd9;--success-color: #306430;--disabled-background-color: #e0e0e0;--disabled-border-color: transparent;--disabled-color: #727272;--disabled-sport-color: #616161;--scroll-button-bg-color: rgba(255, 255, 255, .7);--workout-trophy-color: #daa520;--workout-img-color: invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color: #eaeaea;--workout-no-map-color: #585959;--map-control-color: #000000;--map-control-bg-color: #ffffff;--map-control-border-color: #bfc0ab;--map-control-hover-bg-color: var(--dropdown-hover-color);--map-attribution-text: var(--app-color);--map-display-hover-attribution-text: initial;--map-attribution-bg-color: rgba(255, 255, 255, .7);--map-filter: initial;--map-display-hover-filter: initial;--map-layers-overlays: initial;--map-control-bar: #bfc0ab;--no-map-filter: initial;--workout-static-map-shadow-color: var(--app-shadow-color);--workout-static-map-bg-color: var(--workout-no-map-bg-color);--icon-svg-filter: invert(19%) sepia(9%) saturate(2921%) hue-rotate(169deg) brightness(85%) contrast(80%);--cell-heading-bg-color: #eeeeee;--cell-heading-color: #696969;--svg-filter: drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color: #d7dadf;--password-color-weak: #e46d6e;--password-color-medium: #f8bc4a;--password-color-good: #acc578;--password-color-strong: #57c255;--scroll-thumb-color: #949697}#user-auth-form[data-v-13388f00]{display:flex}#user-auth-form #user-form[data-v-13388f00]{width:60%}#user-auth-form #user-form .account[data-v-13388f00]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-13388f00]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-13388f00]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-13388f00]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-13388f00]{margin:10px}#user-auth-form #user-form .accepted_policy[data-v-13388f00]{display:flex;align-items:center;font-size:.85em;font-weight:400}@media screen and (max-width: 1000px){#user-auth-form[data-v-13388f00]{margin-bottom:50px}#user-auth-form #user-form[data-v-13388f00]{width:100%}}.user-form[data-v-13388f00]{margin-top:200px}@media screen and (max-width: 700px){.user-form[data-v-13388f00]{margin-top:10px}}#account-confirmation-email[data-v-b0299010]{display:flex;flex-direction:column}#account-confirmation-email .email-sent[data-v-b0299010]{display:flex;flex-direction:column;align-items:center}#account-confirmation-email .email-sent svg[data-v-b0299010]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#account-confirmation-email .email-sent .email-sent-message[data-v-b0299010]{font-size:1.1em;text-align:center}@media screen and (max-width: 1000px){#account-confirmation-email .email-sent .email-sent-message[data-v-b0299010]{font-size:1em}}#account-confirmation-email[data-v-b0299010] .card .card-content #user-auth-form{margin-top:0}#account-confirmation-email[data-v-b0299010] .card .card-content #user-auth-form #user-form{width:100%}#account-confirmation[data-v-9a9c1644]{display:flex}#account-confirmation .container[data-v-9a9c1644]{display:flex;justify-content:center;width:50%}@media screen and (max-width: 700px){#account-confirmation .container[data-v-9a9c1644]{width:100%}}#account-confirmation[data-v-a0fa0b62]{display:flex;flex-direction:column;align-items:center}#account-confirmation svg[data-v-a0fa0b62]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#account-confirmation .error-message[data-v-a0fa0b62]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width: 1000px){#account-confirmation .error-message[data-v-a0fa0b62]{font-size:1em}}#email-update[data-v-b8fbd32f]{display:flex;flex-direction:column;align-items:center}#email-update svg[data-v-b8fbd32f]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#email-update .error-message[data-v-b8fbd32f]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width: 1000px){#email-update .error-message[data-v-b8fbd32f]{font-size:1em}}#loginOrRegister[data-v-84d61340]{display:flex}#loginOrRegister .container[data-v-84d61340]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-84d61340]{min-width:50%;height:100%}@media screen and (max-width: 1000px){#loginOrRegister[data-v-84d61340]{height:auto}#loginOrRegister .container .container-sub[data-v-84d61340]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-84d61340]{max-width:60%}}@media screen and (max-width: 700px){#loginOrRegister .container[data-v-84d61340]{flex-direction:column}}#password-action-done[data-v-ee1004fc]{display:flex;flex-direction:column;align-items:center}#password-action-done svg[data-v-ee1004fc]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#password-action-done .password-message[data-v-ee1004fc]{font-size:1.1em;text-align:center}@media screen and (max-width: 1000px){#password-action-done .password-message[data-v-ee1004fc]{font-size:1em}}#password-reset-request[data-v-97f01ba1] .card .card-content #user-form{width:100%}#password-reset[data-v-5cbe9029]{display:flex}#password-reset .container[data-v-5cbe9029]{display:flex;justify-content:center;width:50%}@media screen and (max-width: 700px){#password-reset .container[data-v-5cbe9029]{width:100%}}#profile[data-v-af92ad3a]{display:flex;flex-direction:column;padding:0 10px 40px}#profile[data-v-af92ad3a] .profile-form{display:flex;flex-direction:column}#profile[data-v-af92ad3a] .profile-form hr{border-color:var(--card-border-color);border-width:1px 0 0 0}#profile[data-v-af92ad3a] .profile-form .form-items{display:flex;flex-direction:column}#profile[data-v-af92ad3a] .profile-form .form-items input{margin:5px 0}#profile[data-v-af92ad3a] .profile-form .form-items select{height:35px;padding:5px 0}#profile[data-v-af92ad3a] .profile-form .form-items ::v-deep(.custom-textarea) textarea{padding:5px}#profile[data-v-af92ad3a] .profile-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#profile[data-v-af92ad3a] .profile-form .form-items .birth-date{height:20px}#profile[data-v-af92ad3a] .profile-form .form-buttons{display:flex;margin-top:10px;padding:10px 0;gap:10px}#user[data-v-1b7a0b4f]{margin:auto;width:700px}@media screen and (max-width: 1000px){#user[data-v-1b7a0b4f]{width:100%;margin:0 auto 50px}}#workout-edition[data-v-4c5a9cd1] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content{padding:10px 0}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data{display:flex;flex-direction:row;justify-content:space-between}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data .form-item{width:30%}@media screen and (max-width: 1000px){#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data{flex-direction:column}#workout-edition[data-v-4c5a9cd1] .card .card-content #workout-form .workout-data .form-item{width:initial}}@media screen and (max-width: 700px){#workout-edition[data-v-4c5a9cd1]{margin-bottom:0}#workout-edition.center-form[data-v-4c5a9cd1]{margin:50px auto}#workout-edition.with-margin[data-v-4c5a9cd1]{margin-top:0}}#workout-edition .errored[data-v-4c5a9cd1]{outline:2px solid var(--input-error-color)}#workout-card-title[data-v-e1628a52]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-e1628a52]{cursor:pointer;padding:10px}#workout-card-title .workout-arrow.inactive[data-v-e1628a52]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-e1628a52]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-e1628a52]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-e1628a52] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-e1628a52]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-e1628a52]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-e1628a52]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-e1628a52]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-e1628a52]{padding:0 3px}#workout-card-title .workout-card-title .icon-button[data-v-e1628a52]{cursor:pointer;padding:0;margin-left:2px}@media screen and (max-width: 700px){#workout-card-title .workout-arrow[data-v-e1628a52]{padding:5px}}@media screen and (max-width: 700px) and (max-width: 700px){#workout-card-title .workout-card-title .fa-download[data-v-e1628a52],#workout-card-title .workout-card-title .fa-trash[data-v-e1628a52],#workout-card-title .workout-card-title .fa-edit[data-v-e1628a52]{padding:0 7px}}.workout-record sup[data-v-1b247cbe]{font-size:75%;line-height:0}.wind[data-v-e1f7f9cc]{display:flex;justify-content:center}.wind .wind-bearing[data-v-e1f7f9cc]{padding-left:5px}#workout-weather[data-v-be2fffb0]{padding-top:10px}#workout-weather .weather-img[data-v-be2fffb0]{height:30px;filter:var(--icon-svg-filter)}#workout-weather .weather-img-small[data-v-be2fffb0]{height:20px}#workout-weather .weather-table[data-v-be2fffb0]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-be2fffb0]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-be2fffb0]{font-size:.8em}#workout-info[data-v-9341b3e8]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-9341b3e8],#workout-info .mountains[data-v-9341b3e8]{padding-right:5px}#workout-info .workout-data[data-v-9341b3e8]{padding:5px 0}#workout-info .workout-data .label[data-v-9341b3e8]{text-transform:capitalize}#workout-info .workout-data .value[data-v-9341b3e8]{font-weight:700;text-transform:lowercase}@media screen and (max-width: 700px){#workout-info[data-v-9341b3e8]{padding:10px}}#workout-map[data-v-dac2dfa0]{padding:10px 0}#workout-map .leaflet-container[data-v-dac2dfa0],#workout-map .no-map[data-v-dac2dfa0]{height:400px;width:600px}#workout-map .no-map[data-v-dac2dfa0]{line-height:400px;filter:var(--no-map-filter)}#workout-map .leaflet-container .map[data-v-dac2dfa0]{filter:var(--map-filter)}#workout-map .leaflet-container .map-control[data-v-dac2dfa0]{background:var(--map-control-bg-color);padding:5px 10px;border:2px solid var(--map-control-border-color);border-radius:3px;color:var(--map-control-color)}#workout-map .leaflet-container .map-control[data-v-dac2dfa0]:hover{background-color:var(--map-control-hover-bg-color)}#workout-map[data-v-dac2dfa0] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-dac2dfa0] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width: 700px){#workout-map[data-v-dac2dfa0]{padding:0}#workout-map .leaflet-container[data-v-dac2dfa0]{width:100%;height:300px}#workout-map .no-map[data-v-dac2dfa0]{display:none}}.workout-detail[data-v-f8b05eca]{display:flex}.workout-detail[data-v-f8b05eca] .card{width:100%}.workout-detail[data-v-f8b05eca] .card .card-title{padding:10px 15px}.workout-detail[data-v-f8b05eca] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width: 1000px){.workout-detail[data-v-f8b05eca] .card .card-content{flex-direction:column}}#workout-chart[data-v-b15bb69d] .card .card-title{text-transform:capitalize}#workout-chart[data-v-b15bb69d] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-b15bb69d] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-b15bb69d] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-b15bb69d] .card .card-content #chart-legend ul li span{border-radius:5%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:20px}#workout-chart[data-v-b15bb69d] .card .card-content .line-chart{min-height:400px}@media screen and (max-width: 700px){#workout-chart[data-v-b15bb69d] .card .card-content{padding:10px 0}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-b15bb69d] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}#workout-chart[data-v-b15bb69d] .card .card-content .line-chart{min-height:338px}}#workout-note[data-v-f3e81eff] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-15725c61] .card .card-title{text-transform:capitalize}#workout-segments[data-v-15725c61] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-15725c61] .card .card-content a{font-weight:700}#workout-segments[data-v-15725c61] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-eac6aa4b]{display:flex}#workout .container[data-v-eac6aa4b]{width:100%;padding:0}#workout .container .workout-container[data-v-eac6aa4b]{width:100%}#workout .container .workout-loading[data-v-eac6aa4b]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-eac6aa4b]{display:flex;align-items:center;height:100%}.workouts-filters .form .form-all-items[data-v-29caaf8f]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item[data-v-29caaf8f]{display:flex;flex-direction:column}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:34%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item input[data-v-29caaf8f]{height:16px}.workouts-filters .form .form-all-items .form-items-group .form-item select[data-v-29caaf8f]{height:38px;padding:0 5px}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:10px}.workouts-filters .form .form-all-items .form-items-group .form-item-title input.title[data-v-29caaf8f]{width:100%}.workouts-filters .form-button[data-v-29caaf8f]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-29caaf8f]{margin-top:10px;width:100%}@media screen and (max-width: 1000px){.workouts-filters .form .form-all-items[data-v-29caaf8f]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{padding:0 5px;height:100%}.workouts-filters .form .form-all-items .form-items-group .form-item label[data-v-29caaf8f],.workouts-filters .form .form-all-items .form-items-group .form-item span[data-v-29caaf8f]{font-size:.9em}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:85%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:0}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:0}.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:initial}.workouts-filters .form-button button[data-v-29caaf8f]{margin:10px 5px;width:100%}}@media screen and (max-width: 700px){.workouts-filters .form .form-all-items[data-v-29caaf8f]{flex-direction:column;padding-top:0}.workouts-filters .form .form-all-items .form-items-group[data-v-29caaf8f]{padding:5px}.workouts-filters .form .form-all-items .form-items-group .form-item label[data-v-29caaf8f]{font-size:1em}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group[data-v-29caaf8f]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group input[data-v-29caaf8f]{width:50%}.workouts-filters .form .form-all-items .form-items-group .form-item .form-inputs-group span[data-v-29caaf8f]{padding:5px}.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:initial}.workouts-filters .form-button button[data-v-29caaf8f]{margin:10px 5px}}@media screen and (max-width: 500px){.workouts-filters .form-button[data-v-29caaf8f]{flex-wrap:wrap}.workouts-filters .form .form-all-items .form-items-group .form-item-title[data-v-29caaf8f]{padding-top:10px}.workouts-filters .form .form-all-items .form-items-group .form-item-title input.title[data-v-29caaf8f]{width:100%}}.workouts-list[data-v-bb980a00]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-bb980a00]{padding:10px 15px}@media screen and (max-width: 700px){.workouts-list .box.empty-table[data-v-bb980a00]{display:none}}.workouts-list .box .total[data-v-bb980a00]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-bb980a00]{font-weight:700}.workouts-list .box .top-pagination[data-v-bb980a00]{display:none}@media screen and (max-width: 700px){.workouts-list .box .top-pagination[data-v-bb980a00]{display:flex}}@media screen and (max-width: 700px){.workouts-list .box[data-v-bb980a00] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .smaller th[data-v-bb980a00]{font-size:.95em;padding:10px 0;max-width:100px}.workouts-list .box .workouts-table td[data-v-bb980a00]{text-align:right}.workouts-list .box .workouts-table .sport-col[data-v-bb980a00]{padding:0}.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{text-align:left;width:100px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-bb980a00]{font-size:.75em;padding-right:5px}.workouts-list .box .workouts-table .workout-title .nav-item[data-v-bb980a00]{white-space:nowrap}.workouts-list .box .workouts-table .workout-title .nav-item .title[data-v-bb980a00]{word-break:break-word;white-space:normal}.workouts-list .box .workouts-table .workout-title .static-map[data-v-bb980a00]{display:none;box-shadow:3px 3px 3px 1px var(--workout-static-map-shadow-color)}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-bb980a00]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-bb980a00]{height:20px;width:20px}.workouts-list .box .workouts-table .workout-date[data-v-bb980a00]{max-width:60px;text-align:left}@media screen and (max-width: 700px){.workouts-list .box .workouts-table td[data-v-bb980a00],.workouts-list .box .workouts-table .workout-date[data-v-bb980a00],.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{text-align:center}.workouts-list .box .workouts-table .sport-col[data-v-bb980a00]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-date[data-v-bb980a00]{max-width:initial}.workouts-list .box .workouts-table .workout-title[data-v-bb980a00]{max-width:initial;width:100%}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-bb980a00]{display:none}}.workouts-list .more-workouts[data-v-bb980a00]{display:flex;justify-content:center;padding:10px}#workouts .workouts-container[data-v-3fa59b88]{display:flex;flex-direction:row}@media screen and (max-width: 1000px){#workouts .workouts-container[data-v-3fa59b88]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-3fa59b88],#workouts .workouts-container .list-container[data-v-3fa59b88]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-3fa59b88]{width:25%}@media screen and (max-width: 1000px){#workouts .workouts-container .filters-container[data-v-3fa59b88]{width:100%}}@media screen and (max-width: 1000px) and (max-width: 700px){#workouts .workouts-container .filters-container.hidden[data-v-3fa59b88]{display:none}}#workouts .workouts-container .display-filters[data-v-3fa59b88]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-3fa59b88]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-3fa59b88]{cursor:pointer}@media screen and (max-width: 700px){#workouts .workouts-container .display-filters[data-v-3fa59b88]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-3fa59b88]{width:75%}@media screen and (max-width: 1000px){#workouts .workouts-container .list-container[data-v-3fa59b88]{width:100%}} diff --git a/fittrackee/dist/static/index-VyQ6GUuN.js b/fittrackee/dist/static/index-qKztzqj3.js similarity index 99% rename from fittrackee/dist/static/index-VyQ6GUuN.js rename to fittrackee/dist/static/index-qKztzqj3.js index 8ae9f7bb..5593f2b7 100644 --- a/fittrackee/dist/static/index-VyQ6GUuN.js +++ b/fittrackee/dist/static/index-qKztzqj3.js @@ -2,7 +2,7 @@ import{C as Yd,B as Mh,L as xh,a as RS,b as bS,P as NS,p as CS,c as yS,d as DS,i * screenfull * v5.1.0 - 2020-12-24 * (c) Sindre Sorhus; MIT License -*/(function(e){var t,n,r,a,s;t=typeof window<"u"&&window.document!==void 0?window.document:{},n=e.exports,r=function(){for(var o,i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=0,l=i.length,c={};ue.pageOnly||!ar.isEnabled),s=k(()=>(a.value||e.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0);function o(){t("change",r.isFullscreen),t("update:modelValue",r.isFullscreen),t("update:fullscreen",r.isFullscreen)}function i(){ar.isFullscreen||ar.off("change",i),r.isFullscreen=ar.isFullscreen,o()}function u(d){d.key==="Escape"&&c()}function l(){a.value?(r.isFullscreen=!0,o(),document.removeEventListener("keyup",u),document.addEventListener("keyup",u)):(ar.off("change",i),ar.on("change",i),ar.request(e.teleport?document.body:n.value))}function c(){r.isFullscreen&&(a.value?(r.isFullscreen=!1,o(),document.removeEventListener("keyup",u)):ar.exit())}return Fe(()=>e.fullscreen,d=>{d!==r.isFullscreen&&(d?l():c())}),Fe(()=>e.modelValue,d=>{d!==r.isFullscreen&&(d?l():c())}),f=((d,m)=>{for(var E in m||(m={}))H_.call(m,E)&&Ap(d,E,m[E]);if(Ki)for(var E of Ki(m))j_.call(m,E)&&Ap(d,E,m[E]);return d})({wrapper:n,wrapperStyle:s},_e(r)),I2(f,v2({toggle:function(d){d===void 0?r.isFullscreen?c():l():d?l():c()},request:l,exit:c,shadeClick:function(d){d.target===n.value&&e.exitOnClickWrapper&&c()}}));var f}});a1.render=function(e,t,n,r,a,s){return T(),te(AI,{to:"body",disabled:!e.teleport||!e.fullscreen},[M("div",$_({ref:"wrapper"},e.$attrs,{style:e.wrapperStyle,class:{[e.fullscreenClass]:e.isFullscreen},onClick:t[1]||(t[1]=o=>e.shadeClick(o))}),[Va(e.$slots,"default")],16)],8,["disabled"])};const eR=typeof window<"u"&&window!==null;(function(){if(eR&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)return"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}}),!0})();const tR=Object.prototype.propertyIsEnumerable,Lp=Object.getOwnPropertySymbols;function Ni(e){return typeof e=="function"||toString.call(e)==="[object Object]"}function nR(e){return e!=="__proto__"&&e!=="constructor"&&e!=="prototype"}function rR(e,...t){if(!Ni(e))throw new TypeError("expected the first argument to be an object");if(t.length===0||typeof Symbol!="function"||typeof Lp!="function")return e;for(const n of t){const r=Lp(n);for(const a of r)tR.call(n,a)&&(e[a]=n[a])}return e}function Af(e,...t){let n=0;var r;for((typeof(r=e)=="object"?r===null:typeof r!="function")&&(e=t[n++]),e||(e={});n{r.key==="Escape"&&(document.removeEventListener("keyup",n),this.exit())};return this.isFullscreen=!0,this.element=e,document.removeEventListener("keyup",n),document.addEventListener("keyup",n),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const n=()=>{Gn.isFullscreen||(Gn.off("change",n),kp(this)),this.isFullscreen=Gn.isFullscreen,this.options.teleport?this.element=e||null:this.element=Gn.element,this.options.callback&&this.options.callback(Gn.isFullscreen)};return Gn.on("change",n),Gn.request(this.options.teleport?document.body:e)}},exit(){return this.isFullscreen?this.options.pageOnly?(kp(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Gn.exit():Promise.resolve()}},aR=(e,t,n)=>{const r=()=>{let a;const s={teleport:t.modifiers.teleport,pageOnly:t.modifiers.pageOnly};if(t.value)if(typeof t.value=="string")a=t.value;else{const o=t.value,{target:i}=o,u=((l,c)=>{var f={};for(var d in l)H_.call(l,d)&&c.indexOf(d)<0&&(f[d]=l[d]);if(l!=null&&Ki)for(var d of Ki(l))c.indexOf(d)<0&&j_.call(l,d)&&(f[d]=l[d]);return f})(o,["target"]);a=i,Af(s,u)}typeof a=="string"&&(a=document.querySelector(a)),o1.toggle(a,s)};e._onClickFullScreen&&e.removeEventListener("click",e._onClickFullScreen),e.addEventListener("click",r),e._onClickFullScreen=r};var sR={install(e,{name:t="fullscreen"}={}){e.config.globalProperties[`$${t}`]=o1,e.component(t,Jv(a1,{name:t})),e.directive(t,aR)}};const Sf=e=>(ut("data-v-dd2dabd2"),e=e(),ct(),e),oR={id:"footer"},iR={class:"footer-items"},uR={class:"footer-item"},cR=Sf(()=>p("strong",null,"FitTrackee",-1)),lR=Sf(()=>p("div",{class:"footer-item bullet"},"•",-1)),dR={class:"footer-item"},fR={key:0,class:"footer-item bullet"},pR={key:1,class:"footer-item"},mR=["href"],ER=Sf(()=>p("div",{class:"footer-item bullet"},"•",-1)),hR={class:"footer-item"},_R=Q({__name:"Footer",props:{version:{},adminContact:{}},setup(e){const t=e,{adminContact:n,version:r}=_e(t);return(a,s)=>{const o=ue("router-link");return T(),N("footer",oR,[p("div",iR,[p("div",uR,[cR,K(" v"+_(h(r)),1)]),lR,p("div",dR,[M(o,{to:"/about"},{default:fe(()=>[K(_(a.$t("common.ABOUT")),1)]),_:1})]),h(n)?(T(),N("div",fR,"•")):F("",!0),h(n)?(T(),N("div",pR,[p("a",{href:`mailto:${h(n)}`},_(a.$t("common.CONTACT")),9,mR)])):F("",!0),ER,p("div",hR,[M(o,{to:"/privacy-policy"},{default:fe(()=>[K(_(a.$t("privacy_policy.TITLE")),1)]),_:1})])])])}}}),ae=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},TR=ae(_R,[["__scopeId","data-v-dd2dabd2"]]),gR="/img/weather/clear-day.svg";function i1(e,t){return function(){return e.apply(t,arguments)}}const{toString:AR}=Object.prototype,{getPrototypeOf:Of}=Object,ac=(e=>t=>{const n=AR.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),nr=e=>(e=e.toLowerCase(),t=>ac(t)===e),sc=e=>t=>typeof t===e,{isArray:hs}=Array,io=sc("undefined");function SR(e){return e!==null&&!io(e)&&e.constructor!==null&&!io(e.constructor)&&Rn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const u1=nr("ArrayBuffer");function OR(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&u1(e.buffer),t}const IR=sc("string"),Rn=sc("function"),c1=sc("number"),oc=e=>e!==null&&typeof e=="object",vR=e=>e===!0||e===!1,Ci=e=>{if(ac(e)!=="object")return!1;const t=Of(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},RR=nr("Date"),bR=nr("File"),NR=nr("Blob"),CR=nr("FileList"),yR=e=>oc(e)&&Rn(e.pipe),DR=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Rn(e.append)&&((t=ac(e))==="formdata"||t==="object"&&Rn(e.toString)&&e.toString()==="[object FormData]"))},PR=nr("URLSearchParams"),wR=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Do(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,a;if(typeof e!="object"&&(e=[e]),hs(e))for(r=0,a=e.length;r0;)if(a=n[r],t===a.toLowerCase())return a;return null}const d1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,f1=e=>!io(e)&&e!==d1;function xl(){const{caseless:e}=f1(this)&&this||{},t={},n=(r,a)=>{const s=e&&l1(t,a)||a;Ci(t[s])&&Ci(r)?t[s]=xl(t[s],r):Ci(r)?t[s]=xl({},r):hs(r)?t[s]=r.slice():t[s]=r};for(let r=0,a=arguments.length;r(Do(t,(a,s)=>{n&&Rn(a)?e[s]=i1(a,n):e[s]=a},{allOwnKeys:r}),e),$R=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),kR=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},UR=(e,t,n,r)=>{let a,s,o;const i={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)o=a[s],(!r||r(o,e,t))&&!i[o]&&(t[o]=e[o],i[o]=!0);e=n!==!1&&Of(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},MR=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},xR=e=>{if(!e)return null;if(hs(e))return e;let t=e.length;if(!c1(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},FR=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Of(Uint8Array)),WR=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let a;for(;(a=r.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},GR=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},zR=nr("HTMLFormElement"),BR=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,a){return r.toUpperCase()+a}),Up=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),HR=nr("RegExp"),p1=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Do(n,(a,s)=>{let o;(o=t(a,s,e))!==!1&&(r[s]=o||a)}),Object.defineProperties(e,r)},jR=e=>{p1(e,(t,n)=>{if(Rn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Rn(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},VR=(e,t)=>{const n={},r=a=>{a.forEach(s=>{n[s]=!0})};return hs(e)?r(e):r(String(e).split(t)),n},KR=()=>{},YR=(e,t)=>(e=+e,Number.isFinite(e)?e:t),jc="abcdefghijklmnopqrstuvwxyz",Mp="0123456789",m1={DIGIT:Mp,ALPHA:jc,ALPHA_DIGIT:jc+jc.toUpperCase()+Mp},qR=(e=16,t=m1.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function XR(e){return!!(e&&Rn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const ZR=e=>{const t=new Array(10),n=(r,a)=>{if(oc(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[a]=r;const s=hs(r)?[]:{};return Do(r,(o,i)=>{const u=n(o,a+1);!io(u)&&(s[i]=u)}),t[a]=void 0,s}}return r};return n(e,0)},QR=nr("AsyncFunction"),JR=e=>e&&(oc(e)||Rn(e))&&Rn(e.then)&&Rn(e.catch),ee={isArray:hs,isArrayBuffer:u1,isBuffer:SR,isFormData:DR,isArrayBufferView:OR,isString:IR,isNumber:c1,isBoolean:vR,isObject:oc,isPlainObject:Ci,isUndefined:io,isDate:RR,isFile:bR,isBlob:NR,isRegExp:HR,isFunction:Rn,isStream:yR,isURLSearchParams:PR,isTypedArray:FR,isFileList:CR,forEach:Do,merge:xl,extend:LR,trim:wR,stripBOM:$R,inherits:kR,toFlatObject:UR,kindOf:ac,kindOfTest:nr,endsWith:MR,toArray:xR,forEachEntry:WR,matchAll:GR,isHTMLForm:zR,hasOwnProperty:Up,hasOwnProp:Up,reduceDescriptors:p1,freezeMethods:jR,toObjectSet:VR,toCamelCase:BR,noop:KR,toFiniteNumber:YR,findKey:l1,global:d1,isContextDefined:f1,ALPHABET:m1,generateString:qR,isSpecCompliantForm:XR,toJSONObject:ZR,isAsyncFn:QR,isThenable:JR};function et(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a)}ee.inherits(et,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ee.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const E1=et.prototype,h1={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{h1[e]={value:e}});Object.defineProperties(et,h1);Object.defineProperty(E1,"isAxiosError",{value:!0});et.from=(e,t,n,r,a,s)=>{const o=Object.create(E1);return ee.toFlatObject(e,o,function(u){return u!==Error.prototype},i=>i!=="isAxiosError"),et.call(o,e.message,t,n,r,a),o.cause=e,o.name=e.name,s&&Object.assign(o,s),o};const eb=null;function Fl(e){return ee.isPlainObject(e)||ee.isArray(e)}function _1(e){return ee.endsWith(e,"[]")?e.slice(0,-2):e}function xp(e,t,n){return e?e.concat(t).map(function(a,s){return a=_1(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function tb(e){return ee.isArray(e)&&!e.some(Fl)}const nb=ee.toFlatObject(ee,{},null,function(t){return/^is[A-Z]/.test(t)});function ic(e,t,n){if(!ee.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=ee.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!ee.isUndefined(b[g])});const r=n.metaTokens,a=n.visitor||c,s=n.dots,o=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&ee.isSpecCompliantForm(t);if(!ee.isFunction(a))throw new TypeError("visitor must be a function");function l(E){if(E===null)return"";if(ee.isDate(E))return E.toISOString();if(!u&&ee.isBlob(E))throw new et("Blob is not supported. Use a Buffer instead.");return ee.isArrayBuffer(E)||ee.isTypedArray(E)?u&&typeof Blob=="function"?new Blob([E]):Buffer.from(E):E}function c(E,g,b){let v=E;if(E&&!b&&typeof E=="object"){if(ee.endsWith(g,"{}"))g=r?g:g.slice(0,-2),E=JSON.stringify(E);else if(ee.isArray(E)&&tb(E)||(ee.isFileList(E)||ee.endsWith(g,"[]"))&&(v=ee.toArray(E)))return g=_1(g),v.forEach(function(A,S){!(ee.isUndefined(A)||A===null)&&t.append(o===!0?xp([g],S,s):o===null?g:g+"[]",l(A))}),!1}return Fl(E)?!0:(t.append(xp(b,g,s),l(E)),!1)}const f=[],d=Object.assign(nb,{defaultVisitor:c,convertValue:l,isVisitable:Fl});function m(E,g){if(!ee.isUndefined(E)){if(f.indexOf(E)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(E),ee.forEach(E,function(v,R){(!(ee.isUndefined(v)||v===null)&&a.call(t,v,ee.isString(R)?R.trim():R,g,d))===!0&&m(v,g?g.concat(R):[R])}),f.pop()}}if(!ee.isObject(e))throw new TypeError("data must be an object");return m(e),t}function Fp(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function If(e,t){this._pairs=[],e&&ic(e,this,t)}const T1=If.prototype;T1.append=function(t,n){this._pairs.push([t,n])};T1.toString=function(t){const n=t?function(r){return t.call(this,r,Fp)}:Fp;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function rb(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function g1(e,t,n){if(!t)return e;const r=n&&n.encode||rb,a=n&&n.serialize;let s;if(a?s=a(t,n):s=ee.isURLSearchParams(t)?t.toString():new If(t,n).toString(r),s){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class ab{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ee.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Wp=ab,A1={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},sb=typeof URLSearchParams<"u"?URLSearchParams:If,ob=typeof FormData<"u"?FormData:null,ib=typeof Blob<"u"?Blob:null,ub={isBrowser:!0,classes:{URLSearchParams:sb,FormData:ob,Blob:ib},protocols:["http","https","file","blob","url","data"]},S1=typeof window<"u"&&typeof document<"u",cb=(e=>S1&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),lb=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",db=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:S1,hasStandardBrowserEnv:cb,hasStandardBrowserWebWorkerEnv:lb},Symbol.toStringTag,{value:"Module"})),qn={...db,...ub};function fb(e,t){return ic(e,new qn.classes.URLSearchParams,Object.assign({visitor:function(n,r,a,s){return qn.isNode&&ee.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function pb(e){return ee.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function mb(e){const t={},n=Object.keys(e);let r;const a=n.length;let s;for(r=0;r=n.length;return o=!o&&ee.isArray(a)?a.length:o,u?(ee.hasOwnProp(a,o)?a[o]=[a[o],r]:a[o]=r,!i):((!a[o]||!ee.isObject(a[o]))&&(a[o]=[]),t(n,r,a[o],s)&&ee.isArray(a[o])&&(a[o]=mb(a[o])),!i)}if(ee.isFormData(e)&&ee.isFunction(e.entries)){const n={};return ee.forEachEntry(e,(r,a)=>{t(pb(r),a,n,0)}),n}return null}function Eb(e,t,n){if(ee.isString(e))try{return(t||JSON.parse)(e),ee.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const vf={transitional:A1,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",a=r.indexOf("application/json")>-1,s=ee.isObject(t);if(s&&ee.isHTMLForm(t)&&(t=new FormData(t)),ee.isFormData(t))return a&&a?JSON.stringify(O1(t)):t;if(ee.isArrayBuffer(t)||ee.isBuffer(t)||ee.isStream(t)||ee.isFile(t)||ee.isBlob(t))return t;if(ee.isArrayBufferView(t))return t.buffer;if(ee.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return fb(t,this.formSerializer).toString();if((i=ee.isFileList(t))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return ic(i?{"files[]":t}:t,u&&new u,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),Eb(t)):t}],transformResponse:[function(t){const n=this.transitional||vf.transitional,r=n&&n.forcedJSONParsing,a=this.responseType==="json";if(t&&ee.isString(t)&&(r&&!this.responseType||a)){const o=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t)}catch(i){if(o)throw i.name==="SyntaxError"?et.from(i,et.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:qn.classes.FormData,Blob:qn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ee.forEach(["delete","get","head","post","put","patch"],e=>{vf.headers[e]={}});const Rf=vf,hb=ee.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),_b=e=>{const t={};let n,r,a;return e&&e.split(` +*/(function(e){var t,n,r,a,s;t=typeof window<"u"&&window.document!==void 0?window.document:{},n=e.exports,r=function(){for(var o,i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=0,l=i.length,c={};ue.pageOnly||!ar.isEnabled),s=k(()=>(a.value||e.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0);function o(){t("change",r.isFullscreen),t("update:modelValue",r.isFullscreen),t("update:fullscreen",r.isFullscreen)}function i(){ar.isFullscreen||ar.off("change",i),r.isFullscreen=ar.isFullscreen,o()}function u(d){d.key==="Escape"&&c()}function l(){a.value?(r.isFullscreen=!0,o(),document.removeEventListener("keyup",u),document.addEventListener("keyup",u)):(ar.off("change",i),ar.on("change",i),ar.request(e.teleport?document.body:n.value))}function c(){r.isFullscreen&&(a.value?(r.isFullscreen=!1,o(),document.removeEventListener("keyup",u)):ar.exit())}return Fe(()=>e.fullscreen,d=>{d!==r.isFullscreen&&(d?l():c())}),Fe(()=>e.modelValue,d=>{d!==r.isFullscreen&&(d?l():c())}),f=((d,m)=>{for(var E in m||(m={}))H_.call(m,E)&&Ap(d,E,m[E]);if(Ki)for(var E of Ki(m))j_.call(m,E)&&Ap(d,E,m[E]);return d})({wrapper:n,wrapperStyle:s},_e(r)),I2(f,v2({toggle:function(d){d===void 0?r.isFullscreen?c():l():d?l():c()},request:l,exit:c,shadeClick:function(d){d.target===n.value&&e.exitOnClickWrapper&&c()}}));var f}});a1.render=function(e,t,n,r,a,s){return T(),te(AI,{to:"body",disabled:!e.teleport||!e.fullscreen},[M("div",$_({ref:"wrapper"},e.$attrs,{style:e.wrapperStyle,class:{[e.fullscreenClass]:e.isFullscreen},onClick:t[1]||(t[1]=o=>e.shadeClick(o))}),[Va(e.$slots,"default")],16)],8,["disabled"])};const eR=typeof window<"u"&&window!==null;(function(){if(eR&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)return"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}}),!0})();const tR=Object.prototype.propertyIsEnumerable,Lp=Object.getOwnPropertySymbols;function Ni(e){return typeof e=="function"||toString.call(e)==="[object Object]"}function nR(e){return e!=="__proto__"&&e!=="constructor"&&e!=="prototype"}function rR(e,...t){if(!Ni(e))throw new TypeError("expected the first argument to be an object");if(t.length===0||typeof Symbol!="function"||typeof Lp!="function")return e;for(const n of t){const r=Lp(n);for(const a of r)tR.call(n,a)&&(e[a]=n[a])}return e}function Af(e,...t){let n=0;var r;for((typeof(r=e)=="object"?r===null:typeof r!="function")&&(e=t[n++]),e||(e={});n{r.key==="Escape"&&(document.removeEventListener("keyup",n),this.exit())};return this.isFullscreen=!0,this.element=e,document.removeEventListener("keyup",n),document.addEventListener("keyup",n),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const n=()=>{Gn.isFullscreen||(Gn.off("change",n),kp(this)),this.isFullscreen=Gn.isFullscreen,this.options.teleport?this.element=e||null:this.element=Gn.element,this.options.callback&&this.options.callback(Gn.isFullscreen)};return Gn.on("change",n),Gn.request(this.options.teleport?document.body:e)}},exit(){return this.isFullscreen?this.options.pageOnly?(kp(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Gn.exit():Promise.resolve()}},aR=(e,t,n)=>{const r=()=>{let a;const s={teleport:t.modifiers.teleport,pageOnly:t.modifiers.pageOnly};if(t.value)if(typeof t.value=="string")a=t.value;else{const o=t.value,{target:i}=o,u=((l,c)=>{var f={};for(var d in l)H_.call(l,d)&&c.indexOf(d)<0&&(f[d]=l[d]);if(l!=null&&Ki)for(var d of Ki(l))c.indexOf(d)<0&&j_.call(l,d)&&(f[d]=l[d]);return f})(o,["target"]);a=i,Af(s,u)}typeof a=="string"&&(a=document.querySelector(a)),o1.toggle(a,s)};e._onClickFullScreen&&e.removeEventListener("click",e._onClickFullScreen),e.addEventListener("click",r),e._onClickFullScreen=r};var sR={install(e,{name:t="fullscreen"}={}){e.config.globalProperties[`$${t}`]=o1,e.component(t,Jv(a1,{name:t})),e.directive(t,aR)}};const Sf=e=>(ut("data-v-7bc410b7"),e=e(),ct(),e),oR={id:"footer"},iR={class:"footer-items"},uR={class:"footer-item"},cR=Sf(()=>p("strong",null,"FitTrackee",-1)),lR=Sf(()=>p("div",{class:"footer-item bullet"},"•",-1)),dR={class:"footer-item"},fR={key:0,class:"footer-item bullet"},pR={key:1,class:"footer-item"},mR=["href"],ER=Sf(()=>p("div",{class:"footer-item bullet"},"•",-1)),hR={class:"footer-item"},_R=Q({__name:"Footer",props:{version:{},adminContact:{}},setup(e){const t=e,{adminContact:n,version:r}=_e(t);return(a,s)=>{const o=ue("router-link");return T(),N("footer",oR,[p("div",iR,[p("div",uR,[cR,K(" v"+_(h(r)),1)]),lR,p("div",dR,[M(o,{to:"/about"},{default:fe(()=>[K(_(a.$t("common.ABOUT")),1)]),_:1})]),h(n)?(T(),N("div",fR,"•")):F("",!0),h(n)?(T(),N("div",pR,[p("a",{href:`mailto:${h(n)}`},_(a.$t("common.CONTACT")),9,mR)])):F("",!0),ER,p("div",hR,[M(o,{to:"/privacy-policy"},{default:fe(()=>[K(_(a.$t("privacy_policy.TITLE")),1)]),_:1})])])])}}}),ae=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},TR=ae(_R,[["__scopeId","data-v-7bc410b7"]]),gR="/img/weather/clear-day.svg";function i1(e,t){return function(){return e.apply(t,arguments)}}const{toString:AR}=Object.prototype,{getPrototypeOf:Of}=Object,ac=(e=>t=>{const n=AR.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),nr=e=>(e=e.toLowerCase(),t=>ac(t)===e),sc=e=>t=>typeof t===e,{isArray:hs}=Array,io=sc("undefined");function SR(e){return e!==null&&!io(e)&&e.constructor!==null&&!io(e.constructor)&&Rn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const u1=nr("ArrayBuffer");function OR(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&u1(e.buffer),t}const IR=sc("string"),Rn=sc("function"),c1=sc("number"),oc=e=>e!==null&&typeof e=="object",vR=e=>e===!0||e===!1,Ci=e=>{if(ac(e)!=="object")return!1;const t=Of(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},RR=nr("Date"),bR=nr("File"),NR=nr("Blob"),CR=nr("FileList"),yR=e=>oc(e)&&Rn(e.pipe),DR=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Rn(e.append)&&((t=ac(e))==="formdata"||t==="object"&&Rn(e.toString)&&e.toString()==="[object FormData]"))},PR=nr("URLSearchParams"),wR=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Do(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,a;if(typeof e!="object"&&(e=[e]),hs(e))for(r=0,a=e.length;r0;)if(a=n[r],t===a.toLowerCase())return a;return null}const d1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,f1=e=>!io(e)&&e!==d1;function xl(){const{caseless:e}=f1(this)&&this||{},t={},n=(r,a)=>{const s=e&&l1(t,a)||a;Ci(t[s])&&Ci(r)?t[s]=xl(t[s],r):Ci(r)?t[s]=xl({},r):hs(r)?t[s]=r.slice():t[s]=r};for(let r=0,a=arguments.length;r(Do(t,(a,s)=>{n&&Rn(a)?e[s]=i1(a,n):e[s]=a},{allOwnKeys:r}),e),$R=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),kR=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},UR=(e,t,n,r)=>{let a,s,o;const i={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)o=a[s],(!r||r(o,e,t))&&!i[o]&&(t[o]=e[o],i[o]=!0);e=n!==!1&&Of(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},MR=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},xR=e=>{if(!e)return null;if(hs(e))return e;let t=e.length;if(!c1(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},FR=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Of(Uint8Array)),WR=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let a;for(;(a=r.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},GR=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},zR=nr("HTMLFormElement"),BR=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,a){return r.toUpperCase()+a}),Up=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),HR=nr("RegExp"),p1=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Do(n,(a,s)=>{let o;(o=t(a,s,e))!==!1&&(r[s]=o||a)}),Object.defineProperties(e,r)},jR=e=>{p1(e,(t,n)=>{if(Rn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Rn(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},VR=(e,t)=>{const n={},r=a=>{a.forEach(s=>{n[s]=!0})};return hs(e)?r(e):r(String(e).split(t)),n},KR=()=>{},YR=(e,t)=>(e=+e,Number.isFinite(e)?e:t),jc="abcdefghijklmnopqrstuvwxyz",Mp="0123456789",m1={DIGIT:Mp,ALPHA:jc,ALPHA_DIGIT:jc+jc.toUpperCase()+Mp},qR=(e=16,t=m1.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function XR(e){return!!(e&&Rn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const ZR=e=>{const t=new Array(10),n=(r,a)=>{if(oc(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[a]=r;const s=hs(r)?[]:{};return Do(r,(o,i)=>{const u=n(o,a+1);!io(u)&&(s[i]=u)}),t[a]=void 0,s}}return r};return n(e,0)},QR=nr("AsyncFunction"),JR=e=>e&&(oc(e)||Rn(e))&&Rn(e.then)&&Rn(e.catch),ee={isArray:hs,isArrayBuffer:u1,isBuffer:SR,isFormData:DR,isArrayBufferView:OR,isString:IR,isNumber:c1,isBoolean:vR,isObject:oc,isPlainObject:Ci,isUndefined:io,isDate:RR,isFile:bR,isBlob:NR,isRegExp:HR,isFunction:Rn,isStream:yR,isURLSearchParams:PR,isTypedArray:FR,isFileList:CR,forEach:Do,merge:xl,extend:LR,trim:wR,stripBOM:$R,inherits:kR,toFlatObject:UR,kindOf:ac,kindOfTest:nr,endsWith:MR,toArray:xR,forEachEntry:WR,matchAll:GR,isHTMLForm:zR,hasOwnProperty:Up,hasOwnProp:Up,reduceDescriptors:p1,freezeMethods:jR,toObjectSet:VR,toCamelCase:BR,noop:KR,toFiniteNumber:YR,findKey:l1,global:d1,isContextDefined:f1,ALPHABET:m1,generateString:qR,isSpecCompliantForm:XR,toJSONObject:ZR,isAsyncFn:QR,isThenable:JR};function et(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a)}ee.inherits(et,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ee.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const E1=et.prototype,h1={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{h1[e]={value:e}});Object.defineProperties(et,h1);Object.defineProperty(E1,"isAxiosError",{value:!0});et.from=(e,t,n,r,a,s)=>{const o=Object.create(E1);return ee.toFlatObject(e,o,function(u){return u!==Error.prototype},i=>i!=="isAxiosError"),et.call(o,e.message,t,n,r,a),o.cause=e,o.name=e.name,s&&Object.assign(o,s),o};const eb=null;function Fl(e){return ee.isPlainObject(e)||ee.isArray(e)}function _1(e){return ee.endsWith(e,"[]")?e.slice(0,-2):e}function xp(e,t,n){return e?e.concat(t).map(function(a,s){return a=_1(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function tb(e){return ee.isArray(e)&&!e.some(Fl)}const nb=ee.toFlatObject(ee,{},null,function(t){return/^is[A-Z]/.test(t)});function ic(e,t,n){if(!ee.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=ee.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!ee.isUndefined(b[g])});const r=n.metaTokens,a=n.visitor||c,s=n.dots,o=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&ee.isSpecCompliantForm(t);if(!ee.isFunction(a))throw new TypeError("visitor must be a function");function l(E){if(E===null)return"";if(ee.isDate(E))return E.toISOString();if(!u&&ee.isBlob(E))throw new et("Blob is not supported. Use a Buffer instead.");return ee.isArrayBuffer(E)||ee.isTypedArray(E)?u&&typeof Blob=="function"?new Blob([E]):Buffer.from(E):E}function c(E,g,b){let v=E;if(E&&!b&&typeof E=="object"){if(ee.endsWith(g,"{}"))g=r?g:g.slice(0,-2),E=JSON.stringify(E);else if(ee.isArray(E)&&tb(E)||(ee.isFileList(E)||ee.endsWith(g,"[]"))&&(v=ee.toArray(E)))return g=_1(g),v.forEach(function(A,S){!(ee.isUndefined(A)||A===null)&&t.append(o===!0?xp([g],S,s):o===null?g:g+"[]",l(A))}),!1}return Fl(E)?!0:(t.append(xp(b,g,s),l(E)),!1)}const f=[],d=Object.assign(nb,{defaultVisitor:c,convertValue:l,isVisitable:Fl});function m(E,g){if(!ee.isUndefined(E)){if(f.indexOf(E)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(E),ee.forEach(E,function(v,R){(!(ee.isUndefined(v)||v===null)&&a.call(t,v,ee.isString(R)?R.trim():R,g,d))===!0&&m(v,g?g.concat(R):[R])}),f.pop()}}if(!ee.isObject(e))throw new TypeError("data must be an object");return m(e),t}function Fp(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function If(e,t){this._pairs=[],e&&ic(e,this,t)}const T1=If.prototype;T1.append=function(t,n){this._pairs.push([t,n])};T1.toString=function(t){const n=t?function(r){return t.call(this,r,Fp)}:Fp;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function rb(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function g1(e,t,n){if(!t)return e;const r=n&&n.encode||rb,a=n&&n.serialize;let s;if(a?s=a(t,n):s=ee.isURLSearchParams(t)?t.toString():new If(t,n).toString(r),s){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class ab{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ee.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Wp=ab,A1={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},sb=typeof URLSearchParams<"u"?URLSearchParams:If,ob=typeof FormData<"u"?FormData:null,ib=typeof Blob<"u"?Blob:null,ub={isBrowser:!0,classes:{URLSearchParams:sb,FormData:ob,Blob:ib},protocols:["http","https","file","blob","url","data"]},S1=typeof window<"u"&&typeof document<"u",cb=(e=>S1&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),lb=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",db=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:S1,hasStandardBrowserEnv:cb,hasStandardBrowserWebWorkerEnv:lb},Symbol.toStringTag,{value:"Module"})),qn={...db,...ub};function fb(e,t){return ic(e,new qn.classes.URLSearchParams,Object.assign({visitor:function(n,r,a,s){return qn.isNode&&ee.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function pb(e){return ee.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function mb(e){const t={},n=Object.keys(e);let r;const a=n.length;let s;for(r=0;r=n.length;return o=!o&&ee.isArray(a)?a.length:o,u?(ee.hasOwnProp(a,o)?a[o]=[a[o],r]:a[o]=r,!i):((!a[o]||!ee.isObject(a[o]))&&(a[o]=[]),t(n,r,a[o],s)&&ee.isArray(a[o])&&(a[o]=mb(a[o])),!i)}if(ee.isFormData(e)&&ee.isFunction(e.entries)){const n={};return ee.forEachEntry(e,(r,a)=>{t(pb(r),a,n,0)}),n}return null}function Eb(e,t,n){if(ee.isString(e))try{return(t||JSON.parse)(e),ee.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const vf={transitional:A1,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",a=r.indexOf("application/json")>-1,s=ee.isObject(t);if(s&&ee.isHTMLForm(t)&&(t=new FormData(t)),ee.isFormData(t))return a&&a?JSON.stringify(O1(t)):t;if(ee.isArrayBuffer(t)||ee.isBuffer(t)||ee.isStream(t)||ee.isFile(t)||ee.isBlob(t))return t;if(ee.isArrayBufferView(t))return t.buffer;if(ee.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return fb(t,this.formSerializer).toString();if((i=ee.isFileList(t))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return ic(i?{"files[]":t}:t,u&&new u,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),Eb(t)):t}],transformResponse:[function(t){const n=this.transitional||vf.transitional,r=n&&n.forcedJSONParsing,a=this.responseType==="json";if(t&&ee.isString(t)&&(r&&!this.responseType||a)){const o=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t)}catch(i){if(o)throw i.name==="SyntaxError"?et.from(i,et.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:qn.classes.FormData,Blob:qn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ee.forEach(["delete","get","head","post","put","patch"],e=>{vf.headers[e]={}});const Rf=vf,hb=ee.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),_b=e=>{const t={};let n,r,a;return e&&e.split(` `).forEach(function(o){a=o.indexOf(":"),n=o.substring(0,a).trim().toLowerCase(),r=o.substring(a+1).trim(),!(!n||t[n]&&hb[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Gp=Symbol("internals");function Ds(e){return e&&String(e).trim().toLowerCase()}function yi(e){return e===!1||e==null?e:ee.isArray(e)?e.map(yi):String(e)}function Tb(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const gb=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Vc(e,t,n,r,a){if(ee.isFunction(r))return r.call(this,t,n);if(a&&(t=n),!!ee.isString(t)){if(ee.isString(r))return t.indexOf(r)!==-1;if(ee.isRegExp(r))return r.test(t)}}function Ab(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Sb(e,t){const n=ee.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(a,s,o){return this[r].call(this,t,a,s,o)},configurable:!0})})}class uc{constructor(t){t&&this.set(t)}set(t,n,r){const a=this;function s(i,u,l){const c=Ds(u);if(!c)throw new Error("header name must be a non-empty string");const f=ee.findKey(a,c);(!f||a[f]===void 0||l===!0||l===void 0&&a[f]!==!1)&&(a[f||u]=yi(i))}const o=(i,u)=>ee.forEach(i,(l,c)=>s(l,c,u));return ee.isPlainObject(t)||t instanceof this.constructor?o(t,n):ee.isString(t)&&(t=t.trim())&&!gb(t)?o(_b(t),n):t!=null&&s(n,t,r),this}get(t,n){if(t=Ds(t),t){const r=ee.findKey(this,t);if(r){const a=this[r];if(!n)return a;if(n===!0)return Tb(a);if(ee.isFunction(n))return n.call(this,a,r);if(ee.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Ds(t),t){const r=ee.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Vc(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let a=!1;function s(o){if(o=Ds(o),o){const i=ee.findKey(r,o);i&&(!n||Vc(r,r[i],i,n))&&(delete r[i],a=!0)}}return ee.isArray(t)?t.forEach(s):s(t),a}clear(t){const n=Object.keys(this);let r=n.length,a=!1;for(;r--;){const s=n[r];(!t||Vc(this,this[s],s,t,!0))&&(delete this[s],a=!0)}return a}normalize(t){const n=this,r={};return ee.forEach(this,(a,s)=>{const o=ee.findKey(r,s);if(o){n[o]=yi(a),delete n[s];return}const i=t?Ab(s):String(s).trim();i!==s&&delete n[s],n[i]=yi(a),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return ee.forEach(this,(r,a)=>{r!=null&&r!==!1&&(n[a]=t&&ee.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(a=>r.set(a)),r}static accessor(t){const r=(this[Gp]=this[Gp]={accessors:{}}).accessors,a=this.prototype;function s(o){const i=Ds(o);r[i]||(Sb(a,o),r[i]=!0)}return ee.isArray(t)?t.forEach(s):s(t),this}}uc.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ee.reduceDescriptors(uc.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});ee.freezeMethods(uc);const _r=uc;function Kc(e,t){const n=this||Rf,r=t||n,a=_r.from(r.headers);let s=r.data;return ee.forEach(e,function(i){s=i.call(n,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function I1(e){return!!(e&&e.__CANCEL__)}function Po(e,t,n){et.call(this,e??"canceled",et.ERR_CANCELED,t,n),this.name="CanceledError"}ee.inherits(Po,et,{__CANCEL__:!0});function Ob(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new et("Request failed with status code "+n.status,[et.ERR_BAD_REQUEST,et.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const Ib=qn.hasStandardBrowserEnv?{write(e,t,n,r,a,s){const o=[e+"="+encodeURIComponent(t)];ee.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),ee.isString(r)&&o.push("path="+r),ee.isString(a)&&o.push("domain="+a),s===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function vb(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Rb(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function v1(e,t){return e&&!vb(t)?Rb(e,t):t}const bb=qn.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function a(s){let o=s;return t&&(n.setAttribute("href",o),o=n.href),n.setAttribute("href",o),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=a(window.location.href),function(o){const i=ee.isString(o)?a(o):o;return i.protocol===r.protocol&&i.host===r.host}}():function(){return function(){return!0}}();function Nb(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Cb(e,t){e=e||10;const n=new Array(e),r=new Array(e);let a=0,s=0,o;return t=t!==void 0?t:1e3,function(u){const l=Date.now(),c=r[s];o||(o=l),n[a]=u,r[a]=l;let f=s,d=0;for(;f!==a;)d+=n[f++],f=f%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),l-o{const s=a.loaded,o=a.lengthComputable?a.total:void 0,i=s-n,u=r(i),l=s<=o;n=s;const c={loaded:s,total:o,progress:o?s/o:void 0,bytes:i,rate:u||void 0,estimated:u&&o&&l?(o-s)/u:void 0,event:a};c[t?"download":"upload"]=!0,e(c)}}const yb=typeof XMLHttpRequest<"u",Db=yb&&function(e){return new Promise(function(n,r){let a=e.data;const s=_r.from(e.headers).normalize();let{responseType:o,withXSRFToken:i}=e,u;function l(){e.cancelToken&&e.cancelToken.unsubscribe(u),e.signal&&e.signal.removeEventListener("abort",u)}let c;if(ee.isFormData(a)){if(qn.hasStandardBrowserEnv||qn.hasStandardBrowserWebWorkerEnv)s.setContentType(!1);else if((c=s.getContentType())!==!1){const[g,...b]=c?c.split(";").map(v=>v.trim()).filter(Boolean):[];s.setContentType([g||"multipart/form-data",...b].join("; "))}}let f=new XMLHttpRequest;if(e.auth){const g=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.set("Authorization","Basic "+btoa(g+":"+b))}const d=v1(e.baseURL,e.url);f.open(e.method.toUpperCase(),g1(d,e.params,e.paramsSerializer),!0),f.timeout=e.timeout;function m(){if(!f)return;const g=_r.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),v={data:!o||o==="text"||o==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:g,config:e,request:f};Ob(function(A){n(A),l()},function(A){r(A),l()},v),f=null}if("onloadend"in f?f.onloadend=m:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(m)},f.onabort=function(){f&&(r(new et("Request aborted",et.ECONNABORTED,e,f)),f=null)},f.onerror=function(){r(new et("Network Error",et.ERR_NETWORK,e,f)),f=null},f.ontimeout=function(){let b=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const v=e.transitional||A1;e.timeoutErrorMessage&&(b=e.timeoutErrorMessage),r(new et(b,v.clarifyTimeoutError?et.ETIMEDOUT:et.ECONNABORTED,e,f)),f=null},qn.hasStandardBrowserEnv&&(i&&ee.isFunction(i)&&(i=i(e)),i||i!==!1&&bb(d))){const g=e.xsrfHeaderName&&e.xsrfCookieName&&Ib.read(e.xsrfCookieName);g&&s.set(e.xsrfHeaderName,g)}a===void 0&&s.setContentType(null),"setRequestHeader"in f&&ee.forEach(s.toJSON(),function(b,v){f.setRequestHeader(v,b)}),ee.isUndefined(e.withCredentials)||(f.withCredentials=!!e.withCredentials),o&&o!=="json"&&(f.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&f.addEventListener("progress",zp(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",zp(e.onUploadProgress)),(e.cancelToken||e.signal)&&(u=g=>{f&&(r(!g||g.type?new Po(null,e,f):g),f.abort(),f=null)},e.cancelToken&&e.cancelToken.subscribe(u),e.signal&&(e.signal.aborted?u():e.signal.addEventListener("abort",u)));const E=Nb(d);if(E&&qn.protocols.indexOf(E)===-1){r(new et("Unsupported protocol "+E+":",et.ERR_BAD_REQUEST,e));return}f.send(a||null)})},Wl={http:eb,xhr:Db};ee.forEach(Wl,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Bp=e=>`- ${e}`,Pb=e=>ee.isFunction(e)||e===null||e===!1,R1={getAdapter:e=>{e=ee.isArray(e)?e:[e];const{length:t}=e;let n,r;const a={};for(let s=0;s`adapter ${i} `+(u===!1?"is not supported by the environment":"is not available in the build"));let o=t?s.length>1?`since : `+s.map(Bp).join(` @@ -167,7 +167,7 @@ Jeśli zezwolisz zewnętrznej aplikacji, aby używała twojego konta, to zależn Jeśli ten serwer znajduje się w USA: Nasza strona, produkty i usługi są skierowane do ludzi w wieku co najmniej 13 lat. Jeśli jesteś poniżej tego wieku, to według wymagań [COPPA](https://pl.wikipedia.org/wiki/Children%E2%80%99s_Online_Privacy_Protection_Act) (Children's Online Privacy Protection Act) nie używaj tej strony. -Wymagania prawne mogę być inne, jeśli ten serwer znajduje się w innej jurysdykcji.`}},rle="polityka prywatności",ale="Ostatnia aktualizacja",sle={CONTENT:nle,TITLE:rle,LAST_UPDATE:ale},ole={LABEL:"Piesza wycieczka"},ile={LABEL:"Alpinizm"},ule={LABEL:"Wioślarstwo"},cle={LABEL:"Bieg"},lle={LABEL:"Rakiety śnieżne"},dle={LABEL:"Szlak"},fle={LABEL:"Chód"},ple={LABEL:"Paralotniarstwo"},mle={"Cycling (Sport)":{LABEL:"Kolarstwo (Sport)"},"Cycling (Transport)":{LABEL:"Kolarstwo (Transport)"},"Cycling (Virtual)":{LABEL:"Kolarstwo (Wirtualne)"},Hiking:ole,"Mountain Biking":{LABEL:"Kolarstwo górskie"},"Mountain Biking (Electric)":{LABEL:"Kolarstwo górskie (Elektryczne)"},Mountaineering:ile,Rowing:ule,Running:cle,"Skiing (Alpine)":{LABEL:"Narciarstwo alpejskie"},"Skiing (Cross Country)":{LABEL:"Narciarstwo biegowe"},Snowshoes:lle,Trail:dle,Walking:fle,Paragliding:ple,"Open Water Swimming":{LABEL:"Pływanie na wodach otwartych"}},Ele="Statystyki",hle={month:"miesiąc",week:"tydzień",year:"rok"},_le={STATISTICS:Ele,TIME_FRAMES:hle},Tle="Sprawdź swój e-mail. Nowa wiadomość z potwierdzeniem została wysłana na podany adres.",gle="Masz już konto?",Ale="Aktualne hasło",Sle="E-mail",Ole="Podaj poprawny adres e-mail.",Ile="Podaj hasło",vle={DATA_EXPORT:"Eksport danych",DOWNLOAD_ARCHIVE:"Pobierz archiwum",GENERATING_LINK:"generowanie linka...",STATUS:{in_progress:"w trakcie...",errored:"niepowodzenie (proszę zlecić kolejny eksport)"},ONLY_ONE_EXPORT_PER_DAY:"Możesz poprosić o archiwum w przeciągu 24 godzin"},Rle="ukryj hasło",ble="Niepoprawny token, proszę zlecić nowy reset hasła.",Nle="Chcę usunąć swoje konto",Cle="Język",yle="Nowe hasło",Dle="Nie znaleziono użytkowników.",Ple="Hasło",wle="Nie pamiętasz hasła?",Lle="Potrzeba co najmniej ośmiu znaków.",$le="Reset hasła",kle="Sprawdź swój e-mail. Jeśli Twój adres jest w naszej bazie danych, otrzymasz wiadomość z linkiem do resetu hasła.",Ule={AVERAGE:"średnia",GOOD:"dobra",LABEL:"siła hasła",STRONG:"silne",SUGGESTIONS:{allUppercase:"Użyj wielkich liter, ale nie samych wielkich.",anotherWord:"Dodaj jakieś wyrazy, które są mniej popularne.",associatedYears:"Unikaj lat, które są powiązane z Tobą.",capitalization:"Użyj wielkiej litery nie tylko na początku.",dates:"Unikaj dat, które są powiązane z Tobą.",l33t:"Unikaj przewidywalnych zastępstw liter, jak {'@'} zamiast a.",longerKeyboardPattern:"Użyj dłuższych wzorców na klawiaturze i zmieniaj kierunek pisania wiele razy.",noNeed:"Możesz tworzyć silne hasła bez użycia symboli, liczb czy wielkich liter.",pwned:"Jeśli używasz tego hasła także gdzieś indziej, zmień je.",recentYears:"Unikaj ostatnich lat.",repeated:"Unikaj powtarzania słów i znaków.",reverseWords:"Unikaj pisania wspak popularnych słów.",sequences:"Unikaj popularnych sekwencji znaków.",useWords:"Użyj wielu słów, ale unikaj znanych sformułowań."},WEAK:"słabe"},Mle="Twoje hasło zostało zaktualizowane. Kliknij {0} aby się zalogować.",xle={ACCOUNT_EDITION:"Edycja konta",BIRTH_DATE:"Data urodzenia",ELEVATION_CHART_START:{ZERO:"Zero",LABEL:"Wykres wysokości zaczyna się od",MIN_ALT:"Najmniejsza wysokość"},FIRST_DAY_OF_WEEK:"Pierwszy dzień tygodnia",FIRST_NAME:"Imię",LANGUAGE:"Język",LAST_NAME:"Nazwisko",MONDAY:"Poniedziałek",SPORT:{COLOR:"kolor",ACTION:"akcja",DISABLED_BY_ADMIN:"wyłączone przez administratora",IS_ACTIVE:"aktywny",LABEL:"etykieta",STOPPED_SPEED_THRESHOLD:"próg prędkości zatrzymanej"},SUCCESSFUL_EMAIL_UPDATE:"Twoje konto zostało zaktualizowane. Sprawdź swój e-mail aby potwierdzić nowy adres.",SUCCESSFUL_REGISTRATION:"Twoje konto zostało pomyślnie utworzone.",SUCCESSFUL_REGISTRATION_WITH_EMAIL:"Link do aktywacji konta został wysłany e-mailem na podany adres.",SUCCESSFUL_UPDATE:"Twoje konto zostało pomyślnie zaktualizowane.",SUNDAY:"Niedziela",TABS:{ACCOUNT:"konto",APPS:"aplikacje",PICTURE:"zdjęcie",PREFERENCES:"ustawienia","PRIVACY-POLICY":"polityka prywatności",PROFILE:"profil",SPORTS:"sporty"},TIMEZONE:"Strefa czasowa",UNITS:{IMPERIAL:"System imperialny (stopy, mile, °F)",LABEL:"Jednostki dystansu",METRIC:"System metryczny (m, km, m/s, °C)"},ASCENT_DATA:"Dane o wzniesieniach (rekordy, podsumowanie)",BIO:"O sobie",EDIT_PREFERENCES:"Edytuj ustawienia",EDIT_SPORTS_PREFERENCES:"Edytuj ustawienia sportów",DATE_FORMAT:"Format wyświetlanych dat",EDIT:"Edytuj profil",BACK_TO_PROFILE:"Wróć do profilu",ERRORED_EMAIL_UPDATE:"Proszę {0} by znów zmienić swój adres e-mail lub skontaktować się z administratorem",PICTURE_EDITION:"Zmiana zdjęcia",PICTURE_UPDATE:"Zaktualizuj zdjęcie",PICTURE:"Zdjęcie",PICTURE_REMOVE:"Usuń zdjęcie",PREFERENCES_EDITION:"Edycja ustawień",LOCATION:"Miejsce","PRIVACY-POLICY_EDITION":"Polityka prywatności",PROFILE_EDITION:"Edycja profilu",REGISTRATION_DATE:"Data rejestracji",SPORTS_EDITION:"Edycja ustawień sportu",USE_RAW_GPX_SPEED:{FILTERED_SPEED:"Odfiltrowana",HELP:"Przy filtrowaniu wartości odstające (które mogą sugerować błąd GPS) nie są brane pod uwagę przy wyliczaniu maksymalnej prędkości.",LABEL:"Ustalanie prędkości maksymalnej przy GPX",RAW_SPEED:"Oryginalna"}},Fle="Przeczytałem(-am) i zaakceptowałem(-am) {0}.",Wle="Wyślij ponownie e-mail potwierdzenia konta",Gle="Zresetuj swoje hasło",zle="pokaż hasło",Ble="To konto użytkownika jest nieaktywne.",Hle='Wymagane od 3 do 30 znaków, można używać tylko liter, cyfr i podkreślenia "_".',jle="Zaakceptowałeś(-aś) {0}.",Vle="Potwierdzenie konta",Kle="Czy jesteś pewien, że chcesz usunąć swoje konto? Wszystkie dane zostaną nieodwracalnie skasowane.",Yle="Nie otrzymałeś(-aś) instrukcji?",qle="Wyloguj",Xle="Filtruj po nazwie użytkownika",Zle="Polityka prywatności uległa zmianie, proszę {0} ją przed przejściem dalej.",Qle="Zaloguj",Jle="Administrator",ede="Aktualizacja adresu e-mail",tde="Na pewno chcesz się wylogować?",nde="zaloguj się",rde="przejrzyj",ade="Nazwa użytkownika",sde="zdjęcie użytkownika",ode="Załóż konto",ide="Niestety zakładanie kont jest wyłączone.",ude={ACCOUNT_CONFIRMATION_SENT:Tle,ALREADY_HAVE_ACCOUNT:gle,CURRENT_PASSWORD:Ale,EMAIL:Sle,EMAIL_INFO:Ole,ENTER_PASSWORD:Ile,EXPORT_REQUEST:vle,HIDE_PASSWORD:Rle,INVALID_TOKEN:ble,I_WANT_TO_DELETE_MY_ACCOUNT:Nle,LANGUAGE:Cle,NEW_PASSWORD:yle,NO_USERS_FOUND:Dle,PASSWORD:Ple,PASSWORD_FORGOTTEN:wle,PASSWORD_INFO:Lle,PASSWORD_RESET:$le,PASSWORD_SENT_EMAIL_TEXT:kle,PASSWORD_STRENGTH:Ule,PASSWORD_UPDATED:Mle,PROFILE:xle,READ_AND_ACCEPT_PRIVACY_POLICY:Fle,RESENT_ACCOUNT_CONFIRMATION:Wle,RESET_PASSWORD:Gle,SHOW_PASSWORD:zle,THIS_USER_ACCOUNT_IS_INACTIVE:Ble,USERNAME_INFO:Hle,YOU_HAVE_ACCEPTED_PRIVACY_POLICY:jle,ACCOUNT_CONFIRMATION:Vle,CONFIRM_ACCOUNT_DELETION:Kle,ACCOUNT_CONFIRMATION_NOT_RECEIVED:Yle,LOGOUT:qle,FILTER_ON_USERNAME:Xle,LAST_PRIVACY_POLICY_TO_VALIDATE:Zle,LOGIN:Qle,ADMIN:Jle,EMAIL_UPDATE:ede,LOGOUT_CONFIRMATION:tde,LOG_IN:nde,REVIEW:rde,USERNAME:ade,USER_PICTURE:sde,REGISTER:ode,REGISTER_DISABLED:ide},cde="notatki",lde="Brak notatek",dde={DARK_SKY:{"clear-day":"bezchmurny dzień","clear-night":"bezchmurna noc",cloudy:"pochmurnie",fog:"mgła","partly-cloudy-day":"trochę pochmurny dzień","partly-cloudy-night":"trochę pochmurna noc",rain:"deszcz",sleet:"deszcz ze śniegiem",snow:"śnieg",wind:"wiatr"},HUMIDITY:"wilgotność",TEMPERATURE:"temperatura",WIND:"wiatr",WIND_DIRECTIONS:{E:"Wsch.",ENE:"Wsch.-Płn.-Wsch.",NW:"Płn.-Zach.",S:"Płd.",SE:"Płd.-Wsch.",SSE:"Płd.-Płd.-Wsch.",ESE:"Wsch.-Płd.-Wsch.",N:"Płn.",NE:"Płn.-Wsch.",NNE:"Płn.-Płn.-Wsch.",NNW:"Płn.-Płn.-Zach.",SSW:"Płd.-Płd.-Zach.",SW:"Płd.-Zach.",W:"Zach.",WNW:"Zach.-Płn.-Zach.",WSW:"Zach.-Płd.-Zach."}},fde="Dodaj trening",pde="analiza",mde="wzniesienie",Ede="data",hde="zejście",_de="Czas trwania musi być większy niż 0 sekund",Tde="Nie ma następnego treningu",gde="rekord | rekordy",Ade="tytuł",Sde="do",Ode="prędkość",Ide="wróć do treningu",vde="średnia prędkość",Rde="śr. prędkość",bde="filtry wyświetlania",Nde="dystans",Cde="Pobierz trening",yde="czas trwania",Dde="Edytuj trening",Pde="wysokość",wde="Wyłącz pełny ekran",Lde="z",$de="plik .gpx",kde="ukryj filtry",Ude="Obie wysokości muszą być podane i muszą być większe niż lub równe zeru.",Mde="Dystans musi być większy niż 0",xde="Ostatnie treningi",Fde="Wczytaj więcej treningów",Wde="maks. wysokość",Gde="maks. plików",zde="maks. wielkość",Bde="maks. prędkość",Hde="min. wysokość",jde="Następny segment",Vde="Następny trening",Kde="dane z pliku gpx, bez żadnego czyszczenia",Yde="Nie podano pliku",qde="nie ma folderu w środku",Xde="Brak mapy",Zde="Nie ma poprzedniego segmentu",Qde="Nie ma poprzedniego treningu",Jde="Brak rekordów.",efe="Brak treningów.",tfe="przerwy",nfe="Poprzedni segment",rfe="Poprzedni trening",afe="całkowity czas trwania",sfe="Wyślij jakiś!",ofe="Włącz pełny ekran",ife="Śr. prędkość",ufe="Najdłuższy dystans",cfe="Najwyższe wzniesienie",lfe="Najdłuższy czas trwania",dfe="Maks. prędkość",ffe="pozostałych znaków",pfe="Reset zbliżenia",mfe="segment | segmenty",Efe="sport | sporty",hfe="start",_fe="Start i koniec",Tfe="zacznij oś wysokości od zera",gfe="bez pliku .gpx",Afe="z plikiem .gpx",Sfe="trening | treningi",Ofe="data treningu",Ife="Na pewno usunąć ten trening?",vfe="lub .zip zawierający pliki .gpx",Rfe="plik .zip",bfe="Usuń ten trening",Nfe="koniec",Cfe="Nie ma następnego segmentu",yfe={NOTES:cde,NO_NOTES:lde,WEATHER:dde,ADD_WORKOUT:fde,ANALYSIS:pde,ASCENT:mde,DATE:Ede,DESCENT:hde,INVALID_DURATION:_de,NO_NEXT_WORKOUT:Tde,RECORD:gde,TITLE:Ade,TO:Sde,SPEED:Ode,BACK_TO_WORKOUT:Ide,AVERAGE_SPEED:vde,AVE_SPEED:Rde,DISPLAY_FILTERS:bde,DISTANCE:Nde,DOWNLOAD_WORKOUT:Cde,DURATION:yde,EDIT_WORKOUT:Dde,ELEVATION:Pde,EXIT_FULLSCREEN:wde,FROM:Lde,GPX_FILE:$de,HIDE_FILTERS:kde,INVALID_ASCENT_OR_DESCENT:Ude,INVALID_DISTANCE:Mde,LATEST_WORKOUTS:xde,LOAD_MORE_WORKOUT:Fde,MAX_ALTITUDE:Wde,MAX_FILES:Gde,MAX_SIZE:zde,MAX_SPEED:Bde,MIN_ALTITUDE:Hde,NEXT_SEGMENT:jde,NEXT_WORKOUT:Vde,NO_DATA_CLEANING:Kde,NO_FILE_PROVIDED:Yde,NO_FOLDER:qde,NO_MAP:Xde,NO_PREVIOUS_SEGMENT:Zde,NO_PREVIOUS_WORKOUT:Qde,NO_RECORDS:Jde,NO_WORKOUTS:efe,PAUSES:tfe,PREVIOUS_SEGMENT:nfe,PREVIOUS_WORKOUT:rfe,TOTAL_DURATION:afe,UPLOAD_FIRST_WORKOUT:sfe,VIEW_FULLSCREEN:ofe,RECORD_AS:ife,RECORD_FD:ufe,RECORD_HA:cfe,RECORD_LD:lfe,RECORD_MS:dfe,REMAINING_CHARS:ffe,RESET_ZOOM:pfe,SEGMENT:mfe,SPORT:Efe,START:hfe,START_AND_FINISH:_fe,START_ELEVATION_AT_ZERO:Tfe,WITHOUT_GPX:gfe,WITH_GPX:Afe,WORKOUT:Sfe,WORKOUT_DATE:Ofe,WORKOUT_DELETION_CONFIRMATION:Ife,ZIP_ARCHIVE_DESCRIPTION:vfe,ZIP_ARCHIVE:Rfe,DELETE_WORKOUT:bfe,END:Nfe,NO_NEXT_SEGMENT:Cfe},Dfe={about:Oue,admin:Que,api:tce,buttons:Tce,common:Dce,dashboard:Lce,error:xce,oauth2:tle,privacy_policy:sle,sports:mle,statistics:_le,user:ude,workouts:yfe},ga=eL({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:{de:bk,en:z9,es:az,fr:AV,gl:UX,it:Nee,nb:eae,nl:Eue,pl:Dfe}}),Pfe=e=>e==="de"||e==="en"||e==="es"||e==="fr"||e==="gl"||e==="it"||e==="nb"||e==="nl"||e==="pl",Mo={de:SC,en:dc,es:ay,fr:Fy,gl:O4,it:oD,nb:GD,nl:OP,pl:d6},id={de:"Deutsch",en:"English",es:"Español",fr:"Français",gl:"Galego",it:"Italiano (84%)",nb:"Norsk bokmål (60%)",nl:"Nederlands (98%)",pl:"Polski(98%)"},{availableLocales:wfe}=ga.global,ud=wfe.map(e=>({label:id[e],value:e})),As=e=>(ut("data-v-d0405657"),e=e(),ct(),e),Lfe={id:"nav"},$fe={class:"nav-container"},kfe=As(()=>p("div",{class:"nav-app-name"},[p("div",{class:"nav-item app-name"},"FitTrackee")],-1)),Ufe=As(()=>p("i",{class:"fa fa-bars hamburger-icon"},null,-1)),Mfe=[Ufe],xfe={class:"nav-items-close"},Ffe=As(()=>p("div",{class:"app-name"},"FitTrackee",-1)),Wfe={key:0,class:"nav-items-group"},Gfe=As(()=>p("div",{class:"nav-item nav-separator"},null,-1)),zfe={class:"nav-items-user-menu"},Bfe={key:0,class:"nav-items-group"},Hfe={class:"nav-item nav-profile-img"},jfe=["title"],Vfe=As(()=>p("i",{class:"fa fa-sign-out nav-button-fa","aria-hidden":"true"},null,-1)),Kfe={class:"nav-button-text"},Yfe={key:1,class:"nav-items-group"},qfe={class:"theme-button"},Xfe=["title"],Zfe={key:0,class:"fa nav-button-fa fa-moon","aria-hidden":"true"},Qfe={key:1,class:"clear-theme",src:gR,alt:"","aria-hidden":"true"},Jfe={class:"nav-button-text"},e0e=As(()=>p("i",{class:"fa fa-language"},null,-1)),t0e=Q({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=t,r=$e(),a=k(()=>r.getters[Y.GETTERS.AUTH_USER_PROFILE]),s=k(()=>r.getters[Y.GETTERS.IS_AUTHENTICATED]),o=k(()=>r.getters[H.GETTERS.LANGUAGE]),i=ce(!1),u=ce(!1),l=k(()=>r.getters[H.GETTERS.DARK_MODE]),c=k(()=>Cf(l.value));It(()=>b());function f(){i.value=!0,n("menuInteraction",!0)}function d(){i.value=!1,n("menuInteraction",!1)}function m(R){r.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,R.value)}function E(){r.dispatch(Y.ACTIONS.LOGOUT),u.value=!1}function g(R){u.value=R}function b(){c.value?document.body.setAttribute("data-theme","dark"):document.body.removeAttribute("data-theme")}function v(){r.commit(H.MUTATIONS.UPDATE_DARK_MODE,!c.value)}return Fe(()=>c.value,()=>{b()}),(R,A)=>{const S=ue("Modal"),C=ue("router-link"),L=ue("Dropdown");return T(),N("header",Lfe,[u.value?(T(),te(S,{key:0,title:R.$t("common.CONFIRMATION"),message:R.$t("user.LOGOUT_CONFIRMATION"),onConfirmAction:E,onCancelAction:A[0]||(A[0]=$=>g(!1)),onKeydown:A[1]||(A[1]=At($=>g(!1),["esc"]))},null,8,["title","message"])):F("",!0),p("div",$fe,[kfe,p("div",{class:ge(["nav-icon-open",{"menu-open":i.value}])},[p("button",{class:"menu-button transparent",onClick:A[2]||(A[2]=$=>f())},Mfe)],2),p("div",{class:ge(["nav-items",{"menu-open":i.value}])},[p("div",xfe,[Ffe,p("button",{class:"menu-button transparent",onClick:A[3]||(A[3]=$=>d())},[p("i",{class:ge(["fa fa-close close-icon nav-item",{"menu-closed":!i.value}])},null,2)])]),p("div",{class:"nav-items-app-menu",onClick:A[4]||(A[4]=$=>d())},[s.value?(T(),N("div",Wfe,[M(C,{class:"nav-item",to:"/"},{default:fe(()=>[K(_(R.$t("dashboard.DASHBOARD")),1)]),_:1}),M(C,{class:"nav-item",to:"/workouts"},{default:fe(()=>[K(_(St(R.$t("workouts.WORKOUT",2))),1)]),_:1}),M(C,{class:"nav-item",to:"/statistics"},{default:fe(()=>[K(_(R.$t("statistics.STATISTICS")),1)]),_:1}),M(C,{class:"nav-item",to:"/workouts/add"},{default:fe(()=>[K(_(R.$t("workouts.ADD_WORKOUT")),1)]),_:1}),s.value&&a.value.admin?(T(),te(C,{key:0,class:"nav-item",to:"/admin"},{default:fe(()=>[K(_(R.$t("admin.ADMIN")),1)]),_:1})):F("",!0),Gfe])):F("",!0)]),p("div",zfe,[s.value?(T(),N("div",Bfe,[p("div",Hfe,[M(Lo,{user:a.value},null,8,["user"])]),M(C,{class:"nav-item",to:"/profile",onClick:d},{default:fe(()=>[K(_(a.value.username),1)]),_:1}),p("button",{class:"nav-button logout-button transparent",onClick:A[5]||(A[5]=$=>g(!0)),title:R.$t("user.LOGOUT")},[Vfe,p("span",Kfe,_(R.$t("user.LOGOUT")),1)],8,jfe)])):(T(),N("div",Yfe,[M(C,{class:"nav-item",to:"/login",onClick:d},{default:fe(()=>[K(_(R.$t("user.LOGIN")),1)]),_:1}),M(C,{class:"nav-item",to:"/register",onClick:d},{default:fe(()=>[K(_(R.$t("user.REGISTER")),1)]),_:1})])),p("div",qfe,[p("button",{class:"nav-button transparent",onClick:v,title:R.$t("user.TOGGLE_THEME")},[c.value?(T(),N("i",Zfe)):(T(),N("img",Qfe)),p("span",Jfe,_(R.$t("user.TOGGLE_THEME")),1)],8,Xfe)]),h(ud)&&o.value?(T(),te(L,{key:2,class:"nav-item",options:h(ud),selected:o.value,onSelected:m,buttonLabel:R.$t("user.LANGUAGE")},{default:fe(()=>[e0e]),_:1},8,["options","selected","buttonLabel"])):F("",!0)])],2)])])}}}),n0e=ae(t0e,[["__scopeId","data-v-d0405657"]]),r0e={name:"ErrorImg"},a0e={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},s0e=tr('',1),o0e=[s0e];function i0e(e,t,n,r,a,s){return T(),N("svg",a0e,o0e)}const zf=ae(r0e,[["render",i0e]]),u0e={id:"no-config"},c0e={class:"error-page"},l0e={class:"error-img"},d0e=["innerHTML"],f0e=Q({__name:"NoConfig",setup(e){return(t,n)=>(T(),N("div",u0e,[p("div",c0e,[p("div",l0e,[M(zf)]),p("p",{class:"error-message",innerHTML:t.$t("error.APP_ERROR")},null,8,d0e)])]))}}),p0e=ae(f0e,[["__scopeId","data-v-73140811"]]),m0e=p("div",{id:"top"},null,-1),E0e={key:0,class:"app-container"},h0e={class:"app-loading"},_0e={class:"container scroll"},T0e=p("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),g0e=[T0e],A0e=Q({__name:"App",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.APP_LOADING]),a=ce(!1),s=ce(!1);It(()=>{c(),t.dispatch(H.ACTIONS.GET_APPLICATION_CONFIG)}),gt(()=>u());function o(f){a.value=f}function i(f){return f.getBoundingClientRect().top=0}function u(){window.onscroll=()=>{const f=document.querySelector("#bottom");s.value=f!==null&&i(f)}}function l(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout(()=>{s.value=!1},300)}function c(){let f="en";try{const d=navigator.language.split("-")[0];Pfe(d)&&(f=d)}catch{f="en"}t.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,f)}return(f,d)=>{const m=ue("Loader"),E=ue("router-view");return T(),N(Ie,null,[m0e,M(n0e,{onMenuInteraction:o}),p("main",null,[r.value?(T(),N("div",E0e,[p("div",h0e,[M(m)])])):(T(),N("div",{key:1,class:ge(["app-container",{"hide-scroll":a.value}])},[n.value?(T(),te(E,{key:0})):(T(),te(p0e,{key:1}))],2)),p("div",_0e,[p("div",{class:ge(["scroll-button",{"display-button":s.value}]),onClick:l},g0e,2)])]),n.value?(T(),te(TR,{key:0,version:n.value?n.value.version:"",adminContact:n.value.admin_contact},null,8,["version","adminContact"])):F("",!0)],64)}}}),S0e={class:"alert-message"},O0e=["innerHTML"],I0e=Q({__name:"AlertMessage",props:{message:{}},setup(e){const t=e,{message:n}=_e(t);return(r,a)=>(T(),N("div",S0e,[p("div",{innerHTML:r.$t(h(n))},null,8,O0e)]))}}),v0e=ae(I0e,[["__scopeId","data-v-f7bf1117"]]),R0e={},b0e={class:"card"},N0e={class:"card-title"},C0e={class:"card-content"};function y0e(e,t){return T(),N("div",b0e,[p("div",N0e,[Va(e.$slots,"title")]),p("div",C0e,[Va(e.$slots,"content")])])}const xT=ae(R0e,[["render",y0e]]),D0e={class:"custom-textarea"},P0e=["id","name","maxLength","disabled"],w0e={class:"remaining-chars"},L0e=Q({__name:"CustomTextArea",props:{name:{},charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=t,a=ce("");function s(o){r("updateValue",o.target.value)}return Fe(()=>n.input,o=>{a.value=o===null?"":o}),(o,i)=>(T(),N("div",D0e,[Ke(p("textarea",{id:o.name,name:o.name,maxLength:o.charLimit,disabled:o.disabled,"onUpdate:modelValue":i[0]||(i[0]=u=>a.value=u),onInput:s},null,40,P0e),[[tt,a.value]]),p("div",w0e,_(o.$t("workouts.REMAINING_CHARS"))+": "+_(a.value.length)+"/"+_(o.charLimit),1)]))}}),$0e=ae(L0e,[["__scopeId","data-v-57267720"]]),$n={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},k0e={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},sn=(e,t,n,r=3)=>{const a=$n[t],s=$n[n],o=e*a.multiplier*k0e[a.system][s.system]/s.multiplier;return r!==null?parseFloat(o.toFixed(r)):o},wi=(e,t,n)=>{const r=n?$n[e].defaultTarget:e;return n?sn(t,e,r,2):t},zm=(e,t)=>{const n=t?e*1.8+32:e,r=t?" °F":"°C";return`${n===0?0:Number(n).toFixed(1)}${r}`},U0e=(e,t)=>{const n=t?e*2.2369363:e,r=t?" mph":"m/s";return`${n===0?0:Number(n).toFixed(1)}${r}`},M0e=Q({__name:"Distance",props:{distance:{},unitFrom:{},useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:s,strong:o,unitFrom:i,useImperialUnits:u}=_e(t),l=k(()=>u.value?$n[i.value].defaultTarget:i.value),c=k(()=>u.value?sn(a.value,i.value,l.value,n.value):parseFloat(a.value.toFixed(n.value)));return(f,d)=>(T(),N(Ie,null,[p("span",{class:ge(["distance",{strong:h(o)}])},_(c.value),3),K(" "+_(" ")+" "),h(r)?(T(),N("span",{key:0,class:ge(["unit",{strong:h(o)}])},_(l.value)+_(h(s)?"/h":""),3)):F("",!0)],64))}}),x0e=ae(M0e,[["__scopeId","data-v-0f0f76cd"]]);/*! +Wymagania prawne mogę być inne, jeśli ten serwer znajduje się w innej jurysdykcji.`}},rle="polityka prywatności",ale="Ostatnia aktualizacja",sle={CONTENT:nle,TITLE:rle,LAST_UPDATE:ale},ole={LABEL:"Piesza wycieczka"},ile={LABEL:"Alpinizm"},ule={LABEL:"Wioślarstwo"},cle={LABEL:"Bieg"},lle={LABEL:"Rakiety śnieżne"},dle={LABEL:"Szlak"},fle={LABEL:"Chód"},ple={LABEL:"Paralotniarstwo"},mle={"Cycling (Sport)":{LABEL:"Kolarstwo (Sport)"},"Cycling (Transport)":{LABEL:"Kolarstwo (Transport)"},"Cycling (Virtual)":{LABEL:"Kolarstwo (Wirtualne)"},Hiking:ole,"Mountain Biking":{LABEL:"Kolarstwo górskie"},"Mountain Biking (Electric)":{LABEL:"Kolarstwo górskie (Elektryczne)"},Mountaineering:ile,Rowing:ule,Running:cle,"Skiing (Alpine)":{LABEL:"Narciarstwo alpejskie"},"Skiing (Cross Country)":{LABEL:"Narciarstwo biegowe"},Snowshoes:lle,Trail:dle,Walking:fle,Paragliding:ple,"Open Water Swimming":{LABEL:"Pływanie na wodach otwartych"}},Ele="Statystyki",hle={month:"miesiąc",week:"tydzień",year:"rok"},_le={STATISTICS:Ele,TIME_FRAMES:hle},Tle="Sprawdź swój e-mail. Nowa wiadomość z potwierdzeniem została wysłana na podany adres.",gle="Masz już konto?",Ale="Aktualne hasło",Sle="E-mail",Ole="Podaj poprawny adres e-mail.",Ile="Podaj hasło",vle={DATA_EXPORT:"Eksport danych",DOWNLOAD_ARCHIVE:"Pobierz archiwum",GENERATING_LINK:"generowanie linka...",STATUS:{in_progress:"w trakcie...",errored:"niepowodzenie (proszę zlecić kolejny eksport)"},ONLY_ONE_EXPORT_PER_DAY:"Możesz poprosić o archiwum w przeciągu 24 godzin"},Rle="ukryj hasło",ble="Niepoprawny token, proszę zlecić nowy reset hasła.",Nle="Chcę usunąć swoje konto",Cle="Język",yle="Nowe hasło",Dle="Nie znaleziono użytkowników.",Ple="Hasło",wle="Nie pamiętasz hasła?",Lle="Potrzeba co najmniej ośmiu znaków.",$le="Reset hasła",kle="Sprawdź swój e-mail. Jeśli Twój adres jest w naszej bazie danych, otrzymasz wiadomość z linkiem do resetu hasła.",Ule={AVERAGE:"średnia",GOOD:"dobra",LABEL:"siła hasła",STRONG:"silne",SUGGESTIONS:{allUppercase:"Użyj wielkich liter, ale nie samych wielkich.",anotherWord:"Dodaj jakieś wyrazy, które są mniej popularne.",associatedYears:"Unikaj lat, które są powiązane z Tobą.",capitalization:"Użyj wielkiej litery nie tylko na początku.",dates:"Unikaj dat, które są powiązane z Tobą.",l33t:"Unikaj przewidywalnych zastępstw liter, jak {'@'} zamiast a.",longerKeyboardPattern:"Użyj dłuższych wzorców na klawiaturze i zmieniaj kierunek pisania wiele razy.",noNeed:"Możesz tworzyć silne hasła bez użycia symboli, liczb czy wielkich liter.",pwned:"Jeśli używasz tego hasła także gdzieś indziej, zmień je.",recentYears:"Unikaj ostatnich lat.",repeated:"Unikaj powtarzania słów i znaków.",reverseWords:"Unikaj pisania wspak popularnych słów.",sequences:"Unikaj popularnych sekwencji znaków.",useWords:"Użyj wielu słów, ale unikaj znanych sformułowań."},WEAK:"słabe"},Mle="Twoje hasło zostało zaktualizowane. Kliknij {0} aby się zalogować.",xle={ACCOUNT_EDITION:"Edycja konta",BIRTH_DATE:"Data urodzenia",ELEVATION_CHART_START:{ZERO:"Zero",LABEL:"Wykres wysokości zaczyna się od",MIN_ALT:"Najmniejsza wysokość"},FIRST_DAY_OF_WEEK:"Pierwszy dzień tygodnia",FIRST_NAME:"Imię",LANGUAGE:"Język",LAST_NAME:"Nazwisko",MONDAY:"Poniedziałek",SPORT:{COLOR:"kolor",ACTION:"akcja",DISABLED_BY_ADMIN:"wyłączone przez administratora",IS_ACTIVE:"aktywny",LABEL:"etykieta",STOPPED_SPEED_THRESHOLD:"próg prędkości zatrzymanej"},SUCCESSFUL_EMAIL_UPDATE:"Twoje konto zostało zaktualizowane. Sprawdź swój e-mail aby potwierdzić nowy adres.",SUCCESSFUL_REGISTRATION:"Twoje konto zostało pomyślnie utworzone.",SUCCESSFUL_REGISTRATION_WITH_EMAIL:"Link do aktywacji konta został wysłany e-mailem na podany adres.",SUCCESSFUL_UPDATE:"Twoje konto zostało pomyślnie zaktualizowane.",SUNDAY:"Niedziela",TABS:{ACCOUNT:"konto",APPS:"aplikacje",PICTURE:"zdjęcie",PREFERENCES:"ustawienia","PRIVACY-POLICY":"polityka prywatności",PROFILE:"profil",SPORTS:"sporty"},TIMEZONE:"Strefa czasowa",UNITS:{IMPERIAL:"System imperialny (stopy, mile, °F)",LABEL:"Jednostki dystansu",METRIC:"System metryczny (m, km, m/s, °C)"},ASCENT_DATA:"Dane o wzniesieniach (rekordy, podsumowanie)",BIO:"O sobie",EDIT_PREFERENCES:"Edytuj ustawienia",EDIT_SPORTS_PREFERENCES:"Edytuj ustawienia sportów",DATE_FORMAT:"Format wyświetlanych dat",EDIT:"Edytuj profil",BACK_TO_PROFILE:"Wróć do profilu",ERRORED_EMAIL_UPDATE:"Proszę {0} by znów zmienić swój adres e-mail lub skontaktować się z administratorem",PICTURE_EDITION:"Zmiana zdjęcia",PICTURE_UPDATE:"Zaktualizuj zdjęcie",PICTURE:"Zdjęcie",PICTURE_REMOVE:"Usuń zdjęcie",PREFERENCES_EDITION:"Edycja ustawień",LOCATION:"Miejsce","PRIVACY-POLICY_EDITION":"Polityka prywatności",PROFILE_EDITION:"Edycja profilu",REGISTRATION_DATE:"Data rejestracji",SPORTS_EDITION:"Edycja ustawień sportu",USE_RAW_GPX_SPEED:{FILTERED_SPEED:"Odfiltrowana",HELP:"Przy filtrowaniu wartości odstające (które mogą sugerować błąd GPS) nie są brane pod uwagę przy wyliczaniu maksymalnej prędkości.",LABEL:"Ustalanie prędkości maksymalnej przy GPX",RAW_SPEED:"Oryginalna"}},Fle="Przeczytałem(-am) i zaakceptowałem(-am) {0}.",Wle="Wyślij ponownie e-mail potwierdzenia konta",Gle="Zresetuj swoje hasło",zle="pokaż hasło",Ble="To konto użytkownika jest nieaktywne.",Hle='Wymagane od 3 do 30 znaków, można używać tylko liter, cyfr i podkreślenia "_".',jle="Zaakceptowałeś(-aś) {0}.",Vle="Potwierdzenie konta",Kle="Czy jesteś pewien, że chcesz usunąć swoje konto? Wszystkie dane zostaną nieodwracalnie skasowane.",Yle="Nie otrzymałeś(-aś) instrukcji?",qle="Wyloguj",Xle="Filtruj po nazwie użytkownika",Zle="Polityka prywatności uległa zmianie, proszę {0} ją przed przejściem dalej.",Qle="Zaloguj",Jle="Administrator",ede="Aktualizacja adresu e-mail",tde="Na pewno chcesz się wylogować?",nde="zaloguj się",rde="przejrzyj",ade="Nazwa użytkownika",sde="zdjęcie użytkownika",ode="Załóż konto",ide="Niestety zakładanie kont jest wyłączone.",ude={ACCOUNT_CONFIRMATION_SENT:Tle,ALREADY_HAVE_ACCOUNT:gle,CURRENT_PASSWORD:Ale,EMAIL:Sle,EMAIL_INFO:Ole,ENTER_PASSWORD:Ile,EXPORT_REQUEST:vle,HIDE_PASSWORD:Rle,INVALID_TOKEN:ble,I_WANT_TO_DELETE_MY_ACCOUNT:Nle,LANGUAGE:Cle,NEW_PASSWORD:yle,NO_USERS_FOUND:Dle,PASSWORD:Ple,PASSWORD_FORGOTTEN:wle,PASSWORD_INFO:Lle,PASSWORD_RESET:$le,PASSWORD_SENT_EMAIL_TEXT:kle,PASSWORD_STRENGTH:Ule,PASSWORD_UPDATED:Mle,PROFILE:xle,READ_AND_ACCEPT_PRIVACY_POLICY:Fle,RESENT_ACCOUNT_CONFIRMATION:Wle,RESET_PASSWORD:Gle,SHOW_PASSWORD:zle,THIS_USER_ACCOUNT_IS_INACTIVE:Ble,USERNAME_INFO:Hle,YOU_HAVE_ACCEPTED_PRIVACY_POLICY:jle,ACCOUNT_CONFIRMATION:Vle,CONFIRM_ACCOUNT_DELETION:Kle,ACCOUNT_CONFIRMATION_NOT_RECEIVED:Yle,LOGOUT:qle,FILTER_ON_USERNAME:Xle,LAST_PRIVACY_POLICY_TO_VALIDATE:Zle,LOGIN:Qle,ADMIN:Jle,EMAIL_UPDATE:ede,LOGOUT_CONFIRMATION:tde,LOG_IN:nde,REVIEW:rde,USERNAME:ade,USER_PICTURE:sde,REGISTER:ode,REGISTER_DISABLED:ide},cde="notatki",lde="Brak notatek",dde={DARK_SKY:{"clear-day":"bezchmurny dzień","clear-night":"bezchmurna noc",cloudy:"pochmurnie",fog:"mgła","partly-cloudy-day":"trochę pochmurny dzień","partly-cloudy-night":"trochę pochmurna noc",rain:"deszcz",sleet:"deszcz ze śniegiem",snow:"śnieg",wind:"wiatr"},HUMIDITY:"wilgotność",TEMPERATURE:"temperatura",WIND:"wiatr",WIND_DIRECTIONS:{E:"Wsch.",ENE:"Wsch.-Płn.-Wsch.",NW:"Płn.-Zach.",S:"Płd.",SE:"Płd.-Wsch.",SSE:"Płd.-Płd.-Wsch.",ESE:"Wsch.-Płd.-Wsch.",N:"Płn.",NE:"Płn.-Wsch.",NNE:"Płn.-Płn.-Wsch.",NNW:"Płn.-Płn.-Zach.",SSW:"Płd.-Płd.-Zach.",SW:"Płd.-Zach.",W:"Zach.",WNW:"Zach.-Płn.-Zach.",WSW:"Zach.-Płd.-Zach."}},fde="Dodaj trening",pde="analiza",mde="wzniesienie",Ede="data",hde="zejście",_de="Czas trwania musi być większy niż 0 sekund",Tde="Nie ma następnego treningu",gde="rekord | rekordy",Ade="tytuł",Sde="do",Ode="prędkość",Ide="wróć do treningu",vde="średnia prędkość",Rde="śr. prędkość",bde="filtry wyświetlania",Nde="dystans",Cde="Pobierz trening",yde="czas trwania",Dde="Edytuj trening",Pde="wysokość",wde="Wyłącz pełny ekran",Lde="z",$de="plik .gpx",kde="ukryj filtry",Ude="Obie wysokości muszą być podane i muszą być większe niż lub równe zeru.",Mde="Dystans musi być większy niż 0",xde="Ostatnie treningi",Fde="Wczytaj więcej treningów",Wde="maks. wysokość",Gde="maks. plików",zde="maks. wielkość",Bde="maks. prędkość",Hde="min. wysokość",jde="Następny segment",Vde="Następny trening",Kde="dane z pliku gpx, bez żadnego czyszczenia",Yde="Nie podano pliku",qde="nie ma folderu w środku",Xde="Brak mapy",Zde="Nie ma poprzedniego segmentu",Qde="Nie ma poprzedniego treningu",Jde="Brak rekordów.",efe="Brak treningów.",tfe="przerwy",nfe="Poprzedni segment",rfe="Poprzedni trening",afe="całkowity czas trwania",sfe="Wyślij jakiś!",ofe="Włącz pełny ekran",ife="Śr. prędkość",ufe="Najdłuższy dystans",cfe="Najwyższe wzniesienie",lfe="Najdłuższy czas trwania",dfe="Maks. prędkość",ffe="pozostałych znaków",pfe="Reset zbliżenia",mfe="segment | segmenty",Efe="sport | sporty",hfe="start",_fe="Start i koniec",Tfe="zacznij oś wysokości od zera",gfe="bez pliku .gpx",Afe="z plikiem .gpx",Sfe="trening | treningi",Ofe="data treningu",Ife="Na pewno usunąć ten trening?",vfe="lub .zip zawierający pliki .gpx",Rfe="plik .zip",bfe="Usuń ten trening",Nfe="koniec",Cfe="Nie ma następnego segmentu",yfe={NOTES:cde,NO_NOTES:lde,WEATHER:dde,ADD_WORKOUT:fde,ANALYSIS:pde,ASCENT:mde,DATE:Ede,DESCENT:hde,INVALID_DURATION:_de,NO_NEXT_WORKOUT:Tde,RECORD:gde,TITLE:Ade,TO:Sde,SPEED:Ode,BACK_TO_WORKOUT:Ide,AVERAGE_SPEED:vde,AVE_SPEED:Rde,DISPLAY_FILTERS:bde,DISTANCE:Nde,DOWNLOAD_WORKOUT:Cde,DURATION:yde,EDIT_WORKOUT:Dde,ELEVATION:Pde,EXIT_FULLSCREEN:wde,FROM:Lde,GPX_FILE:$de,HIDE_FILTERS:kde,INVALID_ASCENT_OR_DESCENT:Ude,INVALID_DISTANCE:Mde,LATEST_WORKOUTS:xde,LOAD_MORE_WORKOUT:Fde,MAX_ALTITUDE:Wde,MAX_FILES:Gde,MAX_SIZE:zde,MAX_SPEED:Bde,MIN_ALTITUDE:Hde,NEXT_SEGMENT:jde,NEXT_WORKOUT:Vde,NO_DATA_CLEANING:Kde,NO_FILE_PROVIDED:Yde,NO_FOLDER:qde,NO_MAP:Xde,NO_PREVIOUS_SEGMENT:Zde,NO_PREVIOUS_WORKOUT:Qde,NO_RECORDS:Jde,NO_WORKOUTS:efe,PAUSES:tfe,PREVIOUS_SEGMENT:nfe,PREVIOUS_WORKOUT:rfe,TOTAL_DURATION:afe,UPLOAD_FIRST_WORKOUT:sfe,VIEW_FULLSCREEN:ofe,RECORD_AS:ife,RECORD_FD:ufe,RECORD_HA:cfe,RECORD_LD:lfe,RECORD_MS:dfe,REMAINING_CHARS:ffe,RESET_ZOOM:pfe,SEGMENT:mfe,SPORT:Efe,START:hfe,START_AND_FINISH:_fe,START_ELEVATION_AT_ZERO:Tfe,WITHOUT_GPX:gfe,WITH_GPX:Afe,WORKOUT:Sfe,WORKOUT_DATE:Ofe,WORKOUT_DELETION_CONFIRMATION:Ife,ZIP_ARCHIVE_DESCRIPTION:vfe,ZIP_ARCHIVE:Rfe,DELETE_WORKOUT:bfe,END:Nfe,NO_NEXT_SEGMENT:Cfe},Dfe={about:Oue,admin:Que,api:tce,buttons:Tce,common:Dce,dashboard:Lce,error:xce,oauth2:tle,privacy_policy:sle,sports:mle,statistics:_le,user:ude,workouts:yfe},ga=eL({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:{de:bk,en:z9,es:az,fr:AV,gl:UX,it:Nee,nb:eae,nl:Eue,pl:Dfe}}),Pfe=e=>e==="de"||e==="en"||e==="es"||e==="fr"||e==="gl"||e==="it"||e==="nb"||e==="nl"||e==="pl",Mo={de:SC,en:dc,es:ay,fr:Fy,gl:O4,it:oD,nb:GD,nl:OP,pl:d6},id={de:"Deutsch",en:"English",es:"Español",fr:"Français",gl:"Galego",it:"Italiano (84%)",nb:"Norsk bokmål (60%)",nl:"Nederlands (98%)",pl:"Polski(98%)"},{availableLocales:wfe}=ga.global,ud=wfe.map(e=>({label:id[e],value:e})),As=e=>(ut("data-v-2cae01c1"),e=e(),ct(),e),Lfe={id:"nav"},$fe={class:"nav-container"},kfe=As(()=>p("div",{class:"nav-app-name"},[p("div",{class:"nav-item app-name"},"FitTrackee")],-1)),Ufe=As(()=>p("i",{class:"fa fa-bars hamburger-icon"},null,-1)),Mfe=[Ufe],xfe={class:"nav-items-close"},Ffe=As(()=>p("div",{class:"app-name"},"FitTrackee",-1)),Wfe={key:0,class:"nav-items-group"},Gfe=As(()=>p("div",{class:"nav-item nav-separator"},null,-1)),zfe={class:"nav-items-user-menu"},Bfe={key:0,class:"nav-items-group"},Hfe={class:"nav-item nav-profile-img"},jfe=["title"],Vfe=As(()=>p("i",{class:"fa fa-sign-out nav-button-fa","aria-hidden":"true"},null,-1)),Kfe={class:"nav-button-text"},Yfe={key:1,class:"nav-items-group"},qfe={class:"theme-button"},Xfe=["title"],Zfe={key:0,class:"fa nav-button-fa fa-moon","aria-hidden":"true"},Qfe={key:1,class:"clear-theme",src:gR,alt:"","aria-hidden":"true"},Jfe={class:"nav-button-text"},e0e=As(()=>p("i",{class:"fa fa-language"},null,-1)),t0e=Q({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=t,r=$e(),a=k(()=>r.getters[Y.GETTERS.AUTH_USER_PROFILE]),s=k(()=>r.getters[Y.GETTERS.IS_AUTHENTICATED]),o=k(()=>r.getters[H.GETTERS.LANGUAGE]),i=ce(!1),u=ce(!1),l=k(()=>r.getters[H.GETTERS.DARK_MODE]),c=k(()=>Cf(l.value));It(()=>b());function f(){i.value=!0,n("menuInteraction",!0)}function d(){i.value=!1,n("menuInteraction",!1)}function m(R){r.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,R.value)}function E(){r.dispatch(Y.ACTIONS.LOGOUT),u.value=!1}function g(R){u.value=R}function b(){c.value?document.body.setAttribute("data-theme","dark"):document.body.removeAttribute("data-theme")}function v(){r.commit(H.MUTATIONS.UPDATE_DARK_MODE,!c.value)}return Fe(()=>c.value,()=>{b()}),(R,A)=>{const S=ue("Modal"),C=ue("router-link"),L=ue("Dropdown");return T(),N("header",Lfe,[u.value?(T(),te(S,{key:0,title:R.$t("common.CONFIRMATION"),message:R.$t("user.LOGOUT_CONFIRMATION"),onConfirmAction:E,onCancelAction:A[0]||(A[0]=$=>g(!1)),onKeydown:A[1]||(A[1]=At($=>g(!1),["esc"]))},null,8,["title","message"])):F("",!0),p("div",$fe,[kfe,p("div",{class:ge(["nav-icon-open",{"menu-open":i.value}])},[p("button",{class:"menu-button transparent",onClick:A[2]||(A[2]=$=>f())},Mfe)],2),p("div",{class:ge(["nav-items",{"menu-open":i.value}])},[p("div",xfe,[Ffe,p("button",{class:"menu-button transparent",onClick:A[3]||(A[3]=$=>d())},[p("i",{class:ge(["fa fa-close close-icon nav-item",{"menu-closed":!i.value}])},null,2)])]),p("div",{class:"nav-items-app-menu",onClick:A[4]||(A[4]=$=>d())},[s.value?(T(),N("div",Wfe,[M(C,{class:"nav-item",to:"/"},{default:fe(()=>[K(_(R.$t("dashboard.DASHBOARD")),1)]),_:1}),M(C,{class:"nav-item",to:"/workouts"},{default:fe(()=>[K(_(St(R.$t("workouts.WORKOUT",2))),1)]),_:1}),M(C,{class:"nav-item",to:"/statistics"},{default:fe(()=>[K(_(R.$t("statistics.STATISTICS")),1)]),_:1}),M(C,{class:"nav-item",to:"/workouts/add"},{default:fe(()=>[K(_(R.$t("workouts.ADD_WORKOUT")),1)]),_:1}),s.value&&a.value.admin?(T(),te(C,{key:0,class:"nav-item",to:"/admin"},{default:fe(()=>[K(_(R.$t("admin.ADMIN")),1)]),_:1})):F("",!0),Gfe])):F("",!0)]),p("div",zfe,[s.value?(T(),N("div",Bfe,[p("div",Hfe,[M(Lo,{user:a.value},null,8,["user"])]),M(C,{class:"nav-item",to:"/profile",onClick:d},{default:fe(()=>[K(_(a.value.username),1)]),_:1}),p("button",{class:"nav-button logout-button transparent",onClick:A[5]||(A[5]=$=>g(!0)),title:R.$t("user.LOGOUT")},[Vfe,p("span",Kfe,_(R.$t("user.LOGOUT")),1)],8,jfe)])):(T(),N("div",Yfe,[M(C,{class:"nav-item",to:"/login",onClick:d},{default:fe(()=>[K(_(R.$t("user.LOGIN")),1)]),_:1}),M(C,{class:"nav-item",to:"/register",onClick:d},{default:fe(()=>[K(_(R.$t("user.REGISTER")),1)]),_:1})])),p("div",qfe,[p("button",{class:"nav-button transparent",onClick:v,title:R.$t("user.TOGGLE_THEME")},[c.value?(T(),N("i",Zfe)):(T(),N("img",Qfe)),p("span",Jfe,_(R.$t("user.TOGGLE_THEME")),1)],8,Xfe)]),h(ud)&&o.value?(T(),te(L,{key:2,class:"nav-item",options:h(ud),selected:o.value,onSelected:m,buttonLabel:R.$t("user.LANGUAGE")},{default:fe(()=>[e0e]),_:1},8,["options","selected","buttonLabel"])):F("",!0)])],2)])])}}}),n0e=ae(t0e,[["__scopeId","data-v-2cae01c1"]]),r0e={name:"ErrorImg"},a0e={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},s0e=tr('',1),o0e=[s0e];function i0e(e,t,n,r,a,s){return T(),N("svg",a0e,o0e)}const zf=ae(r0e,[["render",i0e]]),u0e={id:"no-config"},c0e={class:"error-page"},l0e={class:"error-img"},d0e=["innerHTML"],f0e=Q({__name:"NoConfig",setup(e){return(t,n)=>(T(),N("div",u0e,[p("div",c0e,[p("div",l0e,[M(zf)]),p("p",{class:"error-message",innerHTML:t.$t("error.APP_ERROR")},null,8,d0e)])]))}}),p0e=ae(f0e,[["__scopeId","data-v-73140811"]]),m0e=p("div",{id:"top"},null,-1),E0e={key:0,class:"app-container"},h0e={class:"app-loading"},_0e={class:"container scroll"},T0e=p("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),g0e=[T0e],A0e=Q({__name:"App",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.APP_LOADING]),a=ce(!1),s=ce(!1);It(()=>{c(),t.dispatch(H.ACTIONS.GET_APPLICATION_CONFIG)}),gt(()=>u());function o(f){a.value=f}function i(f){return f.getBoundingClientRect().top=0}function u(){window.onscroll=()=>{const f=document.querySelector("#bottom");s.value=f!==null&&i(f)}}function l(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout(()=>{s.value=!1},300)}function c(){let f="en";try{const d=navigator.language.split("-")[0];Pfe(d)&&(f=d)}catch{f="en"}t.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,f)}return(f,d)=>{const m=ue("Loader"),E=ue("router-view");return T(),N(Ie,null,[m0e,M(n0e,{onMenuInteraction:o}),p("main",null,[r.value?(T(),N("div",E0e,[p("div",h0e,[M(m)])])):(T(),N("div",{key:1,class:ge(["app-container",{"hide-scroll":a.value}])},[n.value?(T(),te(E,{key:0})):(T(),te(p0e,{key:1}))],2)),p("div",_0e,[p("div",{class:ge(["scroll-button",{"display-button":s.value}]),onClick:l},g0e,2)])]),n.value?(T(),te(TR,{key:0,version:n.value?n.value.version:"",adminContact:n.value.admin_contact},null,8,["version","adminContact"])):F("",!0)],64)}}}),S0e={class:"alert-message"},O0e=["innerHTML"],I0e=Q({__name:"AlertMessage",props:{message:{}},setup(e){const t=e,{message:n}=_e(t);return(r,a)=>(T(),N("div",S0e,[p("div",{innerHTML:r.$t(h(n))},null,8,O0e)]))}}),v0e=ae(I0e,[["__scopeId","data-v-f7bf1117"]]),R0e={},b0e={class:"card"},N0e={class:"card-title"},C0e={class:"card-content"};function y0e(e,t){return T(),N("div",b0e,[p("div",N0e,[Va(e.$slots,"title")]),p("div",C0e,[Va(e.$slots,"content")])])}const xT=ae(R0e,[["render",y0e]]),D0e={class:"custom-textarea"},P0e=["id","name","maxLength","disabled"],w0e={class:"remaining-chars"},L0e=Q({__name:"CustomTextArea",props:{name:{},charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=t,a=ce("");function s(o){r("updateValue",o.target.value)}return Fe(()=>n.input,o=>{a.value=o===null?"":o}),(o,i)=>(T(),N("div",D0e,[Ke(p("textarea",{id:o.name,name:o.name,maxLength:o.charLimit,disabled:o.disabled,"onUpdate:modelValue":i[0]||(i[0]=u=>a.value=u),onInput:s},null,40,P0e),[[tt,a.value]]),p("div",w0e,_(o.$t("workouts.REMAINING_CHARS"))+": "+_(a.value.length)+"/"+_(o.charLimit),1)]))}}),$0e=ae(L0e,[["__scopeId","data-v-57267720"]]),$n={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},k0e={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},sn=(e,t,n,r=3)=>{const a=$n[t],s=$n[n],o=e*a.multiplier*k0e[a.system][s.system]/s.multiplier;return r!==null?parseFloat(o.toFixed(r)):o},wi=(e,t,n)=>{const r=n?$n[e].defaultTarget:e;return n?sn(t,e,r,2):t},zm=(e,t)=>{const n=t?e*1.8+32:e,r=t?" °F":"°C";return`${n===0?0:Number(n).toFixed(1)}${r}`},U0e=(e,t)=>{const n=t?e*2.2369363:e,r=t?" mph":"m/s";return`${n===0?0:Number(n).toFixed(1)}${r}`},M0e=Q({__name:"Distance",props:{distance:{},unitFrom:{},useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:s,strong:o,unitFrom:i,useImperialUnits:u}=_e(t),l=k(()=>u.value?$n[i.value].defaultTarget:i.value),c=k(()=>u.value?sn(a.value,i.value,l.value,n.value):parseFloat(a.value.toFixed(n.value)));return(f,d)=>(T(),N(Ie,null,[p("span",{class:ge(["distance",{strong:h(o)}])},_(c.value),3),K(" "+_(" ")+" "),h(r)?(T(),N("span",{key:0,class:ge(["unit",{strong:h(o)}])},_(l.value)+_(h(s)?"/h":""),3)):F("",!0)],64))}}),x0e=ae(M0e,[["__scopeId","data-v-0f0f76cd"]]);/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT @@ -393,8 +393,8 @@ vulnerable to XSS attacks. Please remove it from \`allowedTags\`. Or, to disable this warning, add the \`allowVulnerableTags\` option and ensure you are accounting for this risk. -`)});const i=t.nonTextTags||["script","style","textarea","option"];let u,l;t.allowedAttributes&&(u={},l={},Ws(t.allowedAttributes,function(P,z){u[z]=[];const V=[];P.forEach(function(se){typeof se=="string"&&se.indexOf("*")>=0?V.push(GE(se).replace(/\\\*/g,".*")):u[z].push(se)}),V.length&&(l[z]=new RegExp("^("+V.join("|")+")$"))}));const c={},f={},d={};Ws(t.allowedClasses,function(P,z){if(u&&(cr(u,z)||(u[z]=[]),u[z].push("class")),c[z]=P,Array.isArray(P)){const V=[];c[z]=[],d[z]=[],P.forEach(function(se){typeof se=="string"&&se.indexOf("*")>=0?V.push(GE(se).replace(/\\\*/g,".*")):se instanceof RegExp?d[z].push(se):c[z].push(se)}),V.length&&(f[z]=new RegExp("^("+V.join("|")+")$"))}});const m={};let E;Ws(t.transformTags,function(P,z){let V;typeof P=="function"?V=P:typeof P=="string"&&(V=Io.simpleTransform(P)),z==="*"?E=V:m[z]=V});let g,b,v,R,A,S,C=!1;$();const L=new cge.Parser({onopentag:function(P,z){if(t.enforceHtmlBoundary&&P==="html"&&$(),A){S++;return}const V=new s(P,z);b.push(V);let se=!1;const Pe=!!V.text;let We;if(cr(m,P)&&(We=m[P](P,z),V.attribs=z=We.attribs,We.text!==void 0&&(V.innerText=We.text),P!==We.tagName&&(V.name=P=We.tagName,R[g]=We.tagName)),E&&(We=E(P,z),V.attribs=z=We.attribs,P!==We.tagName&&(V.name=P=We.tagName,R[g]=We.tagName)),(!o(P)||t.disallowedTagsMode==="recursiveEscape"&&!Ege(v)||t.nestingLimit!=null&&g>=t.nestingLimit)&&(se=!0,v[g]=!0,t.disallowedTagsMode==="discard"&&i.indexOf(P)!==-1&&(A=!0,S=1),v[g]=!0),g++,se){if(t.disallowedTagsMode==="discard")return;a=r,r=""}r+="<"+P,P==="script"&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(V.innerText=""),(!u||cr(u,P)||u["*"])&&Ws(z,function(Ae,ye){if(!Tge.test(ye)){delete V.attribs[ye];return}if(Ae===""&&(t.nonBooleanAttributes.includes(ye)||t.nonBooleanAttributes.includes("*"))){delete V.attribs[ye];return}let Wt=!1;if(!u||cr(u,P)&&u[P].indexOf(ye)!==-1||u["*"]&&u["*"].indexOf(ye)!==-1||cr(l,P)&&l[P].test(ye)||l["*"]&&l["*"].test(ye))Wt=!0;else if(u&&u[P]){for(const ke of u[P])if(lge(ke)&&ke.name&&ke.name===ye){Wt=!0;let ze="";if(ke.multiple===!0){const rt=Ae.split(" ");for(const X of rt)ke.values.indexOf(X)!==-1&&(ze===""?ze=X:ze+=" "+X)}else ke.values.indexOf(Ae)>=0&&(ze=Ae);Ae=ze}}if(Wt){if(t.allowedSchemesAppliedToAttributes.indexOf(ye)!==-1&&G(P,Ae)){delete V.attribs[ye];return}if(P==="script"&&ye==="src"){let ke=!0;try{const ze=B(Ae);if(t.allowedScriptHostnames||t.allowedScriptDomains){const rt=(t.allowedScriptHostnames||[]).find(function(pe){return pe===ze.url.hostname}),X=(t.allowedScriptDomains||[]).find(function(pe){return ze.url.hostname===pe||ze.url.hostname.endsWith(`.${pe}`)});ke=rt||X}}catch{ke=!1}if(!ke){delete V.attribs[ye];return}}if(P==="iframe"&&ye==="src"){let ke=!0;try{const ze=B(Ae);if(ze.isRelativeUrl)ke=cr(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const rt=(t.allowedIframeHostnames||[]).find(function(pe){return pe===ze.url.hostname}),X=(t.allowedIframeDomains||[]).find(function(pe){return ze.url.hostname===pe||ze.url.hostname.endsWith(`.${pe}`)});ke=rt||X}}catch{ke=!1}if(!ke){delete V.attribs[ye];return}}if(ye==="srcset")try{let ke=dge(Ae);if(ke.forEach(function(ze){G("srcset",ze.url)&&(ze.evil=!0)}),ke=BE(ke,function(ze){return!ze.evil}),ke.length)Ae=hge(BE(ke,function(ze){return!ze.evil})),V.attribs[ye]=Ae;else{delete V.attribs[ye];return}}catch{delete V.attribs[ye];return}if(ye==="class"){const ke=c[P],ze=c["*"],rt=f[P],X=d[P],pe=f["*"],le=[rt,pe].concat(X).filter(function(Se){return Se});if(ke&&ze?Ae=re(Ae,zE(ke,ze),le):Ae=re(Ae,ke||ze,le),!Ae.length){delete V.attribs[ye];return}}if(ye==="style"){if(t.parseStyleAttributes)try{const ke=fge(P+" {"+Ae+"}"),ze=w(ke,t.allowedStyles);if(Ae=Z(ze),Ae.length===0){delete V.attribs[ye];return}}catch{typeof window<"u"&&console.warn('Failed to parse "'+P+" {"+Ae+`}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`),delete V.attribs[ye];return}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.")}r+=" "+ye,Ae&&Ae.length&&(r+='="'+U(Ae,!0)+'"')}else delete V.attribs[ye]}),t.selfClosing.indexOf(P)!==-1?r+=" />":(r+=">",V.innerText&&!Pe&&!t.textFilter&&(r+=U(V.innerText),C=!0)),se&&(r=a+U(r),a="")},ontext:function(P){if(A)return;const z=b[b.length-1];let V;if(z&&(V=z.tag,P=z.innerText!==void 0?z.innerText:P),t.disallowedTagsMode==="discard"&&(V==="script"||V==="style"))r+=P;else{const se=U(P,!1);t.textFilter&&!C?r+=t.textFilter(se,V):C||(r+=se)}if(b.length){const se=b[b.length-1];se.text+=P}},onclosetag:function(P,z){if(A)if(S--,!S)A=!1;else return;const V=b.pop();if(!V)return;if(V.tag!==P){b.push(V);return}A=t.enforceHtmlBoundary?P==="html":!1,g--;const se=v[g];if(se){if(delete v[g],t.disallowedTagsMode==="discard"){V.updateParentNodeText();return}a=r,r=""}if(R[g]&&(P=R[g],delete R[g]),t.exclusiveFilter&&t.exclusiveFilter(V)){r=r.substr(0,V.tagPosition);return}if(V.updateParentNodeMediaChildren(),V.updateParentNodeText(),t.selfClosing.indexOf(P)!==-1||z&&!o(P)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0){se&&(r=a,a="");return}r+="",se&&(r=a+U(r),a=""),C=!1}},t.parser);return L.write(e),L.end(),r;function $(){r="",g=0,b=[],v={},R={},A=!1,S=0}function U(P,z){return typeof P!="string"&&(P=P+""),t.parser.decodeEntities&&(P=P.replace(/&/g,"&").replace(//g,">"),z&&(P=P.replace(/"/g,"""))),P=P.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),z&&(P=P.replace(/"/g,""")),P}function G(P,z){for(z=z.replace(/[\x00-\x20]+/g,"");;){const Pe=z.indexOf("",Pe+4);if(We===-1)break;z=z.substring(0,Pe)+z.substring(We+3)}const V=z.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!V)return z.match(/^[/\\]{2}/)?!t.allowProtocolRelative:!1;const se=V[1].toLowerCase();return cr(t.allowedSchemesByTag,P)?t.allowedSchemesByTag[P].indexOf(se)===-1:!t.allowedSchemes||t.allowedSchemes.indexOf(se)===-1}function B(P){if(P=P.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//"),P.startsWith("relative:"))throw new Error("relative: exploit attempt");let z="relative://relative-site";for(let Pe=0;Pe<100;Pe++)z+=`/${Pe}`;const V=new URL(P,z);return{isRelativeUrl:V&&V.hostname==="relative-site"&&V.protocol==="relative:",url:V}}function w(P,z){if(!z)return P;const V=P.nodes[0];let se;return z[V.selector]&&z["*"]?se=zE(z[V.selector],z["*"]):se=z[V.selector]||z["*"],se&&(P.nodes[0].nodes=V.nodes.reduce(J(se),[])),P}function Z(P){return P.nodes[0].nodes.reduce(function(z,V){return z.push(`${V.prop}:${V.value}${V.important?" !important":""}`),z},[]).join(";")}function J(P){return function(z,V){return cr(P,V.prop)&&P[V.prop].some(function(Pe){return Pe.test(V.value)})&&z.push(V),z}}function re(P,z,V){return z?(P=P.split(/\s+/),P.filter(function(se){return z.indexOf(se)!==-1||V.some(function(Pe){return Pe.test(se)})}).join(" ")):P}}const gge={decodeEntities:!0};Io.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0};Io.simpleTransform=function(e,t,n){return n=n===void 0?!0:n,t=t||{},function(r,a){let s;if(n)for(s in t)a[s]=t[s];else a=t;return{tagName:e,attribs:a}}};const Age=qd(_ge),vo=e=>Age(qhe(e,{target:"_blank"}),{allowedTags:["a"],disallowedTagsMode:"escape"}),Sge=e=>(ut("data-v-a720b26e"),e=e(),ct(),e),Oge={id:"admin-app",class:"admin-card"},Ige={for:"admin_contact"},vge=["value"],Rge=["disabled"],bge={for:"max_users"},Nge=["disabled"],Cge={class:"user-limit-help"},yge={class:"info-box"},Dge=Sge(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),Pge={for:"max_single_file_size"},wge=["disabled"],Lge={for:"max_zip_file_size"},$ge=["disabled"],kge={for:"gpx_limit_import"},Uge=["disabled"],Mge={class:"about-label",for:"about"},xge={class:"textarea-description"},Fge=["innerHTML"],Wge={class:"privacy-policy-label",for:"privacy_policy"},Gge={class:"textarea-description"},zge=["innerHTML"],Bge={key:5,class:"form-buttons"},Hge={class:"confirm",type:"submit"},jge={key:6,class:"form-buttons"},Vge=Q({__name:"AdminApplication",props:{appConfig:{},edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=_e(t),r=$e(),a=Zr(),s=xt({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0,about:"",privacy_policy:""}),o=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>{t.appConfig&&i(t.appConfig)});function i(c){Object.keys(s).map(f=>{["max_single_file_size","max_zip_file_size"].includes(f)?s[f]=The(c[f]):["about","privacy_policy"].includes(f)?s[f]=c[f]!==null?c[f]:"":s[f]=c[f]})}function u(){i(t.appConfig),r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),a.push("/admin/application")}function l(){const c=Object.assign({},s);c.max_single_file_size*=1048576,c.max_zip_file_size*=1048576,r.dispatch(H.ACTIONS.UPDATE_APPLICATION_CONFIG,c)}return(c,f)=>{const d=ue("ErrorMessage"),m=ue("Card");return T(),N("div",Oge,[M(m,null,{title:fe(()=>[K(_(c.$t("admin.APP_CONFIG.TITLE")),1)]),content:fe(()=>[p("form",{class:"admin-form",onSubmit:Xe(l,["prevent"])},[p("label",Ige,[K(_(c.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),!h(n)&&!s.admin_contact?(T(),N("input",{key:0,class:"no-contact",value:c.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,vge)):Ke((T(),N("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":f[0]||(f[0]=E=>s.admin_contact=E),disabled:!h(n)},null,8,Rge)),[[tt,s.admin_contact]])]),p("label",bge,[K(_(c.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Ke(p("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":f[1]||(f[1]=E=>s.max_users=E),disabled:!h(n)},null,8,Nge),[[tt,s.max_users]])]),p("div",Cge,[p("span",yge,[Dge,K(" "+_(c.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),p("label",Pge,[K(_(c.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Ke(p("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":f[2]||(f[2]=E=>s.max_single_file_size=E),disabled:!h(n)},null,8,wge),[[tt,s.max_single_file_size]])]),p("label",Lge,[K(_(c.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Ke(p("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":f[3]||(f[3]=E=>s.max_zip_file_size=E),disabled:!h(n)},null,8,$ge),[[tt,s.max_zip_file_size]])]),p("label",kge,[K(_(c.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Ke(p("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":f[4]||(f[4]=E=>s.gpx_limit_import=E),disabled:!h(n)},null,8,Uge),[[tt,s.gpx_limit_import]])]),p("label",Mge,_(c.$t("admin.ABOUT.TEXT"))+": ",1),p("span",xge,_(c.$t("admin.ABOUT.DESCRIPTION")),1),h(n)?Ke((T(),N("textarea",{key:0,id:"about",name:"about",rows:"10","onUpdate:modelValue":f[5]||(f[5]=E=>s.about=E)},null,512)),[[tt,s.about]]):(T(),N("div",{key:1,innerHTML:h(ma)(h(vo)(s.about?s.about:c.$t("admin.NO_TEXT_ENTERED"))),class:"textarea-content"},null,8,Fge)),p("label",Wge,_(St(c.$t("privacy_policy.TITLE")))+": ",1),p("span",Gge,_(c.$t("admin.PRIVACY_POLICY_DESCRIPTION")),1),h(n)?Ke((T(),N("textarea",{key:2,id:"privacy_policy",name:"privacy_policy",rows:"20","onUpdate:modelValue":f[6]||(f[6]=E=>s.privacy_policy=E)},null,512)),[[tt,s.privacy_policy]]):(T(),N("div",{key:3,innerHTML:h(ma)(h(vo)(s.privacy_policy?s.privacy_policy:c.$t("admin.NO_TEXT_ENTERED"))),class:"textarea-content"},null,8,zge)),o.value?(T(),te(d,{key:4,message:o.value},null,8,["message"])):F("",!0),h(n)?(T(),N("div",Bge,[p("button",Hge,_(c.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:Xe(u,["prevent"])},_(c.$t("buttons.CANCEL")),1)])):(T(),N("div",jge,[p("button",{class:"confirm",onClick:f[7]||(f[7]=Xe(E=>c.$router.push("/admin/application/edit"),["prevent"]))},_(c.$t("buttons.EDIT")),1),p("button",{class:"cancel",onClick:f[8]||(f[8]=Xe(E=>c.$router.push("/admin"),["prevent"]))},_(c.$t("admin.BACK_TO_ADMIN")),1)]))],32)]),_:1})])}}}),HE=ae(Vge,[["__scopeId","data-v-a720b26e"]]),Kge={class:"stat-card"},Yge={class:"stat-content box"},qge={class:"stat-icon"},Xge={class:"stat-details"},Zge={class:"stat-huge"},Qge={class:"stat"},pr=Q({__name:"StatCard",props:{icon:{},text:{},value:{}},setup(e){const t=e,{icon:n,text:r,value:a}=_e(t);return(s,o)=>(T(),N("div",Kge,[p("div",Yge,[p("div",qge,[p("i",{class:ge(["fa",`fa-${h(n)}`])},null,2)]),p("div",Xge,[p("div",Zge,_(h(a)),1),p("div",Qge,_(h(r)),1)])])]))}}),Jge={id:"user-stats"},eAe=Q({__name:"AppStatsCards",props:{appStatistics:{}},setup(e){const t=e,{appStatistics:n}=_e(t),r=k(()=>qT(n.value.uploads_dir_size));return(a,s)=>(T(),N("div",Jge,[M(pr,{icon:"users",value:h(n).users,text:a.$t("admin.USER",h(n).users)},null,8,["value","text"]),M(pr,{icon:"tags",value:h(n).sports,text:a.$t("workouts.SPORT",h(n).sports)},null,8,["value","text"]),M(pr,{icon:"calendar",value:h(n).workouts,text:a.$t("workouts.WORKOUT",h(n).workouts)},null,8,["value","text"]),M(pr,{icon:"folder-open",value:r.value.size,text:r.value.suffix},null,8,["value","text"])]))}}),EA=e=>(ut("data-v-efcd2677"),e=e(),ct(),e),tAe={id:"admin-menu",class:"center-card"},nAe={class:"admin-menu description-list"},rAe={class:"application-config-details"},aAe=EA(()=>p("br",null,null,-1)),sAe={class:"registration-status"},oAe={key:0,class:"email-sending-status"},iAe=EA(()=>p("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)),uAe=Q({__name:"AdminMenu",props:{appConfig:{},appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=_e(t);return gt(()=>{const a=document.getElementById("adminLink");a&&a.focus()}),(a,s)=>{const o=ue("router-link");return T(),N("div",tAe,[M(xT,null,{title:fe(()=>[K(_(a.$t("admin.ADMINISTRATION")),1)]),content:fe(()=>[M(eAe,{appStatistics:h(r)},null,8,["appStatistics"]),p("div",nAe,[p("dl",null,[p("dt",null,[M(o,{id:"adminLink",to:"/admin/application"},{default:fe(()=>[K(_(a.$t("admin.APPLICATION")),1)]),_:1})]),p("dd",rAe,[K(_(a.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),aAe,p("span",sAe,_(a.$t(`admin.REGISTRATION_${h(n).is_registration_enabled?"ENABLED":"DISABLED"}`)),1),h(n).is_email_sending_enabled?F("",!0):(T(),N("span",oAe,[iAe,K(" "+_(a.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),p("dt",null,[M(o,{to:"/admin/sports"},{default:fe(()=>[K(_(St(a.$t("workouts.SPORT",0))),1)]),_:1})]),p("dd",null,_(a.$t("admin.ENABLE_DISABLE_SPORTS")),1),p("dt",null,[M(o,{to:"/admin/users"},{default:fe(()=>[K(_(St(a.$t("admin.USER",0))),1)]),_:1})]),p("dd",null,_(a.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]),_:1})])}}}),cAe=ae(uAe,[["__scopeId","data-v-efcd2677"]]),h0={"Cycling (Sport)":"#4c9792","Cycling (Trekking)":"#a8af88","Cycling (Transport)":"#88af98","Cycling (Virtual)":"#64a360",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Mountaineering:"#48b3b7","Open Water Swimming":"#4058a4",Paragliding:"#c23c50",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},lAe=e=>{const t={};return e.map(n=>t[n.id]=n.color?n.color:h0[n.label]),t},dAe=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter(a=>n==="all"?!0:r.includes(a.id)||a[n]).map(a=>({...a,translatedLabel:t(`sports.${a.label}.LABEL`)})).sort(dAe),_0=(e,t)=>t.filter(n=>n.id===e.sport_id).map(n=>n.label)[0],T0=(e,t)=>t.filter(n=>n.id===e.sport_id).map(n=>n.color)[0],Cc=e=>(ut("data-v-203d96b8"),e=e(),ct(),e),fAe={id:"admin-sports",class:"admin-card"},pAe={class:"responsive-table"},mAe=Cc(()=>p("th",null,"#",-1)),EAe={class:"text-left"},hAe={class:"text-left sport-action"},_Ae=Cc(()=>p("th",null,null,-1)),TAe={class:"text-center"},gAe=Cc(()=>p("span",{class:"cell-heading"},"id",-1)),AAe={class:"cell-heading"},SAe={class:"sport-label"},OAe={class:"cell-heading"},IAe={class:"text-center"},vAe={class:"cell-heading"},RAe={class:"sport-action"},bAe={class:"cell-heading"},NAe={class:"action-button"},CAe=["onClick"],yAe={key:0,class:"has-workouts"},DAe=Cc(()=>p("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)),PAe=Q({__name:"AdminSports",setup(e){const{t}=jt(),n=$e(),r=k(()=>Jr(n.getters[$t.GETTERS.SPORTS],t)),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);function s(o,i){n.dispatch($t.ACTIONS.UPDATE_SPORTS,{id:o,isActive:i})}return(o,i)=>{const u=ue("SportImage"),l=ue("ErrorMessage"),c=ue("Card");return T(),N("div",fAe,[M(c,null,{title:fe(()=>[K(_(o.$t("admin.SPORTS.TITLE")),1)]),content:fe(()=>[p("button",{class:"top-button",onClick:i[0]||(i[0]=Xe(f=>o.$router.push("/admin"),["prevent"]))},_(o.$t("admin.BACK_TO_ADMIN")),1),p("div",pAe,[p("table",null,[p("thead",null,[p("tr",null,[mAe,p("th",null,_(o.$t("admin.SPORTS.TABLE.IMAGE")),1),p("th",EAe,_(o.$t("admin.SPORTS.TABLE.LABEL")),1),p("th",null,_(o.$t("admin.SPORTS.TABLE.ACTIVE")),1),p("th",hAe,_(o.$t("admin.ACTION")),1),_Ae])]),p("tbody",null,[(T(!0),N(Ie,null,xe(r.value,f=>(T(),N("tr",{key:f.id},[p("td",TAe,[gAe,K(" "+_(f.id),1)]),p("td",null,[p("span",AAe,_(o.$t("admin.SPORTS.TABLE.IMAGE")),1),M(u,{title:f.translatedLabel,"sport-label":f.label,color:f.color},null,8,["title","sport-label","color"])]),p("td",SAe,[p("span",OAe,_(o.$t("admin.SPORTS.TABLE.LABEL")),1),K(" "+_(f.translatedLabel),1)]),p("td",IAe,[p("span",vAe,_(o.$t("admin.SPORTS.TABLE.ACTIVE")),1),p("i",{class:ge(`fa fa${f.is_active?"-check":""}`),"aria-hidden":"true"},null,2)]),p("td",RAe,[p("span",bAe,_(o.$t("admin.ACTION")),1),p("div",NAe,[p("button",{class:ge({danger:f.is_active}),onClick:d=>s(f.id,!f.is_active)},_(o.$t(`buttons.${f.is_active?"DIS":"EN"}ABLE`)),11,CAe),f.has_workouts?(T(),N("span",yAe,[DAe,K(" "+_(o.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):F("",!0)])])]))),128))])]),a.value?(T(),te(l,{key:0,message:a.value},null,8,["message"])):F("",!0),p("button",{onClick:i[1]||(i[1]=Xe(f=>o.$router.push("/admin"),["prevent"]))},_(o.$t("admin.BACK_TO_ADMIN")),1)])]),_:1})])}}}),wAe=ae(PAe,[["__scopeId","data-v-203d96b8"]]),LAe={class:"table-selects"},$Ae=["value"],kAe=["value"],UAe=["value"],MAe=["value"],xAe=["value"],FAe=["value"],WAe=Q({__name:"FilterSelects",props:{order_by:{},query:{},sort:{},message:{}},emits:["updateSelect"],setup(e,{emit:t}){const n=e,r=t,{order_by:a,query:s,sort:o,message:i}=_e(n),u=[10,25,50,100];function l(c){r("updateSelect",c.target.id,c.target.value)}return(c,f)=>(T(),N("div",LAe,[p("label",null,[K(_(c.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),p("select",{name:"order_by",id:"order_by",value:h(s).order_by,onChange:l},[(T(!0),N(Ie,null,xe(h(a),d=>(T(),N("option",{value:d,key:d},_(c.$t(`${h(i)}.${d.toUpperCase()}`)),9,kAe))),128))],40,$Ae)]),p("label",null,[K(_(c.$t("common.SELECTS.ORDER.LABEL"))+": ",1),p("select",{name:"order",id:"order",value:h(s).order,onChange:l},[(T(!0),N(Ie,null,xe(h(o),d=>(T(),N("option",{value:d,key:d},_(c.$t(`common.SELECTS.ORDER.${d.toUpperCase()}`)),9,MAe))),128))],40,UAe)]),p("label",null,[K(_(c.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),p("select",{name:"per_page",id:"per_page",value:h(s).per_page,onChange:l},[(T(),N(Ie,null,xe(u,d=>p("option",{value:d,key:d},_(d),9,FAe)),64))],40,xAe)])]))}}),hA=ae(WAe,[["__scopeId","data-v-fc86ab3c"]]),g0=["asc","desc"],_A=1,GAe=10,Fd=(e,t)=>e&&typeof e=="string"&&+e>0?+e:t,jE=(e,t,n)=>e&&typeof e=="string"&&t.includes(e)?e:n,Wd=(e,t,n,r)=>{const s=(r||{}).defaultSort||"asc",o={};return o.page=Fd(e.page,_A),o.per_page=Fd(e.per_page,GAe),o.order=jE(e.order,g0,s),o.order_by=jE(e.order_by,t,n),typeof e.q=="string"?o.q=e.q:delete o.q,o},zAe=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id","title"],Pa=(e,t=1)=>Array.from({length:e-t+1},(n,r)=>t+r),BAe=(e,t)=>{if(e<0)return[];if(e<9)return Pa(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(Pa(t+2,3)):(n=n.concat(["..."]),t=e-2&&+n[n.length-1](ut("data-v-b6235e81"),e=e(),ct(),e),HAe={class:"pagination-center","aria-label":"navigation"},jAe={class:"pagination"},VAe=TA(()=>p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)),KAe={key:0},YAe=TA(()=>p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)),qAe=Q({__name:"Pagination",props:{pagination:{},path:{},query:{}},setup(e){const t=e,{pagination:n,path:r,query:a}=_e(t);function s(o,i){const u=Object.assign({},a.value);return u.page=i?o+i:o,u}return(o,i)=>{const u=ue("router-link");return T(),N("nav",HAe,[p("ul",jAe,[p("li",{class:ge(["page-prev",{disabled:!h(n).has_prev}])},[M(u,{class:"page-link",to:{path:h(r),query:s(h(n).page,-1)},disabled:!h(n).has_prev,tabindex:h(n).has_prev?0:-1},{default:fe(({navigate:l})=>[Va(o.$slots,"default",{onClick:c=>h(n).has_next?l:null},()=>[K(_(o.$t("api.PAGINATION.PREVIOUS"))+" ",1),VAe],!0)]),_:3},8,["to","disabled","tabindex"])],2),(T(!0),N(Ie,null,xe(h(BAe)(h(n).pages,h(n).page),l=>(T(),N("li",{key:l,class:ge(["page",{active:l===h(n).page}])},[l==="..."?(T(),N("span",KAe," ... ")):(T(),te(u,{key:1,class:"page-link",to:{path:h(r),query:s(+l)}},{default:fe(()=>[K(_(l),1)]),_:2},1032,["to"]))],2))),128)),p("li",{class:ge(["page-next",{disabled:!h(n).has_next}])},[M(u,{class:"page-link",to:{path:h(r),query:s(h(n).page,1)},disabled:!h(n).has_next,tabindex:h(n).has_next?0:-1},{default:fe(({navigate:l})=>[Va(o.$slots,"default",{onClick:c=>h(n).has_next?l:null},()=>[K(_(o.$t("api.PAGINATION.NEXT"))+" ",1),YAe],!0)]),_:3},8,["to","disabled","tabindex"])],2)])])}}}),Wu=ae(qAe,[["__scopeId","data-v-b6235e81"]]),XAe={class:"users-filters"},ZAe={class:"search-username"},QAe=["placeholder"],JAe=Q({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=Vt(),r=ce(n.query.q?n.query.q:""),a=t;function s(){r.value!==""&&a("filterOnUsername",r)}function o(){r.value="",a("filterOnUsername",r.value)}return(i,u)=>(T(),N("div",XAe,[p("div",ZAe,[Ke(p("input",{id:"username",name:"username","onUpdate:modelValue":u[0]||(u[0]=l=>r.value=l),onKeyup:At(s,["enter"]),placeholder:i.$t("user.FILTER_ON_USERNAME")},null,40,QAe),[[tt,r.value,void 0,{trim:!0}]]),r.value!==""?(T(),N("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:o})):F("",!0)]),p("i",{class:ge(["fa fa-search",{"fa-disabled":r.value===""}]),"aria-hidden":"true",onClick:s},null,2)]))}}),eSe=ae(JAe,[["__scopeId","data-v-553040c7"]]);var Gd={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;function n(r){if(r===null||r===!0||r===!1)return NaN;var a=Number(r);return isNaN(a)?a:a<0?Math.ceil(a):Math.floor(a)}e.exports=t.default})(Gd,Gd.exports);var tSe=Gd.exports;const nSe=qd(tSe);var zd={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;function n(r){var a=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()));return a.setUTCFullYear(r.getFullYear()),r.getTime()-a.getTime()}e.exports=t.default})(zd,zd.exports);var rSe=zd.exports;const VE=qd(rSe);function aSe(e,t){var n=uSe(t);return n.formatToParts?oSe(n,e):iSe(n,e)}var sSe={year:0,month:1,day:2,hour:3,minute:4,second:5};function oSe(e,t){try{for(var n=e.formatToParts(t),r=[],a=0;a=0&&(r[s]=parseInt(n[a].value,10))}return r}catch(o){if(o instanceof RangeError)return[NaN];throw o}}function iSe(e,t){var n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var pl={};function uSe(e){if(!pl[e]){var t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n=t==="06/25/2014, 00:00:00"||t==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";pl[e]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return pl[e]}function gA(e,t,n,r,a,s,o){var i=new Date(0);return i.setUTCFullYear(e,t,n),i.setUTCHours(r,a,s,o),i}var KE=36e5,cSe=6e4,ml={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function AA(e,t,n){var r,a;if(!e||(r=ml.timezoneZ.exec(e),r))return 0;var s;if(r=ml.timezoneHH.exec(e),r)return s=parseInt(r[1],10),YE(s)?-(s*KE):NaN;if(r=ml.timezoneHHMM.exec(e),r){s=parseInt(r[1],10);var o=parseInt(r[2],10);return YE(s,o)?(a=Math.abs(s)*KE+o*cSe,s>0?-a:a):NaN}if(fSe(e)){t=new Date(t||Date.now());var i=n?t:lSe(t),u=Bd(i,e),l=n?u:dSe(t,u,e);return-l}return NaN}function lSe(e){return gA(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function Bd(e,t){var n=aSe(e,t),r=gA(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),a=e.getTime(),s=a%1e3;return a-=s>=0?s:1e3+s,r-a}function dSe(e,t,n){var r=e.getTime(),a=r-t,s=Bd(new Date(a),n);if(t===s)return t;a-=s-t;var o=Bd(new Date(a),n);return s===o?s:Math.max(s,o)}function YE(e,t){return-23<=e&&e<=23&&(t==null||0<=t&&t<=59)}var qE={};function fSe(e){if(qE[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),qE[e]=!0,!0}catch{return!1}}var pSe=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,El=36e5,XE=6e4,mSe=2,Qt={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:pSe};function ESe(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(e===null)return new Date(NaN);var n=t||{},r=n.additionalDigits==null?mSe:nSe(n.additionalDigits);if(r!==2&&r!==1&&r!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]")return new Date(e.getTime());if(typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]")return new Date(e);if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var a=hSe(e),s=_Se(a.date,r),o=s.year,i=s.restDateString,u=TSe(i,o);if(isNaN(u))return new Date(NaN);if(u){var l=u.getTime(),c=0,f;if(a.time&&(c=gSe(a.time),isNaN(c)))return new Date(NaN);if(a.timeZone||n.timeZone){if(f=AA(a.timeZone||n.timeZone,new Date(l+c)),isNaN(f))return new Date(NaN)}else f=VE(new Date(l+c)),f=VE(new Date(l+c+f));return new Date(l+c+f)}else return new Date(NaN)}function hSe(e){var t={},n=Qt.dateTimePattern.exec(e),r;if(n?(t.date=n[1],r=n[3]):(n=Qt.datePattern.exec(e),n?(t.date=n[1],r=n[2]):(t.date=null,r=e)),r){var a=Qt.timeZone.exec(r);a?(t.time=r.replace(a[1],""),t.timeZone=a[1].trim()):t.time=r}return t}function _Se(e,t){var n=Qt.YYY[t],r=Qt.YYYYY[t],a;if(a=Qt.YYYY.exec(e)||r.exec(e),a){var s=a[1];return{year:parseInt(s,10),restDateString:e.slice(s.length)}}if(a=Qt.YY.exec(e)||n.exec(e),a){var o=a[1];return{year:parseInt(o,10)*100,restDateString:e.slice(o.length)}}return{year:null}}function TSe(e,t){if(t===null)return null;var n,r,a,s;if(e.length===0)return r=new Date(0),r.setUTCFullYear(t),r;if(n=Qt.MM.exec(e),n)return r=new Date(0),a=parseInt(n[1],10)-1,QE(t,a)?(r.setUTCFullYear(t,a),r):new Date(NaN);if(n=Qt.DDD.exec(e),n){r=new Date(0);var o=parseInt(n[1],10);return OSe(t,o)?(r.setUTCFullYear(t,0,o),r):new Date(NaN)}if(n=Qt.MMDD.exec(e),n){r=new Date(0),a=parseInt(n[1],10)-1;var i=parseInt(n[2],10);return QE(t,a,i)?(r.setUTCFullYear(t,a,i),r):new Date(NaN)}if(n=Qt.Www.exec(e),n)return s=parseInt(n[1],10)-1,JE(t,s)?ZE(t,s):new Date(NaN);if(n=Qt.WwwD.exec(e),n){s=parseInt(n[1],10)-1;var u=parseInt(n[2],10)-1;return JE(t,s,u)?ZE(t,s,u):new Date(NaN)}return null}function gSe(e){var t,n,r;if(t=Qt.HH.exec(e),t)return n=parseFloat(t[1].replace(",",".")),hl(n)?n%24*El:NaN;if(t=Qt.HHMM.exec(e),t)return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),hl(n,r)?n%24*El+r*XE:NaN;if(t=Qt.HHMMSS.exec(e),t){n=parseInt(t[1],10),r=parseInt(t[2],10);var a=parseFloat(t[3].replace(",","."));return hl(n,r,a)?n%24*El+r*XE+a*1e3:NaN}return null}function ZE(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var a=r.getUTCDay()||7,s=t*7+n+1-a;return r.setUTCDate(r.getUTCDate()+s),r}var ASe=[31,28,31,30,31,30,31,31,30,31,30,31],SSe=[31,29,31,30,31,30,31,31,30,31,30,31];function SA(e){return e%400===0||e%4===0&&e%100!==0}function QE(e,t,n){if(t<0||t>11)return!1;if(n!=null){if(n<1)return!1;var r=SA(e);if(r&&n>SSe[t]||!r&&n>ASe[t])return!1}return!0}function OSe(e,t){if(t<1)return!1;var n=SA(e);return!(n&&t>366||!n&&t>365)}function JE(e,t,n){return!(t<0||t>52||n!=null&&(n<0||n>6))}function hl(e,t,n){return!(e!=null&&(e<0||e>=25)||t!=null&&(t<0||t>=60)||n!=null&&(n<0||n>=60))}function ISe(e,t,n){var r=ESe(e,n),a=AA(t,r,!0),s=new Date(r.getTime()-a),o=new Date(0);return o.setFullYear(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()),o.setHours(s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),o}const{locale:Gu}=ga.global,vSe=(e,t,n)=>{switch(e){case"week":return lc(t,{weekStartsOn:n?1:0});case"year":return Lf(t);case"month":return Uo(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},RSe=(e,t)=>{switch(e){case"week":return $o(t,7);case"year":return Qi(t,1);case"month":return Za(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},yc=(e,t)=>ISe(new Date(e),t),eh=(e,t)=>{const n=Uo(e),r=ko(e),a=t?1:0;return{start:lc(n,{weekStartsOn:a}),end:$f(r,{weekStartsOn:a})}},OA=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),t=Sa(t,Gu.value),n||(n="HH:mm"),{workout_date:ln(e,t,{locale:Mo[Gu.value]}),workout_time:ln(e,n)}),bSe=["MM/dd/yyyy","dd/MM/yyyy","yyyy-MM-dd","date_string"],IA={de:"do MMM yyyy",en:"MMM. do, yyyy",es:"d MMM yyyy",fr:"d MMM yyyy",gl:"d MMM yyyy",it:"d MMM yyyy",pl:"d MMM yyyy",nb:"do MMM yyyy",nl:"d MMM yyyy"},Sa=(e,t)=>e==="date_string"?IA[t]:e,xn=(e,t,n,r=!0,a=null,s=!1)=>{a||(a=Gu.value);const o=r?s?" HH:mm:ss":" HH:mm":"";return ln(yc(e,t),`${Sa(n,a)}${o}`,{locale:Mo[a]})},NSe=(e,t,n=null)=>{const r=n||Gu.value,a=[];return bSe.map(s=>{const o=Sa(s,r);a.push({label:`${o} - ${xn(e,t,o,!1,r)}`,value:s})}),a},CSe=e=>(ut("data-v-4beb3bfa"),e=e(),ct(),e),ySe={id:"admin-users",class:"admin-card"},DSe={key:0,class:"no-users"},PSe={key:1,class:"responsive-table"},wSe=CSe(()=>p("th",null,"#",-1)),LSe={class:"left-text"},$Se={class:"left-text"},kSe={class:"left-text"},USe={class:"cell-heading"},MSe={class:"cell-heading"},xSe={class:"cell-heading"},FSe={class:"cell-heading"},WSe={class:"text-center"},GSe={class:"cell-heading"},zSe={class:"text-center"},BSe={class:"cell-heading"},HSe={class:"text-center"},jSe={class:"cell-heading"},VSe={class:"text-center"},KSe={class:"cell-heading"},YSe=["disabled","onClick"],th="created_at",qSe=Q({__name:"AdminUsers",setup(e){const t=$e(),n=Vt(),r=Zr(),a=["is_active","admin","created_at","username","workouts_count"];let s=xt(Wd(n.query,a,th));const o=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),i=k(()=>t.getters[Ce.GETTERS.USERS]),u=k(()=>t.getters[Ce.GETTERS.USERS_PAGINATION]),l=k(()=>t.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>c(s));function c(E){t.dispatch(Ce.ACTIONS.GET_USERS,E)}function f(E){m("q",E.value)}function d(E,g){t.dispatch(Ce.ACTIONS.UPDATE_USER,{username:E,admin:g})}function m(E,g){s[E]=g,E==="per_page"&&(s.page=1),r.push({path:"/admin/users",query:s})}return Rt(()=>{t.dispatch(Ce.ACTIONS.EMPTY_USERS)}),Fe(()=>n.query,E=>{s=Wd(E,a,th,{query:s}),c(s)}),(E,g)=>{const b=ue("router-link"),v=ue("ErrorMessage"),R=ue("Card");return T(),N("div",ySe,[M(R,null,{title:fe(()=>[K(_(St(E.$t("admin.USER",0))),1)]),content:fe(()=>[p("button",{class:"top-button",onClick:g[0]||(g[0]=Xe(A=>E.$router.push("/admin"),["prevent"]))},_(E.$t("admin.BACK_TO_ADMIN")),1),M(eSe,{onFilterOnUsername:f}),M(hA,{sort:h(g0),order_by:a,query:h(s),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:m},null,8,["sort","query"]),i.value.length===0?(T(),N("div",DSe,_(E.$t("user.NO_USERS_FOUND")),1)):(T(),N("div",PSe,[p("table",null,[p("thead",null,[p("tr",null,[wSe,p("th",LSe,_(E.$t("user.USERNAME")),1),p("th",$Se,_(E.$t("user.EMAIL")),1),p("th",kSe,_(E.$t("user.PROFILE.REGISTRATION_DATE")),1),p("th",null,_(St(E.$t("workouts.WORKOUT",0))),1),p("th",null,_(E.$t("admin.ACTIVE")),1),p("th",null,_(E.$t("user.ADMIN")),1),p("th",null,_(E.$t("admin.ACTION")),1)])]),p("tbody",null,[(T(!0),N(Ie,null,xe(i.value,A=>(T(),N("tr",{key:A.username},[p("td",null,[p("span",USe,_(E.$t("user.PROFILE.PICTURE")),1),M(Lo,{user:A},null,8,["user"])]),p("td",null,[p("span",MSe,_(E.$t("user.USERNAME")),1),M(b,{to:`/admin/users/${A.username}`},{default:fe(()=>[K(_(A.username),1)]),_:2},1032,["to"])]),p("td",null,[p("span",xSe,_(E.$t("user.EMAIL")),1),K(" "+_(A.email),1)]),p("td",null,[p("span",FSe,_(E.$t("user.PROFILE.REGISTRATION_DATE")),1),p("time",null,_(h(xn)(A.created_at,o.value.timezone,o.value.date_format)),1)]),p("td",WSe,[p("span",GSe,_(St(E.$t("workouts.WORKOUT",0))),1),K(" "+_(A.nb_workouts),1)]),p("td",zSe,[p("span",BSe,_(E.$t("admin.ACTIVE")),1),p("i",{class:ge(`fa fa${A.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),p("td",HSe,[p("span",jSe,_(E.$t("user.ADMIN")),1),p("i",{class:ge(`fa fa${A.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),p("td",VSe,[p("span",KSe,_(E.$t("admin.ACTION")),1),p("button",{class:ge({danger:A.admin}),disabled:A.username===o.value.username,onClick:S=>d(A.username,!A.admin)},_(E.$t(`admin.USERS.TABLE.${A.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,YSe)])]))),128))])]),u.value.page?(T(),te(Wu,{key:0,path:"/admin/users",pagination:u.value,query:h(s)},null,8,["pagination","query"])):F("",!0),l.value?(T(),te(v,{key:1,message:l.value},null,8,["message"])):F("",!0),p("button",{onClick:g[1]||(g[1]=Xe(A=>E.$router.push("/admin"),["prevent"]))},_(E.$t("admin.BACK_TO_ADMIN")),1)]))]),_:1})])}}}),XSe=ae(qSe,[["__scopeId","data-v-4beb3bfa"]]),ZSe={class:"box user-header"},QSe={class:"user-details"},JSe={class:"user-name"},eOe={class:"user-stats"},tOe={class:"user-stat"},nOe={class:"stat-number"},rOe={class:"stat-label"},aOe={class:"user-stat"},sOe={class:"stat-label"},oOe={class:"user-stat hide-small"},iOe={class:"stat-number"},uOe={class:"stat-label"},cOe=Q({__name:"UserHeader",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=k(()=>r.getters[Y.GETTERS.AUTH_USER_PROFILE]);return(s,o)=>{const i=ue("Distance");return T(),N("div",ZSe,[M(Lo,{user:h(n)},null,8,["user"]),p("div",QSe,[p("div",JSe,_(h(n).username),1),p("div",eOe,[p("div",tOe,[p("span",nOe,_(h(n).nb_workouts),1),p("span",rOe,_(s.$t("workouts.WORKOUT",h(n).nb_workouts)),1)]),p("div",aOe,[M(i,{distance:h(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:a.value.imperial_units},null,8,["distance","useImperialUnits"]),p("span",sOe,_(a.value.imperial_units?"miles":"km"),1)]),p("div",oOe,[p("span",iOe,_(h(n).nb_sports),1),p("span",uOe,_(s.$t("workouts.SPORT",h(n).nb_sports)),1)])])])])}}}),vA=ae(cOe,[["__scopeId","data-v-3abb1646"]]),lOe={class:"profile-tabs custom-checkboxes-group"},dOe={class:"profile-tabs-checkboxes custom-checkboxes"},fOe=["id","name","checked","disabled","onInput"],pOe=["id","onKeydown"],RA=Q({__name:"UserProfileTabs",props:{tabs:{},selectedTab:{},edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:a}=_e(t);gt(()=>{const o=document.getElementById(`tab-${n.value[0]}`);o&&o.focus()});function s(o){switch(o){case"ACCOUNT":case"PICTURE":case"PRIVACY-POLICY":return`/profile/edit/${o.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${o.toLocaleLowerCase()}`;default:case"PROFILE":return`/profile${t.edition?"/edit":""}`}}return(o,i)=>(T(),N("div",lOe,[p("div",dOe,[(T(!0),N(Ie,null,xe(h(n),u=>(T(),N("div",{class:"profile-tab custom-checkbox",key:u},[p("label",null,[p("input",{type:"radio",id:u,name:u,checked:h(r).split("/")[0]===u,disabled:h(a),onInput:l=>o.$router.push(s(u))},null,40,fOe),p("span",{id:`tab-${u}`,tabindex:0,role:"button",onKeydown:At(l=>o.$router.push(s(u)),["enter"])},_(o.$t(`user.PROFILE.TABS.${u}`)),41,pOe)])]))),128))])]))}}),mOe={id:"user-profile"},EOe={class:"box"},hOe=Q({__name:"index",props:{user:{},tab:{}},setup(e){const t=e,{user:n,tab:r}=_e(t),a=["PROFILE","PREFERENCES","SPORTS","APPS"];return(s,o)=>{const i=ue("router-view");return T(),N("div",mOe,[M(vA,{user:h(n)},null,8,["user"]),p("div",EOe,[M(RA,{tabs:a,selectedTab:h(r),edition:!1},null,8,["selectedTab"]),M(i,{user:h(n)},null,8,["user"])])])}}}),_Oe=ae(hOe,[["__scopeId","data-v-8a058d49"]]),TOe={id:"user-infos",class:"description-list"},gOe={key:1,class:"info-box success-message"},AOe={key:4,class:"email-form form-box"},SOe={class:"form-items",for:"email"},OOe={class:"form-items",for:"email"},IOe={class:"form-buttons"},vOe={class:"confirm",type:"submit"},ROe={key:5},bOe={key:0},NOe={class:"user-bio"},COe={key:0,class:"profile-buttons"},yOe={key:1,class:"profile-buttons"},DOe=Q({__name:"UserInfos",props:{user:{},fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=$e(),{user:r,fromAdmin:a}=_e(t),s=k(()=>n.getters[H.GETTERS.LANGUAGE]),o=k(()=>n.getters[Y.GETTERS.AUTH_USER_PROFILE]),i=k(()=>t.user.created_at?xn(t.user.created_at,o.value.timezone,o.value.date_format):""),u=k(()=>t.user.birth_date?ln(new Date(t.user.birth_date),`${Sa(o.value.date_format,s.value)}`,{locale:Mo[s.value]}):""),l=k(()=>n.getters[Ce.GETTERS.USERS_IS_SUCCESS]),c=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),f=k(()=>n.getters[H.GETTERS.APP_CONFIG]),d=ce(""),m=ce(!1),E=ce(!1),g=ce(""),b=ce("");function v(G){d.value=G,G!==""&&n.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function R(G){n.dispatch(Ce.ACTIONS.DELETE_USER_ACCOUNT,{username:G})}function A(G){b.value="password-reset",n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,resetPassword:!0})}function S(G){n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,activate:!0})}function C(){U(),g.value=r.value.email_to_confirm?r.value.email_to_confirm:"",E.value=!0,b.value="email-update"}function L(){g.value="",E.value=!1}function $(G){n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,new_email:g.value})}function U(){n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1),b.value=""}return Rt(()=>U()),Fe(()=>l.value,G=>{G&&(v(""),L())}),(G,B)=>{const w=ue("Modal"),Z=ue("AlertMessage"),J=ue("ErrorMessage");return T(),N("div",TOe,[d.value?(T(),te(w,{key:0,title:G.$t("common.CONFIRMATION"),message:d.value==="delete"?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:h(r).username,onConfirmAction:B[0]||(B[0]=re=>d.value==="delete"?R(h(r).username):A(h(r).username)),onCancelAction:B[1]||(B[1]=re=>v("")),onKeydown:B[2]||(B[2]=At(re=>v(""),["esc"]))},null,8,["title","message","strongMessage"])):F("",!0),l.value?(T(),N("div",gOe,_(G.$t(`admin.${b.value==="password-reset"?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):F("",!0),h(r).is_active?F("",!0):(T(),te(Z,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),c.value?(T(),te(J,{key:3,message:c.value},null,8,["message"])):F("",!0),E.value?(T(),N("div",AOe,[p("form",{class:ge({errors:m.value}),onSubmit:B[5]||(B[5]=Xe(re=>$(h(r).username),["prevent"]))},[p("label",SOe,[K(_(G.$t("admin.CURRENT_EMAIL"))+" ",1),Ke(p("input",{id:"email",type:"email","onUpdate:modelValue":B[3]||(B[3]=re=>h(r).email=re),disabled:""},null,512),[[tt,h(r).email]])]),p("label",OOe,[K(_(G.$t("admin.NEW_EMAIL"))+"* ",1),Ke(p("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":B[4]||(B[4]=re=>g.value=re)},null,512),[[tt,g.value]])]),p("div",IOe,[p("button",vOe,_(G.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:Xe(L,["prevent"])},_(G.$t("buttons.CANCEL")),1)])],34)])):(T(),N("div",ROe,[p("dl",null,[p("dt",null,_(G.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),p("dd",null,[p("time",null,_(i.value),1)]),p("dt",null,_(G.$t("user.PROFILE.FIRST_NAME"))+":",1),p("dd",null,_(h(r).first_name),1),p("dt",null,_(G.$t("user.PROFILE.LAST_NAME"))+":",1),p("dd",null,_(h(r).last_name),1),p("dt",null,_(G.$t("user.PROFILE.BIRTH_DATE"))+":",1),p("dd",null,[u.value?(T(),N("time",bOe,_(u.value),1)):F("",!0)]),p("dt",null,_(G.$t("user.PROFILE.LOCATION"))+":",1),p("dd",null,_(h(r).location),1),p("dt",null,_(G.$t("user.PROFILE.BIO"))+":",1),p("dd",NOe,_(h(r).bio),1)]),h(a)?(T(),N("div",COe,[o.value.username!==h(r).username?(T(),N("button",{key:0,class:"danger",onClick:B[6]||(B[6]=Xe(re=>v("delete"),["prevent"]))},_(G.$t("admin.DELETE_USER")),1)):F("",!0),h(r).is_active?F("",!0):(T(),N("button",{key:1,onClick:B[7]||(B[7]=Xe(re=>S(h(r).username),["prevent"]))},_(G.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),o.value.username!==h(r).username?(T(),N("button",{key:2,onClick:Xe(C,["prevent"])},_(G.$t("admin.UPDATE_USER_EMAIL")),1)):F("",!0),o.value.username!==h(r).username&&f.value.is_email_sending_enabled?(T(),N("button",{key:3,onClick:B[8]||(B[8]=Xe(re=>v("reset"),["prevent"]))},_(G.$t("admin.RESET_USER_PASSWORD")),1)):F("",!0),p("button",{onClick:B[9]||(B[9]=re=>G.$router.go(-1))},_(G.$t("buttons.BACK")),1)])):(T(),N("div",yOe,[p("button",{onClick:B[10]||(B[10]=re=>G.$router.push("/profile/edit"))},_(G.$t("user.PROFILE.EDIT")),1),p("button",{onClick:B[11]||(B[11]=re=>G.$router.push("/"))},_(G.$t("common.HOME")),1)]))]))])}}}),bA=ae(DOe,[["__scopeId","data-v-98220281"]]),POe=e=>(ut("data-v-b0528e22"),e=e(),ct(),e),wOe={id:"user-preferences",class:"description-list"},LOe={class:"preferences-section"},$Oe={class:"preferences-section"},kOe={class:"info-box raw-speed-help"},UOe=POe(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),MOe={class:"profile-buttons"},xOe=Q({__name:"UserPreferences",props:{user:{}},setup(e){const t=e,n=$e(),r=k(()=>n.getters[H.GETTERS.LANGUAGE]),a=k(()=>t.user.language?id[t.user.language]:id.en),s=k(()=>t.user.weekm?"MONDAY":"SUNDAY"),o=k(()=>t.user.timezone?t.user.timezone:"Europe/Paris"),i=k(()=>t.user.date_format?t.user.date_format:"MM/dd/yyyy"),u=k(()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"),l=k(()=>t.user.use_dark_mode===!0?"DARK":t.user.use_dark_mode===!1?"LIGHT":"DEFAULT");return(c,f)=>(T(),N("div",wOe,[p("div",LOe,_(c.$t("user.PROFILE.INTERFACE")),1),p("dl",null,[p("dt",null,_(c.$t("user.PROFILE.LANGUAGE"))+":",1),p("dd",null,_(a.value),1),p("dt",null,_(c.$t("user.PROFILE.THEME_MODE.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.THEME_MODE.VALUES.${l.value}`)),1),p("dt",null,_(c.$t("user.PROFILE.TIMEZONE"))+":",1),p("dd",null,_(o.value),1),p("dt",null,_(c.$t("user.PROFILE.DATE_FORMAT"))+":",1),p("dd",null,_(h(Sa)(i.value,r.value)),1),p("dt",null,_(c.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.${s.value}`)),1)]),p("div",$Oe,_(c.$t("workouts.WORKOUT",0)),1),p("dl",null,[p("dt",null,_(c.$t("user.PROFILE.UNITS.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.UNITS.${c.user.imperial_units?"IMPERIAL":"METRIC"}`)),1),p("dt",null,_(c.$t("user.PROFILE.ASCENT_DATA"))+":",1),p("dd",null,_(c.$t(`common.${u.value}`)),1),p("dt",null,_(c.$t("user.PROFILE.ELEVATION_CHART_START.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.ELEVATION_CHART_START.${c.user.start_elevation_at_zero?"ZERO":"MIN_ALT"}`)),1),p("dt",null,_(c.$t("user.PROFILE.USE_RAW_GPX_SPEED.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.USE_RAW_GPX_SPEED.${c.user.use_raw_gpx_speed?"RAW_SPEED":"FILTERED_SPEED"}`)),1),p("div",kOe,[p("span",null,[UOe,K(" "+_(c.$t("user.PROFILE.USE_RAW_GPX_SPEED.HELP")),1)])])]),p("div",MOe,[p("button",{onClick:f[0]||(f[0]=d=>c.$router.push("/profile/edit/preferences"))},_(c.$t("user.PROFILE.EDIT_PREFERENCES")),1),p("button",{onClick:f[1]||(f[1]=d=>c.$router.push("/"))},_(c.$t("common.HOME")),1)])]))}}),FOe=ae(xOe,[["__scopeId","data-v-b0528e22"]]),WOe={id:"user-profile-edition",class:"center-card"},GOe=Q({__name:"index",props:{user:{},tab:{}},setup(e){const t=e,n=$e(),{user:r,tab:a}=_e(t),s=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS","PRIVACY-POLICY"],o=k(()=>n.getters[Y.GETTERS.USER_LOADING]);return(i,u)=>{const l=ue("router-view"),c=ue("Card");return T(),N("div",WOe,[M(c,null,{title:fe(()=>[K(_(i.$t(`user.PROFILE.${h(a)}_EDITION`)),1)]),content:fe(()=>[M(RA,{tabs:s,selectedTab:h(a),edition:!0,disabled:o.value},null,8,["selectedTab","disabled"]),M(l,{user:h(r)},null,8,["user"])]),_:1})])}}}),Js=new Map,zOe=e=>{const{method:t,url:n,params:r={},data:a={}}=e;return[t,n,JSON.stringify(r),JSON.stringify(a)].join("")},fs=e=>{const t=zOe(e);if(Js.has(t)){const n=Js.get(t)||{};n==null||n.abort(),Js.delete(t)}return t},Ur=C1.create({baseURL:wo()});Ur.interceptors.request.use(e=>{const t=new AbortController;e.signal=t.signal;const n=fs(e);return Js.set(n,t),e},e=>Promise.reject(e));Ur.interceptors.response.use(e=>(fs(e.config),e),e=>(e.message!=="canceled"&&e.response&&fs(e.response.config),Promise.reject(e)));const NA=(e,t)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.delete(`users/${t.username}`).then(n=>{n.status===204?t.fromAdmin?_t.push("/admin/users"):e.dispatch(Y.ACTIONS.LOGOUT).then(()=>_t.push("/")):he(e,null)}).catch(n=>he(e,n))},BOe={[Ce.ACTIONS.EMPTY_USER](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USER,{})},[Ce.ACTIONS.EMPTY_USERS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS,[]),e.commit(Ce.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[Ce.ACTIONS.GET_USER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!0),Be.get(`users/${t}`).then(n=>{n.data.status==="success"?e.commit(Ce.MUTATIONS.UPDATE_USER,n.data.data.users[0]):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.GET_USERS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!0),Be.get("users",{params:t}).then(n=>{n.data.status==="success"?(e.commit(Ce.MUTATIONS.UPDATE_USERS,n.data.data.users),e.commit(Ce.MUTATIONS.UPDATE_USERS_PAGINATION,n.data.pagination)):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.UPDATE_USER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};t.admin!==void 0&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),t.new_email!==void 0&&(n.new_email=t.new_email),Be.patch(`users/${t.username}`,n).then(r=>{r.data.status==="success"?(e.commit(Ce.MUTATIONS.UPDATE_USER_IN_USERS,r.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(Ce.MUTATIONS.UPDATE_USER,r.data.data.users[0])):he(e,null)}).catch(r=>he(e,r)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.DELETE_USER_ACCOUNT](e,t){NA(e,{username:t.username,fromAdmin:!0})}},_i=e=>{localStorage.removeItem("authToken"),e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Kr.MUTATIONS.EMPTY_USER_STATS),e.commit(Y.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(Ce.MUTATIONS.UPDATE_USERS,[]),e.commit(Te.MUTATIONS.EMPTY_WORKOUTS),e.commit(Te.MUTATIONS.EMPTY_WORKOUT),_t.push("/login")},HOe={[Y.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[Y.GETTERS.IS_AUTHENTICATED]&&(e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(Y.ACTIONS.GET_USER_PROFILE,!0)),!window.localStorage.authToken&&e.getters[Y.GETTERS.IS_AUTHENTICATED]&&_i(e)},[Y.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/account/confirm",{token:t.token}).then(n=>{if(n.data.status==="success"){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/"))}else he(e,null)}).catch(n=>{he(e,n)})},[Y.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),Ur.post("/auth/email/update",{token:t.token}).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile/edit/account")),_t.push("/profile/edit/account")):he(e,null)}).catch(n=>{he(e,n)})},[Y.ACTIONS.GET_USER_PROFILE](e,t=!1){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("auth/profile").then(n=>{if(n.data.status==="success"){const r=e.getters[Y.GETTERS.IS_PROFILE_NOT_LOADED];e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),n.data.data.accepted_privacy_policy||e.dispatch(H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY),(r||t)&&(n.data.data.language&&e.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,n.data.data.language),e.commit(H.MUTATIONS.UPDATE_DARK_MODE,n.data.data.use_dark_mode)),e.dispatch($t.ACTIONS.GET_SPORTS)}else he(e,null),_i(e)}).catch(n=>{n.message!=="canceled"&&(he(e,n),_i(e))})},[Y.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),Ur.post(`/auth/${t.actionType}`,t.formData).then(n=>{if(n.data.status==="success")if(t.actionType==="login"){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(Y.ACTIONS.GET_USER_PROFILE,!0).then(()=>_t.push(typeof t.redirectUrl=="string"?t.redirectUrl:"/"))}else _t.push("/login").then(()=>e.commit(Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0));else he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.LOGOUT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/logout").then(t=>{t.data.status==="success"?_i(e):he(e,null)}).catch(t=>he(e,t))},[Y.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),_t.push("/profile")):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),Be.patch("auth/profile/edit/account",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!0)):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit/preferences",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),e.commit(H.MUTATIONS.UPDATE_DARK_MODE,n.data.data.use_dark_mode),e.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,n.data.data.language).then(()=>_t.push("/profile/preferences"))):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.delete(`auth/profile/reset/sports/${t}`).then(n=>{n.status===204?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>{he(e,n),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)})},[Y.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit/sports",t).then(n=>{n.data.status==="success"?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>{he(e,n),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)})},[Y.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),Be.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then(r=>{r.data.status==="success"?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(r=>he(e,r)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.DELETE_ACCOUNT](e,t){NA(e,t)},[Y.ACTIONS.DELETE_PICTURE](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.delete("auth/picture").then(t=>{t.status===204?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(t=>he(e,t)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/password/reset-request",t).then(n=>{n.data.status==="success"?_t.push("/password-reset/sent"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/account/resend-confirmation",t).then(n=>{n.data.status==="success"?_t.push("/account-confirmation/email-sent"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/password/update",t).then(n=>{n.data.status==="success"?_t.push("/password-reset/password-updated"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.ACCEPT_PRIVACY_POLICY](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/account/privacy-policy",{accepted_policy:t}).then(n=>{n.data.status==="success"?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.REQUEST_DATA_EXPORT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/account/export/request").then(t=>{t.data.status==="success"?e.commit(Y.MUTATIONS.SET_EXPORT_REQUEST,t.data.request):he(e,null)}).catch(t=>he(e,t))},[Y.ACTIONS.GET_REQUEST_DATA_EXPORT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("auth/account/export").then(t=>{t.data.status==="success"?e.commit(Y.MUTATIONS.SET_EXPORT_REQUEST,t.data.request):he(e,null)}).catch(t=>he(e,t))}},jOe={[Y.GETTERS.AUTH_TOKEN]:e=>e.authToken,[Y.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[Y.GETTERS.EXPORT_REQUEST]:e=>e.exportRequest,[Y.GETTERS.IS_AUTHENTICATED]:e=>e.authToken!==null,[Y.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[Y.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[Y.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[Y.GETTERS.USER_LOADING]:e=>e.loading,[Y.GETTERS.IS_PROFILE_NOT_LOADED]:e=>e.authUserProfile.username===void 0},VOe={[Y.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[Y.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[Y.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[Y.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t},[Y.MUTATIONS.SET_EXPORT_REQUEST](e,t){e.exportRequest=t}},KOe={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1,exportRequest:null},YOe={state:KOe,actions:HOe,getters:jOe,mutations:VOe},nh=(e,t)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get(t).then(n=>{n.data.status==="success"?e.commit(Ve.MUTATIONS.SET_CLIENT,n.data.data.client):he(e,null)}).catch(n=>he(e,n))},qOe={[Ve.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),Be.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then(r=>{r.status==200&&r.data.redirect_url?window.location.href=r.data.redirect_url:he(e,null)}).catch(r=>he(e,r))},[Ve.ACTIONS.CREATE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("oauth/apps",t).then(n=>{n.data.status==="created"?(e.commit(Ve.MUTATIONS.SET_CLIENT,n.data.data.client),_t.push(`/profile/apps/${n.data.data.client.id}/created`)):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.DELETE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.delete(`oauth/apps/${t}`).then(n=>{n.status===204?e.dispatch(Ve.ACTIONS.GET_CLIENTS).then(()=>_t.push("/profile/apps")):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){nh(e,`oauth/apps/${t}`)},[Ve.ACTIONS.GET_CLIENT_BY_ID](e,t){nh(e,`oauth/apps/${t}/by_id`)},[Ve.ACTIONS.GET_CLIENTS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("oauth/apps",{params:t}).then(n=>{n.data.status==="success"?(e.commit(Ve.MUTATIONS.SET_CLIENTS,n.data.data.clients),e.commit(Ve.MUTATIONS.SET_CLIENTS_PAGINATION,n.data.pagination)):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),Be.post(`oauth/apps/${t}/revoke`).then(n=>{n.data.status==="success"?e.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):he(e,null)}).catch(n=>he(e,n))}},XOe={[Ve.GETTERS.CLIENT]:e=>e.client,[Ve.GETTERS.CLIENTS]:e=>e.clients,[Ve.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[Ve.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},ZOe={[Ve.MUTATIONS.SET_CLIENT](e,t){e.client=t},[Ve.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[Ve.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[Ve.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},QOe={client:{},clients:[],pagination:{},revocationSuccessful:!1},JOe={state:QOe,actions:qOe,getters:XOe,mutations:ZOe},{locale:eIe}=ga.global,tIe={[H.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(H.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Be.get("config").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):he(e,null)}).catch(t=>he(e,t)).finally(()=>e.commit(H.MUTATIONS.UPDATE_APPLICATION_LOADING,!1))},[H.ACTIONS.GET_APPLICATION_STATS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("stats/all").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):he(e,null)}).catch(t=>he(e,t))},[H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("config").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_PRIVACY_POLICY,t.data.data):he(e,null)}).catch(t=>he(e,t))},[H.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.patch("config",t).then(n=>{n.data.status==="success"?(e.commit(H.MUTATIONS.UPDATE_APPLICATION_CONFIG,n.data.data),_t.push("/admin/application")):he(e,null)}).catch(n=>he(e,n))},[H.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){var n;(n=document.querySelector("html"))==null||n.setAttribute("lang",t),e.commit(H.MUTATIONS.UPDATE_LANG,t),eIe.value=t}},nIe={[H.GETTERS.APP_CONFIG]:e=>e.application.config,[H.GETTERS.APP_LOADING]:e=>e.appLoading,[H.GETTERS.APP_STATS]:e=>e.application.statistics,[H.GETTERS.DARK_MODE]:e=>e.darkMode,[H.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[H.GETTERS.LANGUAGE]:e=>e.language,[H.GETTERS.LOCALE]:e=>e.locale},rIe={[H.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[H.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[H.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[H.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[H.MUTATIONS.UPDATE_APPLICATION_PRIVACY_POLICY](e,t){e.application.config.privacy_policy=t.privacy_policy,e.application.config.privacy_policy_date=t.privacy_policy_date},[H.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[H.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=Mo[t]},[H.MUTATIONS.UPDATE_DARK_MODE](e,t){e.darkMode=t}},aIe={root:!0,language:"en",locale:dc,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1,darkMode:null},sIe={[$t.ACTIONS.GET_SPORTS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("sports").then(t=>{t.data.status==="success"?(e.commit($t.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)):he(e,null)}).catch(t=>he(e,t))},[$t.ACTIONS.UPDATE_SPORTS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.patch(`sports/${t.id}`,{is_active:t.isActive}).then(n=>{n.data.status==="success"?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>he(e,n))}},oIe={[$t.GETTERS.SPORTS]:e=>e.sports},iIe={[$t.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},uIe={sports:[]},cIe={state:uIe,actions:sIe,getters:oIe,mutations:iIe},lIe={[Kr.ACTIONS.GET_USER_STATS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then(n=>{n.data.status==="success"?e.commit(Kr.MUTATIONS.UPDATE_USER_STATS,n.data.data.statistics):he(e,null)}).catch(n=>he(e,n))}},dIe={[Kr.GETTERS.USER_STATS]:e=>e.statistics},fIe={[Kr.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[Kr.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},pIe={statistics:{}},mIe={state:pIe,actions:lIe,getters:dIe,mutations:fIe},EIe={[Ce.GETTERS.USER]:e=>e.user,[Ce.GETTERS.USERS]:e=>e.users,[Ce.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[Ce.GETTERS.USERS_LOADING]:e=>e.loading,[Ce.GETTERS.USERS_PAGINATION]:e=>e.pagination},hIe={[Ce.MUTATIONS.UPDATE_USER](e,t){e.user=t},[Ce.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map(n=>n.username===t.username?t:n)},[Ce.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[Ce.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[Ce.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[Ce.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},_Ie={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},TIe={state:_Ie,actions:BOe,getters:EIe,mutations:hIe},Ti=(e,t,n)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("workouts",{params:t}).then(r=>{r.data.status==="success"?(e.commit(Te.MUTATIONS[n],r.data.data.workouts),n===ca.SET_USER_WORKOUTS&&e.commit(Te.MUTATIONS.SET_WORKOUTS_PAGINATION,r.data.pagination)):he(e,null)}).catch(r=>he(e,r))},gIe={[Te.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(Te.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),Ti(e,t,ca.SET_CALENDAR_WORKOUTS)},[Te.ACTIONS.GET_USER_WORKOUTS](e,t){Ti(e,t,ca.SET_USER_WORKOUTS)},[Te.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){Ti(e,t,ca.SET_TIMELINE_WORKOUTS)},[Te.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){Ti(e,t,ca.ADD_TIMELINE_WORKOUTS)},[Te.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";Be.get(`workouts/${t.workoutId}`).then(r=>{const a=r.data.data.workouts[0];if(r.data.status==="success"){if(t.segmentId&&(a.segments.length===0||!a.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(Te.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Be.get(`workouts/${t.workoutId}/chart_data${n}`).then(s=>{s.data.status==="success"&&e.commit(Te.MUTATIONS.SET_WORKOUT_CHART_DATA,s.data.data.chart_data)}),Be.get(`workouts/${t.workoutId}/gpx${n}`).then(s=>{s.data.status==="success"&&e.commit(Te.MUTATIONS.SET_WORKOUT_GPX,s.data.data.gpx)}))}else e.commit(Te.MUTATIONS.EMPTY_WORKOUT),he(e,null)}).catch(r=>{e.commit(Te.MUTATIONS.EMPTY_WORKOUT),he(e,r)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.DELETE_WORKOUT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.delete(`workouts/${t.workoutId}`).then(()=>{e.commit(Te.MUTATIONS.EMPTY_WORKOUT),e.dispatch(Y.ACTIONS.GET_USER_PROFILE),_t.push("/")}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.EDIT_WORKOUT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.patch(`workouts/${t.workoutId}`,t.data).then(()=>{e.dispatch(Y.ACTIONS.GET_USER_PROFILE),e.dispatch(Te.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then(()=>{_t.push({name:"Workout",params:{workoutId:t.workoutId}})})}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=t.notes.replace(/"/g,'\\"'),r=new FormData;r.append("file",t.file),r.append("data",`{"sport_id": ${t.sport_id}, "notes": "${n}"}`),Be.post("workouts",r,{headers:{"content-type":"multipart/form-data"}}).then(a=>{if(a.data.status==="created"){e.dispatch(Y.ACTIONS.GET_USER_PROFILE);const s=a.data.data.workouts[0];_t.push(a.data.data.workouts.length===1?`/workouts/${s.id}`:"/")}}).catch(a=>{he(e,a)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.post("workouts/no_gpx",t).then(n=>{if(n.data.status==="created"){e.dispatch(Y.ACTIONS.GET_USER_PROFILE);const r=n.data.data.workouts[0];_t.push(`/workouts/${r.id}`)}}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))}},AIe={[Te.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[Te.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[Te.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[Te.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[Te.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},SIe={[Te.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[Te.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[Te.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[Te.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[Te.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[Te.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[Te.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[Te.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[Te.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[Te.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[Te.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[Te.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},OIe={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},IIe={state:OIe,actions:gIe,getters:AIe,mutations:SIe},vIe={authUserModule:YOe,oAuthModule:JOe,sportsModule:cIe,statsModule:mIe,usersModule:TIe,workoutsModule:IIe},RIe={state:aIe,actions:tIe,getters:nIe,mutations:rIe,modules:vIe},eo=fN(RIe),A0=C1.create({baseURL:wo()});A0.interceptors.request.use(e=>{const t=new AbortController;e.signal=t.signal;const n=fs(e);Js.set(n,t);const r=eo.getters[Y.GETTERS.AUTH_TOKEN];if(r){const a=`Bearer ${r}`;e.headers&&e.headers.Authorization!==a&&(e.headers.Authorization=`Bearer ${r}`)}return e},e=>Promise.reject(e));A0.interceptors.response.use(e=>(fs(e.config),e),e=>(e.message!=="canceled"&&e.response&&fs(e.response.config),Promise.reject(e)));const Be=A0,Hd=(e,t)=>e.push.apply(e,t),ps=e=>e.sort((t,n)=>t.i-n.i||t.j-n.j),rh=e=>{const t={};let n=1;return e.forEach(r=>{t[r]=n,n+=1}),t};var bIe={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const ah=2050,sh=1e3,NIe=bIe,CIe=10,yIe=1e4,CA=10,yA=50,DA=20,PA=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,DIe=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,PIe=/^[A-Z\xbf-\xdf]+$/,wA=/^[^a-z\xdf-\xff]+$/,wIe=/^[a-z\xdf-\xff]+$/,LIe=/^[^A-Z\xbf-\xdf]+$/,$Ie=/[a-z\xdf-\xff]/,kIe=/[A-Z\xbf-\xdf]/,UIe=/[^A-Za-z\xbf-\xdf]/gi,MIe=/^\d+$/,S0=new Date().getFullYear(),xIe={recentYear:/19\d\d|200\d|201\d|202\d/g},LA=[" ",",",";",":","|","/","\\","_",".","-"],FIe=LA.length;class WIe{match({password:t}){const n=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],r=this.filterNoise(n);return ps(r)}getMatchesWithSeparator(t){const n=[],r=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let a=0;a<=Math.abs(t.length-6);a+=1)for(let s=a+5;s<=a+9&&!(s>=t.length);s+=1){const o=t.slice(a,+s+1||9e9),i=r.exec(o);if(i!=null){const u=this.mapIntegersToDayMonthYear([parseInt(i[1],10),parseInt(i[3],10),parseInt(i[4],10)]);u!=null&&n.push({pattern:"date",token:o,i:a,j:s,separator:i[2],year:u.year,month:u.month,day:u.day})}}return n}getMatchesWithoutSeparator(t){const n=[],r=/^\d{4,8}$/,a=s=>Math.abs(s.year-S0);for(let s=0;s<=Math.abs(t.length-4);s+=1)for(let o=s+3;o<=s+7&&!(o>=t.length);o+=1){const i=t.slice(s,+o+1||9e9);if(r.exec(i)){const u=[],l=i.length;if(NIe[l].forEach(([f,d])=>{const m=this.mapIntegersToDayMonthYear([parseInt(i.slice(0,f),10),parseInt(i.slice(f,d),10),parseInt(i.slice(d),10)]);m!=null&&u.push(m)}),u.length>0){let f=u[0],d=a(u[0]);u.slice(1).forEach(m=>{const E=a(m);E{let r=!1;const a=t.length;for(let s=0;s=n.j){r=!0;break}}return!r})}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let n=0,r=0,a=0;for(let s=0,o=t.length;s99&&iah)return null;i>31&&(r+=1),i>12&&(n+=1),i<=0&&(a+=1)}return r>=2||n===3||a>=2?null:this.getDayMonth(t)}getDayMonth(t){const n=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],r=n.length;for(let a=0;a=1&&s<=31&&o>=1&&o<=12)return{day:s,month:o}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const dr=new Uint32Array(65536),GIe=(e,t)=>{const n=e.length,r=t.length,a=1<{const n=t.length,r=e.length,a=[],s=[],o=Math.ceil(n/32),i=Math.ceil(r/32);for(let E=0;E>>R&1,C=a[R/32|0]>>>R&1,L=A|E,$=((A|C)&g)+g^g|A|C;let U=E|~($|g),G=g&$;U>>>31^S&&(s[R/32|0]^=1<>>31^C&&(a[R/32|0]^=1<>>E&1,v=a[E/32|0]>>>E&1,R=g|l,A=((g|v)&c)+c^c|g|v;let S=l|~(A|c),C=c&A;m+=S>>>r-1&1,m-=C>>>r-1&1,S>>>31^b&&(s[E/32|0]^=1<>>31^v&&(a[E/32|0]^=1<{if(e.length{const r=e.length<=t.length,a=e.length<=n;return r||a?Math.ceil(e.length/4):n},jIe=(e,t,n)=>{let r=0;const a=Object.keys(t).find(s=>{const o=HIe(e,s,n);if(Math.abs(e.length-s.length)>o)return!1;const i=BIe(e,s),u=i<=o;return u&&(r=i),u});return a?{levenshteinDistance:r,levenshteinDistanceEntry:a}:{}};var oh={a:["4","@"],b:["8"],c:["(","{","[","<"],d:["6","|)"],e:["3"],f:["#"],g:["6","9","&"],h:["#","|-|"],i:["1","!","|"],k:["<","|<"],l:["!","1","|","7"],m:["^^","nn","2n","/\\\\/\\\\"],n:["//"],o:["0","()"],q:["9"],u:["|_|"],s:["$","5"],t:["+","7"],v:["<",">","/"],w:["^/","uu","vv","2u","2v","\\\\/\\\\/"],x:["%","><"],z:["2"]},_l={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class Ro{constructor(t=[]){this.parents=t,this.children=new Map}addSub(t,...n){const r=t.charAt(0);this.children.has(r)||this.children.set(r,new Ro([...this.parents,r]));let a=this.children.get(r);for(let s=1;s(Object.entries(e).forEach(([n,r])=>{r.forEach(a=>{t.addSub(a,n)})}),t);class VIe{constructor(){this.matchers={},this.l33tTable=oh,this.trieNodeRoot=ih(oh,new Ro),this.dictionary={userInputs:[]},this.rankedDictionaries={},this.rankedDictionariesMaxWordSize={},this.translations=_l,this.graphs={},this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.l33tMaxSubstitutions=100,this.maxLength=256,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable,this.trieNodeRoot=ih(t.l33tTable,new Ro)),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),t.useLevenshteinDistance!==void 0&&(this.useLevenshteinDistance=t.useLevenshteinDistance),t.levenshteinThreshold!==void 0&&(this.levenshteinThreshold=t.levenshteinThreshold),t.l33tMaxSubstitutions!==void 0&&(this.l33tMaxSubstitutions=t.l33tMaxSubstitutions),t.maxLength!==void 0&&(this.maxLength=t.maxLength)}setTranslations(t){if(this.checkCustomTranslations(t))this.translations=t;else throw new Error("Invalid translations object fallback to keys")}checkCustomTranslations(t){let n=!0;return Object.keys(_l).forEach(r=>{if(r in t){const a=r;Object.keys(_l[a]).forEach(s=>{s in t[a]||(n=!1)})}else n=!1}),n}setRankedDictionaries(){const t={},n={};Object.keys(this.dictionary).forEach(r=>{t[r]=rh(this.dictionary[r]),n[r]=this.getRankedDictionariesMaxWordSize(this.dictionary[r])}),this.rankedDictionaries=t,this.rankedDictionariesMaxWordSize=n}getRankedDictionariesMaxWordSize(t){const n=t.map(r=>typeof r!="string"?r.toString().length:r.length);return n.length===0?0:n.reduce((r,a)=>Math.max(r,a),-1/0)}buildSanitizedRankedDictionary(t){const n=[];return t.forEach(r=>{const a=typeof r;(a==="string"||a==="number"||a==="boolean")&&n.push(r.toString().toLowerCase())}),rh(n)}extendUserInputsDictionary(t){this.dictionary.userInputs||(this.dictionary.userInputs=[]);const n=[...this.dictionary.userInputs,...t];this.rankedDictionaries.userInputs=this.buildSanitizedRankedDictionary(n),this.rankedDictionariesMaxWordSize.userInputs=this.getRankedDictionariesMaxWordSize(n)}addMatcher(t,n){this.matchers[t]?console.info(`Matcher ${t} already exists`):this.matchers[t]=n}}const Re=new VIe;class KIe{constructor(t){this.defaultMatch=t}match({password:t}){const n=t.split("").reverse().join("");return this.defaultMatch({password:n}).map(r=>({...r,token:r.token.split("").reverse().join(""),reversed:!0,i:t.length-1-r.j,j:t.length-1-r.i}))}}class YIe{constructor({substr:t,limit:n,trieRoot:r}){this.buffer=[],this.finalPasswords=[],this.substr=t,this.limit=n,this.trieRoot=r}getAllPossibleSubsAtIndex(t){const n=[];let r=this.trieRoot;for(let a=t;a=this.limit)return;if(r===this.substr.length){t===n&&this.finalPasswords.push({password:this.buffer.join(""),changes:s});return}const u=[...this.getAllPossibleSubsAtIndex(r)];let l=!1;for(let c=r+u.length-1;c>=r;c-=1){const f=u[c-r];if(f.isTerminal()){if(o===f.parents.join("")&&i>=3)continue;l=!0;const d=f.subs;for(const m of d){this.buffer.push(m);const E=s.concat({i:a,letter:m,substitution:f.parents.join("")});if(this.helper({onlyFullSub:t,isFullSub:n,index:c+1,subIndex:a+m.length,changes:E,lastSubLetter:f.parents.join(""),consecutiveSubCount:o===f.parents.join("")?i+1:1}),this.buffer.pop(),this.finalPasswords.length>=this.limit)return}}}if(!t||!l){const c=this.substr.charAt(r);this.buffer.push(c),this.helper({onlyFullSub:t,isFullSub:n&&!l,index:r+1,subIndex:a+1,changes:s,lastSubLetter:o,consecutiveSubCount:i}),this.buffer.pop()}}getAll(){return this.helper({onlyFullSub:!0,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.helper({onlyFullSub:!1,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.finalPasswords}}const qIe=(e,t,n)=>new YIe({substr:e,limit:t,trieRoot:n}).getAll(),XIe=(e,t,n)=>{const a=e.changes.filter(l=>l.il-c.letter.length+c.substitution.length,t),s=e.changes.filter(l=>l.i>=t&&l.i<=n),o=s.reduce((l,c)=>l-c.letter.length+c.substitution.length,n-t+a),i=[],u=[];return s.forEach(l=>{i.findIndex(f=>f.letter===l.letter&&f.substitution===l.substitution)<0&&(i.push({letter:l.letter,substitution:l.substitution}),u.push(`${l.substitution} -> ${l.letter}`))}),{i:a,j:o,subs:i,subDisplay:u.join(", ")}};class ZIe{constructor(t){this.defaultMatch=t}isAlreadyIncluded(t,n){return t.some(r=>Object.entries(r).every(([a,s])=>a==="subs"||s===n[a]))}match({password:t}){const n=[],r=qIe(t,Re.l33tMaxSubstitutions,Re.trieNodeRoot);let a=!1,s=!0;return r.forEach(o=>{if(a)return;const i=this.defaultMatch({password:o.password,useLevenshtein:s});s=!1,i.forEach(u=>{a||(a=u.i===0&&u.j===t.length-1);const l=XIe(o,u.i,u.j),c=t.slice(l.i,+l.j+1||9e9),f={...u,l33t:!0,token:c,...l},d=this.isAlreadyIncluded(n,f);c.toLowerCase()!==u.matchedWord&&!d&&n.push(f)})}),n.filter(o=>o.token.length>1)}}class QIe{constructor(){this.l33t=new ZIe(this.defaultMatch),this.reverse=new KIe(this.defaultMatch)}match({password:t}){const n=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return ps(n)}defaultMatch({password:t,useLevenshtein:n=!0}){const r=[],a=t.length,s=t.toLowerCase();return Object.keys(Re.rankedDictionaries).forEach(o=>{const i=Re.rankedDictionaries[o],u=Re.rankedDictionariesMaxWordSize[o],l=Math.min(u,a);for(let c=0;c{const s=n[a];s.lastIndex=0;let o;for(;o=s.exec(t);)if(o){const i=o[0];r.push({pattern:"regex",token:i,i:o.index,j:o.index+o[0].length-1,regexName:a,regexMatch:o})}}),ps(r)}}var Oa={nCk(e,t){let n=e;if(t>n)return 0;if(t===0)return 1;let r=1;for(let a=1;a<=t;a+=1)r*=n,r/=a,n-=1;return r},log10(e){return e===0?0:Math.log(e)/Math.log(10)},log2(e){return Math.log(e)/Math.log(2)},factorial(e){let t=1;for(let n=2;n<=e;n+=1)t*=n;return t}},e2e=({token:e})=>{let t=CIe**e.length;t===Number.POSITIVE_INFINITY&&(t=Number.MAX_VALUE);let n;return e.length===1?n=CA+1:n=yA+1,Math.max(t,n)},t2e=({year:e,separator:t})=>{let r=Math.max(Math.abs(e-S0),DA)*365;return t&&(r*=4),r};const n2e=e=>{const t=e.split(""),n=t.filter(o=>o.match(kIe)).length,r=t.filter(o=>o.match($Ie)).length;let a=0;const s=Math.min(n,r);for(let o=1;o<=s;o+=1)a+=Oa.nCk(n+r,o);return a};var r2e=e=>{const t=e.replace(UIe,"");if(t.match(LIe)||t.toLowerCase()===t)return 1;const n=[PA,DIe,wA],r=n.length;for(let a=0;a{let n=0,r=e.indexOf(t);for(;r>=0;)n+=1,r=e.indexOf(t,r+t.length);return n},a2e=({sub:e,token:t})=>{const n=t.toLowerCase(),r=uh(n,e.substitution),a=uh(n,e.letter);return{subbedCount:r,unsubbedCount:a}};var s2e=({l33t:e,subs:t,token:n})=>{if(!e)return 1;let r=1;return t.forEach(a=>{const{subbedCount:s,unsubbedCount:o}=a2e({sub:a,token:n});if(s===0||o===0)r*=2;else{const i=Math.min(o,s);let u=0;for(let l=1;l<=i;l+=1)u+=Oa.nCk(o+s,l);r*=u}}),r},o2e=({rank:e,reversed:t,l33t:n,subs:r,token:a,dictionaryName:s})=>{const o=e,i=r2e(a),u=s2e({l33t:n,subs:r,token:a}),l=t&&2||1;let c;return s==="diceware"?c=6**5/2:c=o*i*u*l,{baseGuesses:o,uppercaseVariations:i,l33tVariations:u,calculation:c}},i2e=({regexName:e,regexMatch:t,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(e in r)return r[e]**n.length;switch(e){case"recentYear":return Math.max(Math.abs(parseInt(t[0],10)-S0),DA)}return 0},u2e=({baseGuesses:e,repeatCount:t})=>e*t,c2e=({token:e,ascending:t})=>{const n=e.charAt(0);let r=0;return["a","A","z","Z","0","1","9"].includes(n)?r=4:n.match(/\d/)?r=10:r=26,t||(r*=2),r*e.length};const l2e=e=>{let t=0;return Object.keys(e).forEach(n=>{const r=e[n];t+=r.filter(a=>!!a).length}),t/=Object.entries(e).length,t},d2e=({token:e,graph:t,turns:n})=>{const r=Object.keys(Re.graphs[t]).length,a=l2e(Re.graphs[t]);let s=0;const o=e.length;for(let i=2;i<=o;i+=1){const u=Math.min(n,i-1);for(let l=1;l<=u;l+=1)s+=Oa.nCk(i-1,l-1)*r*a**l}return s};var f2e=({graph:e,token:t,shiftedCount:n,turns:r})=>{let a=d2e({token:t,graph:e,turns:r});if(n){const s=t.length-n;if(n===0||s===0)a*=2;else{let o=0;for(let i=1;i<=Math.min(n,s);i+=1)o+=Oa.nCk(n+s,i);a*=o}}return Math.round(a)},p2e=()=>FIe;const m2e=(e,t)=>{let n=1;return e.token.lengthch[e]?ch[e](t):Re.matchers[e]&&"scoring"in Re.matchers[e]?Re.matchers[e].scoring(t):0;var h2e=(e,t)=>{const n={};if("guesses"in e&&e.guesses!=null)return e;const r=m2e(e,t),a=E2e(e.pattern,e);let s=0;typeof a=="number"?s=a:e.pattern==="dictionary"&&(s=a.calculation,n.baseGuesses=a.baseGuesses,n.uppercaseVariations=a.uppercaseVariations,n.l33tVariations=a.l33tVariations);const o=Math.max(s,r);return{...e,...n,guesses:o,guessesLog10:Oa.log10(o)}};const pn={password:"",optimal:{},excludeAdditive:!1,separatorRegex:void 0,fillArray(e,t){const n=[];for(let r=0;r1&&(a*=this.optimal.pi[r.i-1][t-1]);let s=Oa.factorial(t)*a;this.excludeAdditive||(s+=yIe**(t-1));let o=!1;Object.keys(this.optimal.g[n]).forEach(i=>{const u=this.optimal.g[n][i];parseInt(i,10)<=t&&u<=s&&(o=!0)}),o||(this.optimal.g[n][t]=s,this.optimal.m[n][t]=r,this.optimal.pi[n][t]=a)},bruteforceUpdate(e){let t=this.makeBruteforceMatch(0,e);this.update(t,1);for(let n=1;n<=e;n+=1){t=this.makeBruteforceMatch(n,e);const r=this.optimal.m[n-1];Object.keys(r).forEach(a=>{r[a].pattern!=="bruteforce"&&this.update(t,parseInt(a,10)+1)})}},unwind(e){const t=[];let n=e-1,r=0,a=1/0;const s=this.optimal.g[n];for(s&&Object.keys(s).forEach(o=>{const i=s[o];i=0;){const o=this.optimal.m[n][r];t.unshift(o),n=o.i-1,r-=1}return t}};var jd={mostGuessableMatchSequence(e,t,n=!1){pn.password=e,pn.excludeAdditive=n;const r=e.length;let a=pn.fillArray(r,"array");t.forEach(u=>{a[u.j].push(u)}),a=a.map(u=>u.sort((l,c)=>l.i-c.i)),pn.optimal={m:pn.fillArray(r,"object"),pi:pn.fillArray(r,"object"),g:pn.fillArray(r,"object")};for(let u=0;u{l.i>0?Object.keys(pn.optimal.m[l.i-1]).forEach(c=>{pn.update(l,parseInt(c,10)+1)}):pn.update(l,1)}),pn.bruteforceUpdate(u);const s=pn.unwind(r),o=s.length,i=this.getGuesses(e,o);return{password:e,guesses:i,guessesLog10:Oa.log10(i),sequence:s}},getGuesses(e,t){const n=e.length;let r=0;return e.length===0?r=1:r=pn.optimal.g[n-1][t],r}};class _2e{match({password:t,omniMatch:n}){const r=[];let a=0;for(;ao instanceof Promise)?Promise.all(r):r}normalizeMatch(t,n,r,a){const s={pattern:"repeat",i:r.index,j:n,token:r[0],baseToken:t,baseGuesses:0,repeatCount:r[0].length/t.length};return a instanceof Promise?a.then(o=>({...s,baseGuesses:o})):{...s,baseGuesses:a}}getGreedyMatch(t,n){const r=/(.+)\1+/g;return r.lastIndex=n,r.exec(t)}getLazyMatch(t,n){const r=/(.+?)\1+/g;return r.lastIndex=n,r.exec(t)}setMatchToken(t,n){const r=/^(.+?)\1+$/;let a,s="";if(n&&t[0].length>n[0].length){a=t;const o=r.exec(a[0]);o&&(s=o[1])}else a=n,a&&(s=a[1]);return{match:a,baseToken:s}}getBaseGuesses(t,n){const r=n.match(t);return r instanceof Promise?r.then(s=>jd.mostGuessableMatchSequence(t,s).guesses):jd.mostGuessableMatchSequence(t,r).guesses}}class T2e{constructor(){this.MAX_DELTA=5}match({password:t}){const n=[];if(t.length===1)return[];let r=0,a=null;const s=t.length;for(let o=1;o1||Math.abs(r)===1){const o=Math.abs(r);if(o>0&&o<=this.MAX_DELTA){const i=a.slice(t,+n+1||9e9),{sequenceName:u,sequenceSpace:l}=this.getSequence(i);return s.push({pattern:"sequence",i:t,j:n,token:a.slice(t,+n+1||9e9),sequenceName:u,sequenceSpace:l,ascending:r>0})}}return null}getSequence(t){let n="unicode",r=26;return wIe.test(t)?(n="lower",r=26):PIe.test(t)?(n="upper",r=26):MIe.test(t)&&(n="digits",r=10),{sequenceName:n,sequenceSpace:r}}}class g2e{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const n=[];return Object.keys(Re.graphs).forEach(r=>{const a=Re.graphs[r];Hd(n,this.helper(t,a,r))}),ps(n)}checkIfShifted(t,n,r){return!t.includes("keypad")&&this.SHIFTED_RX.test(n.charAt(r))?1:0}helper(t,n,r){let a;const s=[];let o=0;const i=t.length;for(;o2&&s.push({pattern:"spatial",i:o,j:u-1,token:t.slice(o,u),graph:r,turns:c,shiftedCount:a}),o=u;break}}}return s}}const A2e=new RegExp(`[${LA.join("")}]`);class zu{static getMostUsedSeparatorChar(t){const n=[...t.split("").filter(a=>A2e.test(a)).reduce((a,s)=>{const o=a.get(s);return o?a.set(s,o+1):a.set(s,1),a},new Map).entries()].sort(([a,s],[o,i])=>i-s);if(!n.length)return;const r=n[0];if(!(r[1]<2))return r[0]}static getSeparatorRegex(t){return new RegExp(`([^${t} -])(${t})(?!${t})`,"g")}match({password:t}){const n=[];if(t.length===0)return n;const r=zu.getMostUsedSeparatorChar(t);if(r===void 0)return n;const a=zu.getSeparatorRegex(r);for(const s of t.matchAll(a)){if(s.index===void 0)continue;const o=s.index+1;n.push({pattern:"separator",token:r,i:o,j:o})}return n}}class S2e{constructor(){this.matchers={date:WIe,dictionary:QIe,regex:JIe,repeat:_2e,sequence:T2e,spatial:g2e,separator:zu}}match(t){const n=[],r=[];return[...Object.keys(this.matchers),...Object.keys(Re.matchers)].forEach(s=>{if(!this.matchers[s]&&!Re.matchers[s])return;const o=this.matchers[s]?this.matchers[s]:Re.matchers[s].Matching,u=new o().match({password:t,omniMatch:this});u instanceof Promise?(u.then(l=>{Hd(n,l)}),r.push(u)):Hd(n,u)}),r.length>0?new Promise((s,o)=>{Promise.all(r).then(()=>{s(ps(n))}).catch(i=>{o(i)})}):ps(n)}}const $A=1,kA=$A*60,UA=kA*60,MA=UA*24,xA=MA*31,FA=xA*12,O2e=FA*100,Tl={second:$A,minute:kA,hour:UA,day:MA,month:xA,year:FA,century:O2e};class I2e{translate(t,n){let r=t;n!==void 0&&n!==1&&(r+="s");const{timeEstimation:a}=Re.translations;return a[r].replace("{base}",`${n}`)}estimateAttackTimes(t){const n={onlineThrottling100PerHour:t/.027777777777777776,onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},r={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(n).forEach(a=>{const s=n[a];r[a]=this.displayTime(s)}),{crackTimesSeconds:n,crackTimesDisplay:r,score:this.guessesToScore(t)}}guessesToScore(t){return t<1005?0:t<1000005?1:t<100000005?2:t<1e10+5?3:4}displayTime(t){let n="centuries",r;const a=Object.keys(Tl),s=a.findIndex(o=>t-1&&(n=a[s-1],s!==0?r=Math.round(t/Tl[n]):n="ltSecond"),this.translate(n,r)}}var v2e=()=>null,R2e=()=>({warning:Re.translations.warnings.dates,suggestions:[Re.translations.suggestions.dates]});const b2e=(e,t)=>{let n=null;return t&&!e.l33t&&!e.reversed?e.rank<=10?n=Re.translations.warnings.topTen:e.rank<=100?n=Re.translations.warnings.topHundred:n=Re.translations.warnings.common:e.guessesLog10<=4&&(n=Re.translations.warnings.similarToCommon),n},N2e=(e,t)=>{let n=null;return t&&(n=Re.translations.warnings.wordByItself),n},C2e=(e,t)=>t?Re.translations.warnings.namesByThemselves:Re.translations.warnings.commonNames,y2e=(e,t)=>{let n=null;const r=e.dictionaryName,a=r==="lastnames"||r.toLowerCase().includes("firstnames");return r==="passwords"?n=b2e(e,t):r.includes("wikipedia")?n=N2e(e,t):a?n=C2e(e,t):r==="userInputs"&&(n=Re.translations.warnings.userInputs),n};var D2e=(e,t)=>{const n=y2e(e,t),r=[],a=e.token;return a.match(PA)?r.push(Re.translations.suggestions.capitalization):a.match(wA)&&a.toLowerCase()!==a&&r.push(Re.translations.suggestions.allUppercase),e.reversed&&e.token.length>=4&&r.push(Re.translations.suggestions.reverseWords),e.l33t&&r.push(Re.translations.suggestions.l33t),{warning:n,suggestions:r}},P2e=e=>e.regexName==="recentYear"?{warning:Re.translations.warnings.recentYears,suggestions:[Re.translations.suggestions.recentYears,Re.translations.suggestions.associatedYears]}:{warning:null,suggestions:[]},w2e=e=>{let t=Re.translations.warnings.extendedRepeat;return e.baseToken.length===1&&(t=Re.translations.warnings.simpleRepeat),{warning:t,suggestions:[Re.translations.suggestions.repeated]}},L2e=()=>({warning:Re.translations.warnings.sequences,suggestions:[Re.translations.suggestions.sequences]}),$2e=e=>{let t=Re.translations.warnings.keyPattern;return e.turns===1&&(t=Re.translations.warnings.straightRow),{warning:t,suggestions:[Re.translations.suggestions.longerKeyboardPattern]}},k2e=()=>null;const lh={warning:null,suggestions:[]};class U2e{constructor(){this.matchers={bruteforce:v2e,date:R2e,dictionary:D2e,regex:P2e,repeat:w2e,sequence:L2e,spatial:$2e,separator:k2e},this.defaultFeedback={warning:null,suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(Re.translations.suggestions.useWords,Re.translations.suggestions.noNeed)}getFeedback(t,n){if(n.length===0)return this.defaultFeedback;if(t>2)return lh;const r=Re.translations.suggestions.anotherWord,a=this.getLongestMatch(n);let s=this.getMatchFeedback(a,n.length===1);return s!=null?s.suggestions.unshift(r):s={warning:null,suggestions:[r]},s}getLongestMatch(t){let n=t[0];return t.slice(1).forEach(a=>{a.token.length>n.token.length&&(n=a)}),n}getMatchFeedback(t,n){return this.matchers[t.pattern]?this.matchers[t.pattern](t,n):Re.matchers[t.pattern]&&"feedback"in Re.matchers[t.pattern]?Re.matchers[t.pattern].feedback(t,n):lh}}const WA=()=>new Date().getTime(),M2e=(e,t,n)=>{const r=new U2e,a=new I2e,s=jd.mostGuessableMatchSequence(t,e),o=WA()-n,i=a.estimateAttackTimes(s.guesses);return{calcTime:o,...s,...i,feedback:r.getFeedback(i.score,s.sequence)}},x2e=(e,t)=>(t&&Re.extendUserInputsDictionary(t),new S2e().match(e)),F2e=(e,t)=>{const n=WA(),r=x2e(e,t);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return M2e(r,e,n)},W2e="modulepreload",G2e=function(e){return"/"+e},dh={},bt=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");a=Promise.all(n.map(o=>{if(o=G2e(o),o in dh)return;dh[o]=!0;const i=o.endsWith(".css"),u=i?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const d=s[f];if(d.href===o&&(!i||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${u}`))return;const c=document.createElement("link");if(c.rel=i?"stylesheet":W2e,i||(c.as="script",c.crossOrigin=""),c.href=o,document.head.appendChild(c),i)return new Promise((f,d)=>{c.addEventListener("load",f),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})}))}return a.then(()=>t()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},z2e=async e=>{switch(e){case"fr":return await bt(()=>import("./password.fr-1uJe1-pR.js"),__vite__mapDeps([]));case"de":return await bt(()=>import("./password.de-qoep7B_f.js"),__vite__mapDeps([]));case"it":return await bt(()=>import("./password.it-ImDc22WR.js"),__vite__mapDeps([]));case"es":return await bt(()=>import("./password.es-es--6AdGpRj.js"),__vite__mapDeps([]));case"pl":return await bt(()=>import("./password.pl-Ipz4x2MM.js"),__vite__mapDeps([]));default:return await bt(()=>import("./password.en-lIq_N4yZ.js"),__vite__mapDeps([]))}},fh=async e=>{const t=await bt(()=>import("./password.common-7m77ow97.js"),__vite__mapDeps([])),n=await z2e(e),r={graphs:t.adjacencyGraphs,dictionary:{...t.dictionary,...n.dictionary}};Re.setOptions(r)},B2e=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},H2e={class:"password-strength"},j2e=["value"],V2e={key:0,class:"password-strength-details"},K2e={class:"password-strength-value"},Y2e={key:0,class:"info-box"},q2e={class:"password-feedback"},X2e=Q({__name:"PasswordStength",props:{password:{}},setup(e){const t=e,{password:n}=_e(t),r=$e(),a=k(()=>r.getters[H.GETTERS.LANGUAGE]),s=k(()=>r.getters[Y.GETTERS.IS_SUCCESS]),o=ce(0),i=ce(""),u=ce([]),l=ce("0% 100%");It(async()=>await fh(a.value));function c(f){const d=F2e(f);o.value=d.score,i.value=B2e(o.value),u.value=d.feedback.suggestions,l.value=o.value*100/4+"% 100%"}return Fe(()=>a.value,async f=>{await fh(f)}),Fe(()=>n.value,async f=>{s.value?i.value="":c(f)}),(f,d)=>(T(),N("div",H2e,[p("input",{class:ge(["password-slider",`strength-${o.value}`]),style:Yr({backgroundSize:l.value}),type:"range",value:o.value,min:"0",max:"4",step:"1",tabindex:-1},null,14,j2e),i.value?(T(),N("div",V2e,[p("span",K2e,_(f.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+_(f.$t(`user.PASSWORD_STRENGTH.${i.value}`)),1),u.value.length>0?(T(),N("div",Y2e,[p("ul",q2e,[(T(!0),N(Ie,null,xe(u.value,m=>(T(),N("li",{key:m},_(f.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${m}`)),1))),128))])])):F("",!0)])):F("",!0)]))}}),Z2e=ae(X2e,[["__scopeId","data-v-1affb508"]]),Q2e=e=>(ut("data-v-ac528612"),e=e(),ct(),e),J2e={class:"password-input"},eve=["id","disabled","placeholder","required","type"],tve={class:"show-password"},nve={key:0,class:"form-info"},rve=Q2e(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),ave=Q({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:{},required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:r,disabled:a,id:s,password:o,placeholder:i,required:u}=_e(n),l=ce(!1),c=ce(""),f=t;function d(){l.value=!l.value}function m(g){f("updatePassword",g.target.value)}function E(){f("passwordError")}return Fe(()=>o.value,g=>{g===""&&(c.value="",l.value=!1)}),(g,b)=>(T(),N("div",J2e,[Ke(p("input",{id:h(s),disabled:h(a),placeholder:h(i),required:h(u),type:l.value?"text":"password","onUpdate:modelValue":b[0]||(b[0]=v=>c.value=v),minlength:"8",onInput:m,onInvalid:E},null,40,eve),[[p2,c.value]]),p("div",tve,[p("button",{class:"transparent",onClick:Xe(d,["prevent"]),type:"button"},[K(_(g.$t(`user.${l.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),p("i",{class:ge(["fa",`fa-eye${l.value?"-slash":""}`]),"aria-hidden":"true"},null,2)])]),h(r)?(T(),N("div",nve,[rve,K(" "+_(g.$t("user.PASSWORD_INFO")),1)])):F("",!0),h(r)?(T(),te(Z2e,{key:1,password:c.value},null,8,["password"])):F("",!0)]))}}),Vd=ae(ave,[["__scopeId","data-v-ac528612"]]),O0=e=>(ut("data-v-8ebb5cd3"),e=e(),ct(),e),sve={id:"user-infos-edition"},ove={class:"profile-form form-box"},ive={key:1,class:"info-box success-message"},uve={class:"form-items",for:"email"},cve=["disabled"],lve={class:"form-items",for:"password-field"},dve={class:"form-items",for:"new-password-field"},fve={class:"form-buttons"},pve={class:"confirm",type:"submit"},mve={class:"data-export"},Eve={class:"info-box"},hve=O0(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),_ve={key:0,class:"data-export-archive"},Tve=O0(()=>p("i",{class:"fa fa-download","aria-hidden":"true"},null,-1)),gve={key:1},Ave={key:2},Sve=O0(()=>p("i",{class:"fa fa-spinner fa-pulse","aria-hidden":"true"},null,-1)),Ove=Q({__name:"UserAccountEdition",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=xt({email:"",password:"",new_password:""}),s=k(()=>r.getters[Y.GETTERS.USER_LOADING]),o=k(()=>r.getters[H.GETTERS.APP_CONFIG]),i=k(()=>r.getters[Y.GETTERS.IS_SUCCESS]),u=ce(!1),l=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]),c=ce(!1),f=ce(!1),d=k(()=>r.getters[Y.GETTERS.EXPORT_REQUEST]),m=k(()=>A()),E=ce(!1);gt(()=>{t.user&&(r.dispatch(Y.ACTIONS.GET_REQUEST_DATA_EXPORT),b(t.user))});function g(){c.value=!0}function b(B){a.email=B.email}function v(B){a.password=B}function R(B){a.new_password=B}function A(){return d.value?xn(d.value.created_at,n.value.timezone,n.value.date_format,!0,null,!0):null}function S(){return m.value?M3(new Date(m.value),W3(new Date,1)):!0}function C(){const B={email:a.email,password:a.password};a.new_password&&(B.new_password=a.new_password),u.value=a.email!==n.value.email,r.dispatch(Y.ACTIONS.UPDATE_USER_ACCOUNT,B)}function L(B){f.value=B}function $(B){r.dispatch(Y.ACTIONS.DELETE_ACCOUNT,{username:B})}function U(){r.dispatch(Y.ACTIONS.REQUEST_DATA_EXPORT)}async function G(B){E.value=!0,await Be.get(`/auth/account/export/${B}`,{responseType:"blob"}).then(w=>{const Z=window.URL.createObjectURL(new Blob([w.data],{type:"application/zip"})),J=document.createElement("a");J.href=Z,J.setAttribute("download",B),document.body.appendChild(J),J.click()}).finally(()=>E.value=!1)}return Rt(()=>{r.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),Fe(()=>i.value,async B=>{B&&(v(""),R(""),b(n.value),c.value=!1)}),Fe(()=>n.value.email,async()=>{b(n.value)}),(B,w)=>{const Z=ue("Modal"),J=ue("ErrorMessage");return T(),N("div",sve,[f.value?(T(),te(Z,{key:0,title:B.$t("common.CONFIRMATION"),message:B.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:w[0]||(w[0]=re=>$(h(n).username)),onCancelAction:w[1]||(w[1]=re=>L(!1)),onKeydown:w[2]||(w[2]=At(re=>L(!1),["esc"]))},null,8,["title","message"])):F("",!0),p("div",ove,[l.value?(T(),te(J,{key:0,message:l.value},null,8,["message"])):F("",!0),i.value?(T(),N("div",ive,_(B.$t(`user.PROFILE.SUCCESSFUL_${u.value&&o.value.is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):F("",!0),p("form",{class:ge({errors:c.value}),onSubmit:Xe(C,["prevent"])},[p("label",uve,[K(_(B.$t("user.EMAIL"))+"* ",1),Ke(p("input",{id:"email","onUpdate:modelValue":w[3]||(w[3]=re=>a.email=re),disabled:s.value,required:!0,onInvalid:g},null,40,cve),[[tt,a.email]])]),p("label",lve,[K(_(B.$t("user.CURRENT_PASSWORD"))+"* ",1),M(Vd,{id:"password-field",disabled:s.value,password:a.password,required:!0,onUpdatePassword:v,onPasswordError:g},null,8,["disabled","password"])]),p("label",dve,[K(_(B.$t("user.NEW_PASSWORD"))+" ",1),M(Vd,{id:"new-password-field",disabled:s.value,checkStrength:!0,password:a.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:g},null,8,["disabled","password"])]),p("div",fve,[p("button",pve,_(B.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:w[4]||(w[4]=Xe(re=>B.$router.push("/profile"),["prevent"]))},_(B.$t("buttons.CANCEL")),1),p("button",{class:"danger",onClick:w[5]||(w[5]=Xe(re=>L(!0),["prevent"]))},_(B.$t("buttons.DELETE_MY_ACCOUNT")),1),S()?(T(),N("button",{key:0,class:"confirm",onClick:Xe(U,["prevent"])},_(B.$t("buttons.REQUEST_DATA_EXPORT")),1)):F("",!0)])],34),p("div",mve,[p("span",Eve,[hve,K(" "+_(B.$t("user.EXPORT_REQUEST.ONLY_ONE_EXPORT_PER_DAY")),1)]),d.value?(T(),N("div",_ve,[K(_(B.$t("user.EXPORT_REQUEST.DATA_EXPORT"))+" ("+_(m.value)+"): ",1),d.value.status==="successful"?(T(),N("span",{key:0,class:"archive-link",onClick:w[6]||(w[6]=Xe(re=>G(d.value.file_name),["prevent"]))},[Tve,K(" "+_(B.$t("user.EXPORT_REQUEST.DOWNLOAD_ARCHIVE"))+" ("+_(h(tu)(d.value.file_size))+") ",1)])):(T(),N("span",gve,_(B.$t(`user.EXPORT_REQUEST.STATUS.${d.value.status}`)),1)),E.value?(T(),N("span",Ave,[K(_(B.$t("user.EXPORT_REQUEST.GENERATING_LINK"))+" ",1),Sve])):F("",!0)])):F("",!0)])])])}}}),Ive=ae(Ove,[["__scopeId","data-v-8ebb5cd3"]]),vve={id:"user-infos-edition"},Rve={class:"profile-form form-box"},bve={class:"form-items",for:"registrationDate"},Nve=["value"],Cve={class:"form-items",for:"first_name"},yve=["disabled"],Dve={class:"form-items",for:"last_name"},Pve={class:"form-items",for:"birth_date"},wve=["disabled"],Lve={class:"form-items",for:"location"},$ve=["disabled"],kve={class:"form-items"},Uve={class:"form-buttons"},Mve={class:"confirm",type:"submit"},xve=Q({__name:"UserInfosEdition",props:{user:{}},setup(e){const t=e,n=$e(),r=xt({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),a=k(()=>t.user.created_at?xn(t.user.created_at,t.user.timezone,t.user.date_format):""),s=k(()=>n.getters[Y.GETTERS.USER_LOADING]),o=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);gt(()=>{t.user&&i(t.user)});function i(c){r.first_name=c.first_name?c.first_name:"",r.last_name=c.last_name?c.last_name:"",r.birth_date=c.birth_date?ln(new Date(c.birth_date),"yyyy-MM-dd"):"",r.location=c.location?c.location:"",r.bio=c.bio?c.bio:""}function u(c){r.bio=c}function l(){n.dispatch(Y.ACTIONS.UPDATE_USER_PROFILE,r)}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(c,f)=>{const d=ue("ErrorMessage"),m=ue("CustomTextArea");return T(),N("div",vve,[p("div",Rve,[o.value?(T(),te(d,{key:0,message:o.value},null,8,["message"])):F("",!0),p("form",{onSubmit:Xe(l,["prevent"])},[p("label",bve,[K(_(c.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),p("input",{id:"registrationDate",value:a.value,disabled:""},null,8,Nve)]),p("label",Cve,[K(_(c.$t("user.PROFILE.FIRST_NAME"))+" ",1),Ke(p("input",{id:"first_name","onUpdate:modelValue":f[0]||(f[0]=E=>r.first_name=E),disabled:s.value},null,8,yve),[[tt,r.first_name]])]),p("label",Dve,[K(_(c.$t("user.PROFILE.LAST_NAME"))+" ",1),Ke(p("input",{id:"last_name","onUpdate:modelValue":f[1]||(f[1]=E=>r.last_name=E)},null,512),[[tt,r.last_name]])]),p("label",Pve,[K(_(c.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Ke(p("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":f[2]||(f[2]=E=>r.birth_date=E),disabled:s.value},null,8,wve),[[tt,r.birth_date]])]),p("label",Lve,[K(_(c.$t("user.PROFILE.LOCATION"))+" ",1),Ke(p("input",{id:"location","onUpdate:modelValue":f[3]||(f[3]=E=>r.location=E),disabled:s.value},null,8,$ve),[[tt,r.location]])]),p("label",kve,[K(_(c.$t("user.PROFILE.BIO"))+" ",1),M(m,{name:"bio",charLimit:200,input:r.bio,disabled:s.value,onUpdateValue:u},null,8,["input","disabled"])]),p("div",Uve,[p("button",Mve,_(c.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:f[4]||(f[4]=Xe(E=>c.$router.push("/profile"),["prevent"]))},_(c.$t("buttons.CANCEL")),1)])],32)])])}}}),Fve=ae(xve,[["__scopeId","data-v-5f5c8fca"]]),Wve=e=>(ut("data-v-8f62d42f"),e=e(),ct(),e),Gve={id:"user-picture-edition"},zve={class:"user-picture-form"},Bve={class:"picture-help"},Hve={class:"info-box"},jve=Wve(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),Vve={class:"picture-buttons"},Kve=["disabled"],Yve=Q({__name:"UserPictureEdition",props:{user:{}},setup(e){const t=e,n=$e(),{user:r}=_e(t),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),s=k(()=>n.getters[H.GETTERS.APP_CONFIG]),o=s.value.max_single_file_size?tu(s.value.max_single_file_size):"",i=ce(null);function u(){n.dispatch(Y.ACTIONS.DELETE_PICTURE)}function l(f){f.target.files!==null&&(i.value=f.target.files[0])}function c(){i.value&&n.dispatch(Y.ACTIONS.UPDATE_USER_PICTURE,{picture:i.value})}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(f,d)=>{const m=ue("ErrorMessage");return T(),N("div",Gve,[p("div",zve,[a.value?(T(),te(m,{key:0,message:a.value},null,8,["message"])):F("",!0),M(Lo,{user:h(r)},null,8,["user"]),p("form",{onSubmit:Xe(c,["prevent"])},[p("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:l},null,32),p("div",Bve,[p("span",Hve,[jve,K(" "+_(f.$t("workouts.MAX_SIZE"))+": "+_(h(o)),1)])]),p("div",Vve,[p("button",{type:"submit",disabled:!i.value},_(f.$t("user.PROFILE.PICTURE_UPDATE")),9,Kve),h(r).picture?(T(),N("button",{key:0,class:"danger",onClick:u},_(f.$t("user.PROFILE.PICTURE_REMOVE")),1)):F("",!0),p("button",{class:"cancel",onClick:d[0]||(d[0]=E=>f.$router.push("/profile"))},_(f.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],32)])])}}}),qve=ae(Yve,[["__scopeId","data-v-8f62d42f"]]),Xve=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],Zve={id:"tz-dropdown"},Qve=["value","disabled"],Jve=["onClick","onMouseover","autofocus"],eRe=Q({__name:"TimezoneDropdown",props:{input:{},disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,r=t,{input:a,disabled:s}=_e(n),o=ce(a.value),i=ce(!1),u=ce(null),l=ce(0);function c(g){return g.toLowerCase().match(o.value.toLowerCase())}function f(g){l.value=g}function d(g){o.value=g,i.value=!1,r("updateTimezone",g)}function m(g){var b,v,R,A;g.preventDefault(),(v=(b=u.value)==null?void 0:b.firstElementChild)!=null&&v.innerHTML&&d((A=(R=u.value)==null?void 0:R.firstElementChild)==null?void 0:A.innerHTML)}function E(g){g.preventDefault(),i.value=!0,o.value=g.target.value.trim()}return Fe(()=>n.input,g=>{o.value=g}),(g,b)=>(T(),N("div",Zve,[p("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:o.value,disabled:h(s),required:"",onKeydown:[b[0]||(b[0]=At(v=>d(h(a)),["esc"])),At(m,["enter"])],onInput:E},null,40,Qve),i.value?(T(),N("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:u},[(T(!0),N(Ie,null,xe(h(Xve).filter(v=>c(v)),(v,R)=>(T(),N("li",{key:v,class:ge(["tz-dropdown-item",{focus:R===l.value}]),onClick:A=>d(v),onMouseover:A=>f(R),autofocus:R===l.value},_(v),43,Jve))),128))],512)):F("",!0)]))}}),tRe=ae(eRe,[["__scopeId","data-v-0ed9f402"]]),nRe=e=>(ut("data-v-e38a969e"),e=e(),ct(),e),rRe={id:"user-preferences-edition"},aRe={class:"profile-form form-box"},sRe={class:"preferences-section"},oRe={class:"form-items"},iRe=["disabled"],uRe=["value"],cRe={class:"form-items"},lRe=["disabled"],dRe=["value"],fRe={class:"form-items"},pRe={class:"form-items"},mRe=["disabled"],ERe=["value"],hRe={class:"form-items form-checkboxes"},_Re={class:"checkboxes-label"},TRe={class:"checkboxes"},gRe=["id","name","checked","disabled","onInput"],ARe={class:"checkbox-label"},SRe={class:"preferences-section"},ORe={class:"form-items form-checkboxes"},IRe={class:"checkboxes-label"},vRe={class:"checkboxes"},RRe=["id","name","checked","disabled","onInput"],bRe={class:"checkbox-label"},NRe={class:"form-items form-checkboxes"},CRe={class:"checkboxes-label"},yRe={class:"checkboxes"},DRe=["id","name","checked","disabled","onInput"],PRe={class:"checkbox-label"},wRe={class:"form-items form-checkboxes"},LRe={class:"checkboxes-label"},$Re={class:"checkboxes"},kRe=["id","name","checked","disabled","onInput"],URe={class:"checkbox-label"},MRe={class:"form-items form-checkboxes"},xRe={class:"checkboxes-label"},FRe={class:"checkboxes"},WRe=["id","name","checked","disabled","onInput"],GRe={class:"checkbox-label"},zRe={class:"info-box raw-speed-help"},BRe=nRe(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),HRe={class:"form-buttons"},jRe={class:"confirm",type:"submit"},VRe=Q({__name:"UserPreferencesEdition",props:{user:{}},setup(e){const t=e,n=$e(),r=xt({display_ascent:!0,imperial_units:!1,language:"en",timezone:"Europe/Paris",date_format:"dd/MM/yyyy",weekm:!1,start_elevation_at_zero:!1,use_raw_gpx_speed:!1,use_dark_mode:!1}),a=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],s=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],o=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],i=[{label:"ZERO",value:!0},{label:"MIN_ALT",value:!1}],u=[{label:"FILTERED_SPEED",value:!1},{label:"RAW_SPEED",value:!0}],l=[{label:"DARK",value:!0},{label:"DEFAULT",value:null},{label:"LIGHT",value:!1}],c=k(()=>n.getters[Y.GETTERS.USER_LOADING]),f=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),d=k(()=>NSe(new Date().toUTCString(),t.user.timezone,r.language));gt(()=>{t.user&&m(t.user)});function m(C){r.display_ascent=C.display_ascent,r.start_elevation_at_zero=C.start_elevation_at_zero?C.start_elevation_at_zero:!1,r.use_raw_gpx_speed=C.use_raw_gpx_speed?C.use_raw_gpx_speed:!1,r.imperial_units=C.imperial_units?C.imperial_units:!1,r.language=C.language?C.language:"en",r.timezone=C.timezone?C.timezone:"Europe/Paris",r.date_format=C.date_format?C.date_format:"dd/MM/yyyy",r.weekm=C.weekm?C.weekm:!1,r.use_dark_mode=C.use_dark_mode}function E(){n.dispatch(Y.ACTIONS.UPDATE_USER_PREFERENCES,r)}function g(C){r.timezone=C}function b(C){r.start_elevation_at_zero=C}function v(C){r.use_raw_gpx_speed=C}function R(C){r.display_ascent=C}function A(C){r.imperial_units=C}function S(C){r.weekm=C}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(C,L)=>{const $=ue("ErrorMessage");return T(),N("div",rRe,[p("div",aRe,[f.value?(T(),te($,{key:0,message:f.value},null,8,["message"])):F("",!0),p("form",{onSubmit:Xe(E,["prevent"])},[p("div",sRe,_(C.$t("user.PROFILE.INTERFACE")),1),p("label",oRe,[K(_(C.$t("user.PROFILE.LANGUAGE"))+" ",1),Ke(p("select",{id:"language","onUpdate:modelValue":L[0]||(L[0]=U=>r.language=U),disabled:c.value},[(T(!0),N(Ie,null,xe(h(ud),U=>(T(),N("option",{value:U.value,key:U.value},_(U.label),9,uRe))),128))],8,iRe),[[js,r.language]])]),p("label",cRe,[K(_(C.$t("user.PROFILE.THEME_MODE.LABEL"))+" ",1),Ke(p("select",{id:"use_dark_mode","onUpdate:modelValue":L[1]||(L[1]=U=>r.use_dark_mode=U),disabled:c.value},[(T(),N(Ie,null,xe(l,U=>p("option",{value:U.value,key:U.label},_(C.$t(`user.PROFILE.THEME_MODE.VALUES.${U.label}`)),9,dRe)),64))],8,lRe),[[js,r.use_dark_mode]])]),p("label",fRe,[K(_(C.$t("user.PROFILE.TIMEZONE"))+" ",1),M(tRe,{input:r.timezone,disabled:c.value,onUpdateTimezone:g},null,8,["input","disabled"])]),p("label",pRe,[K(_(C.$t("user.PROFILE.DATE_FORMAT"))+" ",1),Ke(p("select",{id:"date_format","onUpdate:modelValue":L[2]||(L[2]=U=>r.date_format=U),disabled:c.value},[(T(!0),N(Ie,null,xe(d.value,U=>(T(),N("option",{value:U.value,key:U.value},_(U.label),9,ERe))),128))],8,mRe),[[js,r.date_format]])]),p("div",hRe,[p("span",_Re,_(C.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),p("div",TRe,[(T(),N(Ie,null,xe(a,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.weekm,disabled:c.value,onInput:G=>S(U.value)},null,40,gRe),p("span",ARe,_(C.$t(`user.PROFILE.${U.label}`)),1)])),64))])]),p("div",SRe,_(C.$t("workouts.WORKOUT",0)),1),p("div",ORe,[p("span",IRe,_(C.$t("user.PROFILE.UNITS.LABEL")),1),p("div",vRe,[(T(),N(Ie,null,xe(s,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.imperial_units,disabled:c.value,onInput:G=>A(U.value)},null,40,RRe),p("span",bRe,_(C.$t(`user.PROFILE.UNITS.${U.label}`)),1)])),64))])]),p("div",NRe,[p("span",CRe,_(C.$t("user.PROFILE.ASCENT_DATA")),1),p("div",yRe,[(T(),N(Ie,null,xe(o,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.display_ascent,disabled:c.value,onInput:G=>R(U.value)},null,40,DRe),p("span",PRe,_(C.$t(`common.${U.label}`)),1)])),64))])]),p("div",wRe,[p("span",LRe,_(C.$t("user.PROFILE.ELEVATION_CHART_START.LABEL")),1),p("div",$Re,[(T(),N(Ie,null,xe(i,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.start_elevation_at_zero,disabled:c.value,onInput:G=>b(U.value)},null,40,kRe),p("span",URe,_(C.$t(`user.PROFILE.ELEVATION_CHART_START.${U.label}`)),1)])),64))])]),p("div",MRe,[p("span",xRe,_(C.$t("user.PROFILE.USE_RAW_GPX_SPEED.LABEL")),1),p("div",FRe,[(T(),N(Ie,null,xe(u,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.use_raw_gpx_speed,disabled:c.value,onInput:G=>v(U.value)},null,40,WRe),p("span",GRe,_(C.$t(`user.PROFILE.USE_RAW_GPX_SPEED.${U.label}`)),1)])),64))]),p("div",zRe,[p("span",null,[BRe,K(" "+_(C.$t("user.PROFILE.USE_RAW_GPX_SPEED.HELP")),1)])])]),p("div",HRe,[p("button",jRe,_(C.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:L[3]||(L[3]=Xe(U=>C.$router.push("/profile/preferences"),["prevent"]))},_(C.$t("buttons.CANCEL")),1)])],32)])])}}}),KRe=ae(VRe,[["__scopeId","data-v-e38a969e"]]),YRe={class:"privacy-policy-text"},qRe={class:"last-update"},XRe=["innerHTML"],ZRe=["innerHTML"],QRe="Sun, 26 Feb 2023 17:00:00 GMT",JRe=Q({__name:"PrivacyPolicy",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.LANGUAGE]),a=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),s=k(()=>c()),o=k(()=>l()),i=k(()=>f()),u=["DATA_COLLECTED","INFORMATION_USAGE","INFORMATION_PROTECTION","INFORMATION_DISCLOSURE","SITE_USAGE_BY_CHILDREN","YOUR_CONSENT","ACCOUNT_DELETION","CHANGES_TO_OUR_PRIVACY_POLICY"];function l(){return a.value.timezone?a.value.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone?Intl.DateTimeFormat().resolvedOptions().timeZone:"Europe/Paris"}function c(){return IA[r.value]}function f(){return xn(n.value.privacy_policy&&n.value.privacy_policy_date?`${n.value.privacy_policy_date}`:QRe,o.value,s.value,!1)}return(d,m)=>(T(),N("div",YRe,[p("h1",null,_(St(d.$t("privacy_policy.TITLE"))),1),p("p",qRe,[K(_(d.$t("privacy_policy.LAST_UPDATE"))+": ",1),p("time",null,_(i.value),1)]),n.value.privacy_policy?(T(),N("div",{key:0,innerHTML:h(ma)(h(vo)(n.value.privacy_policy))},null,8,XRe)):(T(),N(Ie,{key:1},xe(u,E=>(T(),N(Ie,{key:E},[p("h2",null,_(d.$t(`privacy_policy.CONTENT.${E}.TITLE`)),1),p("p",{innerHTML:h(ma)(d.$t(`privacy_policy.CONTENT.${E}.CONTENT`))},null,8,ZRe)],64))),64))]))}}),GA=ae(JRe,[["__scopeId","data-v-31d5cd27"]]),ebe={id:"user-privacy-policy"},tbe={key:1},nbe={class:"policy-content"},rbe={for:"accepted_policy",class:"accepted_policy"},abe={class:"form-buttons"},sbe={class:"confirm",type:"submit"},obe=Q({__name:"UserPrivacyPolicyValidation",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]),s=ce(!1);function o(){r.dispatch(Y.ACTIONS.ACCEPT_PRIVACY_POLICY,s.value)}return Rt(()=>{r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(i,u)=>{const l=ue("ErrorMessage"),c=ue("router-link"),f=ue("i18n-t");return T(),N("div",ebe,[a.value?(T(),te(l,{key:0,message:a.value},null,8,["message"])):F("",!0),h(n).accepted_privacy_policy?(T(),N("div",tbe,[p("p",null,[M(f,{keypath:"user.YOU_HAVE_ACCEPTED_PRIVACY_POLICY"},{default:fe(()=>[M(c,{to:"/privacy-policy"},{default:fe(()=>[K(_(i.$t("privacy_policy.TITLE")),1)]),_:1})]),_:1})]),p("button",{class:"cancel",onClick:u[0]||(u[0]=d=>i.$router.push("/profile"))},_(i.$t("user.PROFILE.BACK_TO_PROFILE")),1)])):(T(),N("form",{key:2,onSubmit:u[3]||(u[3]=Xe(d=>o(),["prevent"]))},[p("div",nbe,[M(GA)]),p("label",rbe,[Ke(p("input",{type:"checkbox",id:"accepted_policy",required:"","onUpdate:modelValue":u[1]||(u[1]=d=>s.value=d)},null,512),[[hf,s.value]]),p("span",null,[M(f,{keypath:"user.READ_AND_ACCEPT_PRIVACY_POLICY"},{default:fe(()=>[K(_(i.$t("privacy_policy.TITLE")),1)]),_:1})])]),M(c,{to:"/profile/edit/account"},{default:fe(()=>[K(_(i.$t("user.I_WANT_TO_DELETE_MY_ACCOUNT")),1)]),_:1}),p("div",abe,[p("button",sbe,_(i.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:u[2]||(u[2]=d=>i.$router.push("/profile"))},_(i.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],32))])}}}),ibe=ae(obe,[["__scopeId","data-v-a70349ce"]]),ube=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],cbe=["application:write"],lbe={id:"new-oauth2-app"},dbe={id:"new-oauth2-title"},fbe={id:"apps-form"},pbe={class:"form-items"},mbe={class:"form-item"},Ebe={for:"app-name"},hbe={class:"form-item"},_be={for:"app-description"},Tbe={class:"form-item"},gbe={for:"app-url"},Abe={class:"form-item"},Sbe={for:"app-redirect-uri"},Obe={class:"form-item-scope"},Ibe={class:"form-item-scope-label"},vbe={class:"scope-label"},Rbe=["name","checked","onChange"],bbe=["innerHTML"],Nbe={class:"form-buttons"},Cbe=["disabled"],ybe=Q({__name:"AddUserApp",props:{authUser:{}},setup(e){const t=e,n=$e(),r=xt({client_name:"",client_uri:"",client_description:"",description:"",redirect_uri:""}),a=xt([]),s=k(()=>l(t.authUser,cbe,ube));function o(){const c={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:a.sort().join(" ")};n.dispatch(Ve.ACTIONS.CREATE_CLIENT,c)}function i(c){r.client_description=c}function u(c){const f=a.indexOf(c);f>-1?a.splice(f,1):a.push(c)}function l(c,f,d){const m=[...d];return c.admin&&m.push(...f),m.sort()}return(c,f)=>{const d=ue("CustomTextArea");return T(),N("div",lbe,[p("h1",dbe,_(c.$t("oauth2.ADD_A_NEW_APP")),1),p("div",fbe,[p("form",{onSubmit:Xe(o,["prevent"])},[p("div",pbe,[p("div",mbe,[p("label",Ebe,_(c.$t("oauth2.APP.NAME"))+"*",1),Ke(p("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":f[0]||(f[0]=m=>r.client_name=m)},null,512),[[tt,r.client_name]])]),p("div",hbe,[p("label",_be,_(c.$t("oauth2.APP.DESCRIPTION")),1),M(d,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:i},null,8,["input"])]),p("div",Tbe,[p("label",gbe,_(c.$t("oauth2.APP.URL"))+"*",1),Ke(p("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":f[1]||(f[1]=m=>r.client_uri=m)},null,512),[[tt,r.client_uri]])]),p("div",Abe,[p("label",Sbe,_(c.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),Ke(p("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":f[2]||(f[2]=m=>r.redirect_uri=m)},null,512),[[tt,r.redirect_uri]])]),p("div",Obe,[p("div",Ibe,_(c.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),(T(!0),N(Ie,null,xe(s.value,m=>(T(),N("div",{class:"form-item-scope-checkboxes",key:m},[p("label",vbe,[p("input",{type:"checkbox",name:m,checked:a.includes(m),onChange:E=>u(m)},null,40,Rbe),p("code",null,_(m),1)]),p("p",{class:"scope-description",innerHTML:c.$t(`oauth2.APP.SCOPE.${m}_DESCRIPTION`)},null,8,bbe)]))),128))])]),p("div",Nbe,[p("button",{class:"confirm",type:"submit",disabled:a.length===0},_(c.$t("buttons.SUBMIT")),9,Cbe),p("button",{class:"cancel",onClick:f[3]||(f[3]=Xe(()=>c.$router.push("/profile/apps"),["prevent"]))},_(c.$t("buttons.CANCEL")),1)])],32)])])}}}),Dbe=ae(ybe,[["__scopeId","data-v-e2284e06"]]),Pbe={id:"authorize-oauth2-app"},wbe={key:0},Lbe={id:"authorize-oauth2-title"},$be={class:"oauth2-access description-list"},kbe={class:"client-scope"},Ube=["innerHTML"],Mbe={class:"authorize-oauth2-buttons"},xbe={key:1},Fbe={class:"no-app"},Wbe=Q({__name:"AuthorizeUserApp",setup(e){const t=Vt(),n=$e(),r=k(()=>n.getters[Ve.GETTERS.CLIENT]),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>s());function s(){t.query.client_id&&typeof t.query.client_id=="string"&&n.dispatch(Ve.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function o(){n.dispatch(Ve.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(i,u)=>{const l=ue("router-link"),c=ue("i18n-t"),f=ue("ErrorMessage");return T(),N("div",Pbe,[r.value.client_id?(T(),N("div",wbe,[p("h1",Lbe,[M(c,{keypath:"oauth2.AUTHORIZE_APP"},{default:fe(()=>[M(l,{to:{name:"UserApp",params:{id:r.value.id}}},{default:fe(()=>[K(_(r.value.name),1)]),_:1},8,["to"])]),_:1})]),a.value?(T(),te(f,{key:0,message:a.value},null,8,["message"])):F("",!0),p("div",$be,[p("p",null,_(i.$t("oauth2.APP_REQUESTING_ACCESS")),1),p("dl",null,[(T(!0),N(Ie,null,xe(r.value.scope.split(" "),d=>(T(),N(Ie,{key:d},[p("dt",kbe,[p("code",null,_(d),1)]),p("dd",{innerHTML:i.$t(`oauth2.APP.SCOPE.${d}_DESCRIPTION`)},null,8,Ube)],64))),128))]),p("div",Mbe,[p("button",{class:"danger",onClick:o},_(i.$t("buttons.AUTHORIZE")),1),p("button",{class:"cancel",onClick:u[0]||(u[0]=d=>i.$router.push("/profile/apps"))},_(i.$t("buttons.CANCEL")),1)])])])):(T(),N("div",xbe,[p("p",Fbe,_(i.$t("oauth2.NO_APP")),1),p("button",{onClick:u[1]||(u[1]=d=>i.$router.push("/profile/apps"))},_(i.$t("buttons.BACK")),1)]))])}}}),Gbe=ae(Wbe,[["__scopeId","data-v-a8ed6bf8"]]),zbe={id:"oauth2-apps"},Bbe=Q({__name:"index",props:{user:{}},setup(e){const t=e,n=$e(),{user:r}=_e(t);return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(Ve.MUTATIONS.SET_CLIENTS,[])}),(a,s)=>{const o=ue("router-view");return T(),N("div",zbe,[M(o,{authUser:h(r)},null,8,["authUser"])])}}}),Hbe={id:"oauth2-app",class:"description-list"},jbe={key:1},Vbe={key:0,class:"info-box success-message"},Kbe=["title"],Ybe={key:0},qbe={key:1,class:"app-secret"},Xbe=["title"],Zbe={class:"client-scopes"},Qbe={class:"app-buttons"},Jbe={key:2},eNe={class:"no-app"},tNe=Q({__name:"UserApp",props:{authUser:{},afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=Vt(),r=$e(),{afterCreation:a,authUser:s}=_e(t),o=k(()=>r.getters[Ve.GETTERS.CLIENT]),i=k(()=>r.getters[Ve.GETTERS.REVOCATION_SUCCESSFUL]),u=ce(!1),l=ce(""),c=ce(!1),f=ce(!1),d=ce(!1);It(()=>{m(),navigator.clipboard&&(d.value=!0)});function m(){!a.value&&n.params.id&&typeof n.params.id=="string"&&r.dispatch(Ve.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function E(A){l.value=A?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",g(!0)}function g(A){u.value=A,A||(l.value="")}function b(A){l.value==="oauth2.APP_DELETION_CONFIRMATION"?r.dispatch(Ve.ACTIONS.DELETE_CLIENT,A):r.dispatch(Ve.ACTIONS.REVOKE_ALL_TOKENS,A)}function v(){navigator.clipboard.writeText(o.value.client_id),c.value=!0,f.value=!1,setTimeout(()=>{c.value=!1},3e3)}function R(){o.value.client_secret&&(navigator.clipboard.writeText(o.value.client_secret),f.value=!0,c.value=!1,setTimeout(()=>{f.value=!1},3e3))}return Rt(()=>{r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),r.commit(Ve.MUTATIONS.EMPTY_CLIENT),r.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)}),Fe(()=>i.value,A=>{A&&g(!1)}),(A,S)=>{const C=ue("Modal");return T(),N("div",Hbe,[u.value?(T(),te(C,{key:0,title:A.$t("common.CONFIRMATION"),message:A.$t(l.value),onConfirmAction:S[0]||(S[0]=L=>b(o.value.id)),onCancelAction:S[1]||(S[1]=L=>g(!1)),onKeydown:S[2]||(S[2]=At(L=>g(!1),["esc"]))},null,8,["title","message"])):F("",!0),o.value&&o.value.client_id?(T(),N("div",jbe,[h(a)||i.value?(T(),N("div",Vbe,_(A.$t(h(a)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):F("",!0),p("dl",null,[p("dt",null,_(A.$t("oauth2.APP.CLIENT_ID"))+":",1),p("dd",null,[K(_(o.value.client_id)+" ",1),h(a)&&d.value?(T(),N("i",{key:0,class:ge(`fa fa-${c.value?"check":"copy"}`),"aria-hidden":"true",title:A.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:v},null,10,Kbe)):F("",!0)]),h(a)&&o.value.client_secret?(T(),N("dt",Ybe,_(A.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):F("",!0),h(a)&&o.value.client_secret?(T(),N("dd",qbe,[K(_(o.value.client_secret)+" ",1),d.value?(T(),N("i",{key:0,class:ge(`fa fa-${f.value?"check":"copy"}`),"aria-hidden":"true",title:A.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:R},null,10,Xbe)):F("",!0)])):F("",!0),p("dt",null,_(St(A.$t("oauth2.APP.ISSUE_AT")))+":",1),p("dd",null,[p("time",null,_(h(xn)(o.value.issued_at,h(s).timezone,h(s).date_format)),1)]),p("dt",null,_(A.$t("oauth2.APP.NAME"))+":",1),p("dd",null,_(o.value.name),1),p("dt",null,_(A.$t("oauth2.APP.DESCRIPTION"))+":",1),p("dd",{class:ge({"no-description":!o.value.client_description})},_(o.value.client_description?o.value.client_description:A.$t("oauth2.NO_DESCRIPTION")),3),p("dt",null,_(A.$t("oauth2.APP.URL"))+":",1),p("dd",null,_(o.value.website),1),p("dt",null,_(A.$t("oauth2.APP.REDIRECT_URL"))+":",1),p("dd",null,_(o.value.redirect_uris.length>0?o.value.redirect_uris[0]:""),1),p("dt",null,_(A.$t("oauth2.APP.SCOPE.LABEL"))+":",1),p("dd",Zbe,[(T(!0),N(Ie,null,xe(o.value.scope.split(" "),L=>(T(),N("span",{class:"client-scope",key:L},[p("code",null,_(L),1)]))),128))])]),p("div",Qbe,[p("button",{class:"danger",onClick:S[3]||(S[3]=L=>E(!1))},_(A.$t("oauth2.REVOKE_ALL_TOKENS")),1),p("button",{class:"danger",onClick:S[4]||(S[4]=L=>E(!0))},_(A.$t("oauth2.DELETE_APP")),1),p("button",{onClick:S[5]||(S[5]=L=>A.$router.push("/profile/apps"))},_(A.$t("buttons.BACK")),1)])])):(T(),N("div",Jbe,[p("p",eNe,_(A.$t("oauth2.NO_APP")),1),p("button",{onClick:S[6]||(S[6]=L=>A.$router.push("/profile/apps"))},_(A.$t("buttons.BACK")),1)]))])}}}),ph=ae(tNe,[["__scopeId","data-v-3a7d0f4a"]]),nNe={id:"oauth2-apps-list"},rNe={class:"apps-list"},aNe={key:0},sNe={class:"app-issued-at"},oNe={key:1,class:"no-apps"},iNe={class:"app-list-buttons"},uNe=Q({__name:"UserAppsList",props:{authUser:{}},setup(e){const t=e,n=$e(),r=Vt(),{authUser:a}=_e(t),s=k(()=>n.getters[Ve.GETTERS.CLIENTS]),o=k(()=>n.getters[Ve.GETTERS.CLIENTS_PAGINATION]);let i=u(r.query);It(()=>{l(i)});function u(c){const f={};return c.page&&(f.page=Fd(c.page,_A)),f}function l(c){n.dispatch(Ve.ACTIONS.GET_CLIENTS,c)}return Fe(()=>r.query,async c=>{i=u(c),l(i)}),(c,f)=>{const d=ue("router-link");return T(),N("div",nNe,[p("p",rNe,_(c.$t("oauth2.APPS_LIST")),1),s.value.length>0?(T(),N("ul",aNe,[(T(!0),N(Ie,null,xe(s.value,m=>(T(),N("li",{key:m.client_id},[M(d,{to:{name:"UserApp",params:{id:m.id}}},{default:fe(()=>[K(_(m.name),1)]),_:2},1032,["to"]),p("span",sNe,[K(_(c.$t("oauth2.APP.ISSUE_AT"))+" ",1),p("time",null,_(h(xn)(m.issued_at,h(a).timezone,h(a).date_format)),1)])]))),128))])):(T(),N("div",oNe,_(c.$t("oauth2.NO_APPS")),1)),s.value.length>0?(T(),te(Wu,{key:2,pagination:o.value,path:"/profile/apps",query:h(i)},null,8,["pagination","query"])):F("",!0),p("div",iNe,[p("button",{onClick:f[0]||(f[0]=m=>c.$router.push("/profile/apps/new"))},_(c.$t("oauth2.NEW_APP")),1),p("button",{onClick:f[1]||(f[1]=m=>c.$router.push("/"))},_(c.$t("common.HOME")),1)])])}}}),cNe=ae(uNe,[["__scopeId","data-v-064a87b7"]]),lNe={id:"user-sport-preferences"},dNe={key:0,class:"responsive-table"},fNe={class:"mobile-display"},pNe={key:0,class:"profile-buttons mobile-display"},mNe={key:1,class:"profile-buttons"},ENe={class:"text-left"},hNe={key:0},_Ne={class:"cell-heading"},TNe=["value"],gNe={class:"cell-heading"},ANe={key:0,class:"disabled-message"},SNe={key:1,class:"fa fa-refresh fa-spin fa-fw"},ONe={class:"cell-heading"},INe={class:"cell-heading"},vNe=["checked"],RNe={class:"cell-heading"},bNe=["value"],NNe={key:1},CNe={key:0,class:"action-buttons"},yNe={class:"cell-heading"},DNe=["onClick"],PNe={key:1,class:"edition-buttons"},wNe=["disabled"],LNe=["disabled","onClick"],$Ne=["disabled"],kNe={key:0,class:"profile-buttons"},UNe={key:1,class:"profile-buttons"},MNe="#838383",xNe=Q({__name:"UserSportPreferences",props:{user:{},isEdition:{type:Boolean}},setup(e){const t=e,n=$e(),{t:r}=jt(),{isEdition:a,user:s}=_e(t),o=ht("sportColors"),i=k(()=>n.getters[$t.GETTERS.SPORTS]),u=k(()=>Jr(i.value,r,"is_active",s.value.sports_list)),l=k(()=>n.getters[Y.GETTERS.USER_LOADING]),c=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),f=xt({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function d(S){S!==null?(f.sport_id=S.id,f.color=S.color?S.color:o?o[S.label]:MNe,f.is_active=S.is_active_for_user,f.stopped_speed_threshold=S.stopped_speed_threshold):v()}function m(S){return f.sport_id===S}function E(S){f.color=S.target.value}function g(S){f.stopped_speed_threshold=parseFloat(S.target.value)}function b(S){f.is_active=S.target.checked}function v(){f.sport_id=0,f.color=null,f.is_active=!0,f.stopped_speed_threshold=1,n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(S){S.preventDefault(),n.dispatch(Y.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,f)}function A(S,C){S.preventDefault(),n.dispatch(Y.ACTIONS.RESET_USER_SPORT_PREFERENCES,C)}return Fe(()=>l.value,S=>{!S&&!c.value&&v()}),(S,C)=>{const L=ue("SportImage"),$=ue("ErrorMessage");return T(),N("div",lNe,[i.value.length>0?(T(),N("div",dNe,[p("div",fNe,[h(a)?(T(),N("div",pNe,[p("button",{class:"cancel",onClick:C[0]||(C[0]=Xe(U=>S.$router.push("/profile/sports"),["prevent"]))},_(S.$t("buttons.BACK")),1)])):(T(),N("div",mNe,[p("button",{onClick:C[1]||(C[1]=U=>S.$router.push("/profile/edit/sports"))},_(S.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),p("button",{onClick:C[2]||(C[2]=U=>S.$router.push("/"))},_(S.$t("common.HOME")),1)]))]),p("table",null,[p("thead",null,[p("tr",null,[p("th",null,_(S.$t("user.PROFILE.SPORT.COLOR")),1),p("th",ENe,_(S.$t("workouts.SPORT",0)),1),p("th",null,_(S.$t("workouts.WORKOUT",0)),1),p("th",null,_(S.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p("th",null,_(S.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),h(a)?(T(),N("th",hNe,_(S.$t("user.PROFILE.SPORT.ACTION")),1)):F("",!0)])]),p("tbody",null,[(T(!0),N(Ie,null,xe(u.value,U=>(T(),N("tr",{key:U.id},[p("td",null,[p("span",_Ne,_(S.$t("user.PROFILE.SPORT.COLOR")),1),m(U.id)?(T(),N("input",{key:0,class:"sport-color",type:"color",value:f.color,onInput:E},null,40,TNe)):(T(),te(L,{key:1,title:U.translatedLabel,"sport-label":U.label,color:U.color?U.color:h(o)[U.label]},null,8,["title","sport-label","color"]))]),p("td",{class:ge(["sport-label",{"disabled-sport":!U.is_active}])},[p("span",gNe,_(S.$t("user.PROFILE.SPORT.LABEL")),1),K(" "+_(U.translatedLabel)+" ",1),U.is_active?F("",!0):(T(),N("span",ANe," ("+_(S.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),l.value&&m(U.id)?(T(),N("i",SNe)):F("",!0),c.value&&f.sport_id===U.id?(T(),te($,{key:2,message:c.value},null,8,["message"])):F("",!0)],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",ONe,_(S.$t("workouts.WORKOUT",0)),1),p("i",{class:ge(`fa fa${h(s).sports_list.includes(U.id)?"-check":""}`),"aria-hidden":"true"},null,2)],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",INe,_(S.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),m(U.id)&&U.is_active?(T(),N("input",{key:0,type:"checkbox",checked:U.is_active_for_user,onChange:b},null,40,vNe)):(T(),N("i",{key:1,class:ge(`fa fa${U.is_active_for_user?"-check":""}`),"aria-hidden":"true"},null,2))],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",RNe,_(S.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),m(U.id)&&U.is_active?(T(),N("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:f.stopped_speed_threshold,onInput:g},null,40,bNe)):(T(),N("span",NNe,_(U.stopped_speed_threshold),1))],2),h(a)?(T(),N("td",CNe,[p("span",yNe,_(S.$t("user.PROFILE.SPORT.ACTION")),1),f.sport_id===0?(T(),N("button",{key:0,onClick:G=>d(U)},_(S.$t("buttons.EDIT")),9,DNe)):F("",!0),m(U.id)?(T(),N("div",PNe,[p("button",{disabled:l.value,onClick:R},_(S.$t("buttons.SUBMIT")),9,wNe),p("button",{disabled:l.value,onClick:G=>A(G,U.id)},_(S.$t("buttons.RESET")),9,LNe),p("button",{disabled:l.value,onClick:C[3]||(C[3]=G=>d(null))},_(S.$t("buttons.CANCEL")),9,$Ne)])):F("",!0)])):F("",!0)]))),128))])]),h(a)?(T(),N("div",kNe,[p("button",{class:"cancel",onClick:C[4]||(C[4]=Xe(U=>S.$router.push("/profile/sports"),["prevent"]))},_(S.$t("buttons.BACK")),1)])):(T(),N("div",UNe,[p("button",{onClick:C[5]||(C[5]=U=>S.$router.push("/profile/edit/sports"))},_(S.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),p("button",{onClick:C[6]||(C[6]=U=>S.$router.push("/"))},_(S.$t("common.HOME")),1)]))])):F("",!0)])}}}),mh=ae(xNe,[["__scopeId","data-v-aa4857fe"]]),Bo=e=>(ut("data-v-43bcf522"),e=e(),ct(),e),FNe={class:"about-text"},WNe=["innerHTML"],GNe=Bo(()=>p("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1)),zNe=["href"],BNe=Bo(()=>p("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1)),HNe={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},jNe=Bo(()=>p("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1)),VNe=Bo(()=>p("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1)),KNe={key:0},YNe=Bo(()=>p("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1)),qNe=["href"],XNe={key:1},ZNe=["href"],QNe={class:"about-instance"},JNe=["innerHTML"],e3e=Q({__name:"About",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>o()),a=k(()=>t.getters[H.GETTERS.LANGUAGE]),s=k(()=>i());function o(){const u={};return n.value.weather_provider==="visualcrossing"&&(u.name="Visual Crossing",u.url="https://www.visualcrossing.com"),u}function i(){let u="https://samr1.github.io/FitTrackee/";return a.value==="fr"&&(u+="fr/"),u}return(u,l)=>{const c=ue("i18n-t");return T(),N("div",FNe,[p("div",null,[p("p",{class:"error-message",innerHTML:u.$t("about.FITTRACKEE_DESCRIPTION")},null,8,WNe),p("p",null,[GNe,p("a",{class:"documentation-link",href:s.value,target:"_blank",rel:"noopener noreferrer"},_(St(u.$t("common.DOCUMENTATION"))),9,zNe)]),p("p",null,[BNe,p("a",HNe,_(u.$t("about.SOURCE_CODE")),1)]),p("p",null,[jNe,M(c,{keypath:"about.FITTRACKEE_LICENSE"},{default:fe(()=>[VNe]),_:1})]),n.value.admin_contact?(T(),N("div",KNe,[YNe,p("a",{href:`mailto:${n.value.admin_contact}`},_(u.$t("about.CONTACT_ADMIN")),9,qNe)])):F("",!0),r.value&&r.value.name?(T(),N("div",XNe,[K(_(u.$t("about.WEATHER_DATA_FROM"))+" ",1),p("a",{href:r.value.url,target:"_blank",rel:"nofollow noopener"},_(r.value.name),9,ZNe)])):F("",!0),n.value.about?(T(),N(Ie,{key:2},[p("p",QNe,_(u.$t("about.ABOUT_THIS_INSTANCE")),1),p("div",{innerHTML:h(ma)(h(vo)(n.value.about))},null,8,JNe)],64)):F("",!0)])])}}}),t3e=ae(e3e,[["__scopeId","data-v-43bcf522"]]),n3e={},r3e={id:"bike"},a3e=["src"];function s3e(e,t){return T(),N("div",r3e,[p("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,a3e)])}const zA=ae(n3e,[["render",s3e],["__scopeId","data-v-dc181e30"]]),o3e={id:"about",class:"view"},i3e={class:"container"},u3e={class:"container-sub"},c3e={class:"container-sub about-details"},l3e=Q({__name:"AboutView",setup(e){return(t,n)=>(T(),N("div",o3e,[p("div",i3e,[p("div",u3e,[M(zA)]),p("div",c3e,[M(t3e)])])]))}}),d3e=ae(l3e,[["__scopeId","data-v-ef9c7198"]]),f3e={id:"error"},p3e={class:"error-content"},m3e=Q({__name:"Error",props:{title:{},message:{},buttonText:{},path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:r,message:a,path:s}=_e(t);return(o,i)=>(T(),N("div",f3e,[p("div",p3e,[p("h1",null,_(h(r)),1),p("p",null,_(h(a)),1),h(n)?(T(),N("button",{key:0,onClick:i[0]||(i[0]=u=>o.$router.push(h(s))),class:"upper"},_(h(n)),1)):F("",!0)])]))}}),E3e=ae(m3e,[["__scopeId","data-v-48ec856d"]]),I0=Q({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=_e(t),r=ce(),a=ce(!1);gt(()=>s());function s(){r.value=setTimeout(()=>{a.value=!0},500)}return Rt(()=>{r.value&&clearTimeout(r.value)}),(o,i)=>a.value?(T(),te(E3e,{key:0,title:"404",message:o.$t(`error.NOT_FOUND.${h(n)}`),"button-text":o.$t("common.HOME")},null,8,["message","button-text"])):F("",!0)}}),h3e=e=>(ut("data-v-5eee0876"),e=e(),ct(),e),_3e={id:"admin",class:"view"},T3e={key:0,class:"container"},g3e=h3e(()=>p("div",{id:"bottom"},null,-1)),A3e=Q({__name:"AdminView",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.APP_STATS]),a=k(()=>t.getters[Y.GETTERS.IS_ADMIN]),s=k(()=>t.getters[Y.GETTERS.USER_LOADING]);return It(()=>t.dispatch(H.ACTIONS.GET_APPLICATION_STATS)),(o,i)=>{const u=ue("router-view");return T(),N("div",_3e,[s.value?F("",!0):(T(),N("div",T3e,[a.value?(T(),te(u,{key:0,appConfig:n.value,appStatistics:r.value},null,8,["appConfig","appStatistics"])):(T(),te(I0,{key:1})),g3e]))])}}}),S3e=ae(A3e,[["__scopeId","data-v-5eee0876"]]),BA="/img/workouts/mountains.svg",O3e=p("div",{class:"map-attribution"},[p("span",{class:"map-attribution-text"},"©"),p("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1),HA=Q({__name:"StaticMap",props:{workout:{},displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=_e(t),r=`${wo()}workouts/map/${t.workout.map}`;return(a,s)=>(T(),N("div",{class:ge(["static-map",{"display-hover":h(n)}])},[h(n)?(T(),N("img",{key:0,src:r,alt:""})):(T(),N("div",{key:1,class:"bg-map-image",style:Yr({backgroundImage:`url(${r})`})},null,4)),O3e],2))}}),v0=e=>(ut("data-v-e44ad394"),e=e(),ct(),e),I3e={class:"timeline-workout"},v3e={class:"box"},R3e={class:"workout-user-date"},b3e={class:"workout-user"},N3e=["title"],C3e={key:0},y3e={key:1,class:"no-map"},D3e={class:"img"},P3e={class:"data"},w3e=v0(()=>p("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)),L3e={key:0},$3e={class:"data"},k3e=v0(()=>p("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)),U3e={key:0,class:"data elevation"},M3e=["alt"],x3e={class:"data-values"},F3e={key:1,class:"data altitude"},W3e=v0(()=>p("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)),G3e={class:"data-values"},z3e=Q({__name:"WorkoutCard",props:{user:{},useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=$e(),{user:r,workout:a,sport:s,useImperialUnits:o}=_e(t),i=k(()=>n.getters[H.GETTERS.LOCALE]);function u(c){return c.with_gpx&&c.min_alt!==null&&c.max_alt!==null}function l(c){return u(c)&&c.ascent!==null&&c.descent!==null}return(c,f)=>{var g;const d=ue("router-link"),m=ue("SportImage"),E=ue("Distance");return T(),N("div",I3e,[p("div",v3e,[p("div",R3e,[p("div",b3e,[M(Lo,{user:h(r)},null,8,["user"]),h(r).username?(T(),te(d,{key:0,class:"workout-user-name",to:{name:"User",params:{username:h(r).username}}},{default:fe(()=>[K(_(h(r).username),1)]),_:1},8,["to"])):F("",!0)]),h(a).id?(T(),te(d,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:h(a).id}}},{default:fe(()=>[K(_(h(a).title),1)]),_:1},8,["to"])):F("",!0),h(a).workout_date&&h(r)?(T(),N("div",{key:1,class:"workout-date",title:h(xn)(h(a).workout_date,h(r).timezone,h(r).date_format)},_(h(U3)(new Date(h(a).workout_date),new Date,{addSuffix:!0,locale:i.value})),9,N3e)):F("",!0)]),p("div",{class:ge(["workout-map",{"no-cursor":!h(a)}]),onClick:f[0]||(f[0]=b=>h(a).id?c.$router.push({name:"Workout",params:{workoutId:h(a).id}}):null)},[h(a)?(T(),N("div",C3e,[h(a).with_gpx?(T(),te(HA,{key:0,workout:h(a)},null,8,["workout"])):(T(),N("div",y3e,_(c.$t("workouts.NO_MAP")),1))])):F("",!0)],2),p("div",{class:ge(["workout-data",{"without-elevation":!u(h(a))}]),onClick:f[1]||(f[1]=b=>h(a).id?c.$router.push({name:"Workout",params:{workoutId:h(a).id}}):null)},[p("div",D3e,[(g=h(s))!=null&&g.label?(T(),te(m,{key:0,"sport-label":h(s).label,color:h(s).color},null,8,["sport-label","color"])):F("",!0)]),p("div",P3e,[w3e,h(a)?(T(),N("span",L3e,_(h(a).moving),1)):F("",!0)]),p("div",$3e,[k3e,h(a).id?(T(),te(E,{key:0,distance:h(a).distance,digits:3,unitFrom:"km",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)]),u(h(a))?(T(),N("div",U3e,[p("img",{class:"mountains",src:BA,alt:c.$t("workouts.ELEVATION")},null,8,M3e),p("div",x3e,[h(a).id?(T(),te(E,{key:0,distance:h(a).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0),K("/ "),h(a).id?(T(),te(E,{key:1,distance:h(a).max_alt,unitFrom:"m",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)])])):F("",!0),l(h(a))?(T(),N("div",F3e,[W3e,p("div",G3e,[K(" +"),h(a).id?(T(),te(E,{key:0,distance:h(a).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0),K("/- "),h(a).id?(T(),te(E,{key:1,distance:h(a).descent,unitFrom:"m",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)])])):F("",!0)],2)])])}}}),Eh=ae(z3e,[["__scopeId","data-v-e44ad394"]]),B3e={},H3e={class:"no-workouts box"};function j3e(e,t){const n=ue("router-link");return T(),N("div",H3e,[p("div",null,[K(_(e.$t("workouts.NO_WORKOUTS"))+" ",1),M(n,{to:"/workouts/add"},{default:fe(()=>[K(_(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)]),_:1})])])}const R0=ae(B3e,[["render",j3e],["__scopeId","data-v-b0c91cc6"]]),Gr={ligthMode:{text:"#666",line:"rgba(0, 0, 0, 0.1)"},darkMode:{text:"#a1a1a1",line:"#3f3f3f"}},V3e=(e,t,n,r=!1)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["transparent"],borderColor:[r?"#5f5c97":"#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:[r?"#303030":"#e5e5e5"],borderColor:[r?"#222222":"#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map(u=>{s.push(wi("km",u.distance,n)),o.push(u.duration),a.speed.data.push(wi("km",u.speed,n)),u.elevation!==void 0&&a.elevation.data.push(wi("m",u.elevation,n)),i.push({latitude:u.latitude,longitude:u.longitude})}),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},K3e=e=>{const t=e.length;if(t===0)return{};const n={};return e.map(r=>{n[r.sport_id]||(n[r.sport_id]={count:0,percentage:0}),n[r.sport_id].count+=1,n[r.sport_id].percentage=n[r.sport_id].count/t}),n},bo={order:"desc",order_by:"workout_date"},Y3e={id:"timeline"},q3e={class:"section-title"},X3e={key:0},Z3e={key:1},Q3e={key:1,class:"more-workouts"},gi=5,J3e=Q({__name:"Timeline",props:{sports:{},user:{}},setup(e){const t=e,n=$e(),{sports:r,user:a}=_e(t),s=ce(1),o=t.user.nb_workouts>=gi?gi:t.user.nb_workouts;It(()=>l());const i=k(()=>n.getters[Te.GETTERS.TIMELINE_WORKOUTS]),u=k(()=>i.value.length>0?i.value[i.value.length-1].previous_workout!==null:!1);function l(){n.dispatch(Te.ACTIONS.GET_TIMELINE_WORKOUTS,{page:s.value,per_page:gi,...bo})}function c(){s.value+=1,n.dispatch(Te.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:s.value,per_page:gi,...bo})}return(f,d)=>(T(),N("div",Y3e,[p("div",q3e,_(f.$t("workouts.LATEST_WORKOUTS")),1),h(a).nb_workouts>0&&i.value.length===0?(T(),N("div",X3e,[(T(!0),N(Ie,null,xe([...Array(h(o)).keys()],m=>(T(),te(Eh,{user:h(a),useImperialUnits:h(a).imperial_units,key:m},null,8,["user","useImperialUnits"]))),128))])):(T(),N("div",Z3e,[(T(!0),N(Ie,null,xe(i.value,m=>(T(),te(Eh,{workout:m,sport:i.value.length>0?h(r).filter(E=>E.id===m.sport_id)[0]:null,user:h(a),useImperialUnits:h(a).imperial_units,key:m.id},null,8,["workout","sport","user","useImperialUnits"]))),128)),i.value.length===0?(T(),te(R0,{key:0})):F("",!0),u.value?(T(),N("div",Q3e,[p("button",{onClick:c},_(f.$t("workouts.LOAD_MORE_WORKOUT")),1)])):F("",!0)]))]))}}),eCe=ae(J3e,[["__scopeId","data-v-e0964959"]]),tCe=["title"],jA=Q({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:{},sportLabel:{},sportColor:{}},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:a,sportColor:s}=_e(t);return(o,i)=>{const u=ue("SportImage");return T(),N("div",{class:"calendar-workout",onClick:i[0]||(i[0]=l=>o.$router.push({name:"Workout",params:{workoutId:h(r).id}}))},[M(u,{"sport-label":h(a),title:h(r).title,color:h(s)},null,8,["sport-label","title","color"]),p("sup",null,[h(r).records.length>0?(T(),N("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:h(r).records.filter(l=>h(n)?!0:l.record_type!=="HA").map(l=>` ${o.$t(`workouts.RECORD_${l.record_type}`)}`)[0]},null,8,tCe)):F("",!0)])])}}}),nCe={class:"donut-chart"},rCe={height:"34",width:"34",viewBox:"0 0 34 34"},aCe=["stroke","stroke-dashoffset","transform"],hh=16,_h=16,Th=14,sCe=Q({__name:"DonutChart",props:{colors:{},datasets:{}},setup(e){const t=e,{colors:n,datasets:r}=_e(t);let a=-90;const s=2*Math.PI*Th;function o(u,l){return l-u*l}function i(u,l){const c=`rotate(${a}, ${hh}, ${_h})`;return a=l*360+a,c}return(u,l)=>(T(),N("div",nCe,[(T(),N("svg",rCe,[(T(!0),N(Ie,null,xe(Object.entries(h(r)),(c,f)=>(T(),N("g",{key:f},[p("circle",{cx:hh,cy:_h,r:Th,fill:"transparent",stroke:h(n)[+c[0]],"stroke-dashoffset":o(c[1].percentage,s),"stroke-dasharray":s,"stroke-width":"3","stroke-opacity":"0.8",transform:i(f,c[1].percentage)},null,8,aCe)]))),128))]))]))}}),oCe={class:"calendar-workouts-chart"},iCe={class:"workouts-count"},uCe={key:0,class:"workouts-pane"},cCe={class:"more-workouts"},lCe=Q({__name:"CalendarWorkoutsChart",props:{colors:{},datasets:{},sports:{},workouts:{},displayHARecord:{type:Boolean}},setup(e){const t=e,{colors:n,datasets:r,sports:a,workouts:s}=_e(t),o=ce(!0);function i(u){u.stopPropagation(),o.value=!o.value}return(u,l)=>{const c=GO("click-outside");return T(),N("div",oCe,[p("div",{class:"workouts-chart",onClick:i},[p("div",iCe,_(h(s).length),1),M(sCe,{datasets:h(r),colors:h(n)},null,8,["datasets","colors"])]),o.value?F("",!0):(T(),N("div",uCe,[Ke((T(),N("div",cCe,[p("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:i}),(T(!0),N(Ie,null,xe(h(s),(f,d)=>(T(),te(jA,{key:d,displayHARecord:u.displayHARecord,workout:f,sportLabel:h(_0)(f,h(a)),sportColor:h(T0)(f,h(a))},null,8,["displayHARecord","workout","sportLabel","sportColor"]))),128))])),[[c,i]])]))])}}}),gh=ae(lCe,[["__scopeId","data-v-bf05bb20"]]),dCe={class:"calendar-workouts"},fCe={class:"desktop-display"},pCe={key:0,class:"workouts-display"},mCe={key:1,class:"donut-display"},ECe={class:"mobile-display"},hCe={key:0,class:"donut-display"},Ah=6,_Ce=Q({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:{},sports:{}},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:a}=_e(t),s=k(()=>K3e(t.workouts)),o=k(()=>lAe(t.sports));return(i,u)=>(T(),N("div",dCe,[p("div",fCe,[h(r).length<=Ah?(T(),N("div",pCe,[(T(!0),N(Ie,null,xe(h(r).slice(0,Ah),(l,c)=>(T(),te(jA,{key:c,displayHARecord:h(n),workout:l,sportLabel:h(_0)(l,h(a)),sportColor:h(T0)(l,h(a))},null,8,["displayHARecord","workout","sportLabel","sportColor"]))),128))])):(T(),N("div",mCe,[M(gh,{workouts:h(r),sports:h(a),datasets:s.value,colors:o.value,displayHARecord:h(n)},null,8,["workouts","sports","datasets","colors","displayHARecord"])]))]),p("div",ECe,[h(r).length>0?(T(),N("div",hCe,[M(gh,{workouts:h(r),sports:h(a),datasets:s.value,colors:o.value,displayHARecord:h(n)},null,8,["workouts","sports","datasets","colors","displayHARecord"])])):F("",!0)])]))}}),TCe={class:"calendar-cells"},gCe={class:"calendar-cell-day"},ACe=Q({__name:"CalendarCells",props:{currentDay:{},displayHARecord:{type:Boolean},endDate:{},sports:{},startDate:{},timezone:{},weekStartingMonday:{type:Boolean},workouts:{}},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:a,sports:s,startDate:o,timezone:i,weekStartingMonday:u,workouts:l}=_e(t),c=ce([]);gt(()=>f());function f(){c.value=[];let E=o.value;for(;E<=a.value;){const g=[];for(let b=0;b<7;b++)g.push(E),E=$o(E,1);c.value.push(g)}}function d(E){return u.value?[5,6].includes(E):[0,6].includes(E)}function m(E,g){return g?g.filter(b=>oT(yc(b.workout_date,i.value),E)).reverse():[]}return Fe(()=>t.currentDay,()=>f()),(E,g)=>(T(),N("div",TCe,[(T(!0),N(Ie,null,xe(c.value,(b,v)=>(T(),N("div",{class:"calendar-row",key:v},[(T(!0),N(Ie,null,xe(b,(R,A)=>(T(),N("div",{class:ge(["calendar-cell",{"disabled-cell":!h(x3)(R,h(n)),"week-end":d(A),today:h(F3)(R)}]),key:A},[M(_Ce,{workouts:m(R,h(l)),sports:h(s),displayHARecord:h(r)},null,8,["workouts","sports","displayHARecord"]),p("div",gCe,_(h(ln)(R,"d")),1)],2))),128))]))),128))]))}}),SCe={class:"calendar-days"},OCe=Q({__name:"CalendarDays",props:{startDate:{},localeOptions:{}},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push($o(t.startDate,r));return(r,a)=>(T(),N("div",SCe,[(T(),N(Ie,null,xe(n,(s,o)=>p("div",{class:"calendar-day",key:o},_(h(ln)(s,"EEE",{locale:r.localeOptions})),1)),64))]))}}),ICe={class:"calendar-header"},vCe=p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),RCe=[vCe],bCe={class:"calendar-month"},NCe=p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),CCe=[NCe],yCe=Q({__name:"CalendarHeader",props:{day:{},localeOptions:{}},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,r=t,{day:a,localeOptions:s}=_e(n);return(o,i)=>(T(),N("div",ICe,[p("div",{class:"calendar-arrow calendar-arrow-left",onClick:i[0]||(i[0]=u=>r("displayPreviousMonth"))},RCe),p("div",bCe,[p("span",null,_(h(ln)(h(a),"MMM yyyy",{locale:h(s)})),1)]),p("div",{class:"calendar-arrow calendar-arrow-right",onClick:i[1]||(i[1]=u=>r("displayNextMonth"))},CCe)]))}}),DCe={id:"user-calendar"},PCe={class:"calendar-card box"},Sh="yyyy-MM-dd",wCe=Q({__name:"index",props:{sports:{},user:{}},setup(e){const t=e,n=$e(),{sports:r,user:a}=_e(t),s=ce(new Date),o=ce(eh(s.value,a.value.weekm)),i=k(()=>n.getters[Te.GETTERS.CALENDAR_WORKOUTS]),u=k(()=>n.getters[H.GETTERS.LOCALE]);It(()=>l());function l(){o.value=eh(s.value,t.user.weekm);const d={from:ln(o.value.start,Sh),to:ln(o.value.end,Sh),page:1,per_page:100,...bo};n.dispatch(Te.ACTIONS.GET_CALENDAR_WORKOUTS,d)}function c(){s.value=Za(s.value,1),l()}function f(){s.value=uo(s.value,1),l()}return(d,m)=>(T(),N("div",DCe,[p("div",PCe,[M(yCe,{day:s.value,"locale-options":u.value,onDisplayNextMonth:c,onDisplayPreviousMonth:f},null,8,["day","locale-options"]),M(OCe,{"start-date":o.value.start,"locale-options":u.value},null,8,["start-date","locale-options"]),M(ACe,{currentDay:s.value,displayHARecord:h(a).display_ascent,"end-date":o.value.end,sports:h(r),"start-date":o.value.start,timezone:h(a).timezone,workouts:i.value,weekStartingMonday:h(a).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}}),VA={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},LCe={ariaLabel:{type:String},ariaDescribedby:{type:String}},$Ce={type:{type:String,required:!0},...VA,...LCe},kCe=M_[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function wa(e){return Vu(e)?Je(e):e}function UCe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Vu(t)?new Proxy(e,{}):e}function MCe(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function KA(e,t){e.labels=t}function YA(e,t,n){const r=[];e.datasets=t.map(a=>{const s=e.datasets.find(o=>o[n]===a[n]);return!s||!a.data||r.includes(s)?{...a}:(r.push(s),Object.assign(s,a),s)})}function xCe(e,t){const n={labels:[],datasets:[]};return KA(n,e.labels),YA(n,e.datasets,t),n}const FCe=Q({props:$Ce,setup(e,t){let{expose:n,slots:r}=t;const a=ce(null),s=Ku(null);n({chart:s});const o=()=>{if(!a.value)return;const{type:l,data:c,options:f,plugins:d,datasetIdKey:m}=e,E=xCe(c,m),g=UCe(E,c);s.value=new Yd(a.value,{type:l,data:g,options:{...f},plugins:d})},i=()=>{const l=Je(s.value);l&&(l.destroy(),s.value=null)},u=l=>{l.update(e.updateMode)};return gt(o),Co(i),Fe([()=>e.options,()=>e.data],(l,c)=>{let[f,d]=l,[m,E]=c;const g=Je(s.value);if(!g)return;let b=!1;if(f){const v=wa(f),R=wa(m);v&&v!==R&&(MCe(g,v),b=!0)}if(d){const v=wa(d.labels),R=wa(E.labels),A=wa(d.datasets),S=wa(E.datasets);v!==R&&(KA(g.config.data,v),b=!0),A&&A!==S&&(YA(g.config.data,A,e.datasetIdKey),b=!0)}b&&gn(()=>{u(g)})},{deep:!0}),()=>An("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:a},[An("p",{},[r.default?r.default():""])])}});function qA(e,t){return Yd.register(t),Q({props:VA,setup(n,r){let{expose:a}=r;const s=Ku(null),o=i=>{s.value=i==null?void 0:i.chart};return a({chart:s}),()=>An(FCe,kCe({ref:o},{type:e,...n}))}})}const WCe=qA("bar",Mh),GCe=qA("line",xh),zCe=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),s=String(e%60).padStart(2,"0");return t?`${n==="0"?"":`${n}d `}${r==="00"?"":`${r}h `}${a}m ${s}s`:`${r==="00"?"":`${r}:`}${a}:${s}`},Us=(e,t,n,r=!0,a="km")=>{const s=n?$n[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return zCe(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${s}`;default:return t.toString()}},BCe=Q({__name:"Chart",props:{datasets:{},labels:{},displayedData:{},displayedSportIds:{},fullStats:{type:Boolean},useImperialUnits:{type:Boolean}},setup(e){const t=e,{datasets:n,labels:r,displayedData:a,displayedSportIds:s,fullStats:o,useImperialUnits:i}=_e(t),u=yf(),{t:l}=jt(),c=k(()=>u.getters[H.GETTERS.DARK_MODE]),f=k(()=>Cf(c.value)),d=k(()=>({color:f.value?Gr.darkMode.line:Gr.ligthMode.line})),m=k(()=>({color:f.value?Gr.darkMode.text:Gr.ligthMode.text})),E=k(()=>({labels:r.value,datasets:JSON.parse(JSON.stringify(n.value))})),g=k(()=>({responsive:!0,maintainAspectRatio:!1,animation:!1,layout:{padding:{top:o.value?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1,...d.value},border:{...d.value},ticks:{...m.value}},y:{stacked:a.value!=="average_speed",grid:{drawOnChartArea:!1,...d.value},border:{...d.value},ticks:{maxTicksLimit:6,callback:function(A){return Us(a.value,+A,i.value,!1,R(a.value))},...m.value},afterFit:function(A){A.width=o.value?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(A){return a.value==="average_speed"&&A.dataset.backgroundColor?A.dataset.backgroundColor[0]:m.value.color},rotation:function(A){return o.value&&A.chart.chartArea.width<580?310:0},display:function(A){return o.value&&A.chart.chartArea.width<300?!1:a.value==="average_speed"?s.value.length==1?"auto":!1:!0},formatter:function(A,S){if(a.value==="average_speed")return Us(a.value,A,i.value,!1);{const C=S.chart.data.datasets.map(L=>L.data[S.dataIndex]).reduce((L,$)=>v(L,$),0);return S.datasetIndex===s.value.length-1&&C>0?Us(a.value,C,i.value,!1,R(a.value)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:a.value==="average_speed"?"nearest":"average"},filter:function(A){return A.formattedValue!=="0"},callbacks:{label:function(A){let S=l(`sports.${A.dataset.label}.LABEL`)||"";return S&&(S+=": "),A.parsed.y!==null&&(S+=Us(a.value,A.parsed.y,i.value,!0,R(a.value))),S},footer:function(A){if(a.value==="average_speed")return"";let S=0;return A.map(C=>{S+=C.parsed.y}),`${l("common.TOTAL")}: `+Us(a.value,S,i.value,!0,R(a.value))}}}}}));function b(A){return isNaN(A)?0:+A}function v(A,S){return b(A)+b(S)}function R(A){return["total_ascent","total_descent"].includes(A)?"m":"km"}return(A,S)=>(T(),N("div",{class:ge(["bar-chart",{minimal:!h(o)}])},[M(h(WCe),{data:E.value,options:g.value},null,8,["data","options"])],2))}}),HCe=ae(BCe,[["__scopeId","data-v-d506f845"]]),{locale:Oh}=ga.global,jCe={week:{api:"yyyy-MM-dd",chart:"MM/dd/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},VCe=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],KCe=(e,t)=>{const n=[];for(let r=vSe(e.duration,e.start,t);r<=e.end;r=RSe(e.duration,r))n.push(r);return n},La=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n?(r.type="line",r.borderColor=[t],r.spanGaps=!0):r.type="bar",r},YCe=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map(n=>{const r=n.color?n.color:h0[n.label];t.average_speed.push(La(n.label,r,!0)),t.nb_workouts.push(La(n.label,r)),t.total_distance.push(La(n.label,r)),t.total_duration.push(La(n.label,r)),t.total_ascent.push(La(n.label,r)),t.total_descent.push(La(n.label,r))}),t},qCe=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return wi(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},XCe=(e,t,n,r,a,s,o)=>{const i=KCe(e,t),u=jCe[e.duration],l=n.filter(m=>r.includes(m.id)),c=[],f=YCe(l),d={};return l.map(m=>d[m.label]=m.id),i.map(m=>{const E=ln(m,u.api),g=ln(m,e.duration==="week"?Sa(o,Oh.value):u.chart,{locale:Mo[Oh.value]});c.push(g),VCe.map(b=>{f[b].map(v=>{v.data.push(E in a&&d[v.label]in a[E]?qCe(b,a[E][d[v.label]][b],s):b==="average_speed"?null:0)})})}),{labels:c,datasets:f}},ZCe=(e,t,n)=>{const r=n?1:0,a=t==="year"?Lf(Kl(e,9)):t==="week"?lc(uo(e,2),{weekStartsOn:r}):Uo(uo(e,11)),s=t==="year"?iT(e):t==="week"?$f(e,{weekStartsOn:r}):ko(e);return{duration:t,end:s,start:a}},QCe=(e,t,n)=>{const{duration:r,start:a,end:s}=e,o=n?1:0;return{duration:r,end:r==="year"?iT(t?Kl(s,1):Qi(s,1)):r==="week"?$f(t?nm(s,1):Vl(s,1),{weekStartsOn:o}):ko(t?uo(s,1):Za(s,1)),start:r==="year"?Lf(t?Kl(a,1):Qi(a,1)):r==="week"?lc(t?nm(a,1):Vl(a,1),{weekStartsOn:o}):Uo(t?uo(a,1):Za(a,1))}},JCe={class:"stats-chart"},eye={key:0},tye={key:1},nye={class:"chart-radio"},rye=["checked","disabled"],aye=["checked","disabled"],sye=["checked","disabled"],oye={key:0},iye=["checked","disabled"],uye={key:1},cye=["checked","disabled"],lye={key:2},dye=["checked","disabled"],fye=Q({__name:"index",props:{sports:{},user:{},chartParams:{},displayedSportIds:{default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},setup(e){const t=e,{sports:n,user:r,chartParams:a,displayedSportIds:s,fullStats:o,hideChartIfNoData:i,isDisabled:u}=_e(t),l=$e(),c=ce("total_distance"),f=k(()=>l.getters[Kr.GETTERS.USER_STATS]),d=k(()=>XCe(a.value,r.value.weekm,n.value,s.value,f.value,r.value.imperial_units,r.value.date_format)),m=k(()=>d.value.datasets[c.value]),E=k(()=>d.value.labels),g=k(()=>Object.keys(f.value).length===0);It(()=>b(R(a.value,r.value)));function b(A){l.dispatch(Kr.ACTIONS.GET_USER_STATS,{username:r.value.username,filterType:"by_time",params:A})}function v(A){c.value=A.target.name}function R(A,S){return{from:ln(A.start,"yyyy-MM-dd"),to:ln(A.end,"yyyy-MM-dd"),time:A.duration==="week"?`week${S.weekm?"m":""}`:A.duration}}return Fe(()=>a.value,async A=>{b(R(A,r.value))}),(A,S)=>(T(),N("div",JCe,[h(i)&&g.value?(T(),N("div",eye,_(A.$t("workouts.NO_WORKOUTS")),1)):(T(),N("div",tye,[p("div",nye,[p("label",null,[p("input",{type:"radio",name:"total_distance",checked:c.value==="total_distance",disabled:h(u),onClick:v},null,8,rye),K(" "+_(A.$t("workouts.DISTANCE")),1)]),p("label",null,[p("input",{type:"radio",name:"total_duration",checked:c.value==="total_duration",disabled:h(u),onClick:v},null,8,aye),K(" "+_(A.$t("workouts.DURATION")),1)]),p("label",null,[p("input",{type:"radio",name:"nb_workouts",checked:c.value==="nb_workouts",disabled:h(u),onClick:v},null,8,sye),K(" "+_(A.$t("workouts.WORKOUT",2)),1)]),h(o)?(T(),N("label",oye,[p("input",{type:"radio",name:"average_speed",checked:c.value==="average_speed",disabled:h(u),onClick:v},null,8,iye),K(" "+_(A.$t("workouts.AVERAGE_SPEED")),1)])):F("",!0),h(o)?(T(),N("label",uye,[p("input",{type:"radio",name:"total_ascent",checked:c.value==="total_ascent",disabled:h(u),onClick:v},null,8,cye),K(" "+_(A.$t("workouts.ASCENT")),1)])):F("",!0),h(o)?(T(),N("label",lye,[p("input",{type:"radio",name:"total_descent",checked:c.value==="total_descent",disabled:h(u),onClick:v},null,8,dye),K(" "+_(A.$t("workouts.DESCENT")),1)])):F("",!0)]),E.value.length>0?(T(),te(HCe,{key:0,datasets:m.value,labels:E.value,displayedData:c.value,displayedSportIds:h(s),fullStats:h(o),useImperialUnits:h(r).imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):F("",!0)]))]))}}),XA=ae(fye,[["__scopeId","data-v-b8d7f5c9"]]),pye={class:"user-month-stats"},mye=Q({__name:"UserMonthStats",props:{sports:{},user:{}},setup(e){const t=e,{sports:n,user:r}=_e(t),a=new Date,s={duration:"week",start:Uo(a),end:ko(a)},o=n.value.map(i=>i.id);return(i,u)=>{const l=ue("Card");return T(),N("div",pye,[M(l,null,{title:fe(()=>[K(_(i.$t("dashboard.THIS_MONTH")),1)]),content:fe(()=>[M(XA,{sports:h(n),user:h(r),"chart-params":s,"displayed-sport-ids":h(o),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])]),_:1})])}}}),Eye=ae(mye,[["__scopeId","data-v-8f59a282"]]),{locale:hye}=ga.global,_ye=(e,t,n,r)=>{const a="km",s=n?$n[a].defaultTarget:a,o="m",i=n?$n[o].defaultTarget:o;let u;switch(e.record_type){case"AS":case"MS":u=`${sn(+e.value,a,s,2)} ${s}/h`;break;case"FD":u=`${sn(+e.value,a,s,3)} ${s}`;break;case"HA":u=`${sn(+e.value,o,i,2)} ${i}`;break;case"LD":u=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{id:e.id,record_type:e.record_type,sport_id:e.sport_id,value:u,user:e.user,workout_date:xn(e.workout_date,t,r,!1),workout_id:e.workout_id}},Tye=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:n(s=Sa(s,hye.value),e.filter(o=>a?!0:o.record_type!=="HA").reduce((o,i)=>{const u=t.find(l=>l.id===i.sport_id);return u&&u.label&&(o[u.translatedLabel]===void 0&&(o[u.translatedLabel]={label:u.label,color:u.color,records:[]}),o[u.translatedLabel].records.push(_ye(i,n,r,s))),o},{})),Aye={class:"records-card"},Sye={class:"record-type"},Oye={class:"record-value"},Iye={class:"record-date"},vye=Q({__name:"RecordsCard",props:{records:{},sportTranslatedLabel:{}},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=_e(t),{t:a}=jt();function s(o){const i=[];return o.map(u=>{i.push({...u,label:a(`workouts.RECORD_${u.record_type}`)})}),i.sort(Tye)}return(o,i)=>{const u=ue("SportImage"),l=ue("router-link"),c=ue("Card");return T(),N("div",Aye,[M(c,null,{title:fe(()=>[M(u,{"sport-label":h(n).label,color:h(n).color},null,8,["sport-label","color"]),K(" "+_(h(r)),1)]),content:fe(()=>[(T(!0),N(Ie,null,xe(s(h(n).records),f=>(T(),N("div",{class:"record",key:f.id},[p("span",Sye,_(f.label),1),p("span",Oye,_(f.value),1),p("span",Iye,[M(l,{to:{name:"Workout",params:{workoutId:f.workout_id}}},{default:fe(()=>[p("time",null,_(f.workout_date),1)]),_:2},1032,["to"])])]))),128))]),_:1})])}}}),Rye=ae(vye,[["__scopeId","data-v-64523a87"]]),bye=e=>(ut("data-v-fff33919"),e=e(),ct(),e),Nye={class:"user-records-section"},Cye={class:"section-title"},yye=bye(()=>p("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1)),Dye={class:"user-records"},Pye={key:0,class:"no-records"},wye=Q({__name:"index",props:{sports:{},user:{}},setup(e){const t=e,{t:n}=jt(),r=k(()=>gye(t.user.records,Jr(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent,t.user.date_format));return(a,s)=>(T(),N("div",Nye,[p("div",Cye,[yye,K(" "+_(a.$t("workouts.RECORD",2)),1)]),p("div",Dye,[Object.keys(r.value).length===0?(T(),N("div",Pye,_(a.$t("workouts.NO_RECORDS")),1)):F("",!0),(T(!0),N(Ie,null,xe(Object.keys(r.value).sort(),o=>(T(),te(Rye,{sportTranslatedLabel:o,records:r.value[o],key:o,useImperialUnits:a.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"]))),128))])]))}}),Lye=ae(wye,[["__scopeId","data-v-fff33919"]]),$ye={id:"user-stats"},gl="km",Al="m",kye=Q({__name:"index",props:{user:{}},setup(e){const t=e,{t:n}=jt(),{user:r}=_e(t),a=k(()=>t.user.total_duration),s=k(()=>c(a)),o=r.value.imperial_units?$n[gl].defaultTarget:gl,i=k(()=>r.value.imperial_units?sn(r.value.total_distance,gl,o,2):parseFloat(r.value.total_distance.toFixed(2))),u=r.value.imperial_units?$n[Al].defaultTarget:Al,l=k(()=>r.value.imperial_units?sn(r.value.total_ascent,Al,u,2):parseFloat(r.value.total_ascent.toFixed(2)));function c(f){const d=f.value.match(/day/g)?f.value.split(", ")[1]:f.value;return{days:f.value.match(/day/g)?`${f.value.split(" ")[0]} ${f.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${d.split(":")[0]}h ${d.split(":")[1]}min`}}return(f,d)=>(T(),N("div",$ye,[M(pr,{icon:"calendar",value:h(r).nb_workouts,text:f.$t("workouts.WORKOUT",h(r).nb_workouts)},null,8,["value","text"]),M(pr,{icon:"road",value:i.value,text:h(o)==="mi"?"miles":h(o)},null,8,["value","text"]),h(r).display_ascent?(T(),te(pr,{key:0,icon:"location-arrow",value:l.value,text:h(u)==="ft"?"feet":h(u)},null,8,["value","text"])):F("",!0),M(pr,{icon:"clock-o",value:s.value.days,text:s.value.duration},null,8,["value","text"]),h(r).display_ascent?F("",!0):(T(),te(pr,{key:1,icon:"tags",value:h(r).nb_sports,text:f.$t("workouts.SPORT",h(r).nb_sports)},null,8,["value","text"]))]))}}),Uye={},Mye={class:"privacy-policy-message"};function xye(e,t){const n=ue("router-link"),r=ue("i18n-t");return T(),N("div",Mye,[p("span",null,[M(r,{keypath:"user.LAST_PRIVACY_POLICY_TO_VALIDATE"},{default:fe(()=>[M(n,{to:"/profile/edit/privacy-policy",class:"policy-link"},{default:fe(()=>[K(_(e.$t("user.REVIEW")),1)]),_:1})]),_:1})])])}const Fye=ae(Uye,[["render",xye],["__scopeId","data-v-1b250692"]]),Ho=e=>(ut("data-v-8f5da609"),e=e(),ct(),e),Wye={key:0,id:"dashboard",class:"view"},Gye={class:"container mobile-menu"},zye={class:"box"},Bye=Ho(()=>p("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1)),Hye=[Bye],jye=Ho(()=>p("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1)),Vye=[jye],Kye=Ho(()=>p("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1)),Yye=[Kye],qye=Ho(()=>p("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1)),Xye=[qye],Zye={key:0,class:"container privacy-policy-message"},Qye={class:"container"},Jye={class:"container dashboard-container"},e4e={class:"left-container dashboard-sub-container"},t4e={class:"right-container dashboard-sub-container"},n4e=Ho(()=>p("div",{id:"bottom"},null,-1)),r4e={key:1,class:"app-loading"},a4e=Q({__name:"Dashboard",setup(e){const t=$e(),n=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),r=k(()=>t.getters[$t.GETTERS.SPORTS]),a=ce("calendar");It(()=>t.dispatch(Y.ACTIONS.GET_USER_PROFILE));function s(o){a.value=o}return(o,i)=>{const u=ue("Loader");return n.value.username&&r.value.length>0?(T(),N("div",Wye,[p("div",Gye,[p("div",zye,[p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="calendar"}]),onClick:i[0]||(i[0]=l=>s("calendar"))},Hye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="chart"}]),onClick:i[1]||(i[1]=l=>s("chart"))},Vye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="timeline"}]),onClick:i[2]||(i[2]=l=>s("timeline"))},Yye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="records"}]),onClick:i[3]||(i[3]=l=>s("records"))},Xye,2)])]),n.value.accepted_privacy_policy?F("",!0):(T(),N("div",Zye,[M(Fye)])),p("div",Qye,[M(kye,{user:n.value},null,8,["user"])]),p("div",Jye,[p("div",e4e,[M(Eye,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="chart"})},null,8,["sports","user","class"]),M(Lye,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="records"})},null,8,["sports","user","class"])]),p("div",t4e,[M(wCe,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="calendar"})},null,8,["sports","user","class"]),M(eCe,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="timeline"})},null,8,["sports","user","class"])])]),n4e])):(T(),N("div",r4e,[M(u)]))}}}),s4e=ae(a4e,[["__scopeId","data-v-8f5da609"]]),o4e={class:"not-found view"},i4e=Q({__name:"NotFoundView",setup(e){return(t,n)=>(T(),N("div",o4e,[M(I0)]))}}),u4e={id:"privacy-policy",class:"view"},c4e={class:"container"},l4e=p("div",{id:"bottom"},null,-1),d4e=Q({__name:"PrivacyPolicyView",setup(e){const t=$e();return It(()=>{t.dispatch(H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY)}),(n,r)=>(T(),N("div",u4e,[p("div",c4e,[M(GA)]),l4e]))}}),ZA=e=>(ut("data-v-174c91c4"),e=e(),ct(),e),f4e={class:"chart-menu"},p4e=["disabled"],m4e=ZA(()=>p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)),E4e=[m4e],h4e={class:"time-frames custom-checkboxes-group"},_4e={class:"time-frames-checkboxes custom-checkboxes"},T4e=["id","name","checked","onInput","disabled"],g4e=["id","tabindex","onKeydown"],A4e=["disabled"],S4e=ZA(()=>p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)),O4e=[S4e],I4e=Q({__name:"StatsMenu",props:{isDisabled:{type:Boolean}},emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:t}){const n=e,{isDisabled:r}=_e(n),a=t,s=ce("month"),o=["week","month","year"];function i(u){s.value=u,a("timeFrameUpdate",u)}return gt(()=>{if(!r.value){const u=document.getElementById("frame-month");u&&u.focus()}}),(u,l)=>(T(),N("div",f4e,[p("button",{class:"chart-arrow transparent",onClick:l[0]||(l[0]=c=>a("arrowClick",!0)),onKeydown:l[1]||(l[1]=At(c=>a("arrowClick",!0),["enter"])),disabled:h(r)},E4e,40,p4e),p("div",h4e,[p("div",_4e,[(T(),N(Ie,null,xe(o,c=>p("div",{class:"time-frame custom-checkbox",key:c},[p("label",null,[p("input",{type:"radio",id:c,name:c,checked:s.value===c,onInput:f=>i(c),disabled:h(r)},null,40,T4e),p("span",{id:`frame-${c}`,tabindex:h(r)?-1:0,role:"button",onKeydown:At(f=>i(c),["enter"])},_(u.$t(`statistics.TIME_FRAMES.${c}`)),41,g4e)])])),64))])]),p("button",{class:"chart-arrow transparent",onClick:l[2]||(l[2]=c=>a("arrowClick",!1)),onKeydown:l[3]||(l[3]=At(c=>a("arrowClick",!1),["enter"])),disabled:h(r)},O4e,40,A4e)]))}}),v4e=ae(I4e,[["__scopeId","data-v-174c91c4"]]),R4e={class:"sports-menu"},b4e=["id","name","checked","onInput"],N4e={class:"sport-label"},C4e=Q({__name:"StatsSportsMenu",props:{userSports:{},selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:t}){const n=e,r=t,{t:a}=jt(),s=ht("sportColors"),{selectedSportIds:o}=_e(n),i=k(()=>Jr(n.userSports,a));function u(l){r("selectedSportIdsUpdate",l)}return(l,c)=>{const f=ue("SportImage");return T(),N("div",R4e,[(T(!0),N(Ie,null,xe(i.value,d=>(T(),N("label",{type:"checkbox",key:d.id,style:Yr({color:d.color?d.color:h(s)[d.label]})},[p("input",{type:"checkbox",id:`${d.id}`,name:d.label,checked:h(o).includes(d.id),onInput:m=>u(d.id)},null,40,b4e),M(f,{"sport-label":d.label,color:d.color},null,8,["sport-label","color"]),p("span",N4e,_(d.translatedLabel),1)],4))),128))])}}}),y4e={key:0,id:"user-statistics"},D4e=Q({__name:"index",props:{sports:{},user:{},isDisabled:{type:Boolean}},setup(e){const t=e,{t:n}=jt(),{sports:r,user:a}=_e(t),s=ce("month"),o=ce(c(s.value)),i=k(()=>Jr(t.sports,n)),u=ce(d(r.value));function l(E){s.value=E,o.value=c(s.value)}function c(E){return ZCe(new Date,E,t.user.weekm)}function f(E){o.value=QCe(o.value,E,t.user.weekm)}function d(E){return E.map(g=>g.id)}function m(E){u.value.includes(E)?u.value=u.value.filter(g=>g!==E):u.value.push(E)}return Fe(()=>t.sports,E=>{u.value=d(E)}),(E,g)=>i.value?(T(),N("div",y4e,[M(v4e,{onTimeFrameUpdate:l,onArrowClick:f,isDisabled:E.isDisabled},null,8,["isDisabled"]),M(XA,{sports:h(r),user:h(a),chartParams:o.value,"displayed-sport-ids":u.value,fullStats:!0,isDisabled:E.isDisabled},null,8,["sports","user","chartParams","displayed-sport-ids","isDisabled"]),M(C4e,{"selected-sport-ids":u.value,"user-sports":h(r),onSelectedSportIdsUpdate:m},null,8,["selected-sport-ids","user-sports"])])):F("",!0)}}),P4e=ae(D4e,[["__scopeId","data-v-b145e4ac"]]),w4e={id:"statistics",class:"view"},L4e={key:0,class:"container"},$4e=Q({__name:"StatisticsView",setup(e){const t=$e(),n=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),r=k(()=>t.getters[$t.GETTERS.SPORTS].filter(s=>n.value.sports_list.includes(s.id))),a=k(()=>n.value.nb_workouts===0);return(s,o)=>{const i=ue("Card");return T(),N("div",w4e,[n.value.username?(T(),N("div",L4e,[M(i,null,{title:fe(()=>[K(_(s.$t("statistics.STATISTICS")),1)]),content:fe(()=>[M(P4e,{class:ge({"stats-disabled":a.value}),user:n.value,sports:r.value,isDisabled:a.value},null,8,["class","user","sports","isDisabled"])]),_:1}),n.value.nb_workouts===0?(T(),te(R0,{key:0})):F("",!0)])):F("",!0)])}}}),k4e=ae($4e,[["__scopeId","data-v-0aa997fa"]]),U4e={name:"EmailSent"},M4e={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 345.834 345.834",style:{"enable-background":"new 0 0 345.834 345.834"},"xml:space":"preserve"},x4e=p("g",null,[p("path",{d:`M339.798,260.429c0.13-0.026,0.257-0.061,0.385-0.094c0.109-0.028,0.219-0.051,0.326-0.084 +`)});const i=t.nonTextTags||["script","style","textarea","option"];let u,l;t.allowedAttributes&&(u={},l={},Ws(t.allowedAttributes,function(P,z){u[z]=[];const V=[];P.forEach(function(se){typeof se=="string"&&se.indexOf("*")>=0?V.push(GE(se).replace(/\\\*/g,".*")):u[z].push(se)}),V.length&&(l[z]=new RegExp("^("+V.join("|")+")$"))}));const c={},f={},d={};Ws(t.allowedClasses,function(P,z){if(u&&(cr(u,z)||(u[z]=[]),u[z].push("class")),c[z]=P,Array.isArray(P)){const V=[];c[z]=[],d[z]=[],P.forEach(function(se){typeof se=="string"&&se.indexOf("*")>=0?V.push(GE(se).replace(/\\\*/g,".*")):se instanceof RegExp?d[z].push(se):c[z].push(se)}),V.length&&(f[z]=new RegExp("^("+V.join("|")+")$"))}});const m={};let E;Ws(t.transformTags,function(P,z){let V;typeof P=="function"?V=P:typeof P=="string"&&(V=Io.simpleTransform(P)),z==="*"?E=V:m[z]=V});let g,b,v,R,A,S,C=!1;$();const L=new cge.Parser({onopentag:function(P,z){if(t.enforceHtmlBoundary&&P==="html"&&$(),A){S++;return}const V=new s(P,z);b.push(V);let se=!1;const Pe=!!V.text;let We;if(cr(m,P)&&(We=m[P](P,z),V.attribs=z=We.attribs,We.text!==void 0&&(V.innerText=We.text),P!==We.tagName&&(V.name=P=We.tagName,R[g]=We.tagName)),E&&(We=E(P,z),V.attribs=z=We.attribs,P!==We.tagName&&(V.name=P=We.tagName,R[g]=We.tagName)),(!o(P)||t.disallowedTagsMode==="recursiveEscape"&&!Ege(v)||t.nestingLimit!=null&&g>=t.nestingLimit)&&(se=!0,v[g]=!0,t.disallowedTagsMode==="discard"&&i.indexOf(P)!==-1&&(A=!0,S=1),v[g]=!0),g++,se){if(t.disallowedTagsMode==="discard")return;a=r,r=""}r+="<"+P,P==="script"&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(V.innerText=""),(!u||cr(u,P)||u["*"])&&Ws(z,function(Ae,ye){if(!Tge.test(ye)){delete V.attribs[ye];return}if(Ae===""&&(t.nonBooleanAttributes.includes(ye)||t.nonBooleanAttributes.includes("*"))){delete V.attribs[ye];return}let Wt=!1;if(!u||cr(u,P)&&u[P].indexOf(ye)!==-1||u["*"]&&u["*"].indexOf(ye)!==-1||cr(l,P)&&l[P].test(ye)||l["*"]&&l["*"].test(ye))Wt=!0;else if(u&&u[P]){for(const ke of u[P])if(lge(ke)&&ke.name&&ke.name===ye){Wt=!0;let ze="";if(ke.multiple===!0){const rt=Ae.split(" ");for(const X of rt)ke.values.indexOf(X)!==-1&&(ze===""?ze=X:ze+=" "+X)}else ke.values.indexOf(Ae)>=0&&(ze=Ae);Ae=ze}}if(Wt){if(t.allowedSchemesAppliedToAttributes.indexOf(ye)!==-1&&G(P,Ae)){delete V.attribs[ye];return}if(P==="script"&&ye==="src"){let ke=!0;try{const ze=B(Ae);if(t.allowedScriptHostnames||t.allowedScriptDomains){const rt=(t.allowedScriptHostnames||[]).find(function(pe){return pe===ze.url.hostname}),X=(t.allowedScriptDomains||[]).find(function(pe){return ze.url.hostname===pe||ze.url.hostname.endsWith(`.${pe}`)});ke=rt||X}}catch{ke=!1}if(!ke){delete V.attribs[ye];return}}if(P==="iframe"&&ye==="src"){let ke=!0;try{const ze=B(Ae);if(ze.isRelativeUrl)ke=cr(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const rt=(t.allowedIframeHostnames||[]).find(function(pe){return pe===ze.url.hostname}),X=(t.allowedIframeDomains||[]).find(function(pe){return ze.url.hostname===pe||ze.url.hostname.endsWith(`.${pe}`)});ke=rt||X}}catch{ke=!1}if(!ke){delete V.attribs[ye];return}}if(ye==="srcset")try{let ke=dge(Ae);if(ke.forEach(function(ze){G("srcset",ze.url)&&(ze.evil=!0)}),ke=BE(ke,function(ze){return!ze.evil}),ke.length)Ae=hge(BE(ke,function(ze){return!ze.evil})),V.attribs[ye]=Ae;else{delete V.attribs[ye];return}}catch{delete V.attribs[ye];return}if(ye==="class"){const ke=c[P],ze=c["*"],rt=f[P],X=d[P],pe=f["*"],le=[rt,pe].concat(X).filter(function(Se){return Se});if(ke&&ze?Ae=re(Ae,zE(ke,ze),le):Ae=re(Ae,ke||ze,le),!Ae.length){delete V.attribs[ye];return}}if(ye==="style"){if(t.parseStyleAttributes)try{const ke=fge(P+" {"+Ae+"}"),ze=w(ke,t.allowedStyles);if(Ae=Z(ze),Ae.length===0){delete V.attribs[ye];return}}catch{typeof window<"u"&&console.warn('Failed to parse "'+P+" {"+Ae+`}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`),delete V.attribs[ye];return}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.")}r+=" "+ye,Ae&&Ae.length&&(r+='="'+U(Ae,!0)+'"')}else delete V.attribs[ye]}),t.selfClosing.indexOf(P)!==-1?r+=" />":(r+=">",V.innerText&&!Pe&&!t.textFilter&&(r+=U(V.innerText),C=!0)),se&&(r=a+U(r),a="")},ontext:function(P){if(A)return;const z=b[b.length-1];let V;if(z&&(V=z.tag,P=z.innerText!==void 0?z.innerText:P),t.disallowedTagsMode==="discard"&&(V==="script"||V==="style"))r+=P;else{const se=U(P,!1);t.textFilter&&!C?r+=t.textFilter(se,V):C||(r+=se)}if(b.length){const se=b[b.length-1];se.text+=P}},onclosetag:function(P,z){if(A)if(S--,!S)A=!1;else return;const V=b.pop();if(!V)return;if(V.tag!==P){b.push(V);return}A=t.enforceHtmlBoundary?P==="html":!1,g--;const se=v[g];if(se){if(delete v[g],t.disallowedTagsMode==="discard"){V.updateParentNodeText();return}a=r,r=""}if(R[g]&&(P=R[g],delete R[g]),t.exclusiveFilter&&t.exclusiveFilter(V)){r=r.substr(0,V.tagPosition);return}if(V.updateParentNodeMediaChildren(),V.updateParentNodeText(),t.selfClosing.indexOf(P)!==-1||z&&!o(P)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0){se&&(r=a,a="");return}r+="",se&&(r=a+U(r),a=""),C=!1}},t.parser);return L.write(e),L.end(),r;function $(){r="",g=0,b=[],v={},R={},A=!1,S=0}function U(P,z){return typeof P!="string"&&(P=P+""),t.parser.decodeEntities&&(P=P.replace(/&/g,"&").replace(//g,">"),z&&(P=P.replace(/"/g,"""))),P=P.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),z&&(P=P.replace(/"/g,""")),P}function G(P,z){for(z=z.replace(/[\x00-\x20]+/g,"");;){const Pe=z.indexOf("",Pe+4);if(We===-1)break;z=z.substring(0,Pe)+z.substring(We+3)}const V=z.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!V)return z.match(/^[/\\]{2}/)?!t.allowProtocolRelative:!1;const se=V[1].toLowerCase();return cr(t.allowedSchemesByTag,P)?t.allowedSchemesByTag[P].indexOf(se)===-1:!t.allowedSchemes||t.allowedSchemes.indexOf(se)===-1}function B(P){if(P=P.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//"),P.startsWith("relative:"))throw new Error("relative: exploit attempt");let z="relative://relative-site";for(let Pe=0;Pe<100;Pe++)z+=`/${Pe}`;const V=new URL(P,z);return{isRelativeUrl:V&&V.hostname==="relative-site"&&V.protocol==="relative:",url:V}}function w(P,z){if(!z)return P;const V=P.nodes[0];let se;return z[V.selector]&&z["*"]?se=zE(z[V.selector],z["*"]):se=z[V.selector]||z["*"],se&&(P.nodes[0].nodes=V.nodes.reduce(J(se),[])),P}function Z(P){return P.nodes[0].nodes.reduce(function(z,V){return z.push(`${V.prop}:${V.value}${V.important?" !important":""}`),z},[]).join(";")}function J(P){return function(z,V){return cr(P,V.prop)&&P[V.prop].some(function(Pe){return Pe.test(V.value)})&&z.push(V),z}}function re(P,z,V){return z?(P=P.split(/\s+/),P.filter(function(se){return z.indexOf(se)!==-1||V.some(function(Pe){return Pe.test(se)})}).join(" ")):P}}const gge={decodeEntities:!0};Io.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0};Io.simpleTransform=function(e,t,n){return n=n===void 0?!0:n,t=t||{},function(r,a){let s;if(n)for(s in t)a[s]=t[s];else a=t;return{tagName:e,attribs:a}}};const Age=qd(_ge),vo=e=>Age(qhe(e,{target:"_blank"}),{allowedTags:["a"],disallowedTagsMode:"escape"}),Sge=e=>(ut("data-v-a720b26e"),e=e(),ct(),e),Oge={id:"admin-app",class:"admin-card"},Ige={for:"admin_contact"},vge=["value"],Rge=["disabled"],bge={for:"max_users"},Nge=["disabled"],Cge={class:"user-limit-help"},yge={class:"info-box"},Dge=Sge(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),Pge={for:"max_single_file_size"},wge=["disabled"],Lge={for:"max_zip_file_size"},$ge=["disabled"],kge={for:"gpx_limit_import"},Uge=["disabled"],Mge={class:"about-label",for:"about"},xge={class:"textarea-description"},Fge=["innerHTML"],Wge={class:"privacy-policy-label",for:"privacy_policy"},Gge={class:"textarea-description"},zge=["innerHTML"],Bge={key:5,class:"form-buttons"},Hge={class:"confirm",type:"submit"},jge={key:6,class:"form-buttons"},Vge=Q({__name:"AdminApplication",props:{appConfig:{},edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=_e(t),r=$e(),a=Zr(),s=xt({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0,about:"",privacy_policy:""}),o=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>{t.appConfig&&i(t.appConfig)});function i(c){Object.keys(s).map(f=>{["max_single_file_size","max_zip_file_size"].includes(f)?s[f]=The(c[f]):["about","privacy_policy"].includes(f)?s[f]=c[f]!==null?c[f]:"":s[f]=c[f]})}function u(){i(t.appConfig),r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),a.push("/admin/application")}function l(){const c=Object.assign({},s);c.max_single_file_size*=1048576,c.max_zip_file_size*=1048576,r.dispatch(H.ACTIONS.UPDATE_APPLICATION_CONFIG,c)}return(c,f)=>{const d=ue("ErrorMessage"),m=ue("Card");return T(),N("div",Oge,[M(m,null,{title:fe(()=>[K(_(c.$t("admin.APP_CONFIG.TITLE")),1)]),content:fe(()=>[p("form",{class:"admin-form",onSubmit:Xe(l,["prevent"])},[p("label",Ige,[K(_(c.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),!h(n)&&!s.admin_contact?(T(),N("input",{key:0,class:"no-contact",value:c.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,vge)):Ke((T(),N("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":f[0]||(f[0]=E=>s.admin_contact=E),disabled:!h(n)},null,8,Rge)),[[tt,s.admin_contact]])]),p("label",bge,[K(_(c.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Ke(p("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":f[1]||(f[1]=E=>s.max_users=E),disabled:!h(n)},null,8,Nge),[[tt,s.max_users]])]),p("div",Cge,[p("span",yge,[Dge,K(" "+_(c.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),p("label",Pge,[K(_(c.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Ke(p("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":f[2]||(f[2]=E=>s.max_single_file_size=E),disabled:!h(n)},null,8,wge),[[tt,s.max_single_file_size]])]),p("label",Lge,[K(_(c.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Ke(p("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":f[3]||(f[3]=E=>s.max_zip_file_size=E),disabled:!h(n)},null,8,$ge),[[tt,s.max_zip_file_size]])]),p("label",kge,[K(_(c.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Ke(p("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":f[4]||(f[4]=E=>s.gpx_limit_import=E),disabled:!h(n)},null,8,Uge),[[tt,s.gpx_limit_import]])]),p("label",Mge,_(c.$t("admin.ABOUT.TEXT"))+": ",1),p("span",xge,_(c.$t("admin.ABOUT.DESCRIPTION")),1),h(n)?Ke((T(),N("textarea",{key:0,id:"about",name:"about",rows:"10","onUpdate:modelValue":f[5]||(f[5]=E=>s.about=E)},null,512)),[[tt,s.about]]):(T(),N("div",{key:1,innerHTML:h(ma)(h(vo)(s.about?s.about:c.$t("admin.NO_TEXT_ENTERED"))),class:"textarea-content"},null,8,Fge)),p("label",Wge,_(St(c.$t("privacy_policy.TITLE")))+": ",1),p("span",Gge,_(c.$t("admin.PRIVACY_POLICY_DESCRIPTION")),1),h(n)?Ke((T(),N("textarea",{key:2,id:"privacy_policy",name:"privacy_policy",rows:"20","onUpdate:modelValue":f[6]||(f[6]=E=>s.privacy_policy=E)},null,512)),[[tt,s.privacy_policy]]):(T(),N("div",{key:3,innerHTML:h(ma)(h(vo)(s.privacy_policy?s.privacy_policy:c.$t("admin.NO_TEXT_ENTERED"))),class:"textarea-content"},null,8,zge)),o.value?(T(),te(d,{key:4,message:o.value},null,8,["message"])):F("",!0),h(n)?(T(),N("div",Bge,[p("button",Hge,_(c.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:Xe(u,["prevent"])},_(c.$t("buttons.CANCEL")),1)])):(T(),N("div",jge,[p("button",{class:"confirm",onClick:f[7]||(f[7]=Xe(E=>c.$router.push("/admin/application/edit"),["prevent"]))},_(c.$t("buttons.EDIT")),1),p("button",{class:"cancel",onClick:f[8]||(f[8]=Xe(E=>c.$router.push("/admin"),["prevent"]))},_(c.$t("admin.BACK_TO_ADMIN")),1)]))],32)]),_:1})])}}}),HE=ae(Vge,[["__scopeId","data-v-a720b26e"]]),Kge={class:"stat-card"},Yge={class:"stat-content box"},qge={class:"stat-icon"},Xge={class:"stat-details"},Zge={class:"stat-huge"},Qge={class:"stat"},pr=Q({__name:"StatCard",props:{icon:{},text:{},value:{}},setup(e){const t=e,{icon:n,text:r,value:a}=_e(t);return(s,o)=>(T(),N("div",Kge,[p("div",Yge,[p("div",qge,[p("i",{class:ge(["fa",`fa-${h(n)}`])},null,2)]),p("div",Xge,[p("div",Zge,_(h(a)),1),p("div",Qge,_(h(r)),1)])])]))}}),Jge={id:"user-stats"},eAe=Q({__name:"AppStatsCards",props:{appStatistics:{}},setup(e){const t=e,{appStatistics:n}=_e(t),r=k(()=>qT(n.value.uploads_dir_size));return(a,s)=>(T(),N("div",Jge,[M(pr,{icon:"users",value:h(n).users,text:a.$t("admin.USER",h(n).users)},null,8,["value","text"]),M(pr,{icon:"tags",value:h(n).sports,text:a.$t("workouts.SPORT",h(n).sports)},null,8,["value","text"]),M(pr,{icon:"calendar",value:h(n).workouts,text:a.$t("workouts.WORKOUT",h(n).workouts)},null,8,["value","text"]),M(pr,{icon:"folder-open",value:r.value.size,text:r.value.suffix},null,8,["value","text"])]))}}),EA=e=>(ut("data-v-efcd2677"),e=e(),ct(),e),tAe={id:"admin-menu",class:"center-card"},nAe={class:"admin-menu description-list"},rAe={class:"application-config-details"},aAe=EA(()=>p("br",null,null,-1)),sAe={class:"registration-status"},oAe={key:0,class:"email-sending-status"},iAe=EA(()=>p("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)),uAe=Q({__name:"AdminMenu",props:{appConfig:{},appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=_e(t);return gt(()=>{const a=document.getElementById("adminLink");a&&a.focus()}),(a,s)=>{const o=ue("router-link");return T(),N("div",tAe,[M(xT,null,{title:fe(()=>[K(_(a.$t("admin.ADMINISTRATION")),1)]),content:fe(()=>[M(eAe,{appStatistics:h(r)},null,8,["appStatistics"]),p("div",nAe,[p("dl",null,[p("dt",null,[M(o,{id:"adminLink",to:"/admin/application"},{default:fe(()=>[K(_(a.$t("admin.APPLICATION")),1)]),_:1})]),p("dd",rAe,[K(_(a.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),aAe,p("span",sAe,_(a.$t(`admin.REGISTRATION_${h(n).is_registration_enabled?"ENABLED":"DISABLED"}`)),1),h(n).is_email_sending_enabled?F("",!0):(T(),N("span",oAe,[iAe,K(" "+_(a.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),p("dt",null,[M(o,{to:"/admin/sports"},{default:fe(()=>[K(_(St(a.$t("workouts.SPORT",0))),1)]),_:1})]),p("dd",null,_(a.$t("admin.ENABLE_DISABLE_SPORTS")),1),p("dt",null,[M(o,{to:"/admin/users"},{default:fe(()=>[K(_(St(a.$t("admin.USER",0))),1)]),_:1})]),p("dd",null,_(a.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]),_:1})])}}}),cAe=ae(uAe,[["__scopeId","data-v-efcd2677"]]),h0={"Cycling (Sport)":"#4c9792","Cycling (Trekking)":"#a8af88","Cycling (Transport)":"#88af98","Cycling (Virtual)":"#64a360",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Mountaineering:"#48b3b7","Open Water Swimming":"#4058a4",Paragliding:"#c23c50",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},lAe=e=>{const t={};return e.map(n=>t[n.id]=n.color?n.color:h0[n.label]),t},dAe=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter(a=>n==="all"?!0:r.includes(a.id)||a[n]).map(a=>({...a,translatedLabel:t(`sports.${a.label}.LABEL`)})).sort(dAe),_0=(e,t)=>t.filter(n=>n.id===e.sport_id).map(n=>n.label)[0],T0=(e,t)=>t.filter(n=>n.id===e.sport_id).map(n=>n.color)[0],Cc=e=>(ut("data-v-203d96b8"),e=e(),ct(),e),fAe={id:"admin-sports",class:"admin-card"},pAe={class:"responsive-table"},mAe=Cc(()=>p("th",null,"#",-1)),EAe={class:"text-left"},hAe={class:"text-left sport-action"},_Ae=Cc(()=>p("th",null,null,-1)),TAe={class:"text-center"},gAe=Cc(()=>p("span",{class:"cell-heading"},"id",-1)),AAe={class:"cell-heading"},SAe={class:"sport-label"},OAe={class:"cell-heading"},IAe={class:"text-center"},vAe={class:"cell-heading"},RAe={class:"sport-action"},bAe={class:"cell-heading"},NAe={class:"action-button"},CAe=["onClick"],yAe={key:0,class:"has-workouts"},DAe=Cc(()=>p("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)),PAe=Q({__name:"AdminSports",setup(e){const{t}=jt(),n=$e(),r=k(()=>Jr(n.getters[$t.GETTERS.SPORTS],t)),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);function s(o,i){n.dispatch($t.ACTIONS.UPDATE_SPORTS,{id:o,isActive:i})}return(o,i)=>{const u=ue("SportImage"),l=ue("ErrorMessage"),c=ue("Card");return T(),N("div",fAe,[M(c,null,{title:fe(()=>[K(_(o.$t("admin.SPORTS.TITLE")),1)]),content:fe(()=>[p("button",{class:"top-button",onClick:i[0]||(i[0]=Xe(f=>o.$router.push("/admin"),["prevent"]))},_(o.$t("admin.BACK_TO_ADMIN")),1),p("div",pAe,[p("table",null,[p("thead",null,[p("tr",null,[mAe,p("th",null,_(o.$t("admin.SPORTS.TABLE.IMAGE")),1),p("th",EAe,_(o.$t("admin.SPORTS.TABLE.LABEL")),1),p("th",null,_(o.$t("admin.SPORTS.TABLE.ACTIVE")),1),p("th",hAe,_(o.$t("admin.ACTION")),1),_Ae])]),p("tbody",null,[(T(!0),N(Ie,null,xe(r.value,f=>(T(),N("tr",{key:f.id},[p("td",TAe,[gAe,K(" "+_(f.id),1)]),p("td",null,[p("span",AAe,_(o.$t("admin.SPORTS.TABLE.IMAGE")),1),M(u,{title:f.translatedLabel,"sport-label":f.label,color:f.color},null,8,["title","sport-label","color"])]),p("td",SAe,[p("span",OAe,_(o.$t("admin.SPORTS.TABLE.LABEL")),1),K(" "+_(f.translatedLabel),1)]),p("td",IAe,[p("span",vAe,_(o.$t("admin.SPORTS.TABLE.ACTIVE")),1),p("i",{class:ge(`fa fa${f.is_active?"-check":""}`),"aria-hidden":"true"},null,2)]),p("td",RAe,[p("span",bAe,_(o.$t("admin.ACTION")),1),p("div",NAe,[p("button",{class:ge({danger:f.is_active}),onClick:d=>s(f.id,!f.is_active)},_(o.$t(`buttons.${f.is_active?"DIS":"EN"}ABLE`)),11,CAe),f.has_workouts?(T(),N("span",yAe,[DAe,K(" "+_(o.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):F("",!0)])])]))),128))])]),a.value?(T(),te(l,{key:0,message:a.value},null,8,["message"])):F("",!0),p("button",{onClick:i[1]||(i[1]=Xe(f=>o.$router.push("/admin"),["prevent"]))},_(o.$t("admin.BACK_TO_ADMIN")),1)])]),_:1})])}}}),wAe=ae(PAe,[["__scopeId","data-v-203d96b8"]]),LAe={class:"table-selects"},$Ae=["value"],kAe=["value"],UAe=["value"],MAe=["value"],xAe=["value"],FAe=["value"],WAe=Q({__name:"FilterSelects",props:{order_by:{},query:{},sort:{},message:{}},emits:["updateSelect"],setup(e,{emit:t}){const n=e,r=t,{order_by:a,query:s,sort:o,message:i}=_e(n),u=[10,25,50,100];function l(c){r("updateSelect",c.target.id,c.target.value)}return(c,f)=>(T(),N("div",LAe,[p("label",null,[K(_(c.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),p("select",{name:"order_by",id:"order_by",value:h(s).order_by,onChange:l},[(T(!0),N(Ie,null,xe(h(a),d=>(T(),N("option",{value:d,key:d},_(c.$t(`${h(i)}.${d.toUpperCase()}`)),9,kAe))),128))],40,$Ae)]),p("label",null,[K(_(c.$t("common.SELECTS.ORDER.LABEL"))+": ",1),p("select",{name:"order",id:"order",value:h(s).order,onChange:l},[(T(!0),N(Ie,null,xe(h(o),d=>(T(),N("option",{value:d,key:d},_(c.$t(`common.SELECTS.ORDER.${d.toUpperCase()}`)),9,MAe))),128))],40,UAe)]),p("label",null,[K(_(c.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),p("select",{name:"per_page",id:"per_page",value:h(s).per_page,onChange:l},[(T(),N(Ie,null,xe(u,d=>p("option",{value:d,key:d},_(d),9,FAe)),64))],40,xAe)])]))}}),hA=ae(WAe,[["__scopeId","data-v-fc86ab3c"]]),g0=["asc","desc"],_A=1,GAe=10,Fd=(e,t)=>e&&typeof e=="string"&&+e>0?+e:t,jE=(e,t,n)=>e&&typeof e=="string"&&t.includes(e)?e:n,Wd=(e,t,n,r)=>{const s=(r||{}).defaultSort||"asc",o={};return o.page=Fd(e.page,_A),o.per_page=Fd(e.per_page,GAe),o.order=jE(e.order,g0,s),o.order_by=jE(e.order_by,t,n),typeof e.q=="string"?o.q=e.q:delete o.q,o},zAe=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id","title"],Pa=(e,t=1)=>Array.from({length:e-t+1},(n,r)=>t+r),BAe=(e,t)=>{if(e<0)return[];if(e<9)return Pa(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(Pa(t+2,3)):(n=n.concat(["..."]),t=e-2&&+n[n.length-1](ut("data-v-69dd9739"),e=e(),ct(),e),HAe={class:"pagination-center","aria-label":"navigation"},jAe={class:"pagination"},VAe=TA(()=>p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)),KAe={key:0},YAe=TA(()=>p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)),qAe=Q({__name:"Pagination",props:{pagination:{},path:{},query:{}},setup(e){const t=e,{pagination:n,path:r,query:a}=_e(t);function s(o,i){const u=Object.assign({},a.value);return u.page=i?o+i:o,u}return(o,i)=>{const u=ue("router-link");return T(),N("nav",HAe,[p("ul",jAe,[p("li",{class:ge(["page-prev",{disabled:!h(n).has_prev}])},[M(u,{class:"page-link",to:{path:h(r),query:s(h(n).page,-1)},disabled:!h(n).has_prev,tabindex:h(n).has_prev?0:-1},{default:fe(({navigate:l})=>[Va(o.$slots,"default",{onClick:c=>h(n).has_next?l:null},()=>[K(_(o.$t("api.PAGINATION.PREVIOUS"))+" ",1),VAe],!0)]),_:3},8,["to","disabled","tabindex"])],2),(T(!0),N(Ie,null,xe(h(BAe)(h(n).pages,h(n).page),l=>(T(),N("li",{key:l,class:ge(["page",{active:l===h(n).page}])},[l==="..."?(T(),N("span",KAe," ... ")):(T(),te(u,{key:1,class:"page-link",to:{path:h(r),query:s(+l)}},{default:fe(()=>[K(_(l),1)]),_:2},1032,["to"]))],2))),128)),p("li",{class:ge(["page-next",{disabled:!h(n).has_next}])},[M(u,{class:"page-link",to:{path:h(r),query:s(h(n).page,1)},disabled:!h(n).has_next,tabindex:h(n).has_next?0:-1},{default:fe(({navigate:l})=>[Va(o.$slots,"default",{onClick:c=>h(n).has_next?l:null},()=>[K(_(o.$t("api.PAGINATION.NEXT"))+" ",1),YAe],!0)]),_:3},8,["to","disabled","tabindex"])],2)])])}}}),Wu=ae(qAe,[["__scopeId","data-v-69dd9739"]]),XAe={class:"users-filters"},ZAe={class:"search-username"},QAe=["placeholder"],JAe=Q({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=Vt(),r=ce(n.query.q?n.query.q:""),a=t;function s(){r.value!==""&&a("filterOnUsername",r)}function o(){r.value="",a("filterOnUsername",r.value)}return(i,u)=>(T(),N("div",XAe,[p("div",ZAe,[Ke(p("input",{id:"username",name:"username","onUpdate:modelValue":u[0]||(u[0]=l=>r.value=l),onKeyup:At(s,["enter"]),placeholder:i.$t("user.FILTER_ON_USERNAME")},null,40,QAe),[[tt,r.value,void 0,{trim:!0}]]),r.value!==""?(T(),N("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:o})):F("",!0)]),p("i",{class:ge(["fa fa-search",{"fa-disabled":r.value===""}]),"aria-hidden":"true",onClick:s},null,2)]))}}),eSe=ae(JAe,[["__scopeId","data-v-553040c7"]]);var Gd={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;function n(r){if(r===null||r===!0||r===!1)return NaN;var a=Number(r);return isNaN(a)?a:a<0?Math.ceil(a):Math.floor(a)}e.exports=t.default})(Gd,Gd.exports);var tSe=Gd.exports;const nSe=qd(tSe);var zd={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;function n(r){var a=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()));return a.setUTCFullYear(r.getFullYear()),r.getTime()-a.getTime()}e.exports=t.default})(zd,zd.exports);var rSe=zd.exports;const VE=qd(rSe);function aSe(e,t){var n=uSe(t);return n.formatToParts?oSe(n,e):iSe(n,e)}var sSe={year:0,month:1,day:2,hour:3,minute:4,second:5};function oSe(e,t){try{for(var n=e.formatToParts(t),r=[],a=0;a=0&&(r[s]=parseInt(n[a].value,10))}return r}catch(o){if(o instanceof RangeError)return[NaN];throw o}}function iSe(e,t){var n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var pl={};function uSe(e){if(!pl[e]){var t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n=t==="06/25/2014, 00:00:00"||t==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";pl[e]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return pl[e]}function gA(e,t,n,r,a,s,o){var i=new Date(0);return i.setUTCFullYear(e,t,n),i.setUTCHours(r,a,s,o),i}var KE=36e5,cSe=6e4,ml={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function AA(e,t,n){var r,a;if(!e||(r=ml.timezoneZ.exec(e),r))return 0;var s;if(r=ml.timezoneHH.exec(e),r)return s=parseInt(r[1],10),YE(s)?-(s*KE):NaN;if(r=ml.timezoneHHMM.exec(e),r){s=parseInt(r[1],10);var o=parseInt(r[2],10);return YE(s,o)?(a=Math.abs(s)*KE+o*cSe,s>0?-a:a):NaN}if(fSe(e)){t=new Date(t||Date.now());var i=n?t:lSe(t),u=Bd(i,e),l=n?u:dSe(t,u,e);return-l}return NaN}function lSe(e){return gA(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function Bd(e,t){var n=aSe(e,t),r=gA(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),a=e.getTime(),s=a%1e3;return a-=s>=0?s:1e3+s,r-a}function dSe(e,t,n){var r=e.getTime(),a=r-t,s=Bd(new Date(a),n);if(t===s)return t;a-=s-t;var o=Bd(new Date(a),n);return s===o?s:Math.max(s,o)}function YE(e,t){return-23<=e&&e<=23&&(t==null||0<=t&&t<=59)}var qE={};function fSe(e){if(qE[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),qE[e]=!0,!0}catch{return!1}}var pSe=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,El=36e5,XE=6e4,mSe=2,Qt={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:pSe};function ESe(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(e===null)return new Date(NaN);var n=t||{},r=n.additionalDigits==null?mSe:nSe(n.additionalDigits);if(r!==2&&r!==1&&r!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]")return new Date(e.getTime());if(typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]")return new Date(e);if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var a=hSe(e),s=_Se(a.date,r),o=s.year,i=s.restDateString,u=TSe(i,o);if(isNaN(u))return new Date(NaN);if(u){var l=u.getTime(),c=0,f;if(a.time&&(c=gSe(a.time),isNaN(c)))return new Date(NaN);if(a.timeZone||n.timeZone){if(f=AA(a.timeZone||n.timeZone,new Date(l+c)),isNaN(f))return new Date(NaN)}else f=VE(new Date(l+c)),f=VE(new Date(l+c+f));return new Date(l+c+f)}else return new Date(NaN)}function hSe(e){var t={},n=Qt.dateTimePattern.exec(e),r;if(n?(t.date=n[1],r=n[3]):(n=Qt.datePattern.exec(e),n?(t.date=n[1],r=n[2]):(t.date=null,r=e)),r){var a=Qt.timeZone.exec(r);a?(t.time=r.replace(a[1],""),t.timeZone=a[1].trim()):t.time=r}return t}function _Se(e,t){var n=Qt.YYY[t],r=Qt.YYYYY[t],a;if(a=Qt.YYYY.exec(e)||r.exec(e),a){var s=a[1];return{year:parseInt(s,10),restDateString:e.slice(s.length)}}if(a=Qt.YY.exec(e)||n.exec(e),a){var o=a[1];return{year:parseInt(o,10)*100,restDateString:e.slice(o.length)}}return{year:null}}function TSe(e,t){if(t===null)return null;var n,r,a,s;if(e.length===0)return r=new Date(0),r.setUTCFullYear(t),r;if(n=Qt.MM.exec(e),n)return r=new Date(0),a=parseInt(n[1],10)-1,QE(t,a)?(r.setUTCFullYear(t,a),r):new Date(NaN);if(n=Qt.DDD.exec(e),n){r=new Date(0);var o=parseInt(n[1],10);return OSe(t,o)?(r.setUTCFullYear(t,0,o),r):new Date(NaN)}if(n=Qt.MMDD.exec(e),n){r=new Date(0),a=parseInt(n[1],10)-1;var i=parseInt(n[2],10);return QE(t,a,i)?(r.setUTCFullYear(t,a,i),r):new Date(NaN)}if(n=Qt.Www.exec(e),n)return s=parseInt(n[1],10)-1,JE(t,s)?ZE(t,s):new Date(NaN);if(n=Qt.WwwD.exec(e),n){s=parseInt(n[1],10)-1;var u=parseInt(n[2],10)-1;return JE(t,s,u)?ZE(t,s,u):new Date(NaN)}return null}function gSe(e){var t,n,r;if(t=Qt.HH.exec(e),t)return n=parseFloat(t[1].replace(",",".")),hl(n)?n%24*El:NaN;if(t=Qt.HHMM.exec(e),t)return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),hl(n,r)?n%24*El+r*XE:NaN;if(t=Qt.HHMMSS.exec(e),t){n=parseInt(t[1],10),r=parseInt(t[2],10);var a=parseFloat(t[3].replace(",","."));return hl(n,r,a)?n%24*El+r*XE+a*1e3:NaN}return null}function ZE(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var a=r.getUTCDay()||7,s=t*7+n+1-a;return r.setUTCDate(r.getUTCDate()+s),r}var ASe=[31,28,31,30,31,30,31,31,30,31,30,31],SSe=[31,29,31,30,31,30,31,31,30,31,30,31];function SA(e){return e%400===0||e%4===0&&e%100!==0}function QE(e,t,n){if(t<0||t>11)return!1;if(n!=null){if(n<1)return!1;var r=SA(e);if(r&&n>SSe[t]||!r&&n>ASe[t])return!1}return!0}function OSe(e,t){if(t<1)return!1;var n=SA(e);return!(n&&t>366||!n&&t>365)}function JE(e,t,n){return!(t<0||t>52||n!=null&&(n<0||n>6))}function hl(e,t,n){return!(e!=null&&(e<0||e>=25)||t!=null&&(t<0||t>=60)||n!=null&&(n<0||n>=60))}function ISe(e,t,n){var r=ESe(e,n),a=AA(t,r,!0),s=new Date(r.getTime()-a),o=new Date(0);return o.setFullYear(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()),o.setHours(s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),o}const{locale:Gu}=ga.global,vSe=(e,t,n)=>{switch(e){case"week":return lc(t,{weekStartsOn:n?1:0});case"year":return Lf(t);case"month":return Uo(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},RSe=(e,t)=>{switch(e){case"week":return $o(t,7);case"year":return Qi(t,1);case"month":return Za(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},yc=(e,t)=>ISe(new Date(e),t),eh=(e,t)=>{const n=Uo(e),r=ko(e),a=t?1:0;return{start:lc(n,{weekStartsOn:a}),end:$f(r,{weekStartsOn:a})}},OA=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),t=Sa(t,Gu.value),n||(n="HH:mm"),{workout_date:ln(e,t,{locale:Mo[Gu.value]}),workout_time:ln(e,n)}),bSe=["MM/dd/yyyy","dd/MM/yyyy","yyyy-MM-dd","date_string"],IA={de:"do MMM yyyy",en:"MMM. do, yyyy",es:"d MMM yyyy",fr:"d MMM yyyy",gl:"d MMM yyyy",it:"d MMM yyyy",pl:"d MMM yyyy",nb:"do MMM yyyy",nl:"d MMM yyyy"},Sa=(e,t)=>e==="date_string"?IA[t]:e,xn=(e,t,n,r=!0,a=null,s=!1)=>{a||(a=Gu.value);const o=r?s?" HH:mm:ss":" HH:mm":"";return ln(yc(e,t),`${Sa(n,a)}${o}`,{locale:Mo[a]})},NSe=(e,t,n=null)=>{const r=n||Gu.value,a=[];return bSe.map(s=>{const o=Sa(s,r);a.push({label:`${o} - ${xn(e,t,o,!1,r)}`,value:s})}),a},CSe=e=>(ut("data-v-4beb3bfa"),e=e(),ct(),e),ySe={id:"admin-users",class:"admin-card"},DSe={key:0,class:"no-users"},PSe={key:1,class:"responsive-table"},wSe=CSe(()=>p("th",null,"#",-1)),LSe={class:"left-text"},$Se={class:"left-text"},kSe={class:"left-text"},USe={class:"cell-heading"},MSe={class:"cell-heading"},xSe={class:"cell-heading"},FSe={class:"cell-heading"},WSe={class:"text-center"},GSe={class:"cell-heading"},zSe={class:"text-center"},BSe={class:"cell-heading"},HSe={class:"text-center"},jSe={class:"cell-heading"},VSe={class:"text-center"},KSe={class:"cell-heading"},YSe=["disabled","onClick"],th="created_at",qSe=Q({__name:"AdminUsers",setup(e){const t=$e(),n=Vt(),r=Zr(),a=["is_active","admin","created_at","username","workouts_count"];let s=xt(Wd(n.query,a,th));const o=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),i=k(()=>t.getters[Ce.GETTERS.USERS]),u=k(()=>t.getters[Ce.GETTERS.USERS_PAGINATION]),l=k(()=>t.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>c(s));function c(E){t.dispatch(Ce.ACTIONS.GET_USERS,E)}function f(E){m("q",E.value)}function d(E,g){t.dispatch(Ce.ACTIONS.UPDATE_USER,{username:E,admin:g})}function m(E,g){s[E]=g,E==="per_page"&&(s.page=1),r.push({path:"/admin/users",query:s})}return Rt(()=>{t.dispatch(Ce.ACTIONS.EMPTY_USERS)}),Fe(()=>n.query,E=>{s=Wd(E,a,th,{query:s}),c(s)}),(E,g)=>{const b=ue("router-link"),v=ue("ErrorMessage"),R=ue("Card");return T(),N("div",ySe,[M(R,null,{title:fe(()=>[K(_(St(E.$t("admin.USER",0))),1)]),content:fe(()=>[p("button",{class:"top-button",onClick:g[0]||(g[0]=Xe(A=>E.$router.push("/admin"),["prevent"]))},_(E.$t("admin.BACK_TO_ADMIN")),1),M(eSe,{onFilterOnUsername:f}),M(hA,{sort:h(g0),order_by:a,query:h(s),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:m},null,8,["sort","query"]),i.value.length===0?(T(),N("div",DSe,_(E.$t("user.NO_USERS_FOUND")),1)):(T(),N("div",PSe,[p("table",null,[p("thead",null,[p("tr",null,[wSe,p("th",LSe,_(E.$t("user.USERNAME")),1),p("th",$Se,_(E.$t("user.EMAIL")),1),p("th",kSe,_(E.$t("user.PROFILE.REGISTRATION_DATE")),1),p("th",null,_(St(E.$t("workouts.WORKOUT",0))),1),p("th",null,_(E.$t("admin.ACTIVE")),1),p("th",null,_(E.$t("user.ADMIN")),1),p("th",null,_(E.$t("admin.ACTION")),1)])]),p("tbody",null,[(T(!0),N(Ie,null,xe(i.value,A=>(T(),N("tr",{key:A.username},[p("td",null,[p("span",USe,_(E.$t("user.PROFILE.PICTURE")),1),M(Lo,{user:A},null,8,["user"])]),p("td",null,[p("span",MSe,_(E.$t("user.USERNAME")),1),M(b,{to:`/admin/users/${A.username}`},{default:fe(()=>[K(_(A.username),1)]),_:2},1032,["to"])]),p("td",null,[p("span",xSe,_(E.$t("user.EMAIL")),1),K(" "+_(A.email),1)]),p("td",null,[p("span",FSe,_(E.$t("user.PROFILE.REGISTRATION_DATE")),1),p("time",null,_(h(xn)(A.created_at,o.value.timezone,o.value.date_format)),1)]),p("td",WSe,[p("span",GSe,_(St(E.$t("workouts.WORKOUT",0))),1),K(" "+_(A.nb_workouts),1)]),p("td",zSe,[p("span",BSe,_(E.$t("admin.ACTIVE")),1),p("i",{class:ge(`fa fa${A.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),p("td",HSe,[p("span",jSe,_(E.$t("user.ADMIN")),1),p("i",{class:ge(`fa fa${A.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),p("td",VSe,[p("span",KSe,_(E.$t("admin.ACTION")),1),p("button",{class:ge({danger:A.admin}),disabled:A.username===o.value.username,onClick:S=>d(A.username,!A.admin)},_(E.$t(`admin.USERS.TABLE.${A.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,YSe)])]))),128))])]),u.value.page?(T(),te(Wu,{key:0,path:"/admin/users",pagination:u.value,query:h(s)},null,8,["pagination","query"])):F("",!0),l.value?(T(),te(v,{key:1,message:l.value},null,8,["message"])):F("",!0),p("button",{onClick:g[1]||(g[1]=Xe(A=>E.$router.push("/admin"),["prevent"]))},_(E.$t("admin.BACK_TO_ADMIN")),1)]))]),_:1})])}}}),XSe=ae(qSe,[["__scopeId","data-v-4beb3bfa"]]),ZSe={class:"box user-header"},QSe={class:"user-details"},JSe={class:"user-name"},eOe={class:"user-stats"},tOe={class:"user-stat"},nOe={class:"stat-number"},rOe={class:"stat-label"},aOe={class:"user-stat"},sOe={class:"stat-label"},oOe={class:"user-stat hide-small"},iOe={class:"stat-number"},uOe={class:"stat-label"},cOe=Q({__name:"UserHeader",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=k(()=>r.getters[Y.GETTERS.AUTH_USER_PROFILE]);return(s,o)=>{const i=ue("Distance");return T(),N("div",ZSe,[M(Lo,{user:h(n)},null,8,["user"]),p("div",QSe,[p("div",JSe,_(h(n).username),1),p("div",eOe,[p("div",tOe,[p("span",nOe,_(h(n).nb_workouts),1),p("span",rOe,_(s.$t("workouts.WORKOUT",h(n).nb_workouts)),1)]),p("div",aOe,[M(i,{distance:h(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:a.value.imperial_units},null,8,["distance","useImperialUnits"]),p("span",sOe,_(a.value.imperial_units?"miles":"km"),1)]),p("div",oOe,[p("span",iOe,_(h(n).nb_sports),1),p("span",uOe,_(s.$t("workouts.SPORT",h(n).nb_sports)),1)])])])])}}}),vA=ae(cOe,[["__scopeId","data-v-3abb1646"]]),lOe={class:"profile-tabs custom-checkboxes-group"},dOe={class:"profile-tabs-checkboxes custom-checkboxes"},fOe=["id","name","checked","disabled","onInput"],pOe=["id","onKeydown"],RA=Q({__name:"UserProfileTabs",props:{tabs:{},selectedTab:{},edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:a}=_e(t);gt(()=>{const o=document.getElementById(`tab-${n.value[0]}`);o&&o.focus()});function s(o){switch(o){case"ACCOUNT":case"PICTURE":case"PRIVACY-POLICY":return`/profile/edit/${o.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${o.toLocaleLowerCase()}`;default:case"PROFILE":return`/profile${t.edition?"/edit":""}`}}return(o,i)=>(T(),N("div",lOe,[p("div",dOe,[(T(!0),N(Ie,null,xe(h(n),u=>(T(),N("div",{class:"profile-tab custom-checkbox",key:u},[p("label",null,[p("input",{type:"radio",id:u,name:u,checked:h(r).split("/")[0]===u,disabled:h(a),onInput:l=>o.$router.push(s(u))},null,40,fOe),p("span",{id:`tab-${u}`,tabindex:0,role:"button",onKeydown:At(l=>o.$router.push(s(u)),["enter"])},_(o.$t(`user.PROFILE.TABS.${u}`)),41,pOe)])]))),128))])]))}}),mOe={id:"user-profile"},EOe={class:"box"},hOe=Q({__name:"index",props:{user:{},tab:{}},setup(e){const t=e,{user:n,tab:r}=_e(t),a=["PROFILE","PREFERENCES","SPORTS","APPS"];return(s,o)=>{const i=ue("router-view");return T(),N("div",mOe,[M(vA,{user:h(n)},null,8,["user"]),p("div",EOe,[M(RA,{tabs:a,selectedTab:h(r),edition:!1},null,8,["selectedTab"]),M(i,{user:h(n)},null,8,["user"])])])}}}),_Oe=ae(hOe,[["__scopeId","data-v-8a058d49"]]),TOe={id:"user-infos",class:"description-list"},gOe={key:1,class:"info-box success-message"},AOe={key:4,class:"email-form form-box"},SOe={class:"form-items",for:"email"},OOe={class:"form-items",for:"email"},IOe={class:"form-buttons"},vOe={class:"confirm",type:"submit"},ROe={key:5},bOe={key:0},NOe={class:"user-bio"},COe={key:0,class:"profile-buttons"},yOe={key:1,class:"profile-buttons"},DOe=Q({__name:"UserInfos",props:{user:{},fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=$e(),{user:r,fromAdmin:a}=_e(t),s=k(()=>n.getters[H.GETTERS.LANGUAGE]),o=k(()=>n.getters[Y.GETTERS.AUTH_USER_PROFILE]),i=k(()=>t.user.created_at?xn(t.user.created_at,o.value.timezone,o.value.date_format):""),u=k(()=>t.user.birth_date?ln(new Date(t.user.birth_date),`${Sa(o.value.date_format,s.value)}`,{locale:Mo[s.value]}):""),l=k(()=>n.getters[Ce.GETTERS.USERS_IS_SUCCESS]),c=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),f=k(()=>n.getters[H.GETTERS.APP_CONFIG]),d=ce(""),m=ce(!1),E=ce(!1),g=ce(""),b=ce("");function v(G){d.value=G,G!==""&&n.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function R(G){n.dispatch(Ce.ACTIONS.DELETE_USER_ACCOUNT,{username:G})}function A(G){b.value="password-reset",n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,resetPassword:!0})}function S(G){n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,activate:!0})}function C(){U(),g.value=r.value.email_to_confirm?r.value.email_to_confirm:"",E.value=!0,b.value="email-update"}function L(){g.value="",E.value=!1}function $(G){n.dispatch(Ce.ACTIONS.UPDATE_USER,{username:G,new_email:g.value})}function U(){n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1),b.value=""}return Rt(()=>U()),Fe(()=>l.value,G=>{G&&(v(""),L())}),(G,B)=>{const w=ue("Modal"),Z=ue("AlertMessage"),J=ue("ErrorMessage");return T(),N("div",TOe,[d.value?(T(),te(w,{key:0,title:G.$t("common.CONFIRMATION"),message:d.value==="delete"?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:h(r).username,onConfirmAction:B[0]||(B[0]=re=>d.value==="delete"?R(h(r).username):A(h(r).username)),onCancelAction:B[1]||(B[1]=re=>v("")),onKeydown:B[2]||(B[2]=At(re=>v(""),["esc"]))},null,8,["title","message","strongMessage"])):F("",!0),l.value?(T(),N("div",gOe,_(G.$t(`admin.${b.value==="password-reset"?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):F("",!0),h(r).is_active?F("",!0):(T(),te(Z,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),c.value?(T(),te(J,{key:3,message:c.value},null,8,["message"])):F("",!0),E.value?(T(),N("div",AOe,[p("form",{class:ge({errors:m.value}),onSubmit:B[5]||(B[5]=Xe(re=>$(h(r).username),["prevent"]))},[p("label",SOe,[K(_(G.$t("admin.CURRENT_EMAIL"))+" ",1),Ke(p("input",{id:"email",type:"email","onUpdate:modelValue":B[3]||(B[3]=re=>h(r).email=re),disabled:""},null,512),[[tt,h(r).email]])]),p("label",OOe,[K(_(G.$t("admin.NEW_EMAIL"))+"* ",1),Ke(p("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":B[4]||(B[4]=re=>g.value=re)},null,512),[[tt,g.value]])]),p("div",IOe,[p("button",vOe,_(G.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:Xe(L,["prevent"])},_(G.$t("buttons.CANCEL")),1)])],34)])):(T(),N("div",ROe,[p("dl",null,[p("dt",null,_(G.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),p("dd",null,[p("time",null,_(i.value),1)]),p("dt",null,_(G.$t("user.PROFILE.FIRST_NAME"))+":",1),p("dd",null,_(h(r).first_name),1),p("dt",null,_(G.$t("user.PROFILE.LAST_NAME"))+":",1),p("dd",null,_(h(r).last_name),1),p("dt",null,_(G.$t("user.PROFILE.BIRTH_DATE"))+":",1),p("dd",null,[u.value?(T(),N("time",bOe,_(u.value),1)):F("",!0)]),p("dt",null,_(G.$t("user.PROFILE.LOCATION"))+":",1),p("dd",null,_(h(r).location),1),p("dt",null,_(G.$t("user.PROFILE.BIO"))+":",1),p("dd",NOe,_(h(r).bio),1)]),h(a)?(T(),N("div",COe,[o.value.username!==h(r).username?(T(),N("button",{key:0,class:"danger",onClick:B[6]||(B[6]=Xe(re=>v("delete"),["prevent"]))},_(G.$t("admin.DELETE_USER")),1)):F("",!0),h(r).is_active?F("",!0):(T(),N("button",{key:1,onClick:B[7]||(B[7]=Xe(re=>S(h(r).username),["prevent"]))},_(G.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),o.value.username!==h(r).username?(T(),N("button",{key:2,onClick:Xe(C,["prevent"])},_(G.$t("admin.UPDATE_USER_EMAIL")),1)):F("",!0),o.value.username!==h(r).username&&f.value.is_email_sending_enabled?(T(),N("button",{key:3,onClick:B[8]||(B[8]=Xe(re=>v("reset"),["prevent"]))},_(G.$t("admin.RESET_USER_PASSWORD")),1)):F("",!0),p("button",{onClick:B[9]||(B[9]=re=>G.$router.go(-1))},_(G.$t("buttons.BACK")),1)])):(T(),N("div",yOe,[p("button",{onClick:B[10]||(B[10]=re=>G.$router.push("/profile/edit"))},_(G.$t("user.PROFILE.EDIT")),1),p("button",{onClick:B[11]||(B[11]=re=>G.$router.push("/"))},_(G.$t("common.HOME")),1)]))]))])}}}),bA=ae(DOe,[["__scopeId","data-v-98220281"]]),POe=e=>(ut("data-v-b0528e22"),e=e(),ct(),e),wOe={id:"user-preferences",class:"description-list"},LOe={class:"preferences-section"},$Oe={class:"preferences-section"},kOe={class:"info-box raw-speed-help"},UOe=POe(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),MOe={class:"profile-buttons"},xOe=Q({__name:"UserPreferences",props:{user:{}},setup(e){const t=e,n=$e(),r=k(()=>n.getters[H.GETTERS.LANGUAGE]),a=k(()=>t.user.language?id[t.user.language]:id.en),s=k(()=>t.user.weekm?"MONDAY":"SUNDAY"),o=k(()=>t.user.timezone?t.user.timezone:"Europe/Paris"),i=k(()=>t.user.date_format?t.user.date_format:"MM/dd/yyyy"),u=k(()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"),l=k(()=>t.user.use_dark_mode===!0?"DARK":t.user.use_dark_mode===!1?"LIGHT":"DEFAULT");return(c,f)=>(T(),N("div",wOe,[p("div",LOe,_(c.$t("user.PROFILE.INTERFACE")),1),p("dl",null,[p("dt",null,_(c.$t("user.PROFILE.LANGUAGE"))+":",1),p("dd",null,_(a.value),1),p("dt",null,_(c.$t("user.PROFILE.THEME_MODE.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.THEME_MODE.VALUES.${l.value}`)),1),p("dt",null,_(c.$t("user.PROFILE.TIMEZONE"))+":",1),p("dd",null,_(o.value),1),p("dt",null,_(c.$t("user.PROFILE.DATE_FORMAT"))+":",1),p("dd",null,_(h(Sa)(i.value,r.value)),1),p("dt",null,_(c.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.${s.value}`)),1)]),p("div",$Oe,_(c.$t("workouts.WORKOUT",0)),1),p("dl",null,[p("dt",null,_(c.$t("user.PROFILE.UNITS.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.UNITS.${c.user.imperial_units?"IMPERIAL":"METRIC"}`)),1),p("dt",null,_(c.$t("user.PROFILE.ASCENT_DATA"))+":",1),p("dd",null,_(c.$t(`common.${u.value}`)),1),p("dt",null,_(c.$t("user.PROFILE.ELEVATION_CHART_START.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.ELEVATION_CHART_START.${c.user.start_elevation_at_zero?"ZERO":"MIN_ALT"}`)),1),p("dt",null,_(c.$t("user.PROFILE.USE_RAW_GPX_SPEED.LABEL"))+":",1),p("dd",null,_(c.$t(`user.PROFILE.USE_RAW_GPX_SPEED.${c.user.use_raw_gpx_speed?"RAW_SPEED":"FILTERED_SPEED"}`)),1),p("div",kOe,[p("span",null,[UOe,K(" "+_(c.$t("user.PROFILE.USE_RAW_GPX_SPEED.HELP")),1)])])]),p("div",MOe,[p("button",{onClick:f[0]||(f[0]=d=>c.$router.push("/profile/edit/preferences"))},_(c.$t("user.PROFILE.EDIT_PREFERENCES")),1),p("button",{onClick:f[1]||(f[1]=d=>c.$router.push("/"))},_(c.$t("common.HOME")),1)])]))}}),FOe=ae(xOe,[["__scopeId","data-v-b0528e22"]]),WOe={id:"user-profile-edition",class:"center-card"},GOe=Q({__name:"index",props:{user:{},tab:{}},setup(e){const t=e,n=$e(),{user:r,tab:a}=_e(t),s=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS","PRIVACY-POLICY"],o=k(()=>n.getters[Y.GETTERS.USER_LOADING]);return(i,u)=>{const l=ue("router-view"),c=ue("Card");return T(),N("div",WOe,[M(c,null,{title:fe(()=>[K(_(i.$t(`user.PROFILE.${h(a)}_EDITION`)),1)]),content:fe(()=>[M(RA,{tabs:s,selectedTab:h(a),edition:!0,disabled:o.value},null,8,["selectedTab","disabled"]),M(l,{user:h(r)},null,8,["user"])]),_:1})])}}}),Js=new Map,zOe=e=>{const{method:t,url:n,params:r={},data:a={}}=e;return[t,n,JSON.stringify(r),JSON.stringify(a)].join("")},fs=e=>{const t=zOe(e);if(Js.has(t)){const n=Js.get(t)||{};n==null||n.abort(),Js.delete(t)}return t},Ur=C1.create({baseURL:wo()});Ur.interceptors.request.use(e=>{const t=new AbortController;e.signal=t.signal;const n=fs(e);return Js.set(n,t),e},e=>Promise.reject(e));Ur.interceptors.response.use(e=>(fs(e.config),e),e=>(e.message!=="canceled"&&e.response&&fs(e.response.config),Promise.reject(e)));const NA=(e,t)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.delete(`users/${t.username}`).then(n=>{n.status===204?t.fromAdmin?_t.push("/admin/users"):e.dispatch(Y.ACTIONS.LOGOUT).then(()=>_t.push("/")):he(e,null)}).catch(n=>he(e,n))},BOe={[Ce.ACTIONS.EMPTY_USER](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USER,{})},[Ce.ACTIONS.EMPTY_USERS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS,[]),e.commit(Ce.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[Ce.ACTIONS.GET_USER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!0),Be.get(`users/${t}`).then(n=>{n.data.status==="success"?e.commit(Ce.MUTATIONS.UPDATE_USER,n.data.data.users[0]):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.GET_USERS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!0),Be.get("users",{params:t}).then(n=>{n.data.status==="success"?(e.commit(Ce.MUTATIONS.UPDATE_USERS,n.data.data.users),e.commit(Ce.MUTATIONS.UPDATE_USERS_PAGINATION,n.data.pagination)):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.UPDATE_USER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};t.admin!==void 0&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),t.new_email!==void 0&&(n.new_email=t.new_email),Be.patch(`users/${t.username}`,n).then(r=>{r.data.status==="success"?(e.commit(Ce.MUTATIONS.UPDATE_USER_IN_USERS,r.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(Ce.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(Ce.MUTATIONS.UPDATE_USER,r.data.data.users[0])):he(e,null)}).catch(r=>he(e,r)).finally(()=>e.commit(Ce.MUTATIONS.UPDATE_USERS_LOADING,!1))},[Ce.ACTIONS.DELETE_USER_ACCOUNT](e,t){NA(e,{username:t.username,fromAdmin:!0})}},_i=e=>{localStorage.removeItem("authToken"),e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Kr.MUTATIONS.EMPTY_USER_STATS),e.commit(Y.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(Ce.MUTATIONS.UPDATE_USERS,[]),e.commit(Te.MUTATIONS.EMPTY_WORKOUTS),e.commit(Te.MUTATIONS.EMPTY_WORKOUT),_t.push("/login")},HOe={[Y.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[Y.GETTERS.IS_AUTHENTICATED]&&(e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(Y.ACTIONS.GET_USER_PROFILE,!0)),!window.localStorage.authToken&&e.getters[Y.GETTERS.IS_AUTHENTICATED]&&_i(e)},[Y.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/account/confirm",{token:t.token}).then(n=>{if(n.data.status==="success"){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/"))}else he(e,null)}).catch(n=>{he(e,n)})},[Y.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),Ur.post("/auth/email/update",{token:t.token}).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile/edit/account")),_t.push("/profile/edit/account")):he(e,null)}).catch(n=>{he(e,n)})},[Y.ACTIONS.GET_USER_PROFILE](e,t=!1){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("auth/profile").then(n=>{if(n.data.status==="success"){const r=e.getters[Y.GETTERS.IS_PROFILE_NOT_LOADED];e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),n.data.data.accepted_privacy_policy||e.dispatch(H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY),(r||t)&&(n.data.data.language&&e.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,n.data.data.language),e.commit(H.MUTATIONS.UPDATE_DARK_MODE,n.data.data.use_dark_mode)),e.dispatch($t.ACTIONS.GET_SPORTS)}else he(e,null),_i(e)}).catch(n=>{n.message!=="canceled"&&(he(e,n),_i(e))})},[Y.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),Ur.post(`/auth/${t.actionType}`,t.formData).then(n=>{if(n.data.status==="success")if(t.actionType==="login"){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(Y.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(Y.ACTIONS.GET_USER_PROFILE,!0).then(()=>_t.push(typeof t.redirectUrl=="string"?t.redirectUrl:"/"))}else _t.push("/login").then(()=>e.commit(Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0));else he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.LOGOUT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/logout").then(t=>{t.data.status==="success"?_i(e):he(e,null)}).catch(t=>he(e,t))},[Y.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),_t.push("/profile")):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),Be.patch("auth/profile/edit/account",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),e.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!0)):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit/preferences",t).then(n=>{n.data.status==="success"?(e.commit(Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE,n.data.data),e.commit(H.MUTATIONS.UPDATE_DARK_MODE,n.data.data.use_dark_mode),e.dispatch(H.ACTIONS.UPDATE_APPLICATION_LANGUAGE,n.data.data.language).then(()=>_t.push("/profile/preferences"))):he(e,null)}).catch(n=>he(e,n)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.delete(`auth/profile/reset/sports/${t}`).then(n=>{n.status===204?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>{he(e,n),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)})},[Y.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.post("auth/profile/edit/sports",t).then(n=>{n.data.status==="success"?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>{he(e,n),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)})},[Y.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),Be.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then(r=>{r.data.status==="success"?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(r=>he(e,r)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.DELETE_ACCOUNT](e,t){NA(e,t)},[Y.ACTIONS.DELETE_PICTURE](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!0),Be.delete("auth/picture").then(t=>{t.status===204?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(t=>he(e,t)).finally(()=>e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1))},[Y.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/password/reset-request",t).then(n=>{n.data.status==="success"?_t.push("/password-reset/sent"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/account/resend-confirmation",t).then(n=>{n.data.status==="success"?_t.push("/account-confirmation/email-sent"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Ur.post("auth/password/update",t).then(n=>{n.data.status==="success"?_t.push("/password-reset/password-updated"):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.ACCEPT_PRIVACY_POLICY](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/account/privacy-policy",{accepted_policy:t}).then(n=>{n.data.status==="success"?e.dispatch(Y.ACTIONS.GET_USER_PROFILE).then(()=>_t.push("/profile")):he(e,null)}).catch(n=>he(e,n))},[Y.ACTIONS.REQUEST_DATA_EXPORT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("auth/account/export/request").then(t=>{t.data.status==="success"?e.commit(Y.MUTATIONS.SET_EXPORT_REQUEST,t.data.request):he(e,null)}).catch(t=>he(e,t))},[Y.ACTIONS.GET_REQUEST_DATA_EXPORT](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("auth/account/export").then(t=>{t.data.status==="success"?e.commit(Y.MUTATIONS.SET_EXPORT_REQUEST,t.data.request):he(e,null)}).catch(t=>he(e,t))}},jOe={[Y.GETTERS.AUTH_TOKEN]:e=>e.authToken,[Y.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[Y.GETTERS.EXPORT_REQUEST]:e=>e.exportRequest,[Y.GETTERS.IS_AUTHENTICATED]:e=>e.authToken!==null,[Y.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[Y.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[Y.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[Y.GETTERS.USER_LOADING]:e=>e.loading,[Y.GETTERS.IS_PROFILE_NOT_LOADED]:e=>e.authUserProfile.username===void 0},VOe={[Y.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[Y.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[Y.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[Y.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[Y.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[Y.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t},[Y.MUTATIONS.SET_EXPORT_REQUEST](e,t){e.exportRequest=t}},KOe={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1,exportRequest:null},YOe={state:KOe,actions:HOe,getters:jOe,mutations:VOe},nh=(e,t)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get(t).then(n=>{n.data.status==="success"?e.commit(Ve.MUTATIONS.SET_CLIENT,n.data.data.client):he(e,null)}).catch(n=>he(e,n))},qOe={[Ve.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),Be.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then(r=>{r.status==200&&r.data.redirect_url?window.location.href=r.data.redirect_url:he(e,null)}).catch(r=>he(e,r))},[Ve.ACTIONS.CREATE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.post("oauth/apps",t).then(n=>{n.data.status==="created"?(e.commit(Ve.MUTATIONS.SET_CLIENT,n.data.data.client),_t.push(`/profile/apps/${n.data.data.client.id}/created`)):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.DELETE_CLIENT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.delete(`oauth/apps/${t}`).then(n=>{n.status===204?e.dispatch(Ve.ACTIONS.GET_CLIENTS).then(()=>_t.push("/profile/apps")):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){nh(e,`oauth/apps/${t}`)},[Ve.ACTIONS.GET_CLIENT_BY_ID](e,t){nh(e,`oauth/apps/${t}/by_id`)},[Ve.ACTIONS.GET_CLIENTS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("oauth/apps",{params:t}).then(n=>{n.data.status==="success"?(e.commit(Ve.MUTATIONS.SET_CLIENTS,n.data.data.clients),e.commit(Ve.MUTATIONS.SET_CLIENTS_PAGINATION,n.data.pagination)):he(e,null)}).catch(n=>he(e,n))},[Ve.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),Be.post(`oauth/apps/${t}/revoke`).then(n=>{n.data.status==="success"?e.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):he(e,null)}).catch(n=>he(e,n))}},XOe={[Ve.GETTERS.CLIENT]:e=>e.client,[Ve.GETTERS.CLIENTS]:e=>e.clients,[Ve.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[Ve.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},ZOe={[Ve.MUTATIONS.SET_CLIENT](e,t){e.client=t},[Ve.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[Ve.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[Ve.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},QOe={client:{},clients:[],pagination:{},revocationSuccessful:!1},JOe={state:QOe,actions:qOe,getters:XOe,mutations:ZOe},{locale:eIe}=ga.global,tIe={[H.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(H.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Be.get("config").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):he(e,null)}).catch(t=>he(e,t)).finally(()=>e.commit(H.MUTATIONS.UPDATE_APPLICATION_LOADING,!1))},[H.ACTIONS.GET_APPLICATION_STATS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("stats/all").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):he(e,null)}).catch(t=>he(e,t))},[H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("config").then(t=>{t.data.status==="success"?e.commit(H.MUTATIONS.UPDATE_APPLICATION_PRIVACY_POLICY,t.data.data):he(e,null)}).catch(t=>he(e,t))},[H.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.patch("config",t).then(n=>{n.data.status==="success"?(e.commit(H.MUTATIONS.UPDATE_APPLICATION_CONFIG,n.data.data),_t.push("/admin/application")):he(e,null)}).catch(n=>he(e,n))},[H.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){var n;(n=document.querySelector("html"))==null||n.setAttribute("lang",t),e.commit(H.MUTATIONS.UPDATE_LANG,t),eIe.value=t}},nIe={[H.GETTERS.APP_CONFIG]:e=>e.application.config,[H.GETTERS.APP_LOADING]:e=>e.appLoading,[H.GETTERS.APP_STATS]:e=>e.application.statistics,[H.GETTERS.DARK_MODE]:e=>e.darkMode,[H.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[H.GETTERS.LANGUAGE]:e=>e.language,[H.GETTERS.LOCALE]:e=>e.locale},rIe={[H.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[H.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[H.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[H.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[H.MUTATIONS.UPDATE_APPLICATION_PRIVACY_POLICY](e,t){e.application.config.privacy_policy=t.privacy_policy,e.application.config.privacy_policy_date=t.privacy_policy_date},[H.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[H.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=Mo[t]},[H.MUTATIONS.UPDATE_DARK_MODE](e,t){e.darkMode=t}},aIe={root:!0,language:"en",locale:dc,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1,darkMode:null},sIe={[$t.ACTIONS.GET_SPORTS](e){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("sports").then(t=>{t.data.status==="success"?(e.commit($t.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(Y.MUTATIONS.UPDATE_USER_LOADING,!1)):he(e,null)}).catch(t=>he(e,t))},[$t.ACTIONS.UPDATE_SPORTS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.patch(`sports/${t.id}`,{is_active:t.isActive}).then(n=>{n.data.status==="success"?e.dispatch($t.ACTIONS.GET_SPORTS):he(e,null)}).catch(n=>he(e,n))}},oIe={[$t.GETTERS.SPORTS]:e=>e.sports},iIe={[$t.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},uIe={sports:[]},cIe={state:uIe,actions:sIe,getters:oIe,mutations:iIe},lIe={[Kr.ACTIONS.GET_USER_STATS](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then(n=>{n.data.status==="success"?e.commit(Kr.MUTATIONS.UPDATE_USER_STATS,n.data.data.statistics):he(e,null)}).catch(n=>he(e,n))}},dIe={[Kr.GETTERS.USER_STATS]:e=>e.statistics},fIe={[Kr.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[Kr.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},pIe={statistics:{}},mIe={state:pIe,actions:lIe,getters:dIe,mutations:fIe},EIe={[Ce.GETTERS.USER]:e=>e.user,[Ce.GETTERS.USERS]:e=>e.users,[Ce.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[Ce.GETTERS.USERS_LOADING]:e=>e.loading,[Ce.GETTERS.USERS_PAGINATION]:e=>e.pagination},hIe={[Ce.MUTATIONS.UPDATE_USER](e,t){e.user=t},[Ce.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map(n=>n.username===t.username?t:n)},[Ce.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[Ce.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[Ce.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[Ce.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},_Ie={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},TIe={state:_Ie,actions:BOe,getters:EIe,mutations:hIe},Ti=(e,t,n)=>{e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),Be.get("workouts",{params:t}).then(r=>{r.data.status==="success"?(e.commit(Te.MUTATIONS[n],r.data.data.workouts),n===ca.SET_USER_WORKOUTS&&e.commit(Te.MUTATIONS.SET_WORKOUTS_PAGINATION,r.data.pagination)):he(e,null)}).catch(r=>he(e,r))},gIe={[Te.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(Te.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),Ti(e,t,ca.SET_CALENDAR_WORKOUTS)},[Te.ACTIONS.GET_USER_WORKOUTS](e,t){Ti(e,t,ca.SET_USER_WORKOUTS)},[Te.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){Ti(e,t,ca.SET_TIMELINE_WORKOUTS)},[Te.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){Ti(e,t,ca.ADD_TIMELINE_WORKOUTS)},[Te.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";Be.get(`workouts/${t.workoutId}`).then(r=>{const a=r.data.data.workouts[0];if(r.data.status==="success"){if(t.segmentId&&(a.segments.length===0||!a.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(Te.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Be.get(`workouts/${t.workoutId}/chart_data${n}`).then(s=>{s.data.status==="success"&&e.commit(Te.MUTATIONS.SET_WORKOUT_CHART_DATA,s.data.data.chart_data)}),Be.get(`workouts/${t.workoutId}/gpx${n}`).then(s=>{s.data.status==="success"&&e.commit(Te.MUTATIONS.SET_WORKOUT_GPX,s.data.data.gpx)}))}else e.commit(Te.MUTATIONS.EMPTY_WORKOUT),he(e,null)}).catch(r=>{e.commit(Te.MUTATIONS.EMPTY_WORKOUT),he(e,r)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.DELETE_WORKOUT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.delete(`workouts/${t.workoutId}`).then(()=>{e.commit(Te.MUTATIONS.EMPTY_WORKOUT),e.dispatch(Y.ACTIONS.GET_USER_PROFILE),_t.push("/")}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.EDIT_WORKOUT](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.patch(`workouts/${t.workoutId}`,t.data).then(()=>{e.dispatch(Y.ACTIONS.GET_USER_PROFILE),e.dispatch(Te.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then(()=>{_t.push({name:"Workout",params:{workoutId:t.workoutId}})})}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=t.notes.replace(/"/g,'\\"'),r=new FormData;r.append("file",t.file),r.append("data",`{"sport_id": ${t.sport_id}, "notes": "${n}"}`),Be.post("workouts",r,{headers:{"content-type":"multipart/form-data"}}).then(a=>{if(a.data.status==="created"){e.dispatch(Y.ACTIONS.GET_USER_PROFILE);const s=a.data.data.workouts[0];_t.push(a.data.data.workouts.length===1?`/workouts/${s.id}`:"/")}}).catch(a=>{he(e,a)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))},[Te.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!0),Be.post("workouts/no_gpx",t).then(n=>{if(n.data.status==="created"){e.dispatch(Y.ACTIONS.GET_USER_PROFILE);const r=n.data.data.workouts[0];_t.push(`/workouts/${r.id}`)}}).catch(n=>{he(e,n)}).finally(()=>e.commit(Te.MUTATIONS.SET_WORKOUT_LOADING,!1))}},AIe={[Te.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[Te.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[Te.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[Te.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[Te.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},SIe={[Te.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[Te.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[Te.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[Te.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[Te.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[Te.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[Te.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[Te.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[Te.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[Te.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[Te.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[Te.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},OIe={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},IIe={state:OIe,actions:gIe,getters:AIe,mutations:SIe},vIe={authUserModule:YOe,oAuthModule:JOe,sportsModule:cIe,statsModule:mIe,usersModule:TIe,workoutsModule:IIe},RIe={state:aIe,actions:tIe,getters:nIe,mutations:rIe,modules:vIe},eo=fN(RIe),A0=C1.create({baseURL:wo()});A0.interceptors.request.use(e=>{const t=new AbortController;e.signal=t.signal;const n=fs(e);Js.set(n,t);const r=eo.getters[Y.GETTERS.AUTH_TOKEN];if(r){const a=`Bearer ${r}`;e.headers&&e.headers.Authorization!==a&&(e.headers.Authorization=`Bearer ${r}`)}return e},e=>Promise.reject(e));A0.interceptors.response.use(e=>(fs(e.config),e),e=>(e.message!=="canceled"&&e.response&&fs(e.response.config),Promise.reject(e)));const Be=A0,Hd=(e,t)=>e.push.apply(e,t),ps=e=>e.sort((t,n)=>t.i-n.i||t.j-n.j),rh=e=>{const t={};let n=1;return e.forEach(r=>{t[r]=n,n+=1}),t};var bIe={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const ah=2050,sh=1e3,NIe=bIe,CIe=10,yIe=1e4,CA=10,yA=50,DA=20,PA=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,DIe=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,PIe=/^[A-Z\xbf-\xdf]+$/,wA=/^[^a-z\xdf-\xff]+$/,wIe=/^[a-z\xdf-\xff]+$/,LIe=/^[^A-Z\xbf-\xdf]+$/,$Ie=/[a-z\xdf-\xff]/,kIe=/[A-Z\xbf-\xdf]/,UIe=/[^A-Za-z\xbf-\xdf]/gi,MIe=/^\d+$/,S0=new Date().getFullYear(),xIe={recentYear:/19\d\d|200\d|201\d|202\d/g},LA=[" ",",",";",":","|","/","\\","_",".","-"],FIe=LA.length;class WIe{match({password:t}){const n=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],r=this.filterNoise(n);return ps(r)}getMatchesWithSeparator(t){const n=[],r=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let a=0;a<=Math.abs(t.length-6);a+=1)for(let s=a+5;s<=a+9&&!(s>=t.length);s+=1){const o=t.slice(a,+s+1||9e9),i=r.exec(o);if(i!=null){const u=this.mapIntegersToDayMonthYear([parseInt(i[1],10),parseInt(i[3],10),parseInt(i[4],10)]);u!=null&&n.push({pattern:"date",token:o,i:a,j:s,separator:i[2],year:u.year,month:u.month,day:u.day})}}return n}getMatchesWithoutSeparator(t){const n=[],r=/^\d{4,8}$/,a=s=>Math.abs(s.year-S0);for(let s=0;s<=Math.abs(t.length-4);s+=1)for(let o=s+3;o<=s+7&&!(o>=t.length);o+=1){const i=t.slice(s,+o+1||9e9);if(r.exec(i)){const u=[],l=i.length;if(NIe[l].forEach(([f,d])=>{const m=this.mapIntegersToDayMonthYear([parseInt(i.slice(0,f),10),parseInt(i.slice(f,d),10),parseInt(i.slice(d),10)]);m!=null&&u.push(m)}),u.length>0){let f=u[0],d=a(u[0]);u.slice(1).forEach(m=>{const E=a(m);E{let r=!1;const a=t.length;for(let s=0;s=n.j){r=!0;break}}return!r})}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let n=0,r=0,a=0;for(let s=0,o=t.length;s99&&iah)return null;i>31&&(r+=1),i>12&&(n+=1),i<=0&&(a+=1)}return r>=2||n===3||a>=2?null:this.getDayMonth(t)}getDayMonth(t){const n=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],r=n.length;for(let a=0;a=1&&s<=31&&o>=1&&o<=12)return{day:s,month:o}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const dr=new Uint32Array(65536),GIe=(e,t)=>{const n=e.length,r=t.length,a=1<{const n=t.length,r=e.length,a=[],s=[],o=Math.ceil(n/32),i=Math.ceil(r/32);for(let E=0;E>>R&1,C=a[R/32|0]>>>R&1,L=A|E,$=((A|C)&g)+g^g|A|C;let U=E|~($|g),G=g&$;U>>>31^S&&(s[R/32|0]^=1<>>31^C&&(a[R/32|0]^=1<>>E&1,v=a[E/32|0]>>>E&1,R=g|l,A=((g|v)&c)+c^c|g|v;let S=l|~(A|c),C=c&A;m+=S>>>r-1&1,m-=C>>>r-1&1,S>>>31^b&&(s[E/32|0]^=1<>>31^v&&(a[E/32|0]^=1<{if(e.length{const r=e.length<=t.length,a=e.length<=n;return r||a?Math.ceil(e.length/4):n},jIe=(e,t,n)=>{let r=0;const a=Object.keys(t).find(s=>{const o=HIe(e,s,n);if(Math.abs(e.length-s.length)>o)return!1;const i=BIe(e,s),u=i<=o;return u&&(r=i),u});return a?{levenshteinDistance:r,levenshteinDistanceEntry:a}:{}};var oh={a:["4","@"],b:["8"],c:["(","{","[","<"],d:["6","|)"],e:["3"],f:["#"],g:["6","9","&"],h:["#","|-|"],i:["1","!","|"],k:["<","|<"],l:["!","1","|","7"],m:["^^","nn","2n","/\\\\/\\\\"],n:["//"],o:["0","()"],q:["9"],u:["|_|"],s:["$","5"],t:["+","7"],v:["<",">","/"],w:["^/","uu","vv","2u","2v","\\\\/\\\\/"],x:["%","><"],z:["2"]},_l={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class Ro{constructor(t=[]){this.parents=t,this.children=new Map}addSub(t,...n){const r=t.charAt(0);this.children.has(r)||this.children.set(r,new Ro([...this.parents,r]));let a=this.children.get(r);for(let s=1;s(Object.entries(e).forEach(([n,r])=>{r.forEach(a=>{t.addSub(a,n)})}),t);class VIe{constructor(){this.matchers={},this.l33tTable=oh,this.trieNodeRoot=ih(oh,new Ro),this.dictionary={userInputs:[]},this.rankedDictionaries={},this.rankedDictionariesMaxWordSize={},this.translations=_l,this.graphs={},this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.l33tMaxSubstitutions=100,this.maxLength=256,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable,this.trieNodeRoot=ih(t.l33tTable,new Ro)),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),t.useLevenshteinDistance!==void 0&&(this.useLevenshteinDistance=t.useLevenshteinDistance),t.levenshteinThreshold!==void 0&&(this.levenshteinThreshold=t.levenshteinThreshold),t.l33tMaxSubstitutions!==void 0&&(this.l33tMaxSubstitutions=t.l33tMaxSubstitutions),t.maxLength!==void 0&&(this.maxLength=t.maxLength)}setTranslations(t){if(this.checkCustomTranslations(t))this.translations=t;else throw new Error("Invalid translations object fallback to keys")}checkCustomTranslations(t){let n=!0;return Object.keys(_l).forEach(r=>{if(r in t){const a=r;Object.keys(_l[a]).forEach(s=>{s in t[a]||(n=!1)})}else n=!1}),n}setRankedDictionaries(){const t={},n={};Object.keys(this.dictionary).forEach(r=>{t[r]=rh(this.dictionary[r]),n[r]=this.getRankedDictionariesMaxWordSize(this.dictionary[r])}),this.rankedDictionaries=t,this.rankedDictionariesMaxWordSize=n}getRankedDictionariesMaxWordSize(t){const n=t.map(r=>typeof r!="string"?r.toString().length:r.length);return n.length===0?0:n.reduce((r,a)=>Math.max(r,a),-1/0)}buildSanitizedRankedDictionary(t){const n=[];return t.forEach(r=>{const a=typeof r;(a==="string"||a==="number"||a==="boolean")&&n.push(r.toString().toLowerCase())}),rh(n)}extendUserInputsDictionary(t){this.dictionary.userInputs||(this.dictionary.userInputs=[]);const n=[...this.dictionary.userInputs,...t];this.rankedDictionaries.userInputs=this.buildSanitizedRankedDictionary(n),this.rankedDictionariesMaxWordSize.userInputs=this.getRankedDictionariesMaxWordSize(n)}addMatcher(t,n){this.matchers[t]?console.info(`Matcher ${t} already exists`):this.matchers[t]=n}}const Re=new VIe;class KIe{constructor(t){this.defaultMatch=t}match({password:t}){const n=t.split("").reverse().join("");return this.defaultMatch({password:n}).map(r=>({...r,token:r.token.split("").reverse().join(""),reversed:!0,i:t.length-1-r.j,j:t.length-1-r.i}))}}class YIe{constructor({substr:t,limit:n,trieRoot:r}){this.buffer=[],this.finalPasswords=[],this.substr=t,this.limit=n,this.trieRoot=r}getAllPossibleSubsAtIndex(t){const n=[];let r=this.trieRoot;for(let a=t;a=this.limit)return;if(r===this.substr.length){t===n&&this.finalPasswords.push({password:this.buffer.join(""),changes:s});return}const u=[...this.getAllPossibleSubsAtIndex(r)];let l=!1;for(let c=r+u.length-1;c>=r;c-=1){const f=u[c-r];if(f.isTerminal()){if(o===f.parents.join("")&&i>=3)continue;l=!0;const d=f.subs;for(const m of d){this.buffer.push(m);const E=s.concat({i:a,letter:m,substitution:f.parents.join("")});if(this.helper({onlyFullSub:t,isFullSub:n,index:c+1,subIndex:a+m.length,changes:E,lastSubLetter:f.parents.join(""),consecutiveSubCount:o===f.parents.join("")?i+1:1}),this.buffer.pop(),this.finalPasswords.length>=this.limit)return}}}if(!t||!l){const c=this.substr.charAt(r);this.buffer.push(c),this.helper({onlyFullSub:t,isFullSub:n&&!l,index:r+1,subIndex:a+1,changes:s,lastSubLetter:o,consecutiveSubCount:i}),this.buffer.pop()}}getAll(){return this.helper({onlyFullSub:!0,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.helper({onlyFullSub:!1,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.finalPasswords}}const qIe=(e,t,n)=>new YIe({substr:e,limit:t,trieRoot:n}).getAll(),XIe=(e,t,n)=>{const a=e.changes.filter(l=>l.il-c.letter.length+c.substitution.length,t),s=e.changes.filter(l=>l.i>=t&&l.i<=n),o=s.reduce((l,c)=>l-c.letter.length+c.substitution.length,n-t+a),i=[],u=[];return s.forEach(l=>{i.findIndex(f=>f.letter===l.letter&&f.substitution===l.substitution)<0&&(i.push({letter:l.letter,substitution:l.substitution}),u.push(`${l.substitution} -> ${l.letter}`))}),{i:a,j:o,subs:i,subDisplay:u.join(", ")}};class ZIe{constructor(t){this.defaultMatch=t}isAlreadyIncluded(t,n){return t.some(r=>Object.entries(r).every(([a,s])=>a==="subs"||s===n[a]))}match({password:t}){const n=[],r=qIe(t,Re.l33tMaxSubstitutions,Re.trieNodeRoot);let a=!1,s=!0;return r.forEach(o=>{if(a)return;const i=this.defaultMatch({password:o.password,useLevenshtein:s});s=!1,i.forEach(u=>{a||(a=u.i===0&&u.j===t.length-1);const l=XIe(o,u.i,u.j),c=t.slice(l.i,+l.j+1||9e9),f={...u,l33t:!0,token:c,...l},d=this.isAlreadyIncluded(n,f);c.toLowerCase()!==u.matchedWord&&!d&&n.push(f)})}),n.filter(o=>o.token.length>1)}}class QIe{constructor(){this.l33t=new ZIe(this.defaultMatch),this.reverse=new KIe(this.defaultMatch)}match({password:t}){const n=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return ps(n)}defaultMatch({password:t,useLevenshtein:n=!0}){const r=[],a=t.length,s=t.toLowerCase();return Object.keys(Re.rankedDictionaries).forEach(o=>{const i=Re.rankedDictionaries[o],u=Re.rankedDictionariesMaxWordSize[o],l=Math.min(u,a);for(let c=0;c{const s=n[a];s.lastIndex=0;let o;for(;o=s.exec(t);)if(o){const i=o[0];r.push({pattern:"regex",token:i,i:o.index,j:o.index+o[0].length-1,regexName:a,regexMatch:o})}}),ps(r)}}var Oa={nCk(e,t){let n=e;if(t>n)return 0;if(t===0)return 1;let r=1;for(let a=1;a<=t;a+=1)r*=n,r/=a,n-=1;return r},log10(e){return e===0?0:Math.log(e)/Math.log(10)},log2(e){return Math.log(e)/Math.log(2)},factorial(e){let t=1;for(let n=2;n<=e;n+=1)t*=n;return t}},e2e=({token:e})=>{let t=CIe**e.length;t===Number.POSITIVE_INFINITY&&(t=Number.MAX_VALUE);let n;return e.length===1?n=CA+1:n=yA+1,Math.max(t,n)},t2e=({year:e,separator:t})=>{let r=Math.max(Math.abs(e-S0),DA)*365;return t&&(r*=4),r};const n2e=e=>{const t=e.split(""),n=t.filter(o=>o.match(kIe)).length,r=t.filter(o=>o.match($Ie)).length;let a=0;const s=Math.min(n,r);for(let o=1;o<=s;o+=1)a+=Oa.nCk(n+r,o);return a};var r2e=e=>{const t=e.replace(UIe,"");if(t.match(LIe)||t.toLowerCase()===t)return 1;const n=[PA,DIe,wA],r=n.length;for(let a=0;a{let n=0,r=e.indexOf(t);for(;r>=0;)n+=1,r=e.indexOf(t,r+t.length);return n},a2e=({sub:e,token:t})=>{const n=t.toLowerCase(),r=uh(n,e.substitution),a=uh(n,e.letter);return{subbedCount:r,unsubbedCount:a}};var s2e=({l33t:e,subs:t,token:n})=>{if(!e)return 1;let r=1;return t.forEach(a=>{const{subbedCount:s,unsubbedCount:o}=a2e({sub:a,token:n});if(s===0||o===0)r*=2;else{const i=Math.min(o,s);let u=0;for(let l=1;l<=i;l+=1)u+=Oa.nCk(o+s,l);r*=u}}),r},o2e=({rank:e,reversed:t,l33t:n,subs:r,token:a,dictionaryName:s})=>{const o=e,i=r2e(a),u=s2e({l33t:n,subs:r,token:a}),l=t&&2||1;let c;return s==="diceware"?c=6**5/2:c=o*i*u*l,{baseGuesses:o,uppercaseVariations:i,l33tVariations:u,calculation:c}},i2e=({regexName:e,regexMatch:t,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(e in r)return r[e]**n.length;switch(e){case"recentYear":return Math.max(Math.abs(parseInt(t[0],10)-S0),DA)}return 0},u2e=({baseGuesses:e,repeatCount:t})=>e*t,c2e=({token:e,ascending:t})=>{const n=e.charAt(0);let r=0;return["a","A","z","Z","0","1","9"].includes(n)?r=4:n.match(/\d/)?r=10:r=26,t||(r*=2),r*e.length};const l2e=e=>{let t=0;return Object.keys(e).forEach(n=>{const r=e[n];t+=r.filter(a=>!!a).length}),t/=Object.entries(e).length,t},d2e=({token:e,graph:t,turns:n})=>{const r=Object.keys(Re.graphs[t]).length,a=l2e(Re.graphs[t]);let s=0;const o=e.length;for(let i=2;i<=o;i+=1){const u=Math.min(n,i-1);for(let l=1;l<=u;l+=1)s+=Oa.nCk(i-1,l-1)*r*a**l}return s};var f2e=({graph:e,token:t,shiftedCount:n,turns:r})=>{let a=d2e({token:t,graph:e,turns:r});if(n){const s=t.length-n;if(n===0||s===0)a*=2;else{let o=0;for(let i=1;i<=Math.min(n,s);i+=1)o+=Oa.nCk(n+s,i);a*=o}}return Math.round(a)},p2e=()=>FIe;const m2e=(e,t)=>{let n=1;return e.token.lengthch[e]?ch[e](t):Re.matchers[e]&&"scoring"in Re.matchers[e]?Re.matchers[e].scoring(t):0;var h2e=(e,t)=>{const n={};if("guesses"in e&&e.guesses!=null)return e;const r=m2e(e,t),a=E2e(e.pattern,e);let s=0;typeof a=="number"?s=a:e.pattern==="dictionary"&&(s=a.calculation,n.baseGuesses=a.baseGuesses,n.uppercaseVariations=a.uppercaseVariations,n.l33tVariations=a.l33tVariations);const o=Math.max(s,r);return{...e,...n,guesses:o,guessesLog10:Oa.log10(o)}};const pn={password:"",optimal:{},excludeAdditive:!1,separatorRegex:void 0,fillArray(e,t){const n=[];for(let r=0;r1&&(a*=this.optimal.pi[r.i-1][t-1]);let s=Oa.factorial(t)*a;this.excludeAdditive||(s+=yIe**(t-1));let o=!1;Object.keys(this.optimal.g[n]).forEach(i=>{const u=this.optimal.g[n][i];parseInt(i,10)<=t&&u<=s&&(o=!0)}),o||(this.optimal.g[n][t]=s,this.optimal.m[n][t]=r,this.optimal.pi[n][t]=a)},bruteforceUpdate(e){let t=this.makeBruteforceMatch(0,e);this.update(t,1);for(let n=1;n<=e;n+=1){t=this.makeBruteforceMatch(n,e);const r=this.optimal.m[n-1];Object.keys(r).forEach(a=>{r[a].pattern!=="bruteforce"&&this.update(t,parseInt(a,10)+1)})}},unwind(e){const t=[];let n=e-1,r=0,a=1/0;const s=this.optimal.g[n];for(s&&Object.keys(s).forEach(o=>{const i=s[o];i=0;){const o=this.optimal.m[n][r];t.unshift(o),n=o.i-1,r-=1}return t}};var jd={mostGuessableMatchSequence(e,t,n=!1){pn.password=e,pn.excludeAdditive=n;const r=e.length;let a=pn.fillArray(r,"array");t.forEach(u=>{a[u.j].push(u)}),a=a.map(u=>u.sort((l,c)=>l.i-c.i)),pn.optimal={m:pn.fillArray(r,"object"),pi:pn.fillArray(r,"object"),g:pn.fillArray(r,"object")};for(let u=0;u{l.i>0?Object.keys(pn.optimal.m[l.i-1]).forEach(c=>{pn.update(l,parseInt(c,10)+1)}):pn.update(l,1)}),pn.bruteforceUpdate(u);const s=pn.unwind(r),o=s.length,i=this.getGuesses(e,o);return{password:e,guesses:i,guessesLog10:Oa.log10(i),sequence:s}},getGuesses(e,t){const n=e.length;let r=0;return e.length===0?r=1:r=pn.optimal.g[n-1][t],r}};class _2e{match({password:t,omniMatch:n}){const r=[];let a=0;for(;ao instanceof Promise)?Promise.all(r):r}normalizeMatch(t,n,r,a){const s={pattern:"repeat",i:r.index,j:n,token:r[0],baseToken:t,baseGuesses:0,repeatCount:r[0].length/t.length};return a instanceof Promise?a.then(o=>({...s,baseGuesses:o})):{...s,baseGuesses:a}}getGreedyMatch(t,n){const r=/(.+)\1+/g;return r.lastIndex=n,r.exec(t)}getLazyMatch(t,n){const r=/(.+?)\1+/g;return r.lastIndex=n,r.exec(t)}setMatchToken(t,n){const r=/^(.+?)\1+$/;let a,s="";if(n&&t[0].length>n[0].length){a=t;const o=r.exec(a[0]);o&&(s=o[1])}else a=n,a&&(s=a[1]);return{match:a,baseToken:s}}getBaseGuesses(t,n){const r=n.match(t);return r instanceof Promise?r.then(s=>jd.mostGuessableMatchSequence(t,s).guesses):jd.mostGuessableMatchSequence(t,r).guesses}}class T2e{constructor(){this.MAX_DELTA=5}match({password:t}){const n=[];if(t.length===1)return[];let r=0,a=null;const s=t.length;for(let o=1;o1||Math.abs(r)===1){const o=Math.abs(r);if(o>0&&o<=this.MAX_DELTA){const i=a.slice(t,+n+1||9e9),{sequenceName:u,sequenceSpace:l}=this.getSequence(i);return s.push({pattern:"sequence",i:t,j:n,token:a.slice(t,+n+1||9e9),sequenceName:u,sequenceSpace:l,ascending:r>0})}}return null}getSequence(t){let n="unicode",r=26;return wIe.test(t)?(n="lower",r=26):PIe.test(t)?(n="upper",r=26):MIe.test(t)&&(n="digits",r=10),{sequenceName:n,sequenceSpace:r}}}class g2e{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const n=[];return Object.keys(Re.graphs).forEach(r=>{const a=Re.graphs[r];Hd(n,this.helper(t,a,r))}),ps(n)}checkIfShifted(t,n,r){return!t.includes("keypad")&&this.SHIFTED_RX.test(n.charAt(r))?1:0}helper(t,n,r){let a;const s=[];let o=0;const i=t.length;for(;o2&&s.push({pattern:"spatial",i:o,j:u-1,token:t.slice(o,u),graph:r,turns:c,shiftedCount:a}),o=u;break}}}return s}}const A2e=new RegExp(`[${LA.join("")}]`);class zu{static getMostUsedSeparatorChar(t){const n=[...t.split("").filter(a=>A2e.test(a)).reduce((a,s)=>{const o=a.get(s);return o?a.set(s,o+1):a.set(s,1),a},new Map).entries()].sort(([a,s],[o,i])=>i-s);if(!n.length)return;const r=n[0];if(!(r[1]<2))return r[0]}static getSeparatorRegex(t){return new RegExp(`([^${t} +])(${t})(?!${t})`,"g")}match({password:t}){const n=[];if(t.length===0)return n;const r=zu.getMostUsedSeparatorChar(t);if(r===void 0)return n;const a=zu.getSeparatorRegex(r);for(const s of t.matchAll(a)){if(s.index===void 0)continue;const o=s.index+1;n.push({pattern:"separator",token:r,i:o,j:o})}return n}}class S2e{constructor(){this.matchers={date:WIe,dictionary:QIe,regex:JIe,repeat:_2e,sequence:T2e,spatial:g2e,separator:zu}}match(t){const n=[],r=[];return[...Object.keys(this.matchers),...Object.keys(Re.matchers)].forEach(s=>{if(!this.matchers[s]&&!Re.matchers[s])return;const o=this.matchers[s]?this.matchers[s]:Re.matchers[s].Matching,u=new o().match({password:t,omniMatch:this});u instanceof Promise?(u.then(l=>{Hd(n,l)}),r.push(u)):Hd(n,u)}),r.length>0?new Promise((s,o)=>{Promise.all(r).then(()=>{s(ps(n))}).catch(i=>{o(i)})}):ps(n)}}const $A=1,kA=$A*60,UA=kA*60,MA=UA*24,xA=MA*31,FA=xA*12,O2e=FA*100,Tl={second:$A,minute:kA,hour:UA,day:MA,month:xA,year:FA,century:O2e};class I2e{translate(t,n){let r=t;n!==void 0&&n!==1&&(r+="s");const{timeEstimation:a}=Re.translations;return a[r].replace("{base}",`${n}`)}estimateAttackTimes(t){const n={onlineThrottling100PerHour:t/.027777777777777776,onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},r={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(n).forEach(a=>{const s=n[a];r[a]=this.displayTime(s)}),{crackTimesSeconds:n,crackTimesDisplay:r,score:this.guessesToScore(t)}}guessesToScore(t){return t<1005?0:t<1000005?1:t<100000005?2:t<1e10+5?3:4}displayTime(t){let n="centuries",r;const a=Object.keys(Tl),s=a.findIndex(o=>t-1&&(n=a[s-1],s!==0?r=Math.round(t/Tl[n]):n="ltSecond"),this.translate(n,r)}}var v2e=()=>null,R2e=()=>({warning:Re.translations.warnings.dates,suggestions:[Re.translations.suggestions.dates]});const b2e=(e,t)=>{let n=null;return t&&!e.l33t&&!e.reversed?e.rank<=10?n=Re.translations.warnings.topTen:e.rank<=100?n=Re.translations.warnings.topHundred:n=Re.translations.warnings.common:e.guessesLog10<=4&&(n=Re.translations.warnings.similarToCommon),n},N2e=(e,t)=>{let n=null;return t&&(n=Re.translations.warnings.wordByItself),n},C2e=(e,t)=>t?Re.translations.warnings.namesByThemselves:Re.translations.warnings.commonNames,y2e=(e,t)=>{let n=null;const r=e.dictionaryName,a=r==="lastnames"||r.toLowerCase().includes("firstnames");return r==="passwords"?n=b2e(e,t):r.includes("wikipedia")?n=N2e(e,t):a?n=C2e(e,t):r==="userInputs"&&(n=Re.translations.warnings.userInputs),n};var D2e=(e,t)=>{const n=y2e(e,t),r=[],a=e.token;return a.match(PA)?r.push(Re.translations.suggestions.capitalization):a.match(wA)&&a.toLowerCase()!==a&&r.push(Re.translations.suggestions.allUppercase),e.reversed&&e.token.length>=4&&r.push(Re.translations.suggestions.reverseWords),e.l33t&&r.push(Re.translations.suggestions.l33t),{warning:n,suggestions:r}},P2e=e=>e.regexName==="recentYear"?{warning:Re.translations.warnings.recentYears,suggestions:[Re.translations.suggestions.recentYears,Re.translations.suggestions.associatedYears]}:{warning:null,suggestions:[]},w2e=e=>{let t=Re.translations.warnings.extendedRepeat;return e.baseToken.length===1&&(t=Re.translations.warnings.simpleRepeat),{warning:t,suggestions:[Re.translations.suggestions.repeated]}},L2e=()=>({warning:Re.translations.warnings.sequences,suggestions:[Re.translations.suggestions.sequences]}),$2e=e=>{let t=Re.translations.warnings.keyPattern;return e.turns===1&&(t=Re.translations.warnings.straightRow),{warning:t,suggestions:[Re.translations.suggestions.longerKeyboardPattern]}},k2e=()=>null;const lh={warning:null,suggestions:[]};class U2e{constructor(){this.matchers={bruteforce:v2e,date:R2e,dictionary:D2e,regex:P2e,repeat:w2e,sequence:L2e,spatial:$2e,separator:k2e},this.defaultFeedback={warning:null,suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(Re.translations.suggestions.useWords,Re.translations.suggestions.noNeed)}getFeedback(t,n){if(n.length===0)return this.defaultFeedback;if(t>2)return lh;const r=Re.translations.suggestions.anotherWord,a=this.getLongestMatch(n);let s=this.getMatchFeedback(a,n.length===1);return s!=null?s.suggestions.unshift(r):s={warning:null,suggestions:[r]},s}getLongestMatch(t){let n=t[0];return t.slice(1).forEach(a=>{a.token.length>n.token.length&&(n=a)}),n}getMatchFeedback(t,n){return this.matchers[t.pattern]?this.matchers[t.pattern](t,n):Re.matchers[t.pattern]&&"feedback"in Re.matchers[t.pattern]?Re.matchers[t.pattern].feedback(t,n):lh}}const WA=()=>new Date().getTime(),M2e=(e,t,n)=>{const r=new U2e,a=new I2e,s=jd.mostGuessableMatchSequence(t,e),o=WA()-n,i=a.estimateAttackTimes(s.guesses);return{calcTime:o,...s,...i,feedback:r.getFeedback(i.score,s.sequence)}},x2e=(e,t)=>(t&&Re.extendUserInputsDictionary(t),new S2e().match(e)),F2e=(e,t)=>{const n=WA(),r=x2e(e,t);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return M2e(r,e,n)},W2e="modulepreload",G2e=function(e){return"/"+e},dh={},bt=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");a=Promise.all(n.map(o=>{if(o=G2e(o),o in dh)return;dh[o]=!0;const i=o.endsWith(".css"),u=i?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const d=s[f];if(d.href===o&&(!i||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${u}`))return;const c=document.createElement("link");if(c.rel=i?"stylesheet":W2e,i||(c.as="script",c.crossOrigin=""),c.href=o,document.head.appendChild(c),i)return new Promise((f,d)=>{c.addEventListener("load",f),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})}))}return a.then(()=>t()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},z2e=async e=>{switch(e){case"fr":return await bt(()=>import("./password.fr-1uJe1-pR.js"),__vite__mapDeps([]));case"de":return await bt(()=>import("./password.de-qoep7B_f.js"),__vite__mapDeps([]));case"it":return await bt(()=>import("./password.it-ImDc22WR.js"),__vite__mapDeps([]));case"es":return await bt(()=>import("./password.es-es--6AdGpRj.js"),__vite__mapDeps([]));case"pl":return await bt(()=>import("./password.pl-Ipz4x2MM.js"),__vite__mapDeps([]));default:return await bt(()=>import("./password.en-lIq_N4yZ.js"),__vite__mapDeps([]))}},fh=async e=>{const t=await bt(()=>import("./password.common-7m77ow97.js"),__vite__mapDeps([])),n=await z2e(e),r={graphs:t.adjacencyGraphs,dictionary:{...t.dictionary,...n.dictionary}};Re.setOptions(r)},B2e=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},H2e={class:"password-strength"},j2e=["value"],V2e={key:0,class:"password-strength-details"},K2e={class:"password-strength-value"},Y2e={key:0,class:"info-box"},q2e={class:"password-feedback"},X2e=Q({__name:"PasswordStength",props:{password:{}},setup(e){const t=e,{password:n}=_e(t),r=$e(),a=k(()=>r.getters[H.GETTERS.LANGUAGE]),s=k(()=>r.getters[Y.GETTERS.IS_SUCCESS]),o=ce(0),i=ce(""),u=ce([]),l=ce("0% 100%");It(async()=>await fh(a.value));function c(f){const d=F2e(f);o.value=d.score,i.value=B2e(o.value),u.value=d.feedback.suggestions,l.value=o.value*100/4+"% 100%"}return Fe(()=>a.value,async f=>{await fh(f)}),Fe(()=>n.value,async f=>{s.value?i.value="":c(f)}),(f,d)=>(T(),N("div",H2e,[p("input",{class:ge(["password-slider",`strength-${o.value}`]),style:Yr({backgroundSize:l.value}),type:"range",value:o.value,min:"0",max:"4",step:"1",tabindex:-1},null,14,j2e),i.value?(T(),N("div",V2e,[p("span",K2e,_(f.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+_(f.$t(`user.PASSWORD_STRENGTH.${i.value}`)),1),u.value.length>0?(T(),N("div",Y2e,[p("ul",q2e,[(T(!0),N(Ie,null,xe(u.value,m=>(T(),N("li",{key:m},_(f.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${m}`)),1))),128))])])):F("",!0)])):F("",!0)]))}}),Z2e=ae(X2e,[["__scopeId","data-v-1affb508"]]),Q2e=e=>(ut("data-v-ac528612"),e=e(),ct(),e),J2e={class:"password-input"},eve=["id","disabled","placeholder","required","type"],tve={class:"show-password"},nve={key:0,class:"form-info"},rve=Q2e(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),ave=Q({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:{},required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:r,disabled:a,id:s,password:o,placeholder:i,required:u}=_e(n),l=ce(!1),c=ce(""),f=t;function d(){l.value=!l.value}function m(g){f("updatePassword",g.target.value)}function E(){f("passwordError")}return Fe(()=>o.value,g=>{g===""&&(c.value="",l.value=!1)}),(g,b)=>(T(),N("div",J2e,[Ke(p("input",{id:h(s),disabled:h(a),placeholder:h(i),required:h(u),type:l.value?"text":"password","onUpdate:modelValue":b[0]||(b[0]=v=>c.value=v),minlength:"8",onInput:m,onInvalid:E},null,40,eve),[[p2,c.value]]),p("div",tve,[p("button",{class:"transparent",onClick:Xe(d,["prevent"]),type:"button"},[K(_(g.$t(`user.${l.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),p("i",{class:ge(["fa",`fa-eye${l.value?"-slash":""}`]),"aria-hidden":"true"},null,2)])]),h(r)?(T(),N("div",nve,[rve,K(" "+_(g.$t("user.PASSWORD_INFO")),1)])):F("",!0),h(r)?(T(),te(Z2e,{key:1,password:c.value},null,8,["password"])):F("",!0)]))}}),Vd=ae(ave,[["__scopeId","data-v-ac528612"]]),O0=e=>(ut("data-v-8ebb5cd3"),e=e(),ct(),e),sve={id:"user-infos-edition"},ove={class:"profile-form form-box"},ive={key:1,class:"info-box success-message"},uve={class:"form-items",for:"email"},cve=["disabled"],lve={class:"form-items",for:"password-field"},dve={class:"form-items",for:"new-password-field"},fve={class:"form-buttons"},pve={class:"confirm",type:"submit"},mve={class:"data-export"},Eve={class:"info-box"},hve=O0(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),_ve={key:0,class:"data-export-archive"},Tve=O0(()=>p("i",{class:"fa fa-download","aria-hidden":"true"},null,-1)),gve={key:1},Ave={key:2},Sve=O0(()=>p("i",{class:"fa fa-spinner fa-pulse","aria-hidden":"true"},null,-1)),Ove=Q({__name:"UserAccountEdition",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=xt({email:"",password:"",new_password:""}),s=k(()=>r.getters[Y.GETTERS.USER_LOADING]),o=k(()=>r.getters[H.GETTERS.APP_CONFIG]),i=k(()=>r.getters[Y.GETTERS.IS_SUCCESS]),u=ce(!1),l=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]),c=ce(!1),f=ce(!1),d=k(()=>r.getters[Y.GETTERS.EXPORT_REQUEST]),m=k(()=>A()),E=ce(!1);gt(()=>{t.user&&(r.dispatch(Y.ACTIONS.GET_REQUEST_DATA_EXPORT),b(t.user))});function g(){c.value=!0}function b(B){a.email=B.email}function v(B){a.password=B}function R(B){a.new_password=B}function A(){return d.value?xn(d.value.created_at,n.value.timezone,n.value.date_format,!0,null,!0):null}function S(){return m.value?M3(new Date(m.value),W3(new Date,1)):!0}function C(){const B={email:a.email,password:a.password};a.new_password&&(B.new_password=a.new_password),u.value=a.email!==n.value.email,r.dispatch(Y.ACTIONS.UPDATE_USER_ACCOUNT,B)}function L(B){f.value=B}function $(B){r.dispatch(Y.ACTIONS.DELETE_ACCOUNT,{username:B})}function U(){r.dispatch(Y.ACTIONS.REQUEST_DATA_EXPORT)}async function G(B){E.value=!0,await Be.get(`/auth/account/export/${B}`,{responseType:"blob"}).then(w=>{const Z=window.URL.createObjectURL(new Blob([w.data],{type:"application/zip"})),J=document.createElement("a");J.href=Z,J.setAttribute("download",B),document.body.appendChild(J),J.click()}).finally(()=>E.value=!1)}return Rt(()=>{r.commit(Y.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),Fe(()=>i.value,async B=>{B&&(v(""),R(""),b(n.value),c.value=!1)}),Fe(()=>n.value.email,async()=>{b(n.value)}),(B,w)=>{const Z=ue("Modal"),J=ue("ErrorMessage");return T(),N("div",sve,[f.value?(T(),te(Z,{key:0,title:B.$t("common.CONFIRMATION"),message:B.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:w[0]||(w[0]=re=>$(h(n).username)),onCancelAction:w[1]||(w[1]=re=>L(!1)),onKeydown:w[2]||(w[2]=At(re=>L(!1),["esc"]))},null,8,["title","message"])):F("",!0),p("div",ove,[l.value?(T(),te(J,{key:0,message:l.value},null,8,["message"])):F("",!0),i.value?(T(),N("div",ive,_(B.$t(`user.PROFILE.SUCCESSFUL_${u.value&&o.value.is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):F("",!0),p("form",{class:ge({errors:c.value}),onSubmit:Xe(C,["prevent"])},[p("label",uve,[K(_(B.$t("user.EMAIL"))+"* ",1),Ke(p("input",{id:"email","onUpdate:modelValue":w[3]||(w[3]=re=>a.email=re),disabled:s.value,required:!0,onInvalid:g},null,40,cve),[[tt,a.email]])]),p("label",lve,[K(_(B.$t("user.CURRENT_PASSWORD"))+"* ",1),M(Vd,{id:"password-field",disabled:s.value,password:a.password,required:!0,onUpdatePassword:v,onPasswordError:g},null,8,["disabled","password"])]),p("label",dve,[K(_(B.$t("user.NEW_PASSWORD"))+" ",1),M(Vd,{id:"new-password-field",disabled:s.value,checkStrength:!0,password:a.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:g},null,8,["disabled","password"])]),p("div",fve,[p("button",pve,_(B.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:w[4]||(w[4]=Xe(re=>B.$router.push("/profile"),["prevent"]))},_(B.$t("buttons.CANCEL")),1),p("button",{class:"danger",onClick:w[5]||(w[5]=Xe(re=>L(!0),["prevent"]))},_(B.$t("buttons.DELETE_MY_ACCOUNT")),1),S()?(T(),N("button",{key:0,class:"confirm",onClick:Xe(U,["prevent"])},_(B.$t("buttons.REQUEST_DATA_EXPORT")),1)):F("",!0)])],34),p("div",mve,[p("span",Eve,[hve,K(" "+_(B.$t("user.EXPORT_REQUEST.ONLY_ONE_EXPORT_PER_DAY")),1)]),d.value?(T(),N("div",_ve,[K(_(B.$t("user.EXPORT_REQUEST.DATA_EXPORT"))+" ("+_(m.value)+"): ",1),d.value.status==="successful"?(T(),N("span",{key:0,class:"archive-link",onClick:w[6]||(w[6]=Xe(re=>G(d.value.file_name),["prevent"]))},[Tve,K(" "+_(B.$t("user.EXPORT_REQUEST.DOWNLOAD_ARCHIVE"))+" ("+_(h(tu)(d.value.file_size))+") ",1)])):(T(),N("span",gve,_(B.$t(`user.EXPORT_REQUEST.STATUS.${d.value.status}`)),1)),E.value?(T(),N("span",Ave,[K(_(B.$t("user.EXPORT_REQUEST.GENERATING_LINK"))+" ",1),Sve])):F("",!0)])):F("",!0)])])])}}}),Ive=ae(Ove,[["__scopeId","data-v-8ebb5cd3"]]),vve={id:"user-infos-edition"},Rve={class:"profile-form form-box"},bve={class:"form-items",for:"registrationDate"},Nve=["value"],Cve={class:"form-items",for:"first_name"},yve=["disabled"],Dve={class:"form-items",for:"last_name"},Pve={class:"form-items",for:"birth_date"},wve=["disabled"],Lve={class:"form-items",for:"location"},$ve=["disabled"],kve={class:"form-items"},Uve={class:"form-buttons"},Mve={class:"confirm",type:"submit"},xve=Q({__name:"UserInfosEdition",props:{user:{}},setup(e){const t=e,n=$e(),r=xt({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),a=k(()=>t.user.created_at?xn(t.user.created_at,t.user.timezone,t.user.date_format):""),s=k(()=>n.getters[Y.GETTERS.USER_LOADING]),o=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);gt(()=>{t.user&&i(t.user)});function i(c){r.first_name=c.first_name?c.first_name:"",r.last_name=c.last_name?c.last_name:"",r.birth_date=c.birth_date?ln(new Date(c.birth_date),"yyyy-MM-dd"):"",r.location=c.location?c.location:"",r.bio=c.bio?c.bio:""}function u(c){r.bio=c}function l(){n.dispatch(Y.ACTIONS.UPDATE_USER_PROFILE,r)}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(c,f)=>{const d=ue("ErrorMessage"),m=ue("CustomTextArea");return T(),N("div",vve,[p("div",Rve,[o.value?(T(),te(d,{key:0,message:o.value},null,8,["message"])):F("",!0),p("form",{onSubmit:Xe(l,["prevent"])},[p("label",bve,[K(_(c.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),p("input",{id:"registrationDate",value:a.value,disabled:""},null,8,Nve)]),p("label",Cve,[K(_(c.$t("user.PROFILE.FIRST_NAME"))+" ",1),Ke(p("input",{id:"first_name","onUpdate:modelValue":f[0]||(f[0]=E=>r.first_name=E),disabled:s.value},null,8,yve),[[tt,r.first_name]])]),p("label",Dve,[K(_(c.$t("user.PROFILE.LAST_NAME"))+" ",1),Ke(p("input",{id:"last_name","onUpdate:modelValue":f[1]||(f[1]=E=>r.last_name=E)},null,512),[[tt,r.last_name]])]),p("label",Pve,[K(_(c.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Ke(p("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":f[2]||(f[2]=E=>r.birth_date=E),disabled:s.value},null,8,wve),[[tt,r.birth_date]])]),p("label",Lve,[K(_(c.$t("user.PROFILE.LOCATION"))+" ",1),Ke(p("input",{id:"location","onUpdate:modelValue":f[3]||(f[3]=E=>r.location=E),disabled:s.value},null,8,$ve),[[tt,r.location]])]),p("label",kve,[K(_(c.$t("user.PROFILE.BIO"))+" ",1),M(m,{name:"bio",charLimit:200,input:r.bio,disabled:s.value,onUpdateValue:u},null,8,["input","disabled"])]),p("div",Uve,[p("button",Mve,_(c.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:f[4]||(f[4]=Xe(E=>c.$router.push("/profile"),["prevent"]))},_(c.$t("buttons.CANCEL")),1)])],32)])])}}}),Fve=ae(xve,[["__scopeId","data-v-5f5c8fca"]]),Wve=e=>(ut("data-v-8f62d42f"),e=e(),ct(),e),Gve={id:"user-picture-edition"},zve={class:"user-picture-form"},Bve={class:"picture-help"},Hve={class:"info-box"},jve=Wve(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),Vve={class:"picture-buttons"},Kve=["disabled"],Yve=Q({__name:"UserPictureEdition",props:{user:{}},setup(e){const t=e,n=$e(),{user:r}=_e(t),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),s=k(()=>n.getters[H.GETTERS.APP_CONFIG]),o=s.value.max_single_file_size?tu(s.value.max_single_file_size):"",i=ce(null);function u(){n.dispatch(Y.ACTIONS.DELETE_PICTURE)}function l(f){f.target.files!==null&&(i.value=f.target.files[0])}function c(){i.value&&n.dispatch(Y.ACTIONS.UPDATE_USER_PICTURE,{picture:i.value})}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(f,d)=>{const m=ue("ErrorMessage");return T(),N("div",Gve,[p("div",zve,[a.value?(T(),te(m,{key:0,message:a.value},null,8,["message"])):F("",!0),M(Lo,{user:h(r)},null,8,["user"]),p("form",{onSubmit:Xe(c,["prevent"])},[p("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:l},null,32),p("div",Bve,[p("span",Hve,[jve,K(" "+_(f.$t("workouts.MAX_SIZE"))+": "+_(h(o)),1)])]),p("div",Vve,[p("button",{type:"submit",disabled:!i.value},_(f.$t("user.PROFILE.PICTURE_UPDATE")),9,Kve),h(r).picture?(T(),N("button",{key:0,class:"danger",onClick:u},_(f.$t("user.PROFILE.PICTURE_REMOVE")),1)):F("",!0),p("button",{class:"cancel",onClick:d[0]||(d[0]=E=>f.$router.push("/profile"))},_(f.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],32)])])}}}),qve=ae(Yve,[["__scopeId","data-v-8f62d42f"]]),Xve=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],Zve={id:"tz-dropdown"},Qve=["value","disabled"],Jve=["onClick","onMouseover","autofocus"],eRe=Q({__name:"TimezoneDropdown",props:{input:{},disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,r=t,{input:a,disabled:s}=_e(n),o=ce(a.value),i=ce(!1),u=ce(null),l=ce(0);function c(g){return g.toLowerCase().match(o.value.toLowerCase())}function f(g){l.value=g}function d(g){o.value=g,i.value=!1,r("updateTimezone",g)}function m(g){var b,v,R,A;g.preventDefault(),(v=(b=u.value)==null?void 0:b.firstElementChild)!=null&&v.innerHTML&&d((A=(R=u.value)==null?void 0:R.firstElementChild)==null?void 0:A.innerHTML)}function E(g){g.preventDefault(),i.value=!0,o.value=g.target.value.trim()}return Fe(()=>n.input,g=>{o.value=g}),(g,b)=>(T(),N("div",Zve,[p("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:o.value,disabled:h(s),required:"",onKeydown:[b[0]||(b[0]=At(v=>d(h(a)),["esc"])),At(m,["enter"])],onInput:E},null,40,Qve),i.value?(T(),N("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:u},[(T(!0),N(Ie,null,xe(h(Xve).filter(v=>c(v)),(v,R)=>(T(),N("li",{key:v,class:ge(["tz-dropdown-item",{focus:R===l.value}]),onClick:A=>d(v),onMouseover:A=>f(R),autofocus:R===l.value},_(v),43,Jve))),128))],512)):F("",!0)]))}}),tRe=ae(eRe,[["__scopeId","data-v-0ed9f402"]]),nRe=e=>(ut("data-v-e38a969e"),e=e(),ct(),e),rRe={id:"user-preferences-edition"},aRe={class:"profile-form form-box"},sRe={class:"preferences-section"},oRe={class:"form-items"},iRe=["disabled"],uRe=["value"],cRe={class:"form-items"},lRe=["disabled"],dRe=["value"],fRe={class:"form-items"},pRe={class:"form-items"},mRe=["disabled"],ERe=["value"],hRe={class:"form-items form-checkboxes"},_Re={class:"checkboxes-label"},TRe={class:"checkboxes"},gRe=["id","name","checked","disabled","onInput"],ARe={class:"checkbox-label"},SRe={class:"preferences-section"},ORe={class:"form-items form-checkboxes"},IRe={class:"checkboxes-label"},vRe={class:"checkboxes"},RRe=["id","name","checked","disabled","onInput"],bRe={class:"checkbox-label"},NRe={class:"form-items form-checkboxes"},CRe={class:"checkboxes-label"},yRe={class:"checkboxes"},DRe=["id","name","checked","disabled","onInput"],PRe={class:"checkbox-label"},wRe={class:"form-items form-checkboxes"},LRe={class:"checkboxes-label"},$Re={class:"checkboxes"},kRe=["id","name","checked","disabled","onInput"],URe={class:"checkbox-label"},MRe={class:"form-items form-checkboxes"},xRe={class:"checkboxes-label"},FRe={class:"checkboxes"},WRe=["id","name","checked","disabled","onInput"],GRe={class:"checkbox-label"},zRe={class:"info-box raw-speed-help"},BRe=nRe(()=>p("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)),HRe={class:"form-buttons"},jRe={class:"confirm",type:"submit"},VRe=Q({__name:"UserPreferencesEdition",props:{user:{}},setup(e){const t=e,n=$e(),r=xt({display_ascent:!0,imperial_units:!1,language:"en",timezone:"Europe/Paris",date_format:"dd/MM/yyyy",weekm:!1,start_elevation_at_zero:!1,use_raw_gpx_speed:!1,use_dark_mode:!1}),a=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],s=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],o=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],i=[{label:"ZERO",value:!0},{label:"MIN_ALT",value:!1}],u=[{label:"FILTERED_SPEED",value:!1},{label:"RAW_SPEED",value:!0}],l=[{label:"DARK",value:!0},{label:"DEFAULT",value:null},{label:"LIGHT",value:!1}],c=k(()=>n.getters[Y.GETTERS.USER_LOADING]),f=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),d=k(()=>NSe(new Date().toUTCString(),t.user.timezone,r.language));gt(()=>{t.user&&m(t.user)});function m(C){r.display_ascent=C.display_ascent,r.start_elevation_at_zero=C.start_elevation_at_zero?C.start_elevation_at_zero:!1,r.use_raw_gpx_speed=C.use_raw_gpx_speed?C.use_raw_gpx_speed:!1,r.imperial_units=C.imperial_units?C.imperial_units:!1,r.language=C.language?C.language:"en",r.timezone=C.timezone?C.timezone:"Europe/Paris",r.date_format=C.date_format?C.date_format:"dd/MM/yyyy",r.weekm=C.weekm?C.weekm:!1,r.use_dark_mode=C.use_dark_mode}function E(){n.dispatch(Y.ACTIONS.UPDATE_USER_PREFERENCES,r)}function g(C){r.timezone=C}function b(C){r.start_elevation_at_zero=C}function v(C){r.use_raw_gpx_speed=C}function R(C){r.display_ascent=C}function A(C){r.imperial_units=C}function S(C){r.weekm=C}return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(C,L)=>{const $=ue("ErrorMessage");return T(),N("div",rRe,[p("div",aRe,[f.value?(T(),te($,{key:0,message:f.value},null,8,["message"])):F("",!0),p("form",{onSubmit:Xe(E,["prevent"])},[p("div",sRe,_(C.$t("user.PROFILE.INTERFACE")),1),p("label",oRe,[K(_(C.$t("user.PROFILE.LANGUAGE"))+" ",1),Ke(p("select",{id:"language","onUpdate:modelValue":L[0]||(L[0]=U=>r.language=U),disabled:c.value},[(T(!0),N(Ie,null,xe(h(ud),U=>(T(),N("option",{value:U.value,key:U.value},_(U.label),9,uRe))),128))],8,iRe),[[js,r.language]])]),p("label",cRe,[K(_(C.$t("user.PROFILE.THEME_MODE.LABEL"))+" ",1),Ke(p("select",{id:"use_dark_mode","onUpdate:modelValue":L[1]||(L[1]=U=>r.use_dark_mode=U),disabled:c.value},[(T(),N(Ie,null,xe(l,U=>p("option",{value:U.value,key:U.label},_(C.$t(`user.PROFILE.THEME_MODE.VALUES.${U.label}`)),9,dRe)),64))],8,lRe),[[js,r.use_dark_mode]])]),p("label",fRe,[K(_(C.$t("user.PROFILE.TIMEZONE"))+" ",1),M(tRe,{input:r.timezone,disabled:c.value,onUpdateTimezone:g},null,8,["input","disabled"])]),p("label",pRe,[K(_(C.$t("user.PROFILE.DATE_FORMAT"))+" ",1),Ke(p("select",{id:"date_format","onUpdate:modelValue":L[2]||(L[2]=U=>r.date_format=U),disabled:c.value},[(T(!0),N(Ie,null,xe(d.value,U=>(T(),N("option",{value:U.value,key:U.value},_(U.label),9,ERe))),128))],8,mRe),[[js,r.date_format]])]),p("div",hRe,[p("span",_Re,_(C.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),p("div",TRe,[(T(),N(Ie,null,xe(a,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.weekm,disabled:c.value,onInput:G=>S(U.value)},null,40,gRe),p("span",ARe,_(C.$t(`user.PROFILE.${U.label}`)),1)])),64))])]),p("div",SRe,_(C.$t("workouts.WORKOUT",0)),1),p("div",ORe,[p("span",IRe,_(C.$t("user.PROFILE.UNITS.LABEL")),1),p("div",vRe,[(T(),N(Ie,null,xe(s,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.imperial_units,disabled:c.value,onInput:G=>A(U.value)},null,40,RRe),p("span",bRe,_(C.$t(`user.PROFILE.UNITS.${U.label}`)),1)])),64))])]),p("div",NRe,[p("span",CRe,_(C.$t("user.PROFILE.ASCENT_DATA")),1),p("div",yRe,[(T(),N(Ie,null,xe(o,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.display_ascent,disabled:c.value,onInput:G=>R(U.value)},null,40,DRe),p("span",PRe,_(C.$t(`common.${U.label}`)),1)])),64))])]),p("div",wRe,[p("span",LRe,_(C.$t("user.PROFILE.ELEVATION_CHART_START.LABEL")),1),p("div",$Re,[(T(),N(Ie,null,xe(i,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.start_elevation_at_zero,disabled:c.value,onInput:G=>b(U.value)},null,40,kRe),p("span",URe,_(C.$t(`user.PROFILE.ELEVATION_CHART_START.${U.label}`)),1)])),64))])]),p("div",MRe,[p("span",xRe,_(C.$t("user.PROFILE.USE_RAW_GPX_SPEED.LABEL")),1),p("div",FRe,[(T(),N(Ie,null,xe(u,U=>p("label",{key:U.label},[p("input",{type:"radio",id:U.label,name:U.label,checked:U.value===r.use_raw_gpx_speed,disabled:c.value,onInput:G=>v(U.value)},null,40,WRe),p("span",GRe,_(C.$t(`user.PROFILE.USE_RAW_GPX_SPEED.${U.label}`)),1)])),64))]),p("div",zRe,[p("span",null,[BRe,K(" "+_(C.$t("user.PROFILE.USE_RAW_GPX_SPEED.HELP")),1)])])]),p("div",HRe,[p("button",jRe,_(C.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:L[3]||(L[3]=Xe(U=>C.$router.push("/profile/preferences"),["prevent"]))},_(C.$t("buttons.CANCEL")),1)])],32)])])}}}),KRe=ae(VRe,[["__scopeId","data-v-e38a969e"]]),YRe={class:"privacy-policy-text"},qRe={class:"last-update"},XRe=["innerHTML"],ZRe=["innerHTML"],QRe="Sun, 26 Feb 2023 17:00:00 GMT",JRe=Q({__name:"PrivacyPolicy",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.LANGUAGE]),a=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),s=k(()=>c()),o=k(()=>l()),i=k(()=>f()),u=["DATA_COLLECTED","INFORMATION_USAGE","INFORMATION_PROTECTION","INFORMATION_DISCLOSURE","SITE_USAGE_BY_CHILDREN","YOUR_CONSENT","ACCOUNT_DELETION","CHANGES_TO_OUR_PRIVACY_POLICY"];function l(){return a.value.timezone?a.value.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone?Intl.DateTimeFormat().resolvedOptions().timeZone:"Europe/Paris"}function c(){return IA[r.value]}function f(){return xn(n.value.privacy_policy&&n.value.privacy_policy_date?`${n.value.privacy_policy_date}`:QRe,o.value,s.value,!1)}return(d,m)=>(T(),N("div",YRe,[p("h1",null,_(St(d.$t("privacy_policy.TITLE"))),1),p("p",qRe,[K(_(d.$t("privacy_policy.LAST_UPDATE"))+": ",1),p("time",null,_(i.value),1)]),n.value.privacy_policy?(T(),N("div",{key:0,innerHTML:h(ma)(h(vo)(n.value.privacy_policy))},null,8,XRe)):(T(),N(Ie,{key:1},xe(u,E=>(T(),N(Ie,{key:E},[p("h2",null,_(d.$t(`privacy_policy.CONTENT.${E}.TITLE`)),1),p("p",{innerHTML:h(ma)(d.$t(`privacy_policy.CONTENT.${E}.CONTENT`))},null,8,ZRe)],64))),64))]))}}),GA=ae(JRe,[["__scopeId","data-v-31d5cd27"]]),ebe={id:"user-privacy-policy"},tbe={key:1},nbe={class:"policy-content"},rbe={for:"accepted_policy",class:"accepted_policy"},abe={class:"form-buttons"},sbe={class:"confirm",type:"submit"},obe=Q({__name:"UserPrivacyPolicyValidation",props:{user:{}},setup(e){const t=e,{user:n}=_e(t),r=$e(),a=k(()=>r.getters[H.GETTERS.ERROR_MESSAGES]),s=ce(!1);function o(){r.dispatch(Y.ACTIONS.ACCEPT_PRIVACY_POLICY,s.value)}return Rt(()=>{r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}),(i,u)=>{const l=ue("ErrorMessage"),c=ue("router-link"),f=ue("i18n-t");return T(),N("div",ebe,[a.value?(T(),te(l,{key:0,message:a.value},null,8,["message"])):F("",!0),h(n).accepted_privacy_policy?(T(),N("div",tbe,[p("p",null,[M(f,{keypath:"user.YOU_HAVE_ACCEPTED_PRIVACY_POLICY"},{default:fe(()=>[M(c,{to:"/privacy-policy"},{default:fe(()=>[K(_(i.$t("privacy_policy.TITLE")),1)]),_:1})]),_:1})]),p("button",{class:"cancel",onClick:u[0]||(u[0]=d=>i.$router.push("/profile"))},_(i.$t("user.PROFILE.BACK_TO_PROFILE")),1)])):(T(),N("form",{key:2,onSubmit:u[3]||(u[3]=Xe(d=>o(),["prevent"]))},[p("div",nbe,[M(GA)]),p("label",rbe,[Ke(p("input",{type:"checkbox",id:"accepted_policy",required:"","onUpdate:modelValue":u[1]||(u[1]=d=>s.value=d)},null,512),[[hf,s.value]]),p("span",null,[M(f,{keypath:"user.READ_AND_ACCEPT_PRIVACY_POLICY"},{default:fe(()=>[K(_(i.$t("privacy_policy.TITLE")),1)]),_:1})])]),M(c,{to:"/profile/edit/account"},{default:fe(()=>[K(_(i.$t("user.I_WANT_TO_DELETE_MY_ACCOUNT")),1)]),_:1}),p("div",abe,[p("button",sbe,_(i.$t("buttons.SUBMIT")),1),p("button",{class:"cancel",onClick:u[2]||(u[2]=d=>i.$router.push("/profile"))},_(i.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],32))])}}}),ibe=ae(obe,[["__scopeId","data-v-a70349ce"]]),ube=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],cbe=["application:write"],lbe={id:"new-oauth2-app"},dbe={id:"new-oauth2-title"},fbe={id:"apps-form"},pbe={class:"form-items"},mbe={class:"form-item"},Ebe={for:"app-name"},hbe={class:"form-item"},_be={for:"app-description"},Tbe={class:"form-item"},gbe={for:"app-url"},Abe={class:"form-item"},Sbe={for:"app-redirect-uri"},Obe={class:"form-item-scope"},Ibe={class:"form-item-scope-label"},vbe={class:"scope-label"},Rbe=["name","checked","onChange"],bbe=["innerHTML"],Nbe={class:"form-buttons"},Cbe=["disabled"],ybe=Q({__name:"AddUserApp",props:{authUser:{}},setup(e){const t=e,n=$e(),r=xt({client_name:"",client_uri:"",client_description:"",description:"",redirect_uri:""}),a=xt([]),s=k(()=>l(t.authUser,cbe,ube));function o(){const c={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:a.sort().join(" ")};n.dispatch(Ve.ACTIONS.CREATE_CLIENT,c)}function i(c){r.client_description=c}function u(c){const f=a.indexOf(c);f>-1?a.splice(f,1):a.push(c)}function l(c,f,d){const m=[...d];return c.admin&&m.push(...f),m.sort()}return(c,f)=>{const d=ue("CustomTextArea");return T(),N("div",lbe,[p("h1",dbe,_(c.$t("oauth2.ADD_A_NEW_APP")),1),p("div",fbe,[p("form",{onSubmit:Xe(o,["prevent"])},[p("div",pbe,[p("div",mbe,[p("label",Ebe,_(c.$t("oauth2.APP.NAME"))+"*",1),Ke(p("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":f[0]||(f[0]=m=>r.client_name=m)},null,512),[[tt,r.client_name]])]),p("div",hbe,[p("label",_be,_(c.$t("oauth2.APP.DESCRIPTION")),1),M(d,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:i},null,8,["input"])]),p("div",Tbe,[p("label",gbe,_(c.$t("oauth2.APP.URL"))+"*",1),Ke(p("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":f[1]||(f[1]=m=>r.client_uri=m)},null,512),[[tt,r.client_uri]])]),p("div",Abe,[p("label",Sbe,_(c.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),Ke(p("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":f[2]||(f[2]=m=>r.redirect_uri=m)},null,512),[[tt,r.redirect_uri]])]),p("div",Obe,[p("div",Ibe,_(c.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),(T(!0),N(Ie,null,xe(s.value,m=>(T(),N("div",{class:"form-item-scope-checkboxes",key:m},[p("label",vbe,[p("input",{type:"checkbox",name:m,checked:a.includes(m),onChange:E=>u(m)},null,40,Rbe),p("code",null,_(m),1)]),p("p",{class:"scope-description",innerHTML:c.$t(`oauth2.APP.SCOPE.${m}_DESCRIPTION`)},null,8,bbe)]))),128))])]),p("div",Nbe,[p("button",{class:"confirm",type:"submit",disabled:a.length===0},_(c.$t("buttons.SUBMIT")),9,Cbe),p("button",{class:"cancel",onClick:f[3]||(f[3]=Xe(()=>c.$router.push("/profile/apps"),["prevent"]))},_(c.$t("buttons.CANCEL")),1)])],32)])])}}}),Dbe=ae(ybe,[["__scopeId","data-v-e2284e06"]]),Pbe={id:"authorize-oauth2-app"},wbe={key:0},Lbe={id:"authorize-oauth2-title"},$be={class:"oauth2-access description-list"},kbe={class:"client-scope"},Ube=["innerHTML"],Mbe={class:"authorize-oauth2-buttons"},xbe={key:1},Fbe={class:"no-app"},Wbe=Q({__name:"AuthorizeUserApp",setup(e){const t=Vt(),n=$e(),r=k(()=>n.getters[Ve.GETTERS.CLIENT]),a=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]);It(()=>s());function s(){t.query.client_id&&typeof t.query.client_id=="string"&&n.dispatch(Ve.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function o(){n.dispatch(Ve.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(i,u)=>{const l=ue("router-link"),c=ue("i18n-t"),f=ue("ErrorMessage");return T(),N("div",Pbe,[r.value.client_id?(T(),N("div",wbe,[p("h1",Lbe,[M(c,{keypath:"oauth2.AUTHORIZE_APP"},{default:fe(()=>[M(l,{to:{name:"UserApp",params:{id:r.value.id}}},{default:fe(()=>[K(_(r.value.name),1)]),_:1},8,["to"])]),_:1})]),a.value?(T(),te(f,{key:0,message:a.value},null,8,["message"])):F("",!0),p("div",$be,[p("p",null,_(i.$t("oauth2.APP_REQUESTING_ACCESS")),1),p("dl",null,[(T(!0),N(Ie,null,xe(r.value.scope.split(" "),d=>(T(),N(Ie,{key:d},[p("dt",kbe,[p("code",null,_(d),1)]),p("dd",{innerHTML:i.$t(`oauth2.APP.SCOPE.${d}_DESCRIPTION`)},null,8,Ube)],64))),128))]),p("div",Mbe,[p("button",{class:"danger",onClick:o},_(i.$t("buttons.AUTHORIZE")),1),p("button",{class:"cancel",onClick:u[0]||(u[0]=d=>i.$router.push("/profile/apps"))},_(i.$t("buttons.CANCEL")),1)])])])):(T(),N("div",xbe,[p("p",Fbe,_(i.$t("oauth2.NO_APP")),1),p("button",{onClick:u[1]||(u[1]=d=>i.$router.push("/profile/apps"))},_(i.$t("buttons.BACK")),1)]))])}}}),Gbe=ae(Wbe,[["__scopeId","data-v-a8ed6bf8"]]),zbe={id:"oauth2-apps"},Bbe=Q({__name:"index",props:{user:{}},setup(e){const t=e,n=$e(),{user:r}=_e(t);return Rt(()=>{n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(Ve.MUTATIONS.SET_CLIENTS,[])}),(a,s)=>{const o=ue("router-view");return T(),N("div",zbe,[M(o,{authUser:h(r)},null,8,["authUser"])])}}}),Hbe={id:"oauth2-app",class:"description-list"},jbe={key:1},Vbe={key:0,class:"info-box success-message"},Kbe=["title"],Ybe={key:0},qbe={key:1,class:"app-secret"},Xbe=["title"],Zbe={class:"client-scopes"},Qbe={class:"app-buttons"},Jbe={key:2},eNe={class:"no-app"},tNe=Q({__name:"UserApp",props:{authUser:{},afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=Vt(),r=$e(),{afterCreation:a,authUser:s}=_e(t),o=k(()=>r.getters[Ve.GETTERS.CLIENT]),i=k(()=>r.getters[Ve.GETTERS.REVOCATION_SUCCESSFUL]),u=ce(!1),l=ce(""),c=ce(!1),f=ce(!1),d=ce(!1);It(()=>{m(),navigator.clipboard&&(d.value=!0)});function m(){!a.value&&n.params.id&&typeof n.params.id=="string"&&r.dispatch(Ve.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function E(A){l.value=A?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",g(!0)}function g(A){u.value=A,A||(l.value="")}function b(A){l.value==="oauth2.APP_DELETION_CONFIRMATION"?r.dispatch(Ve.ACTIONS.DELETE_CLIENT,A):r.dispatch(Ve.ACTIONS.REVOKE_ALL_TOKENS,A)}function v(){navigator.clipboard.writeText(o.value.client_id),c.value=!0,f.value=!1,setTimeout(()=>{c.value=!1},3e3)}function R(){o.value.client_secret&&(navigator.clipboard.writeText(o.value.client_secret),f.value=!0,c.value=!1,setTimeout(()=>{f.value=!1},3e3))}return Rt(()=>{r.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES),r.commit(Ve.MUTATIONS.EMPTY_CLIENT),r.commit(Ve.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)}),Fe(()=>i.value,A=>{A&&g(!1)}),(A,S)=>{const C=ue("Modal");return T(),N("div",Hbe,[u.value?(T(),te(C,{key:0,title:A.$t("common.CONFIRMATION"),message:A.$t(l.value),onConfirmAction:S[0]||(S[0]=L=>b(o.value.id)),onCancelAction:S[1]||(S[1]=L=>g(!1)),onKeydown:S[2]||(S[2]=At(L=>g(!1),["esc"]))},null,8,["title","message"])):F("",!0),o.value&&o.value.client_id?(T(),N("div",jbe,[h(a)||i.value?(T(),N("div",Vbe,_(A.$t(h(a)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):F("",!0),p("dl",null,[p("dt",null,_(A.$t("oauth2.APP.CLIENT_ID"))+":",1),p("dd",null,[K(_(o.value.client_id)+" ",1),h(a)&&d.value?(T(),N("i",{key:0,class:ge(`fa fa-${c.value?"check":"copy"}`),"aria-hidden":"true",title:A.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:v},null,10,Kbe)):F("",!0)]),h(a)&&o.value.client_secret?(T(),N("dt",Ybe,_(A.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):F("",!0),h(a)&&o.value.client_secret?(T(),N("dd",qbe,[K(_(o.value.client_secret)+" ",1),d.value?(T(),N("i",{key:0,class:ge(`fa fa-${f.value?"check":"copy"}`),"aria-hidden":"true",title:A.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:R},null,10,Xbe)):F("",!0)])):F("",!0),p("dt",null,_(St(A.$t("oauth2.APP.ISSUE_AT")))+":",1),p("dd",null,[p("time",null,_(h(xn)(o.value.issued_at,h(s).timezone,h(s).date_format)),1)]),p("dt",null,_(A.$t("oauth2.APP.NAME"))+":",1),p("dd",null,_(o.value.name),1),p("dt",null,_(A.$t("oauth2.APP.DESCRIPTION"))+":",1),p("dd",{class:ge({"no-description":!o.value.client_description})},_(o.value.client_description?o.value.client_description:A.$t("oauth2.NO_DESCRIPTION")),3),p("dt",null,_(A.$t("oauth2.APP.URL"))+":",1),p("dd",null,_(o.value.website),1),p("dt",null,_(A.$t("oauth2.APP.REDIRECT_URL"))+":",1),p("dd",null,_(o.value.redirect_uris.length>0?o.value.redirect_uris[0]:""),1),p("dt",null,_(A.$t("oauth2.APP.SCOPE.LABEL"))+":",1),p("dd",Zbe,[(T(!0),N(Ie,null,xe(o.value.scope.split(" "),L=>(T(),N("span",{class:"client-scope",key:L},[p("code",null,_(L),1)]))),128))])]),p("div",Qbe,[p("button",{class:"danger",onClick:S[3]||(S[3]=L=>E(!1))},_(A.$t("oauth2.REVOKE_ALL_TOKENS")),1),p("button",{class:"danger",onClick:S[4]||(S[4]=L=>E(!0))},_(A.$t("oauth2.DELETE_APP")),1),p("button",{onClick:S[5]||(S[5]=L=>A.$router.push("/profile/apps"))},_(A.$t("buttons.BACK")),1)])])):(T(),N("div",Jbe,[p("p",eNe,_(A.$t("oauth2.NO_APP")),1),p("button",{onClick:S[6]||(S[6]=L=>A.$router.push("/profile/apps"))},_(A.$t("buttons.BACK")),1)]))])}}}),ph=ae(tNe,[["__scopeId","data-v-3a7d0f4a"]]),nNe={id:"oauth2-apps-list"},rNe={class:"apps-list"},aNe={key:0},sNe={class:"app-issued-at"},oNe={key:1,class:"no-apps"},iNe={class:"app-list-buttons"},uNe=Q({__name:"UserAppsList",props:{authUser:{}},setup(e){const t=e,n=$e(),r=Vt(),{authUser:a}=_e(t),s=k(()=>n.getters[Ve.GETTERS.CLIENTS]),o=k(()=>n.getters[Ve.GETTERS.CLIENTS_PAGINATION]);let i=u(r.query);It(()=>{l(i)});function u(c){const f={};return c.page&&(f.page=Fd(c.page,_A)),f}function l(c){n.dispatch(Ve.ACTIONS.GET_CLIENTS,c)}return Fe(()=>r.query,async c=>{i=u(c),l(i)}),(c,f)=>{const d=ue("router-link");return T(),N("div",nNe,[p("p",rNe,_(c.$t("oauth2.APPS_LIST")),1),s.value.length>0?(T(),N("ul",aNe,[(T(!0),N(Ie,null,xe(s.value,m=>(T(),N("li",{key:m.client_id},[M(d,{to:{name:"UserApp",params:{id:m.id}}},{default:fe(()=>[K(_(m.name),1)]),_:2},1032,["to"]),p("span",sNe,[K(_(c.$t("oauth2.APP.ISSUE_AT"))+" ",1),p("time",null,_(h(xn)(m.issued_at,h(a).timezone,h(a).date_format)),1)])]))),128))])):(T(),N("div",oNe,_(c.$t("oauth2.NO_APPS")),1)),s.value.length>0?(T(),te(Wu,{key:2,pagination:o.value,path:"/profile/apps",query:h(i)},null,8,["pagination","query"])):F("",!0),p("div",iNe,[p("button",{onClick:f[0]||(f[0]=m=>c.$router.push("/profile/apps/new"))},_(c.$t("oauth2.NEW_APP")),1),p("button",{onClick:f[1]||(f[1]=m=>c.$router.push("/"))},_(c.$t("common.HOME")),1)])])}}}),cNe=ae(uNe,[["__scopeId","data-v-064a87b7"]]),lNe={id:"user-sport-preferences"},dNe={key:0,class:"responsive-table"},fNe={class:"mobile-display"},pNe={key:0,class:"profile-buttons mobile-display"},mNe={key:1,class:"profile-buttons"},ENe={class:"text-left"},hNe={key:0},_Ne={class:"cell-heading"},TNe=["value"],gNe={class:"cell-heading"},ANe={key:0,class:"disabled-message"},SNe={key:1,class:"fa fa-refresh fa-spin fa-fw"},ONe={class:"cell-heading"},INe={class:"cell-heading"},vNe=["checked"],RNe={class:"cell-heading"},bNe=["value"],NNe={key:1},CNe={key:0,class:"action-buttons"},yNe={class:"cell-heading"},DNe=["onClick"],PNe={key:1,class:"edition-buttons"},wNe=["disabled"],LNe=["disabled","onClick"],$Ne=["disabled"],kNe={key:0,class:"profile-buttons"},UNe={key:1,class:"profile-buttons"},MNe="#838383",xNe=Q({__name:"UserSportPreferences",props:{user:{},isEdition:{type:Boolean}},setup(e){const t=e,n=$e(),{t:r}=jt(),{isEdition:a,user:s}=_e(t),o=ht("sportColors"),i=k(()=>n.getters[$t.GETTERS.SPORTS]),u=k(()=>Jr(i.value,r,"is_active",s.value.sports_list)),l=k(()=>n.getters[Y.GETTERS.USER_LOADING]),c=k(()=>n.getters[H.GETTERS.ERROR_MESSAGES]),f=xt({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function d(S){S!==null?(f.sport_id=S.id,f.color=S.color?S.color:o?o[S.label]:MNe,f.is_active=S.is_active_for_user,f.stopped_speed_threshold=S.stopped_speed_threshold):v()}function m(S){return f.sport_id===S}function E(S){f.color=S.target.value}function g(S){f.stopped_speed_threshold=parseFloat(S.target.value)}function b(S){f.is_active=S.target.checked}function v(){f.sport_id=0,f.color=null,f.is_active=!0,f.stopped_speed_threshold=1,n.commit(H.MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(S){S.preventDefault(),n.dispatch(Y.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,f)}function A(S,C){S.preventDefault(),n.dispatch(Y.ACTIONS.RESET_USER_SPORT_PREFERENCES,C)}return Fe(()=>l.value,S=>{!S&&!c.value&&v()}),(S,C)=>{const L=ue("SportImage"),$=ue("ErrorMessage");return T(),N("div",lNe,[i.value.length>0?(T(),N("div",dNe,[p("div",fNe,[h(a)?(T(),N("div",pNe,[p("button",{class:"cancel",onClick:C[0]||(C[0]=Xe(U=>S.$router.push("/profile/sports"),["prevent"]))},_(S.$t("buttons.BACK")),1)])):(T(),N("div",mNe,[p("button",{onClick:C[1]||(C[1]=U=>S.$router.push("/profile/edit/sports"))},_(S.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),p("button",{onClick:C[2]||(C[2]=U=>S.$router.push("/"))},_(S.$t("common.HOME")),1)]))]),p("table",null,[p("thead",null,[p("tr",null,[p("th",null,_(S.$t("user.PROFILE.SPORT.COLOR")),1),p("th",ENe,_(S.$t("workouts.SPORT",0)),1),p("th",null,_(S.$t("workouts.WORKOUT",0)),1),p("th",null,_(S.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p("th",null,_(S.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),h(a)?(T(),N("th",hNe,_(S.$t("user.PROFILE.SPORT.ACTION")),1)):F("",!0)])]),p("tbody",null,[(T(!0),N(Ie,null,xe(u.value,U=>(T(),N("tr",{key:U.id},[p("td",null,[p("span",_Ne,_(S.$t("user.PROFILE.SPORT.COLOR")),1),m(U.id)?(T(),N("input",{key:0,class:"sport-color",type:"color",value:f.color,onInput:E},null,40,TNe)):(T(),te(L,{key:1,title:U.translatedLabel,"sport-label":U.label,color:U.color?U.color:h(o)[U.label]},null,8,["title","sport-label","color"]))]),p("td",{class:ge(["sport-label",{"disabled-sport":!U.is_active}])},[p("span",gNe,_(S.$t("user.PROFILE.SPORT.LABEL")),1),K(" "+_(U.translatedLabel)+" ",1),U.is_active?F("",!0):(T(),N("span",ANe," ("+_(S.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),l.value&&m(U.id)?(T(),N("i",SNe)):F("",!0),c.value&&f.sport_id===U.id?(T(),te($,{key:2,message:c.value},null,8,["message"])):F("",!0)],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",ONe,_(S.$t("workouts.WORKOUT",0)),1),p("i",{class:ge(`fa fa${h(s).sports_list.includes(U.id)?"-check":""}`),"aria-hidden":"true"},null,2)],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",INe,_(S.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),m(U.id)&&U.is_active?(T(),N("input",{key:0,type:"checkbox",checked:U.is_active_for_user,onChange:b},null,40,vNe)):(T(),N("i",{key:1,class:ge(`fa fa${U.is_active_for_user?"-check":""}`),"aria-hidden":"true"},null,2))],2),p("td",{class:ge(["text-center",{"disabled-sport":!U.is_active}])},[p("span",RNe,_(S.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),m(U.id)&&U.is_active?(T(),N("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:f.stopped_speed_threshold,onInput:g},null,40,bNe)):(T(),N("span",NNe,_(U.stopped_speed_threshold),1))],2),h(a)?(T(),N("td",CNe,[p("span",yNe,_(S.$t("user.PROFILE.SPORT.ACTION")),1),f.sport_id===0?(T(),N("button",{key:0,onClick:G=>d(U)},_(S.$t("buttons.EDIT")),9,DNe)):F("",!0),m(U.id)?(T(),N("div",PNe,[p("button",{disabled:l.value,onClick:R},_(S.$t("buttons.SUBMIT")),9,wNe),p("button",{disabled:l.value,onClick:G=>A(G,U.id)},_(S.$t("buttons.RESET")),9,LNe),p("button",{disabled:l.value,onClick:C[3]||(C[3]=G=>d(null))},_(S.$t("buttons.CANCEL")),9,$Ne)])):F("",!0)])):F("",!0)]))),128))])]),h(a)?(T(),N("div",kNe,[p("button",{class:"cancel",onClick:C[4]||(C[4]=Xe(U=>S.$router.push("/profile/sports"),["prevent"]))},_(S.$t("buttons.BACK")),1)])):(T(),N("div",UNe,[p("button",{onClick:C[5]||(C[5]=U=>S.$router.push("/profile/edit/sports"))},_(S.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),p("button",{onClick:C[6]||(C[6]=U=>S.$router.push("/"))},_(S.$t("common.HOME")),1)]))])):F("",!0)])}}}),mh=ae(xNe,[["__scopeId","data-v-aa4857fe"]]),Bo=e=>(ut("data-v-43bcf522"),e=e(),ct(),e),FNe={class:"about-text"},WNe=["innerHTML"],GNe=Bo(()=>p("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1)),zNe=["href"],BNe=Bo(()=>p("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1)),HNe={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},jNe=Bo(()=>p("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1)),VNe=Bo(()=>p("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1)),KNe={key:0},YNe=Bo(()=>p("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1)),qNe=["href"],XNe={key:1},ZNe=["href"],QNe={class:"about-instance"},JNe=["innerHTML"],e3e=Q({__name:"About",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>o()),a=k(()=>t.getters[H.GETTERS.LANGUAGE]),s=k(()=>i());function o(){const u={};return n.value.weather_provider==="visualcrossing"&&(u.name="Visual Crossing",u.url="https://www.visualcrossing.com"),u}function i(){let u="https://samr1.github.io/FitTrackee/";return a.value==="fr"&&(u+="fr/"),u}return(u,l)=>{const c=ue("i18n-t");return T(),N("div",FNe,[p("div",null,[p("p",{class:"error-message",innerHTML:u.$t("about.FITTRACKEE_DESCRIPTION")},null,8,WNe),p("p",null,[GNe,p("a",{class:"documentation-link",href:s.value,target:"_blank",rel:"noopener noreferrer"},_(St(u.$t("common.DOCUMENTATION"))),9,zNe)]),p("p",null,[BNe,p("a",HNe,_(u.$t("about.SOURCE_CODE")),1)]),p("p",null,[jNe,M(c,{keypath:"about.FITTRACKEE_LICENSE"},{default:fe(()=>[VNe]),_:1})]),n.value.admin_contact?(T(),N("div",KNe,[YNe,p("a",{href:`mailto:${n.value.admin_contact}`},_(u.$t("about.CONTACT_ADMIN")),9,qNe)])):F("",!0),r.value&&r.value.name?(T(),N("div",XNe,[K(_(u.$t("about.WEATHER_DATA_FROM"))+" ",1),p("a",{href:r.value.url,target:"_blank",rel:"nofollow noopener"},_(r.value.name),9,ZNe)])):F("",!0),n.value.about?(T(),N(Ie,{key:2},[p("p",QNe,_(u.$t("about.ABOUT_THIS_INSTANCE")),1),p("div",{innerHTML:h(ma)(h(vo)(n.value.about))},null,8,JNe)],64)):F("",!0)])])}}}),t3e=ae(e3e,[["__scopeId","data-v-43bcf522"]]),n3e={},r3e={id:"bike"},a3e=["src"];function s3e(e,t){return T(),N("div",r3e,[p("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,a3e)])}const zA=ae(n3e,[["render",s3e],["__scopeId","data-v-dc181e30"]]),o3e={id:"about",class:"view"},i3e={class:"container"},u3e={class:"container-sub"},c3e={class:"container-sub about-details"},l3e=Q({__name:"AboutView",setup(e){return(t,n)=>(T(),N("div",o3e,[p("div",i3e,[p("div",u3e,[M(zA)]),p("div",c3e,[M(t3e)])])]))}}),d3e=ae(l3e,[["__scopeId","data-v-ef9c7198"]]),f3e={id:"error"},p3e={class:"error-content"},m3e=Q({__name:"Error",props:{title:{},message:{},buttonText:{},path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:r,message:a,path:s}=_e(t);return(o,i)=>(T(),N("div",f3e,[p("div",p3e,[p("h1",null,_(h(r)),1),p("p",null,_(h(a)),1),h(n)?(T(),N("button",{key:0,onClick:i[0]||(i[0]=u=>o.$router.push(h(s))),class:"upper"},_(h(n)),1)):F("",!0)])]))}}),E3e=ae(m3e,[["__scopeId","data-v-48ec856d"]]),I0=Q({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=_e(t),r=ce(),a=ce(!1);gt(()=>s());function s(){r.value=setTimeout(()=>{a.value=!0},500)}return Rt(()=>{r.value&&clearTimeout(r.value)}),(o,i)=>a.value?(T(),te(E3e,{key:0,title:"404",message:o.$t(`error.NOT_FOUND.${h(n)}`),"button-text":o.$t("common.HOME")},null,8,["message","button-text"])):F("",!0)}}),h3e=e=>(ut("data-v-5eee0876"),e=e(),ct(),e),_3e={id:"admin",class:"view"},T3e={key:0,class:"container"},g3e=h3e(()=>p("div",{id:"bottom"},null,-1)),A3e=Q({__name:"AdminView",setup(e){const t=$e(),n=k(()=>t.getters[H.GETTERS.APP_CONFIG]),r=k(()=>t.getters[H.GETTERS.APP_STATS]),a=k(()=>t.getters[Y.GETTERS.IS_ADMIN]),s=k(()=>t.getters[Y.GETTERS.USER_LOADING]);return It(()=>t.dispatch(H.ACTIONS.GET_APPLICATION_STATS)),(o,i)=>{const u=ue("router-view");return T(),N("div",_3e,[s.value?F("",!0):(T(),N("div",T3e,[a.value?(T(),te(u,{key:0,appConfig:n.value,appStatistics:r.value},null,8,["appConfig","appStatistics"])):(T(),te(I0,{key:1})),g3e]))])}}}),S3e=ae(A3e,[["__scopeId","data-v-5eee0876"]]),BA="/img/workouts/mountains.svg",O3e=p("div",{class:"map-attribution"},[p("span",{class:"map-attribution-text"},"©"),p("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1),HA=Q({__name:"StaticMap",props:{workout:{},displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=_e(t),r=`${wo()}workouts/map/${t.workout.map}`;return(a,s)=>(T(),N("div",{class:ge(["static-map",{"display-hover":h(n)}])},[h(n)?(T(),N("img",{key:0,src:r,alt:""})):(T(),N("div",{key:1,class:"bg-map-image",style:Yr({backgroundImage:`url(${r})`})},null,4)),O3e],2))}}),v0=e=>(ut("data-v-0bcae633"),e=e(),ct(),e),I3e={class:"timeline-workout"},v3e={class:"box"},R3e={class:"workout-user-date"},b3e={class:"workout-user"},N3e=["title"],C3e={key:0},y3e={key:1,class:"no-map"},D3e={class:"img"},P3e={class:"data"},w3e=v0(()=>p("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)),L3e={key:0},$3e={class:"data"},k3e=v0(()=>p("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)),U3e={key:0,class:"data elevation"},M3e=["alt"],x3e={class:"data-values"},F3e={key:1,class:"data altitude"},W3e=v0(()=>p("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)),G3e={class:"data-values"},z3e=Q({__name:"WorkoutCard",props:{user:{},useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=$e(),{user:r,workout:a,sport:s,useImperialUnits:o}=_e(t),i=k(()=>n.getters[H.GETTERS.LOCALE]);function u(c){return c.with_gpx&&c.min_alt!==null&&c.max_alt!==null}function l(c){return u(c)&&c.ascent!==null&&c.descent!==null}return(c,f)=>{var g;const d=ue("router-link"),m=ue("SportImage"),E=ue("Distance");return T(),N("div",I3e,[p("div",v3e,[p("div",R3e,[p("div",b3e,[M(Lo,{user:h(r)},null,8,["user"]),h(r).username?(T(),te(d,{key:0,class:"workout-user-name",to:{name:"User",params:{username:h(r).username}}},{default:fe(()=>[K(_(h(r).username),1)]),_:1},8,["to"])):F("",!0)]),h(a).id?(T(),te(d,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:h(a).id}}},{default:fe(()=>[K(_(h(a).title),1)]),_:1},8,["to"])):F("",!0),h(a).workout_date&&h(r)?(T(),N("div",{key:1,class:"workout-date",title:h(xn)(h(a).workout_date,h(r).timezone,h(r).date_format)},_(h(U3)(new Date(h(a).workout_date),new Date,{addSuffix:!0,locale:i.value})),9,N3e)):F("",!0)]),p("div",{class:ge(["workout-map",{"no-cursor":!h(a)}]),onClick:f[0]||(f[0]=b=>h(a).id?c.$router.push({name:"Workout",params:{workoutId:h(a).id}}):null)},[h(a)?(T(),N("div",C3e,[h(a).with_gpx?(T(),te(HA,{key:0,workout:h(a)},null,8,["workout"])):(T(),N("div",y3e,_(c.$t("workouts.NO_MAP")),1))])):F("",!0)],2),p("div",{class:ge(["workout-data",{"without-elevation":!u(h(a))}]),onClick:f[1]||(f[1]=b=>h(a).id?c.$router.push({name:"Workout",params:{workoutId:h(a).id}}):null)},[p("div",D3e,[(g=h(s))!=null&&g.label?(T(),te(m,{key:0,"sport-label":h(s).label,color:h(s).color},null,8,["sport-label","color"])):F("",!0)]),p("div",P3e,[w3e,h(a)?(T(),N("span",L3e,_(h(a).moving),1)):F("",!0)]),p("div",$3e,[k3e,h(a).id?(T(),te(E,{key:0,distance:h(a).distance,digits:3,unitFrom:"km",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)]),u(h(a))?(T(),N("div",U3e,[p("img",{class:"mountains",src:BA,alt:c.$t("workouts.ELEVATION")},null,8,M3e),p("div",x3e,[h(a).id?(T(),te(E,{key:0,distance:h(a).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0),K("/ "),h(a).id?(T(),te(E,{key:1,distance:h(a).max_alt,unitFrom:"m",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)])])):F("",!0),l(h(a))?(T(),N("div",F3e,[W3e,p("div",G3e,[K(" +"),h(a).id?(T(),te(E,{key:0,distance:h(a).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0),K("/- "),h(a).id?(T(),te(E,{key:1,distance:h(a).descent,unitFrom:"m",useImperialUnits:h(o)},null,8,["distance","useImperialUnits"])):F("",!0)])])):F("",!0)],2)])])}}}),Eh=ae(z3e,[["__scopeId","data-v-0bcae633"]]),B3e={},H3e={class:"no-workouts box"};function j3e(e,t){const n=ue("router-link");return T(),N("div",H3e,[p("div",null,[K(_(e.$t("workouts.NO_WORKOUTS"))+" ",1),M(n,{to:"/workouts/add"},{default:fe(()=>[K(_(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)]),_:1})])])}const R0=ae(B3e,[["render",j3e],["__scopeId","data-v-b0c91cc6"]]),Gr={ligthMode:{text:"#666",line:"rgba(0, 0, 0, 0.1)"},darkMode:{text:"#a1a1a1",line:"#3f3f3f"}},V3e=(e,t,n,r=!1)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["transparent"],borderColor:[r?"#5f5c97":"#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:[r?"#303030":"#e5e5e5"],borderColor:[r?"#222222":"#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map(u=>{s.push(wi("km",u.distance,n)),o.push(u.duration),a.speed.data.push(wi("km",u.speed,n)),u.elevation!==void 0&&a.elevation.data.push(wi("m",u.elevation,n)),i.push({latitude:u.latitude,longitude:u.longitude})}),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},K3e=e=>{const t=e.length;if(t===0)return{};const n={};return e.map(r=>{n[r.sport_id]||(n[r.sport_id]={count:0,percentage:0}),n[r.sport_id].count+=1,n[r.sport_id].percentage=n[r.sport_id].count/t}),n},bo={order:"desc",order_by:"workout_date"},Y3e={id:"timeline"},q3e={class:"section-title"},X3e={key:0},Z3e={key:1},Q3e={key:1,class:"more-workouts"},gi=5,J3e=Q({__name:"Timeline",props:{sports:{},user:{}},setup(e){const t=e,n=$e(),{sports:r,user:a}=_e(t),s=ce(1),o=t.user.nb_workouts>=gi?gi:t.user.nb_workouts;It(()=>l());const i=k(()=>n.getters[Te.GETTERS.TIMELINE_WORKOUTS]),u=k(()=>i.value.length>0?i.value[i.value.length-1].previous_workout!==null:!1);function l(){n.dispatch(Te.ACTIONS.GET_TIMELINE_WORKOUTS,{page:s.value,per_page:gi,...bo})}function c(){s.value+=1,n.dispatch(Te.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:s.value,per_page:gi,...bo})}return(f,d)=>(T(),N("div",Y3e,[p("div",q3e,_(f.$t("workouts.LATEST_WORKOUTS")),1),h(a).nb_workouts>0&&i.value.length===0?(T(),N("div",X3e,[(T(!0),N(Ie,null,xe([...Array(h(o)).keys()],m=>(T(),te(Eh,{user:h(a),useImperialUnits:h(a).imperial_units,key:m},null,8,["user","useImperialUnits"]))),128))])):(T(),N("div",Z3e,[(T(!0),N(Ie,null,xe(i.value,m=>(T(),te(Eh,{workout:m,sport:i.value.length>0?h(r).filter(E=>E.id===m.sport_id)[0]:null,user:h(a),useImperialUnits:h(a).imperial_units,key:m.id},null,8,["workout","sport","user","useImperialUnits"]))),128)),i.value.length===0?(T(),te(R0,{key:0})):F("",!0),u.value?(T(),N("div",Q3e,[p("button",{onClick:c},_(f.$t("workouts.LOAD_MORE_WORKOUT")),1)])):F("",!0)]))]))}}),eCe=ae(J3e,[["__scopeId","data-v-e0964959"]]),tCe=["title"],jA=Q({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:{},sportLabel:{},sportColor:{}},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:a,sportColor:s}=_e(t);return(o,i)=>{const u=ue("SportImage");return T(),N("div",{class:"calendar-workout",onClick:i[0]||(i[0]=l=>o.$router.push({name:"Workout",params:{workoutId:h(r).id}}))},[M(u,{"sport-label":h(a),title:h(r).title,color:h(s)},null,8,["sport-label","title","color"]),p("sup",null,[h(r).records.length>0?(T(),N("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:h(r).records.filter(l=>h(n)?!0:l.record_type!=="HA").map(l=>` ${o.$t(`workouts.RECORD_${l.record_type}`)}`)[0]},null,8,tCe)):F("",!0)])])}}}),nCe={class:"donut-chart"},rCe={height:"34",width:"34",viewBox:"0 0 34 34"},aCe=["stroke","stroke-dashoffset","transform"],hh=16,_h=16,Th=14,sCe=Q({__name:"DonutChart",props:{colors:{},datasets:{}},setup(e){const t=e,{colors:n,datasets:r}=_e(t);let a=-90;const s=2*Math.PI*Th;function o(u,l){return l-u*l}function i(u,l){const c=`rotate(${a}, ${hh}, ${_h})`;return a=l*360+a,c}return(u,l)=>(T(),N("div",nCe,[(T(),N("svg",rCe,[(T(!0),N(Ie,null,xe(Object.entries(h(r)),(c,f)=>(T(),N("g",{key:f},[p("circle",{cx:hh,cy:_h,r:Th,fill:"transparent",stroke:h(n)[+c[0]],"stroke-dashoffset":o(c[1].percentage,s),"stroke-dasharray":s,"stroke-width":"3","stroke-opacity":"0.8",transform:i(f,c[1].percentage)},null,8,aCe)]))),128))]))]))}}),oCe={class:"calendar-workouts-chart"},iCe={class:"workouts-count"},uCe={key:0,class:"workouts-pane"},cCe={class:"more-workouts"},lCe=Q({__name:"CalendarWorkoutsChart",props:{colors:{},datasets:{},sports:{},workouts:{},displayHARecord:{type:Boolean}},setup(e){const t=e,{colors:n,datasets:r,sports:a,workouts:s}=_e(t),o=ce(!0);function i(u){u.stopPropagation(),o.value=!o.value}return(u,l)=>{const c=GO("click-outside");return T(),N("div",oCe,[p("div",{class:"workouts-chart",onClick:i},[p("div",iCe,_(h(s).length),1),M(sCe,{datasets:h(r),colors:h(n)},null,8,["datasets","colors"])]),o.value?F("",!0):(T(),N("div",uCe,[Ke((T(),N("div",cCe,[p("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:i}),(T(!0),N(Ie,null,xe(h(s),(f,d)=>(T(),te(jA,{key:d,displayHARecord:u.displayHARecord,workout:f,sportLabel:h(_0)(f,h(a)),sportColor:h(T0)(f,h(a))},null,8,["displayHARecord","workout","sportLabel","sportColor"]))),128))])),[[c,i]])]))])}}}),gh=ae(lCe,[["__scopeId","data-v-bf05bb20"]]),dCe={class:"calendar-workouts"},fCe={class:"desktop-display"},pCe={key:0,class:"workouts-display"},mCe={key:1,class:"donut-display"},ECe={class:"mobile-display"},hCe={key:0,class:"donut-display"},Ah=6,_Ce=Q({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:{},sports:{}},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:a}=_e(t),s=k(()=>K3e(t.workouts)),o=k(()=>lAe(t.sports));return(i,u)=>(T(),N("div",dCe,[p("div",fCe,[h(r).length<=Ah?(T(),N("div",pCe,[(T(!0),N(Ie,null,xe(h(r).slice(0,Ah),(l,c)=>(T(),te(jA,{key:c,displayHARecord:h(n),workout:l,sportLabel:h(_0)(l,h(a)),sportColor:h(T0)(l,h(a))},null,8,["displayHARecord","workout","sportLabel","sportColor"]))),128))])):(T(),N("div",mCe,[M(gh,{workouts:h(r),sports:h(a),datasets:s.value,colors:o.value,displayHARecord:h(n)},null,8,["workouts","sports","datasets","colors","displayHARecord"])]))]),p("div",ECe,[h(r).length>0?(T(),N("div",hCe,[M(gh,{workouts:h(r),sports:h(a),datasets:s.value,colors:o.value,displayHARecord:h(n)},null,8,["workouts","sports","datasets","colors","displayHARecord"])])):F("",!0)])]))}}),TCe={class:"calendar-cells"},gCe={class:"calendar-cell-day"},ACe=Q({__name:"CalendarCells",props:{currentDay:{},displayHARecord:{type:Boolean},endDate:{},sports:{},startDate:{},timezone:{},weekStartingMonday:{type:Boolean},workouts:{}},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:a,sports:s,startDate:o,timezone:i,weekStartingMonday:u,workouts:l}=_e(t),c=ce([]);gt(()=>f());function f(){c.value=[];let E=o.value;for(;E<=a.value;){const g=[];for(let b=0;b<7;b++)g.push(E),E=$o(E,1);c.value.push(g)}}function d(E){return u.value?[5,6].includes(E):[0,6].includes(E)}function m(E,g){return g?g.filter(b=>oT(yc(b.workout_date,i.value),E)).reverse():[]}return Fe(()=>t.currentDay,()=>f()),(E,g)=>(T(),N("div",TCe,[(T(!0),N(Ie,null,xe(c.value,(b,v)=>(T(),N("div",{class:"calendar-row",key:v},[(T(!0),N(Ie,null,xe(b,(R,A)=>(T(),N("div",{class:ge(["calendar-cell",{"disabled-cell":!h(x3)(R,h(n)),"week-end":d(A),today:h(F3)(R)}]),key:A},[M(_Ce,{workouts:m(R,h(l)),sports:h(s),displayHARecord:h(r)},null,8,["workouts","sports","displayHARecord"]),p("div",gCe,_(h(ln)(R,"d")),1)],2))),128))]))),128))]))}}),SCe={class:"calendar-days"},OCe=Q({__name:"CalendarDays",props:{startDate:{},localeOptions:{}},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push($o(t.startDate,r));return(r,a)=>(T(),N("div",SCe,[(T(),N(Ie,null,xe(n,(s,o)=>p("div",{class:"calendar-day",key:o},_(h(ln)(s,"EEE",{locale:r.localeOptions})),1)),64))]))}}),ICe={class:"calendar-header"},vCe=p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),RCe=[vCe],bCe={class:"calendar-month"},NCe=p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),CCe=[NCe],yCe=Q({__name:"CalendarHeader",props:{day:{},localeOptions:{}},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,r=t,{day:a,localeOptions:s}=_e(n);return(o,i)=>(T(),N("div",ICe,[p("div",{class:"calendar-arrow calendar-arrow-left",onClick:i[0]||(i[0]=u=>r("displayPreviousMonth"))},RCe),p("div",bCe,[p("span",null,_(h(ln)(h(a),"MMM yyyy",{locale:h(s)})),1)]),p("div",{class:"calendar-arrow calendar-arrow-right",onClick:i[1]||(i[1]=u=>r("displayNextMonth"))},CCe)]))}}),DCe={id:"user-calendar"},PCe={class:"calendar-card box"},Sh="yyyy-MM-dd",wCe=Q({__name:"index",props:{sports:{},user:{}},setup(e){const t=e,n=$e(),{sports:r,user:a}=_e(t),s=ce(new Date),o=ce(eh(s.value,a.value.weekm)),i=k(()=>n.getters[Te.GETTERS.CALENDAR_WORKOUTS]),u=k(()=>n.getters[H.GETTERS.LOCALE]);It(()=>l());function l(){o.value=eh(s.value,t.user.weekm);const d={from:ln(o.value.start,Sh),to:ln(o.value.end,Sh),page:1,per_page:100,...bo};n.dispatch(Te.ACTIONS.GET_CALENDAR_WORKOUTS,d)}function c(){s.value=Za(s.value,1),l()}function f(){s.value=uo(s.value,1),l()}return(d,m)=>(T(),N("div",DCe,[p("div",PCe,[M(yCe,{day:s.value,"locale-options":u.value,onDisplayNextMonth:c,onDisplayPreviousMonth:f},null,8,["day","locale-options"]),M(OCe,{"start-date":o.value.start,"locale-options":u.value},null,8,["start-date","locale-options"]),M(ACe,{currentDay:s.value,displayHARecord:h(a).display_ascent,"end-date":o.value.end,sports:h(r),"start-date":o.value.start,timezone:h(a).timezone,workouts:i.value,weekStartingMonday:h(a).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}}),VA={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},LCe={ariaLabel:{type:String},ariaDescribedby:{type:String}},$Ce={type:{type:String,required:!0},...VA,...LCe},kCe=M_[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function wa(e){return Vu(e)?Je(e):e}function UCe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Vu(t)?new Proxy(e,{}):e}function MCe(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function KA(e,t){e.labels=t}function YA(e,t,n){const r=[];e.datasets=t.map(a=>{const s=e.datasets.find(o=>o[n]===a[n]);return!s||!a.data||r.includes(s)?{...a}:(r.push(s),Object.assign(s,a),s)})}function xCe(e,t){const n={labels:[],datasets:[]};return KA(n,e.labels),YA(n,e.datasets,t),n}const FCe=Q({props:$Ce,setup(e,t){let{expose:n,slots:r}=t;const a=ce(null),s=Ku(null);n({chart:s});const o=()=>{if(!a.value)return;const{type:l,data:c,options:f,plugins:d,datasetIdKey:m}=e,E=xCe(c,m),g=UCe(E,c);s.value=new Yd(a.value,{type:l,data:g,options:{...f},plugins:d})},i=()=>{const l=Je(s.value);l&&(l.destroy(),s.value=null)},u=l=>{l.update(e.updateMode)};return gt(o),Co(i),Fe([()=>e.options,()=>e.data],(l,c)=>{let[f,d]=l,[m,E]=c;const g=Je(s.value);if(!g)return;let b=!1;if(f){const v=wa(f),R=wa(m);v&&v!==R&&(MCe(g,v),b=!0)}if(d){const v=wa(d.labels),R=wa(E.labels),A=wa(d.datasets),S=wa(E.datasets);v!==R&&(KA(g.config.data,v),b=!0),A&&A!==S&&(YA(g.config.data,A,e.datasetIdKey),b=!0)}b&&gn(()=>{u(g)})},{deep:!0}),()=>An("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:a},[An("p",{},[r.default?r.default():""])])}});function qA(e,t){return Yd.register(t),Q({props:VA,setup(n,r){let{expose:a}=r;const s=Ku(null),o=i=>{s.value=i==null?void 0:i.chart};return a({chart:s}),()=>An(FCe,kCe({ref:o},{type:e,...n}))}})}const WCe=qA("bar",Mh),GCe=qA("line",xh),zCe=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),s=String(e%60).padStart(2,"0");return t?`${n==="0"?"":`${n}d `}${r==="00"?"":`${r}h `}${a}m ${s}s`:`${r==="00"?"":`${r}:`}${a}:${s}`},Us=(e,t,n,r=!0,a="km")=>{const s=n?$n[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return zCe(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${s}`;default:return t.toString()}},BCe=Q({__name:"Chart",props:{datasets:{},labels:{},displayedData:{},displayedSportIds:{},fullStats:{type:Boolean},useImperialUnits:{type:Boolean}},setup(e){const t=e,{datasets:n,labels:r,displayedData:a,displayedSportIds:s,fullStats:o,useImperialUnits:i}=_e(t),u=yf(),{t:l}=jt(),c=k(()=>u.getters[H.GETTERS.DARK_MODE]),f=k(()=>Cf(c.value)),d=k(()=>({color:f.value?Gr.darkMode.line:Gr.ligthMode.line})),m=k(()=>({color:f.value?Gr.darkMode.text:Gr.ligthMode.text})),E=k(()=>({labels:r.value,datasets:JSON.parse(JSON.stringify(n.value))})),g=k(()=>({responsive:!0,maintainAspectRatio:!1,animation:!1,layout:{padding:{top:o.value?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1,...d.value},border:{...d.value},ticks:{...m.value}},y:{stacked:a.value!=="average_speed",grid:{drawOnChartArea:!1,...d.value},border:{...d.value},ticks:{maxTicksLimit:6,callback:function(A){return Us(a.value,+A,i.value,!1,R(a.value))},...m.value},afterFit:function(A){A.width=o.value?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(A){return a.value==="average_speed"&&A.dataset.backgroundColor?A.dataset.backgroundColor[0]:m.value.color},rotation:function(A){return o.value&&A.chart.chartArea.width<580?310:0},display:function(A){return o.value&&A.chart.chartArea.width<300?!1:a.value==="average_speed"?s.value.length==1?"auto":!1:!0},formatter:function(A,S){if(a.value==="average_speed")return Us(a.value,A,i.value,!1);{const C=S.chart.data.datasets.map(L=>L.data[S.dataIndex]).reduce((L,$)=>v(L,$),0);return S.datasetIndex===s.value.length-1&&C>0?Us(a.value,C,i.value,!1,R(a.value)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:a.value==="average_speed"?"nearest":"average"},filter:function(A){return A.formattedValue!=="0"},callbacks:{label:function(A){let S=l(`sports.${A.dataset.label}.LABEL`)||"";return S&&(S+=": "),A.parsed.y!==null&&(S+=Us(a.value,A.parsed.y,i.value,!0,R(a.value))),S},footer:function(A){if(a.value==="average_speed")return"";let S=0;return A.map(C=>{S+=C.parsed.y}),`${l("common.TOTAL")}: `+Us(a.value,S,i.value,!0,R(a.value))}}}}}));function b(A){return isNaN(A)?0:+A}function v(A,S){return b(A)+b(S)}function R(A){return["total_ascent","total_descent"].includes(A)?"m":"km"}return(A,S)=>(T(),N("div",{class:ge(["bar-chart",{minimal:!h(o)}])},[M(h(WCe),{data:E.value,options:g.value},null,8,["data","options"])],2))}}),HCe=ae(BCe,[["__scopeId","data-v-d506f845"]]),{locale:Oh}=ga.global,jCe={week:{api:"yyyy-MM-dd",chart:"MM/dd/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},VCe=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],KCe=(e,t)=>{const n=[];for(let r=vSe(e.duration,e.start,t);r<=e.end;r=RSe(e.duration,r))n.push(r);return n},La=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n?(r.type="line",r.borderColor=[t],r.spanGaps=!0):r.type="bar",r},YCe=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map(n=>{const r=n.color?n.color:h0[n.label];t.average_speed.push(La(n.label,r,!0)),t.nb_workouts.push(La(n.label,r)),t.total_distance.push(La(n.label,r)),t.total_duration.push(La(n.label,r)),t.total_ascent.push(La(n.label,r)),t.total_descent.push(La(n.label,r))}),t},qCe=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return wi(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},XCe=(e,t,n,r,a,s,o)=>{const i=KCe(e,t),u=jCe[e.duration],l=n.filter(m=>r.includes(m.id)),c=[],f=YCe(l),d={};return l.map(m=>d[m.label]=m.id),i.map(m=>{const E=ln(m,u.api),g=ln(m,e.duration==="week"?Sa(o,Oh.value):u.chart,{locale:Mo[Oh.value]});c.push(g),VCe.map(b=>{f[b].map(v=>{v.data.push(E in a&&d[v.label]in a[E]?qCe(b,a[E][d[v.label]][b],s):b==="average_speed"?null:0)})})}),{labels:c,datasets:f}},ZCe=(e,t,n)=>{const r=n?1:0,a=t==="year"?Lf(Kl(e,9)):t==="week"?lc(uo(e,2),{weekStartsOn:r}):Uo(uo(e,11)),s=t==="year"?iT(e):t==="week"?$f(e,{weekStartsOn:r}):ko(e);return{duration:t,end:s,start:a}},QCe=(e,t,n)=>{const{duration:r,start:a,end:s}=e,o=n?1:0;return{duration:r,end:r==="year"?iT(t?Kl(s,1):Qi(s,1)):r==="week"?$f(t?nm(s,1):Vl(s,1),{weekStartsOn:o}):ko(t?uo(s,1):Za(s,1)),start:r==="year"?Lf(t?Kl(a,1):Qi(a,1)):r==="week"?lc(t?nm(a,1):Vl(a,1),{weekStartsOn:o}):Uo(t?uo(a,1):Za(a,1))}},JCe={class:"stats-chart"},eye={key:0},tye={key:1},nye={class:"chart-radio"},rye=["checked","disabled"],aye=["checked","disabled"],sye=["checked","disabled"],oye={key:0},iye=["checked","disabled"],uye={key:1},cye=["checked","disabled"],lye={key:2},dye=["checked","disabled"],fye=Q({__name:"index",props:{sports:{},user:{},chartParams:{},displayedSportIds:{default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},setup(e){const t=e,{sports:n,user:r,chartParams:a,displayedSportIds:s,fullStats:o,hideChartIfNoData:i,isDisabled:u}=_e(t),l=$e(),c=ce("total_distance"),f=k(()=>l.getters[Kr.GETTERS.USER_STATS]),d=k(()=>XCe(a.value,r.value.weekm,n.value,s.value,f.value,r.value.imperial_units,r.value.date_format)),m=k(()=>d.value.datasets[c.value]),E=k(()=>d.value.labels),g=k(()=>Object.keys(f.value).length===0);It(()=>b(R(a.value,r.value)));function b(A){l.dispatch(Kr.ACTIONS.GET_USER_STATS,{username:r.value.username,filterType:"by_time",params:A})}function v(A){c.value=A.target.name}function R(A,S){return{from:ln(A.start,"yyyy-MM-dd"),to:ln(A.end,"yyyy-MM-dd"),time:A.duration==="week"?`week${S.weekm?"m":""}`:A.duration}}return Fe(()=>a.value,async A=>{b(R(A,r.value))}),(A,S)=>(T(),N("div",JCe,[h(i)&&g.value?(T(),N("div",eye,_(A.$t("workouts.NO_WORKOUTS")),1)):(T(),N("div",tye,[p("div",nye,[p("label",null,[p("input",{type:"radio",name:"total_distance",checked:c.value==="total_distance",disabled:h(u),onClick:v},null,8,rye),K(" "+_(A.$t("workouts.DISTANCE")),1)]),p("label",null,[p("input",{type:"radio",name:"total_duration",checked:c.value==="total_duration",disabled:h(u),onClick:v},null,8,aye),K(" "+_(A.$t("workouts.DURATION")),1)]),p("label",null,[p("input",{type:"radio",name:"nb_workouts",checked:c.value==="nb_workouts",disabled:h(u),onClick:v},null,8,sye),K(" "+_(A.$t("workouts.WORKOUT",2)),1)]),h(o)?(T(),N("label",oye,[p("input",{type:"radio",name:"average_speed",checked:c.value==="average_speed",disabled:h(u),onClick:v},null,8,iye),K(" "+_(A.$t("workouts.AVERAGE_SPEED")),1)])):F("",!0),h(o)?(T(),N("label",uye,[p("input",{type:"radio",name:"total_ascent",checked:c.value==="total_ascent",disabled:h(u),onClick:v},null,8,cye),K(" "+_(A.$t("workouts.ASCENT")),1)])):F("",!0),h(o)?(T(),N("label",lye,[p("input",{type:"radio",name:"total_descent",checked:c.value==="total_descent",disabled:h(u),onClick:v},null,8,dye),K(" "+_(A.$t("workouts.DESCENT")),1)])):F("",!0)]),E.value.length>0?(T(),te(HCe,{key:0,datasets:m.value,labels:E.value,displayedData:c.value,displayedSportIds:h(s),fullStats:h(o),useImperialUnits:h(r).imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):F("",!0)]))]))}}),XA=ae(fye,[["__scopeId","data-v-b8d7f5c9"]]),pye={class:"user-month-stats"},mye=Q({__name:"UserMonthStats",props:{sports:{},user:{}},setup(e){const t=e,{sports:n,user:r}=_e(t),a=new Date,s={duration:"week",start:Uo(a),end:ko(a)},o=n.value.map(i=>i.id);return(i,u)=>{const l=ue("Card");return T(),N("div",pye,[M(l,null,{title:fe(()=>[K(_(i.$t("dashboard.THIS_MONTH")),1)]),content:fe(()=>[M(XA,{sports:h(n),user:h(r),"chart-params":s,"displayed-sport-ids":h(o),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])]),_:1})])}}}),Eye=ae(mye,[["__scopeId","data-v-8f59a282"]]),{locale:hye}=ga.global,_ye=(e,t,n,r)=>{const a="km",s=n?$n[a].defaultTarget:a,o="m",i=n?$n[o].defaultTarget:o;let u;switch(e.record_type){case"AS":case"MS":u=`${sn(+e.value,a,s,2)} ${s}/h`;break;case"FD":u=`${sn(+e.value,a,s,3)} ${s}`;break;case"HA":u=`${sn(+e.value,o,i,2)} ${i}`;break;case"LD":u=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{id:e.id,record_type:e.record_type,sport_id:e.sport_id,value:u,user:e.user,workout_date:xn(e.workout_date,t,r,!1),workout_id:e.workout_id}},Tye=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:n(s=Sa(s,hye.value),e.filter(o=>a?!0:o.record_type!=="HA").reduce((o,i)=>{const u=t.find(l=>l.id===i.sport_id);return u&&u.label&&(o[u.translatedLabel]===void 0&&(o[u.translatedLabel]={label:u.label,color:u.color,records:[]}),o[u.translatedLabel].records.push(_ye(i,n,r,s))),o},{})),Aye={class:"records-card"},Sye={class:"record-type"},Oye={class:"record-value"},Iye={class:"record-date"},vye=Q({__name:"RecordsCard",props:{records:{},sportTranslatedLabel:{}},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=_e(t),{t:a}=jt();function s(o){const i=[];return o.map(u=>{i.push({...u,label:a(`workouts.RECORD_${u.record_type}`)})}),i.sort(Tye)}return(o,i)=>{const u=ue("SportImage"),l=ue("router-link"),c=ue("Card");return T(),N("div",Aye,[M(c,null,{title:fe(()=>[M(u,{"sport-label":h(n).label,color:h(n).color},null,8,["sport-label","color"]),K(" "+_(h(r)),1)]),content:fe(()=>[(T(!0),N(Ie,null,xe(s(h(n).records),f=>(T(),N("div",{class:"record",key:f.id},[p("span",Sye,_(f.label),1),p("span",Oye,_(f.value),1),p("span",Iye,[M(l,{to:{name:"Workout",params:{workoutId:f.workout_id}}},{default:fe(()=>[p("time",null,_(f.workout_date),1)]),_:2},1032,["to"])])]))),128))]),_:1})])}}}),Rye=ae(vye,[["__scopeId","data-v-64523a87"]]),bye=e=>(ut("data-v-fff33919"),e=e(),ct(),e),Nye={class:"user-records-section"},Cye={class:"section-title"},yye=bye(()=>p("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1)),Dye={class:"user-records"},Pye={key:0,class:"no-records"},wye=Q({__name:"index",props:{sports:{},user:{}},setup(e){const t=e,{t:n}=jt(),r=k(()=>gye(t.user.records,Jr(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent,t.user.date_format));return(a,s)=>(T(),N("div",Nye,[p("div",Cye,[yye,K(" "+_(a.$t("workouts.RECORD",2)),1)]),p("div",Dye,[Object.keys(r.value).length===0?(T(),N("div",Pye,_(a.$t("workouts.NO_RECORDS")),1)):F("",!0),(T(!0),N(Ie,null,xe(Object.keys(r.value).sort(),o=>(T(),te(Rye,{sportTranslatedLabel:o,records:r.value[o],key:o,useImperialUnits:a.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"]))),128))])]))}}),Lye=ae(wye,[["__scopeId","data-v-fff33919"]]),$ye={id:"user-stats"},gl="km",Al="m",kye=Q({__name:"index",props:{user:{}},setup(e){const t=e,{t:n}=jt(),{user:r}=_e(t),a=k(()=>t.user.total_duration),s=k(()=>c(a)),o=r.value.imperial_units?$n[gl].defaultTarget:gl,i=k(()=>r.value.imperial_units?sn(r.value.total_distance,gl,o,2):parseFloat(r.value.total_distance.toFixed(2))),u=r.value.imperial_units?$n[Al].defaultTarget:Al,l=k(()=>r.value.imperial_units?sn(r.value.total_ascent,Al,u,2):parseFloat(r.value.total_ascent.toFixed(2)));function c(f){const d=f.value.match(/day/g)?f.value.split(", ")[1]:f.value;return{days:f.value.match(/day/g)?`${f.value.split(" ")[0]} ${f.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${d.split(":")[0]}h ${d.split(":")[1]}min`}}return(f,d)=>(T(),N("div",$ye,[M(pr,{icon:"calendar",value:h(r).nb_workouts,text:f.$t("workouts.WORKOUT",h(r).nb_workouts)},null,8,["value","text"]),M(pr,{icon:"road",value:i.value,text:h(o)==="mi"?"miles":h(o)},null,8,["value","text"]),h(r).display_ascent?(T(),te(pr,{key:0,icon:"location-arrow",value:l.value,text:h(u)==="ft"?"feet":h(u)},null,8,["value","text"])):F("",!0),M(pr,{icon:"clock-o",value:s.value.days,text:s.value.duration},null,8,["value","text"]),h(r).display_ascent?F("",!0):(T(),te(pr,{key:1,icon:"tags",value:h(r).nb_sports,text:f.$t("workouts.SPORT",h(r).nb_sports)},null,8,["value","text"]))]))}}),Uye={},Mye={class:"privacy-policy-message"};function xye(e,t){const n=ue("router-link"),r=ue("i18n-t");return T(),N("div",Mye,[p("span",null,[M(r,{keypath:"user.LAST_PRIVACY_POLICY_TO_VALIDATE"},{default:fe(()=>[M(n,{to:"/profile/edit/privacy-policy",class:"policy-link"},{default:fe(()=>[K(_(e.$t("user.REVIEW")),1)]),_:1})]),_:1})])])}const Fye=ae(Uye,[["render",xye],["__scopeId","data-v-1b250692"]]),Ho=e=>(ut("data-v-8f5da609"),e=e(),ct(),e),Wye={key:0,id:"dashboard",class:"view"},Gye={class:"container mobile-menu"},zye={class:"box"},Bye=Ho(()=>p("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1)),Hye=[Bye],jye=Ho(()=>p("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1)),Vye=[jye],Kye=Ho(()=>p("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1)),Yye=[Kye],qye=Ho(()=>p("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1)),Xye=[qye],Zye={key:0,class:"container privacy-policy-message"},Qye={class:"container"},Jye={class:"container dashboard-container"},e4e={class:"left-container dashboard-sub-container"},t4e={class:"right-container dashboard-sub-container"},n4e=Ho(()=>p("div",{id:"bottom"},null,-1)),r4e={key:1,class:"app-loading"},a4e=Q({__name:"Dashboard",setup(e){const t=$e(),n=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),r=k(()=>t.getters[$t.GETTERS.SPORTS]),a=ce("calendar");It(()=>t.dispatch(Y.ACTIONS.GET_USER_PROFILE));function s(o){a.value=o}return(o,i)=>{const u=ue("Loader");return n.value.username&&r.value.length>0?(T(),N("div",Wye,[p("div",Gye,[p("div",zye,[p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="calendar"}]),onClick:i[0]||(i[0]=l=>s("calendar"))},Hye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="chart"}]),onClick:i[1]||(i[1]=l=>s("chart"))},Vye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="timeline"}]),onClick:i[2]||(i[2]=l=>s("timeline"))},Yye,2),p("div",{class:ge(["mobile-menu-item",{"is-selected":a.value==="records"}]),onClick:i[3]||(i[3]=l=>s("records"))},Xye,2)])]),n.value.accepted_privacy_policy?F("",!0):(T(),N("div",Zye,[M(Fye)])),p("div",Qye,[M(kye,{user:n.value},null,8,["user"])]),p("div",Jye,[p("div",e4e,[M(Eye,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="chart"})},null,8,["sports","user","class"]),M(Lye,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="records"})},null,8,["sports","user","class"])]),p("div",t4e,[M(wCe,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="calendar"})},null,8,["sports","user","class"]),M(eCe,{sports:r.value,user:n.value,class:ge({"is-hidden":a.value!=="timeline"})},null,8,["sports","user","class"])])]),n4e])):(T(),N("div",r4e,[M(u)]))}}}),s4e=ae(a4e,[["__scopeId","data-v-8f5da609"]]),o4e={class:"not-found view"},i4e=Q({__name:"NotFoundView",setup(e){return(t,n)=>(T(),N("div",o4e,[M(I0)]))}}),u4e={id:"privacy-policy",class:"view"},c4e={class:"container"},l4e=p("div",{id:"bottom"},null,-1),d4e=Q({__name:"PrivacyPolicyView",setup(e){const t=$e();return It(()=>{t.dispatch(H.ACTIONS.GET_APPLICATION_PRIVACY_POLICY)}),(n,r)=>(T(),N("div",u4e,[p("div",c4e,[M(GA)]),l4e]))}}),ZA=e=>(ut("data-v-174c91c4"),e=e(),ct(),e),f4e={class:"chart-menu"},p4e=["disabled"],m4e=ZA(()=>p("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)),E4e=[m4e],h4e={class:"time-frames custom-checkboxes-group"},_4e={class:"time-frames-checkboxes custom-checkboxes"},T4e=["id","name","checked","onInput","disabled"],g4e=["id","tabindex","onKeydown"],A4e=["disabled"],S4e=ZA(()=>p("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)),O4e=[S4e],I4e=Q({__name:"StatsMenu",props:{isDisabled:{type:Boolean}},emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:t}){const n=e,{isDisabled:r}=_e(n),a=t,s=ce("month"),o=["week","month","year"];function i(u){s.value=u,a("timeFrameUpdate",u)}return gt(()=>{if(!r.value){const u=document.getElementById("frame-month");u&&u.focus()}}),(u,l)=>(T(),N("div",f4e,[p("button",{class:"chart-arrow transparent",onClick:l[0]||(l[0]=c=>a("arrowClick",!0)),onKeydown:l[1]||(l[1]=At(c=>a("arrowClick",!0),["enter"])),disabled:h(r)},E4e,40,p4e),p("div",h4e,[p("div",_4e,[(T(),N(Ie,null,xe(o,c=>p("div",{class:"time-frame custom-checkbox",key:c},[p("label",null,[p("input",{type:"radio",id:c,name:c,checked:s.value===c,onInput:f=>i(c),disabled:h(r)},null,40,T4e),p("span",{id:`frame-${c}`,tabindex:h(r)?-1:0,role:"button",onKeydown:At(f=>i(c),["enter"])},_(u.$t(`statistics.TIME_FRAMES.${c}`)),41,g4e)])])),64))])]),p("button",{class:"chart-arrow transparent",onClick:l[2]||(l[2]=c=>a("arrowClick",!1)),onKeydown:l[3]||(l[3]=At(c=>a("arrowClick",!1),["enter"])),disabled:h(r)},O4e,40,A4e)]))}}),v4e=ae(I4e,[["__scopeId","data-v-174c91c4"]]),R4e={class:"sports-menu"},b4e=["id","name","checked","onInput"],N4e={class:"sport-label"},C4e=Q({__name:"StatsSportsMenu",props:{userSports:{},selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:t}){const n=e,r=t,{t:a}=jt(),s=ht("sportColors"),{selectedSportIds:o}=_e(n),i=k(()=>Jr(n.userSports,a));function u(l){r("selectedSportIdsUpdate",l)}return(l,c)=>{const f=ue("SportImage");return T(),N("div",R4e,[(T(!0),N(Ie,null,xe(i.value,d=>(T(),N("label",{type:"checkbox",key:d.id,style:Yr({color:d.color?d.color:h(s)[d.label]})},[p("input",{type:"checkbox",id:`${d.id}`,name:d.label,checked:h(o).includes(d.id),onInput:m=>u(d.id)},null,40,b4e),M(f,{"sport-label":d.label,color:d.color},null,8,["sport-label","color"]),p("span",N4e,_(d.translatedLabel),1)],4))),128))])}}}),y4e={key:0,id:"user-statistics"},D4e=Q({__name:"index",props:{sports:{},user:{},isDisabled:{type:Boolean}},setup(e){const t=e,{t:n}=jt(),{sports:r,user:a}=_e(t),s=ce("month"),o=ce(c(s.value)),i=k(()=>Jr(t.sports,n)),u=ce(d(r.value));function l(E){s.value=E,o.value=c(s.value)}function c(E){return ZCe(new Date,E,t.user.weekm)}function f(E){o.value=QCe(o.value,E,t.user.weekm)}function d(E){return E.map(g=>g.id)}function m(E){u.value.includes(E)?u.value=u.value.filter(g=>g!==E):u.value.push(E)}return Fe(()=>t.sports,E=>{u.value=d(E)}),(E,g)=>i.value?(T(),N("div",y4e,[M(v4e,{onTimeFrameUpdate:l,onArrowClick:f,isDisabled:E.isDisabled},null,8,["isDisabled"]),M(XA,{sports:h(r),user:h(a),chartParams:o.value,"displayed-sport-ids":u.value,fullStats:!0,isDisabled:E.isDisabled},null,8,["sports","user","chartParams","displayed-sport-ids","isDisabled"]),M(C4e,{"selected-sport-ids":u.value,"user-sports":h(r),onSelectedSportIdsUpdate:m},null,8,["selected-sport-ids","user-sports"])])):F("",!0)}}),P4e=ae(D4e,[["__scopeId","data-v-b145e4ac"]]),w4e={id:"statistics",class:"view"},L4e={key:0,class:"container"},$4e=Q({__name:"StatisticsView",setup(e){const t=$e(),n=k(()=>t.getters[Y.GETTERS.AUTH_USER_PROFILE]),r=k(()=>t.getters[$t.GETTERS.SPORTS].filter(s=>n.value.sports_list.includes(s.id))),a=k(()=>n.value.nb_workouts===0);return(s,o)=>{const i=ue("Card");return T(),N("div",w4e,[n.value.username?(T(),N("div",L4e,[M(i,null,{title:fe(()=>[K(_(s.$t("statistics.STATISTICS")),1)]),content:fe(()=>[M(P4e,{class:ge({"stats-disabled":a.value}),user:n.value,sports:r.value,isDisabled:a.value},null,8,["class","user","sports","isDisabled"])]),_:1}),n.value.nb_workouts===0?(T(),te(R0,{key:0})):F("",!0)])):F("",!0)])}}}),k4e=ae($4e,[["__scopeId","data-v-0aa997fa"]]),U4e={name:"EmailSent"},M4e={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 345.834 345.834",style:{"enable-background":"new 0 0 345.834 345.834"},"xml:space":"preserve"},x4e=p("g",null,[p("path",{d:`M339.798,260.429c0.13-0.026,0.257-0.061,0.385-0.094c0.109-0.028,0.219-0.051,0.326-0.084 c0.125-0.038,0.247-0.085,0.369-0.129c0.108-0.039,0.217-0.074,0.324-0.119c0.115-0.048,0.226-0.104,0.338-0.157 c0.109-0.052,0.22-0.1,0.327-0.158c0.107-0.057,0.208-0.122,0.312-0.184c0.107-0.064,0.215-0.124,0.319-0.194 c0.111-0.074,0.214-0.156,0.321-0.236c0.09-0.067,0.182-0.13,0.27-0.202c0.162-0.133,0.316-0.275,0.466-0.421 diff --git a/fittrackee_client/src/components/Common/Pagination.vue b/fittrackee_client/src/components/Common/Pagination.vue index 2f1c36c7..24509f79 100644 --- a/fittrackee_client/src/components/Common/Pagination.vue +++ b/fittrackee_client/src/components/Common/Pagination.vue @@ -81,6 +81,10 @@ justify-content: center; font-size: 0.9em; + a { + text-decoration: none; + } + .pagination { display: flex; padding-left: 0; diff --git a/fittrackee_client/src/components/Footer.vue b/fittrackee_client/src/components/Footer.vue index 6cdae94f..53b000a9 100644 --- a/fittrackee_client/src/components/Footer.vue +++ b/fittrackee_client/src/components/Footer.vue @@ -51,10 +51,6 @@ color: var(--footer-color); font-size: 0.9em; - a { - text-decoration: none; - } - .footer-items { display: flex; flex-wrap: wrap; diff --git a/fittrackee_client/src/components/NavBar.vue b/fittrackee_client/src/components/NavBar.vue index 30221ad9..8690ece5 100644 --- a/fittrackee_client/src/components/NavBar.vue +++ b/fittrackee_client/src/components/NavBar.vue @@ -200,6 +200,10 @@ display: flex; padding: 15px 10px; + a { + text-decoration: none; + } + .nav-container { display: flex; diff --git a/fittrackee_client/src/components/Workout/WorkoutCard.vue b/fittrackee_client/src/components/Workout/WorkoutCard.vue index 5c63ab3c..67b3c58f 100644 --- a/fittrackee_client/src/components/Workout/WorkoutCard.vue +++ b/fittrackee_client/src/components/Workout/WorkoutCard.vue @@ -216,6 +216,7 @@ .workout-user-name { white-space: nowrap; padding-left: 5px; + text-decoration: none; } } .workout-date { diff --git a/fittrackee_client/src/scss/base.scss b/fittrackee_client/src/scss/base.scss index 5175a83d..b0145a06 100644 --- a/fittrackee_client/src/scss/base.scss +++ b/fittrackee_client/src/scss/base.scss @@ -47,7 +47,12 @@ body { a { color: var(--app-a-color); - text-decoration: none; + text-decoration-color: var(--app-a-text-decoration-color); + + &:hover, + &:focus { + text-decoration-color: var(--app-a-color); + } } img { diff --git a/fittrackee_client/src/scss/colors-dark.scss b/fittrackee_client/src/scss/colors-dark.scss index 35a224b3..7eae79d7 100644 --- a/fittrackee_client/src/scss/colors-dark.scss +++ b/fittrackee_client/src/scss/colors-dark.scss @@ -6,6 +6,7 @@ --app-color: var(--light-grey); --app-color-light: #6f7070; --app-a-color: var(--light-grey); + --app-a-text-decoration-color: #494949; --app-shadow-color: #383d3f; --app-loading-color: #f3f3f3; --app-loading-top-color: var(--app-color); diff --git a/fittrackee_client/src/scss/colors.scss b/fittrackee_client/src/scss/colors.scss index a98ea448..bf19c724 100644 --- a/fittrackee_client/src/scss/colors.scss +++ b/fittrackee_client/src/scss/colors.scss @@ -3,6 +3,7 @@ --app-color: #2c3e50; --app-color-light: #6f7070; --app-a-color: #40578a; + --app-a-text-decoration-color: #d2d2d2; --app-shadow-color: lightgrey; --app-loading-color: #f3f3f3; --app-loading-top-color: var(--app-color);